From d95fc106b6837dea9ec9f2b0c2bc5c2b8892a6ab Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Wed, 21 Oct 2015 12:47:02 +0100
Subject: [PATCH 001/141] polyMesh: Ensure parallel consistency in findCell by
 ensuring tetBasePtIs is called on all processors, even for those with 0
 cells.  Also use unique communicator for globalMeshData to avoid data
 transfer interference.

Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1792
---
 .../polyMesh/globalMeshData/globalMeshData.C     |  9 ++++++++-
 src/OpenFOAM/meshes/polyMesh/polyMesh.C          | 16 ++++++++++------
 2 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C
index b36a0e9579c..5cf963fff3c 100644
--- a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C
+++ b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C
@@ -2748,7 +2748,12 @@ void Foam::globalMeshData::updateMesh()
 
     // *** Temporary hack to avoid problems with overlapping communication
     // *** between these reductions and the calculation of deltaCoeffs
-    label comm = UPstream::worldComm + 1;
+    label comm = UPstream::allocateCommunicator
+    (
+        UPstream::worldComm,
+        identity(UPstream::nProcs()),
+        true
+    );
 
     // Total number of faces.
     nTotalFaces_ = returnReduce
@@ -2785,6 +2790,8 @@ void Foam::globalMeshData::updateMesh()
         comm
     );
 
+    UPstream::freeCommunicator(comm);
+
     if (debug)
     {
         Pout<< "globalMeshData : nTotalPoints_:" << nTotalPoints_ << endl;
diff --git a/src/OpenFOAM/meshes/polyMesh/polyMesh.C b/src/OpenFOAM/meshes/polyMesh/polyMesh.C
index 4b8012b71d8..67ae5db9b34 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyMesh.C
+++ b/src/OpenFOAM/meshes/polyMesh/polyMesh.C
@@ -1478,12 +1478,11 @@ Foam::label Foam::polyMesh::findCell
     const cellDecomposition decompMode
 ) const
 {
-    if (nCells() == 0)
-    {
-        return -1;
-    }
-
-    if (Pstream::parRun() && decompMode == FACE_DIAG_TRIS)
+    if
+    (
+        Pstream::parRun()
+     && (decompMode == FACE_DIAG_TRIS || decompMode == CELL_TETS)
+    )
     {
         // Force construction of face-diagonal decomposition before testing
         // for zero cells.
@@ -1494,6 +1493,11 @@ Foam::label Foam::polyMesh::findCell
         (void)tetBasePtIs();
     }
 
+    if (nCells() == 0)
+    {
+        return -1;
+    }
+
     if (decompMode == CELL_TETS)
     {
         // Advanced search method utilizing an octree
-- 
GitLab


From 765b81853e58295d341cce51825e09f1bf1dc901 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Wed, 21 Oct 2015 16:49:57 +0100
Subject: [PATCH 002/141] renumberMesh: Now supports sets Resolves bug-report
 http://www.openfoam.org/mantisbt/view.php?id=1377

---
 .../manipulation/renumberMesh/renumberMesh.C  | 242 +++++++++++++-----
 .../renumberMesh/renumberMeshDict             |   2 +
 2 files changed, 183 insertions(+), 61 deletions(-)

diff --git a/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C b/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C
index 6b3b632467c..1c7748c1bf6 100644
--- a/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C
+++ b/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anispulation  |
+     \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -46,11 +46,15 @@ Description
 #include "zeroGradientFvPatchFields.H"
 #include "CuthillMcKeeRenumber.H"
 #include "fvMeshSubset.H"
+#include "cellSet.H"
+#include "faceSet.H"
+#include "pointSet.H"
 
 #ifdef FOAM_USE_ZOLTAN
     #include "zoltanRenumber.H"
 #endif
 
+
 using namespace Foam;
 
 
@@ -163,7 +167,7 @@ void getBand
 labelList getFaceOrder
 (
     const primitiveMesh& mesh,
-    const labelList& cellOrder      // new to old cell
+    const labelList& cellOrder      // New to old cell
 )
 {
     labelList reverseCellOrder(invert(cellOrder.size(), cellOrder));
@@ -244,8 +248,7 @@ labelList getFaceOrder
             (
                 "getFaceOrder"
                 "(const primitiveMesh&, const labelList&, const labelList&)"
-            )   << "Did not determine new position"
-                << " for face " << faceI
+            )   << "Did not determine new position" << " for face " << faceI
                 << abort(FatalError);
         }
     }
@@ -259,12 +262,10 @@ labelList getFaceOrder
 labelList getRegionFaceOrder
 (
     const primitiveMesh& mesh,
-    const labelList& cellOrder,     // new to old cell
-    const labelList& cellToRegion   // old cell to region
+    const labelList& cellOrder,     // New to old cell
+    const labelList& cellToRegion   // Old cell to region
 )
 {
-    //Pout<< "Determining face order:" << endl;
-
     labelList reverseCellOrder(invert(cellOrder.size(), cellOrder));
 
     labelList oldToNewFace(mesh.nFaces(), -1);
@@ -280,8 +281,6 @@ labelList getRegionFaceOrder
         if (cellToRegion[oldCellI] != prevRegion)
         {
             prevRegion = cellToRegion[oldCellI];
-            //Pout<< "    region " << prevRegion << " internal faces start at "
-            //    << newFaceI << endl;
         }
 
         const cell& cFaces = mesh.cells()[oldCellI];
@@ -368,9 +367,6 @@ labelList getRegionFaceOrder
 
             if (prevKey != key)
             {
-                //Pout<< "    faces inbetween region " << key/nRegions
-                //    << " and " << key%nRegions
-                //    << " start at " << newFaceI << endl;
                 prevKey = key;
             }
 
@@ -399,7 +395,6 @@ labelList getRegionFaceOrder
                 << abort(FatalError);
         }
     }
-    //Pout<< endl;
 
     return invert(mesh.nFaces(), oldToNewFace);
 }
@@ -407,7 +402,7 @@ labelList getRegionFaceOrder
 
 // cellOrder: old cell for every new cell
 // faceOrder: old face for every new face. Ordering of boundary faces not
-// changed.
+//     changed.
 autoPtr<mapPolyMesh> reorderMesh
 (
     polyMesh& mesh,
@@ -528,7 +523,7 @@ autoPtr<mapPolyMesh> reorderMesh
     (
         new mapPolyMesh
         (
-            mesh,                       //const polyMesh& mesh,
+            mesh,                       // const polyMesh& mesh,
             mesh.nPoints(),             // nOldPoints,
             mesh.nFaces(),              // nOldFaces,
             mesh.nCells(),              // nOldCells,
@@ -634,16 +629,19 @@ int main(int argc, char *argv[])
         "calculate the rms of the frontwidth"
     );
 
+
+    #include "setRootCase.H"
+    #include "createTime.H"
+    runTime.functionObjects().off();
+
+
     // Force linker to include zoltan symbols. This section is only needed since
     // Zoltan is a static library
     #ifdef FOAM_USE_ZOLTAN
-    Info<< "renumberMesh built with zoltan support." << nl << endl;
-    (void)zoltanRenumber::typeName;
+        Info<< "renumberMesh built with zoltan support." << nl << endl;
+        (void)zoltanRenumber::typeName;
     #endif
 
-    #include "setRootCase.H"
-    #include "createTime.H"
-    runTime.functionObjects().off();
 
     // Get times list
     instantList Times = runTime.times();
@@ -682,24 +680,26 @@ int main(int argc, char *argv[])
         (
             sumSqrIntersect,
             sumOp<scalar>()
-        )
-       /mesh.globalData().nTotalCells()
+        )/mesh.globalData().nTotalCells()
     );
 
     Info<< "Mesh size: " << mesh.globalData().nTotalCells() << nl
         << "Before renumbering :" << nl
         << "    band           : " << band << nl
         << "    profile        : " << profile << nl;
+
     if (doFrontWidth)
     {
         Info<< "    rms frontwidth : " << rmsFrontwidth << nl;
     }
+
     Info<< endl;
 
     bool sortCoupledFaceCells = false;
     bool writeMaps = false;
     bool orderPoints = false;
     label blockSize = 0;
+    bool renumberSets = true;
 
     // Construct renumberMethod
     autoPtr<IOdictionary> renumberDictPtr;
@@ -717,7 +717,6 @@ int main(int argc, char *argv[])
 
         renumberPtr = renumberMethod::New(renumberDict);
 
-
         sortCoupledFaceCells = renumberDict.lookupOrDefault
         (
             "sortCoupledFaceCells",
@@ -760,6 +759,8 @@ int main(int argc, char *argv[])
             Info<< "Writing renumber maps (new to old) to polyMesh." << nl
                 << endl;
         }
+
+        renumberSets = renumberDict.lookupOrDefault("renumberSets", true);
     }
     else
     {
@@ -827,6 +828,7 @@ int main(int argc, char *argv[])
     // Read objects in time directory
     IOobjectList objects(mesh, runTime.timeName());
 
+
     // Read vol fields.
 
     PtrList<volScalarField> vsFlds;
@@ -844,6 +846,7 @@ int main(int argc, char *argv[])
     PtrList<volTensorField> vtFlds;
     ReadFields(mesh, objects, vtFlds);
 
+
     // Read surface fields.
 
     PtrList<surfaceScalarField> ssFlds;
@@ -861,6 +864,25 @@ int main(int argc, char *argv[])
     PtrList<surfaceTensorField> stFlds;
     ReadFields(mesh, objects, stFlds);
 
+
+    // Read point fields.
+
+    PtrList<pointScalarField> psFlds;
+    ReadFields(pointMesh::New(mesh), objects, psFlds);
+
+    PtrList<pointVectorField> pvFlds;
+    ReadFields(pointMesh::New(mesh), objects, pvFlds);
+
+    PtrList<pointSphericalTensorField> pstFlds;
+    ReadFields(pointMesh::New(mesh), objects, pstFlds);
+
+    PtrList<pointSymmTensorField> psymtFlds;
+    ReadFields(pointMesh::New(mesh), objects, psymtFlds);
+
+    PtrList<pointTensorField> ptFlds;
+    ReadFields(pointMesh::New(mesh), objects, ptFlds);
+
+
     Info<< endl;
 
     // From renumbering:
@@ -873,7 +895,7 @@ int main(int argc, char *argv[])
         // Renumbering in two phases. Should be done in one so mapping of
         // fields is done correctly!
 
-        label nBlocks = mesh.nCells() / blockSize;
+        label nBlocks = mesh.nCells()/blockSize;
         Info<< "nBlocks   = " << nBlocks << endl;
 
         // Read decompositionMethod dictionary
@@ -1011,7 +1033,7 @@ int main(int argc, char *argv[])
         faceOrder = getFaceOrder
         (
             mesh,
-            cellOrder      // new to old cell
+            cellOrder      // New to old cell
         );
     }
 
@@ -1032,17 +1054,19 @@ int main(int argc, char *argv[])
         autoPtr<mapPolyMesh> pointOrderMap = meshMod.changeMesh
         (
             mesh,
-            false,      //inflate
-            true,       //syncParallel
-            false,      //orderCells
-            orderPoints //orderPoints
+            false,      // inflate
+            true,       // syncParallel
+            false,      // orderCells
+            orderPoints // orderPoints
         );
+
         // Combine point reordering into map.
         const_cast<labelList&>(map().pointMap()) = UIndirectList<label>
         (
             map().pointMap(),
             pointOrderMap().pointMap()
         )();
+
         inplaceRenumber
         (
             pointOrderMap().reversePointMap(),
@@ -1055,7 +1079,6 @@ int main(int argc, char *argv[])
     mesh.updateMesh(map);
 
     // Update proc maps
-    if (cellProcAddressing.headerOk())
     if
     (
         cellProcAddressing.headerOk()
@@ -1070,7 +1093,6 @@ int main(int argc, char *argv[])
             UIndirectList<label>(cellProcAddressing, map().cellMap())
         );
     }
-    if (faceProcAddressing.headerOk())
     if
     (
         faceProcAddressing.headerOk()
@@ -1101,7 +1123,6 @@ int main(int argc, char *argv[])
             }
         }
     }
-    if (pointProcAddressing.headerOk())
     if
     (
         pointProcAddressing.headerOk()
@@ -1147,17 +1168,19 @@ int main(int argc, char *argv[])
             (
                 sumSqrIntersect,
                 sumOp<scalar>()
-            )
-          / mesh.globalData().nTotalCells()
+            )/mesh.globalData().nTotalCells()
         );
+
         Info<< "After renumbering :" << nl
             << "    band           : " << band << nl
             << "    profile        : " << profile << nl;
+
         if (doFrontWidth)
         {
 
             Info<< "    rms frontwidth : " << rmsFrontwidth << nl;
         }
+
         Info<< endl;
     }
 
@@ -1225,48 +1248,84 @@ int main(int argc, char *argv[])
     Info<< "Writing mesh to " << mesh.facesInstance() << endl;
 
     mesh.write();
+
     if (cellProcAddressing.headerOk())
-    if
-    (
-        cellProcAddressing.headerOk()
-     && cellProcAddressing.size() == mesh.nCells()
-    )
     {
         cellProcAddressing.instance() = mesh.facesInstance();
-        cellProcAddressing.write();
+        if (cellProcAddressing.size() == mesh.nCells())
+        {
+            cellProcAddressing.write();
+        }
+        else
+        {
+            // procAddressing file no longer valid. Delete it.
+            const fileName fName(cellProcAddressing.filePath());
+            if (fName.size())
+            {
+                Info<< "Deleting inconsistent processor cell decomposition"
+                    << " map " << fName << endl;
+                rm(fName);
+            }
+        }
     }
+
     if (faceProcAddressing.headerOk())
-    if
-    (
-        faceProcAddressing.headerOk()
-     && faceProcAddressing.size() == mesh.nFaces()
-    )
     {
         faceProcAddressing.instance() = mesh.facesInstance();
-        faceProcAddressing.write();
+        if (faceProcAddressing.size() == mesh.nFaces())
+        {
+            faceProcAddressing.write();
+        }
+        else
+        {
+            const fileName fName(faceProcAddressing.filePath());
+            if (fName.size())
+            {
+                Info<< "Deleting inconsistent processor face decomposition"
+                    << " map " << fName << endl;
+                rm(fName);
+            }
+        }
     }
+
     if (pointProcAddressing.headerOk())
-    if
-    (
-        pointProcAddressing.headerOk()
-     && pointProcAddressing.size() == mesh.nPoints()
-    )
     {
         pointProcAddressing.instance() = mesh.facesInstance();
-        pointProcAddressing.write();
+        if (pointProcAddressing.size() == mesh.nPoints())
+        {
+            pointProcAddressing.write();
+        }
+        else
+        {
+            const fileName fName(pointProcAddressing.filePath());
+            if (fName.size())
+            {
+                Info<< "Deleting inconsistent processor point decomposition"
+                    << " map " << fName << endl;
+                rm(fName);
+            }
+        }
     }
+
     if (boundaryProcAddressing.headerOk())
-    if
-    (
-        boundaryProcAddressing.headerOk()
-     && boundaryProcAddressing.size() == mesh.boundaryMesh().size()
-    )
     {
         boundaryProcAddressing.instance() = mesh.facesInstance();
-        boundaryProcAddressing.write();
+        if (boundaryProcAddressing.size() == mesh.boundaryMesh().size())
+        {
+            boundaryProcAddressing.write();
+        }
+        else
+        {
+            const fileName fName(boundaryProcAddressing.filePath());
+            if (fName.size())
+            {
+                Info<< "Deleting inconsistent processor patch decomposition"
+                    << " map " << fName << endl;
+                rm(fName);
+            }
+        }
     }
 
-
     if (writeMaps)
     {
         // For debugging: write out region
@@ -1276,17 +1335,18 @@ int main(int argc, char *argv[])
             "origCellID",
             map().cellMap()
         )().write();
+
         createScalarField
         (
             mesh,
             "cellID",
             identity(mesh.nCells())
         )().write();
+
         Info<< nl << "Written current cellID and origCellID as volScalarField"
             << " for use in postprocessing."
             << nl << endl;
 
-
         labelIOList
         (
             IOobject
@@ -1301,6 +1361,7 @@ int main(int argc, char *argv[])
             ),
             map().cellMap()
         ).write();
+
         labelIOList
         (
             IOobject
@@ -1315,6 +1376,7 @@ int main(int argc, char *argv[])
             ),
             map().faceMap()
         ).write();
+
         labelIOList
         (
             IOobject
@@ -1331,6 +1393,64 @@ int main(int argc, char *argv[])
         ).write();
     }
 
+
+    // Renumber sets if required
+    if (renumberSets)
+    {
+        Info<< endl;
+
+        // Read sets
+        IOobjectList objects(mesh, mesh.facesInstance(), "polyMesh/sets");
+
+        {
+            IOobjectList cSets(objects.lookupClass(cellSet::typeName));
+            if (cSets.size())
+            {
+                Info<< "Renumbering cellSets:" << endl;
+                forAllConstIter(IOobjectList, cSets, iter)
+                {
+                    cellSet cs(*iter());
+                    Info<< "    " << cs.name() << endl;
+                    cs.updateMesh(map());
+                    cs.instance() = mesh.facesInstance();
+                    cs.write();
+                }
+            }
+        }
+
+        {
+            IOobjectList fSets(objects.lookupClass(faceSet::typeName));
+            if (fSets.size())
+            {
+                Info<< "Renumbering faceSets:" << endl;
+                forAllConstIter(IOobjectList, fSets, iter)
+                {
+                    faceSet fs(*iter());
+                    Info<< "    " << fs.name() << endl;
+                    fs.updateMesh(map());
+                    fs.instance() = mesh.facesInstance();
+                    fs.write();
+                }
+            }
+        }
+
+        {
+            IOobjectList pSets(objects.lookupClass(pointSet::typeName));
+            if (pSets.size())
+            {
+                Info<< "Renumbering pointSets:" << endl;
+                forAllConstIter(IOobjectList, pSets, iter)
+                {
+                    pointSet ps(*iter());
+                    Info<< "    " << ps.name() << endl;
+                    ps.updateMesh(map());
+                    ps.instance() = mesh.facesInstance();
+                    ps.write();
+                }
+            }
+        }
+    }
+
     Info<< "\nEnd\n" << endl;
 
     return 0;
diff --git a/applications/utilities/mesh/manipulation/renumberMesh/renumberMeshDict b/applications/utilities/mesh/manipulation/renumberMesh/renumberMeshDict
index 2cd1a68ca56..8b44fd1c4af 100644
--- a/applications/utilities/mesh/manipulation/renumberMesh/renumberMeshDict
+++ b/applications/utilities/mesh/manipulation/renumberMesh/renumberMeshDict
@@ -34,6 +34,8 @@ sortCoupledFaceCells false;
 // Optional entry: sort points into internal and boundary points
 //orderPoints false;
 
+// Optional: suppress renumbering cellSets,faceSets,pointSets
+//renumberSets false;
 
 
 method          CuthillMcKee;
-- 
GitLab


From 9cae54b433ef2973f4bba4d6fe070bbb735fe014 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Thu, 22 Oct 2015 09:48:40 +0100
Subject: [PATCH 003/141] cyclicAMIPolyPatch, cyclicACMIPolyPatch: Ensure
 geometry is updated correctly following mesh-motion Resolves bug-report:
 http://www.openfoam.org/mantisbt/view.php?id=1664

---
 .../cyclicACMIPolyPatch/cyclicACMIPolyPatch.C | 24 +++++++++++++------
 .../cyclicAMIPolyPatch/cyclicAMIPolyPatch.C   | 18 +++++++-------
 2 files changed, 26 insertions(+), 16 deletions(-)

diff --git a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatch.C b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatch.C
index 7a862ee9dac..6a033c394da 100644
--- a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatch.C
+++ b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatch.C
@@ -44,7 +44,11 @@ const Foam::scalar Foam::cyclicACMIPolyPatch::tolerance_ = 1e-6;
 
 void Foam::cyclicACMIPolyPatch::initPatchFaceAreas() const
 {
-    if (!empty() && faceAreas0_.empty())
+    if
+    (
+        !empty()
+     && (faceAreas0_.empty() || boundaryMesh().mesh().moving())
+    )
     {
         faceAreas0_ = faceAreas();
     }
@@ -52,9 +56,13 @@ void Foam::cyclicACMIPolyPatch::initPatchFaceAreas() const
     const cyclicACMIPolyPatch& nbrACMI =
         refCast<const cyclicACMIPolyPatch>(this->neighbPatch());
 
-    if (!nbrACMI.empty() && nbrACMI.faceAreas0().empty())
+    if
+    (
+        !nbrACMI.empty()
+     && (nbrACMI.faceAreas0().empty() || boundaryMesh().mesh().moving())
+    )
     {
-        nbrACMI.initPatchFaceAreas();
+        nbrACMI.faceAreas0_ = nbrACMI.faceAreas();
     }
 }
 
@@ -136,11 +144,10 @@ void Foam::cyclicACMIPolyPatch::setNeighbourFaceAreas() const
 
 void Foam::cyclicACMIPolyPatch::initGeometry(PstreamBuffers& pBufs)
 {
-    // Initialise the AMI so that base geometry (e.g. cell volumes) are
-    // correctly evaluated
-    resetAMI();
-
     cyclicAMIPolyPatch::initGeometry(pBufs);
+
+    // Initialise the AMI
+    resetAMI();
 }
 
 
@@ -157,6 +164,9 @@ void Foam::cyclicACMIPolyPatch::initMovePoints
 )
 {
     cyclicAMIPolyPatch::initMovePoints(pBufs, p);
+
+    // Initialise the AMI
+    resetAMI();
 }
 
 
diff --git a/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C b/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C
index f58e99ce0e0..8f25ea76b89 100644
--- a/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C
+++ b/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C
@@ -71,7 +71,6 @@ Foam::vector Foam::cyclicAMIPolyPatch::findFaceNormalMaxRadius
 
 void Foam::cyclicAMIPolyPatch::calcTransforms()
 {
-    // Half0
     const cyclicAMIPolyPatch& half0 = *this;
     vectorField half0Areas(half0.size());
     forAll(half0, facei)
@@ -79,7 +78,6 @@ void Foam::cyclicAMIPolyPatch::calcTransforms()
         half0Areas[facei] = half0[facei].normal(half0.points());
     }
 
-    // Half1
     const cyclicAMIPolyPatch& half1 = neighbPatch();
     vectorField half1Areas(half1.size());
     forAll(half1, facei)
@@ -406,6 +404,9 @@ void Foam::cyclicAMIPolyPatch::resetAMI
 
 void Foam::cyclicAMIPolyPatch::initGeometry(PstreamBuffers& pBufs)
 {
+    // Clear the invalid AMI
+    AMIPtr_.clear();
+
     polyPatch::initGeometry(pBufs);
 }
 
@@ -431,6 +432,9 @@ void Foam::cyclicAMIPolyPatch::initMovePoints
     const pointField& p
 )
 {
+    // Clear the invalid AMI
+    AMIPtr_.clear();
+
     polyPatch::initMovePoints(pBufs, p);
 
     // See below. Clear out any local geometry
@@ -447,19 +451,15 @@ void Foam::cyclicAMIPolyPatch::movePoints
     polyPatch::movePoints(pBufs, p);
 
     calcTransforms();
-
-    // Note: resetAMI is called whilst in geometry update. So the slave
-    // side might not have reached 'movePoints'. Is explicitly handled by
-    // - clearing geometry of neighbour inside initMovePoints
-    // - not using localPoints() inside resetAMI
-    resetAMI();
 }
 
 
 void Foam::cyclicAMIPolyPatch::initUpdateMesh(PstreamBuffers& pBufs)
 {
-    polyPatch::initUpdateMesh(pBufs);
+    // Clear the invalid AMI
     AMIPtr_.clear();
+
+    polyPatch::initUpdateMesh(pBufs);
 }
 
 
-- 
GitLab


From 0917175ed8c9d3dbc2cd7d4b16ee41e77a06dde6 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Thu, 22 Oct 2015 14:59:06 +0100
Subject: [PATCH 004/141] foamListSourceFiles: Do not filter-out "debian"
 directories. Fix proposed by Bruno Santos. Resolves bug-report
 http://www.openfoam.org/mantisbt/view.php?id=1770

---
 bin/tools/foamListSourceFiles | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/bin/tools/foamListSourceFiles b/bin/tools/foamListSourceFiles
index 56f87bdcff5..db3d3301ff7 100755
--- a/bin/tools/foamListSourceFiles
+++ b/bin/tools/foamListSourceFiles
@@ -84,8 +84,7 @@ find -H $packDir                                                              \
  -e '\@/Make[.A-Za-z]*/[^/]*/@d'                                              \
  -e '\@/[Dd]oxygen/html/@d'                                                   \
  -e '\@/download/@d'                                                          \
- -e '\@/libccmio-.*/@d'                                                       \
- -e '\@/debian/@d'
+ -e '\@/libccmio-.*/@d'
 
 
 #------------------------------------------------------------------------------
-- 
GitLab


From 3b9a90f24958df4642dba5e3cb25d57f76d47863 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Thu, 22 Oct 2015 15:00:25 +0100
Subject: [PATCH 005/141] Update header

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

diff --git a/bin/tools/foamListSourceFiles b/bin/tools/foamListSourceFiles
index db3d3301ff7..dbbc2b31de8 100755
--- a/bin/tools/foamListSourceFiles
+++ b/bin/tools/foamListSourceFiles
@@ -3,7 +3,7 @@
 # =========                 |
 # \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
 #  \\    /   O peration     |
-#   \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+#   \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
 #    \\/     M anipulation  |
 #------------------------------------------------------------------------------
 # License
-- 
GitLab


From 0741dc5b3475fea79ef6b05325d919ee3a7452fc Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Thu, 22 Oct 2015 22:44:59 +0100
Subject: [PATCH 006/141] reactingEulerFoam: Updated handling of thermal
 diffusivity to support Prandtl number and thermal wall-functions

---
 .../turbulentDispersionModels/Burns/Burns.C   |  2 +-
 .../turbulentDispersionModels/Gosman/Gosman.C |  2 +-
 .../LopezDeBertodano/LopezDeBertodano.C       |  2 +-
 .../constantTurbulentDispersionCoefficient.C  |  2 +-
 .../AnisothermalPhaseModel.C                  |  5 +-
 .../MovingPhaseModel/MovingPhaseModel.C       |  6 +-
 .../MovingPhaseModel/MovingPhaseModel.H       |  9 +--
 .../phaseCompressibleTurbulenceModel.H        | 52 ++++++++++++++++++
 .../phaseCompressibleTurbulenceModelFwd.H     | 55 +++++++++++++++++++
 .../phaseModel/phaseModel/phaseModel.H        |  6 +-
 .../multiphaseCompressibleTurbulenceModels.C  |  7 +--
 .../reactingTwoPhaseEulerFoam.C               |  2 +-
 .../kineticTheoryModel/kineticTheoryModel.C   | 10 +---
 .../kineticTheoryModel/kineticTheoryModel.H   |  8 +--
 .../phaseCompressibleTurbulenceModels.C       |  7 +--
 .../phasePressureModel/phasePressureModel.C   | 10 +---
 .../phasePressureModel/phasePressureModel.H   |  8 +--
 .../IATE/IATEsources/IATEsource/IATEsource.C  |  2 +-
 .../ThermalDiffusivity/ThermalDiffusivity.C   |  2 +
 .../ThermalDiffusivity/ThermalDiffusivity.H   |  1 +
 .../makeTurbulenceModel.H                     |  2 +
 21 files changed, 137 insertions(+), 63 deletions(-)
 create mode 100644 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/phaseCompressibleTurbulenceModel.H
 create mode 100644 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/phaseCompressibleTurbulenceModelFwd.H

diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/Burns/Burns.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/Burns/Burns.C
index 093013cca3f..1f0fc837cb3 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/Burns/Burns.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/Burns/Burns.C
@@ -25,7 +25,7 @@ License
 
 #include "Burns.H"
 #include "phasePair.H"
-#include "PhaseCompressibleTurbulenceModel.H"
+#include "phaseCompressibleTurbulenceModel.H"
 #include "addToRunTimeSelectionTable.H"
 
 #include "dragModel.H"
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/Gosman/Gosman.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/Gosman/Gosman.C
index a6f8a16fbd3..98463216e82 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/Gosman/Gosman.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/Gosman/Gosman.C
@@ -25,7 +25,7 @@ License
 
 #include "Gosman.H"
 #include "phasePair.H"
-#include "PhaseCompressibleTurbulenceModel.H"
+#include "phaseCompressibleTurbulenceModel.H"
 #include "addToRunTimeSelectionTable.H"
 
 #include "dragModel.H"
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/LopezDeBertodano/LopezDeBertodano.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/LopezDeBertodano/LopezDeBertodano.C
index 848911fe2dd..68c0e1627d0 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/LopezDeBertodano/LopezDeBertodano.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/LopezDeBertodano/LopezDeBertodano.C
@@ -25,7 +25,7 @@ License
 
 #include "LopezDeBertodano.H"
 #include "phasePair.H"
-#include "PhaseCompressibleTurbulenceModel.H"
+#include "phaseCompressibleTurbulenceModel.H"
 #include "addToRunTimeSelectionTable.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/constantTurbulentDispersionCoefficient/constantTurbulentDispersionCoefficient.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/constantTurbulentDispersionCoefficient/constantTurbulentDispersionCoefficient.C
index fb8126c5d2a..54885614637 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/constantTurbulentDispersionCoefficient/constantTurbulentDispersionCoefficient.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/constantTurbulentDispersionCoefficient/constantTurbulentDispersionCoefficient.C
@@ -25,7 +25,7 @@ License
 
 #include "constantTurbulentDispersionCoefficient.H"
 #include "phasePair.H"
-#include "PhaseCompressibleTurbulenceModel.H"
+#include "phaseCompressibleTurbulenceModel.H"
 #include "addToRunTimeSelectionTable.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/AnisothermalPhaseModel/AnisothermalPhaseModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/AnisothermalPhaseModel/AnisothermalPhaseModel.C
index 8d705049f79..f74e8689fc1 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/AnisothermalPhaseModel/AnisothermalPhaseModel.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/AnisothermalPhaseModel/AnisothermalPhaseModel.C
@@ -88,10 +88,7 @@ Foam::AnisothermalPhaseModel<BasePhaseModel>::heEqn()
 
     const volScalarField& contErr(this->continuityError());
 
-    const volScalarField alphaEff
-    (
-        this->thermo_->alphaEff(this->turbulence().mut())
-    );
+    const volScalarField alphaEff(this->turbulence().alphaEff());
 
     volScalarField& he = this->thermo_->he();
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.C
index d06c61987a6..85f31441ee8 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.C
@@ -25,7 +25,7 @@ License
 
 #include "MovingPhaseModel.H"
 #include "phaseSystem.H"
-#include "PhaseCompressibleTurbulenceModel.H"
+#include "phaseCompressibleTurbulenceModel.H"
 #include "fixedValueFvPatchFields.H"
 #include "slipFvPatchFields.H"
 #include "partialSlipFvPatchFields.H"
@@ -176,7 +176,7 @@ Foam::MovingPhaseModel<BasePhaseModel>::MovingPhaseModel
     ),
     turbulence_
     (
-        PhaseCompressibleTurbulenceModel<phaseModel>::New
+        phaseCompressibleTurbulenceModel::New
         (
             *this,
             this->thermo().rho(),
@@ -374,7 +374,7 @@ Foam::MovingPhaseModel<BasePhaseModel>::alphaRhoPhi()
 
 
 template<class BasePhaseModel>
-const Foam::PhaseCompressibleTurbulenceModel<Foam::phaseModel>&
+const Foam::phaseCompressibleTurbulenceModel&
 Foam::MovingPhaseModel<BasePhaseModel>::turbulence() const
 {
     return turbulence_;
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.H
index b78762fd533..5b3b320b132 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.H
@@ -47,15 +47,13 @@ SourceFiles
 #define MovingPhaseModel_H
 
 #include "phaseModel.H"
+#include "phaseCompressibleTurbulenceModel.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
 {
 
-template<class TransportModel>
-class PhaseCompressibleTurbulenceModel;
-
 /*---------------------------------------------------------------------------*\
                            Class phaseModel Declaration
 \*---------------------------------------------------------------------------*/
@@ -83,7 +81,7 @@ class MovingPhaseModel
         volVectorField DUDt_;
 
         //- Turbulence model
-        autoPtr<PhaseCompressibleTurbulenceModel<phaseModel> > turbulence_;
+        autoPtr<phaseCompressibleTurbulenceModel> turbulence_;
 
         //- Continuity error
         volScalarField continuityError_;
@@ -178,8 +176,7 @@ public:
         // Turbulence
 
             //- Return the turbulence model
-            virtual const PhaseCompressibleTurbulenceModel<phaseModel>&
-                turbulence() const;
+            virtual const phaseCompressibleTurbulenceModel& turbulence() const;
 };
 
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/phaseCompressibleTurbulenceModel.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/phaseCompressibleTurbulenceModel.H
new file mode 100644
index 00000000000..862f75646ee
--- /dev/null
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/phaseCompressibleTurbulenceModel.H
@@ -0,0 +1,52 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+Typedef
+    Foam::phaseCompressibleTurbulenceModel
+
+Description
+    Typedef for phaseCompressibleTurbulenceModel
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef phaseCompressibleTurbulenceModel_H
+#define phaseCompressibleTurbulenceModel_H
+
+#include "phaseCompressibleTurbulenceModelFwd.H"
+#include "PhaseCompressibleTurbulenceModel.H"
+#include "ThermalDiffusivity.H"
+#include "phaseModel.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+      typedef ThermalDiffusivity<PhaseCompressibleTurbulenceModel<phaseModel> >
+          phaseCompressibleTurbulenceModel;
+}
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/phaseCompressibleTurbulenceModelFwd.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/phaseCompressibleTurbulenceModelFwd.H
new file mode 100644
index 00000000000..9600f6ef9b3
--- /dev/null
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/phaseCompressibleTurbulenceModelFwd.H
@@ -0,0 +1,55 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+Typedef
+    Foam::phaseCompressibleTurbulenceModel
+
+Description
+    Forward declaration of typedef for phaseCompressibleTurbulenceModel
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef phaseCompressibleTurbulenceModelFwd_H
+#define phaseCompressibleTurbulenceModelFwd_H
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+    class phaseModel;
+
+    template<class TransportModel>
+    class PhaseCompressibleTurbulenceModel;
+
+    template<class BasicTurbulenceModel>
+    class ThermalDiffusivity;
+
+      typedef ThermalDiffusivity<PhaseCompressibleTurbulenceModel<phaseModel> >
+          phaseCompressibleTurbulenceModel;
+}
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.H
index 27d78390cac..719ef80a8c9 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.H
@@ -38,6 +38,7 @@ SourceFiles
 #include "surfaceFields.H"
 #include "fvMatricesFwd.H"
 #include "rhoThermo.H"
+#include "phaseCompressibleTurbulenceModelFwd.H"
 #include "runTimeSelectionTables.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -48,9 +49,6 @@ namespace Foam
 class phaseSystem;
 class diameterModel;
 
-template<class TransportModel>
-class PhaseCompressibleTurbulenceModel;
-
 /*---------------------------------------------------------------------------*\
                            Class phaseModel Declaration
 \*---------------------------------------------------------------------------*/
@@ -342,7 +340,7 @@ public:
         // Turbulence
 
             //- Return the turbulence model
-            virtual const PhaseCompressibleTurbulenceModel<phaseModel>&
+            virtual const phaseCompressibleTurbulenceModel&
                 turbulence() const = 0;
 };
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseCompressibleTurbulenceModels/multiphaseCompressibleTurbulenceModels.C b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseCompressibleTurbulenceModels/multiphaseCompressibleTurbulenceModels.C
index de792b433a7..d927601ba6f 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseCompressibleTurbulenceModels/multiphaseCompressibleTurbulenceModels.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseCompressibleTurbulenceModels/multiphaseCompressibleTurbulenceModels.C
@@ -23,15 +23,10 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "PhaseCompressibleTurbulenceModel.H"
-#include "phaseModel.H"
-#include "multiphaseSystem.H"
+#include "phaseCompressibleTurbulenceModel.H"
 #include "addToRunTimeSelectionTable.H"
 #include "makeTurbulenceModel.H"
 
-#include "ThermalDiffusivity.H"
-#include "EddyDiffusivity.H"
-
 #include "laminar.H"
 #include "RASModel.H"
 #include "LESModel.H"
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C
index d18171a35d3..074a3aafbd4 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C
@@ -35,7 +35,7 @@ Description
 
 #include "fvCFD.H"
 #include "twoPhaseSystem.H"
-#include "PhaseCompressibleTurbulenceModel.H"
+#include "phaseCompressibleTurbulenceModel.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
 #include "pimpleControl.H"
 #include "localEulerDdtScheme.H"
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C
index bbf37904ca8..79dfa6ee051 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C
@@ -43,10 +43,7 @@ Foam::RASModels::kineticTheoryModel::kineticTheoryModel
 :
     eddyViscosity
     <
-        RASModel<EddyDiffusivity<ThermalDiffusivity
-        <
-            PhaseCompressibleTurbulenceModel<phaseModel>
-        > > >
+        RASModel<EddyDiffusivity<phaseCompressibleTurbulenceModel> >
     >
     (
         type,
@@ -189,10 +186,7 @@ bool Foam::RASModels::kineticTheoryModel::read()
     (
         eddyViscosity
         <
-            RASModel<EddyDiffusivity<ThermalDiffusivity
-            <
-                PhaseCompressibleTurbulenceModel<phaseModel>
-            > > >
+            RASModel<EddyDiffusivity<phaseCompressibleTurbulenceModel> >
         >::read()
     )
     {
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H
index 9aadb83d127..e18d41fb40b 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H
@@ -47,8 +47,7 @@ SourceFiles
 
 #include "RASModel.H"
 #include "eddyViscosity.H"
-#include "PhaseCompressibleTurbulenceModel.H"
-#include "ThermalDiffusivity.H"
+#include "phaseCompressibleTurbulenceModel.H"
 #include "EddyDiffusivity.H"
 #include "phaseModel.H"
 #include "dragModel.H"
@@ -74,10 +73,7 @@ class kineticTheoryModel
 :
     public eddyViscosity
     <
-        RASModel<EddyDiffusivity<ThermalDiffusivity
-        <
-            PhaseCompressibleTurbulenceModel<phaseModel>
-        > > >
+        RASModel<EddyDiffusivity<phaseCompressibleTurbulenceModel> >
     >
 {
     // Private data
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phaseCompressibleTurbulenceModels.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phaseCompressibleTurbulenceModels.C
index eb0a0700443..7b534db6d2b 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phaseCompressibleTurbulenceModels.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phaseCompressibleTurbulenceModels.C
@@ -23,15 +23,10 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "PhaseCompressibleTurbulenceModel.H"
-#include "phaseModel.H"
-#include "twoPhaseSystem.H"
+#include "phaseCompressibleTurbulenceModel.H"
 #include "addToRunTimeSelectionTable.H"
 #include "makeTurbulenceModel.H"
 
-#include "ThermalDiffusivity.H"
-#include "EddyDiffusivity.H"
-
 #include "laminar.H"
 #include "RASModel.H"
 #include "LESModel.H"
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C
index adb23d40d2c..40439ac5cce 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C
@@ -42,10 +42,7 @@ Foam::RASModels::phasePressureModel::phasePressureModel
 :
     eddyViscosity
     <
-        RASModel<EddyDiffusivity<ThermalDiffusivity
-        <
-            PhaseCompressibleTurbulenceModel<phaseModel>
-        > > >
+        RASModel<EddyDiffusivity<phaseCompressibleTurbulenceModel> >
     >
     (
         type,
@@ -93,10 +90,7 @@ bool Foam::RASModels::phasePressureModel::read()
     (
         eddyViscosity
         <
-            RASModel<EddyDiffusivity<ThermalDiffusivity
-            <
-                PhaseCompressibleTurbulenceModel<phaseModel>
-            > > >
+            RASModel<EddyDiffusivity<phaseCompressibleTurbulenceModel> >
         >::read()
     )
     {
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.H
index 68734e5b4f7..c7e9842f37f 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.H
@@ -53,8 +53,7 @@ SourceFiles
 
 #include "RASModel.H"
 #include "eddyViscosity.H"
-#include "PhaseCompressibleTurbulenceModel.H"
-#include "ThermalDiffusivity.H"
+#include "phaseCompressibleTurbulenceModel.H"
 #include "EddyDiffusivity.H"
 #include "phaseModel.H"
 
@@ -73,10 +72,7 @@ class phasePressureModel
 :
     public eddyViscosity
     <
-        RASModel<EddyDiffusivity<ThermalDiffusivity
-        <
-            PhaseCompressibleTurbulenceModel<phaseModel>
-        > > >
+        RASModel<EddyDiffusivity<phaseCompressibleTurbulenceModel> >
     >
 {
     // Private data
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C
index 9c62dfc819f..92e97999207 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C
@@ -25,7 +25,7 @@ License
 
 #include "IATEsource.H"
 #include "fvMatrix.H"
-#include "PhaseCompressibleTurbulenceModel.H"
+#include "phaseCompressibleTurbulenceModel.H"
 #include "uniformDimensionedFields.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
diff --git a/src/TurbulenceModels/compressible/ThermalDiffusivity/ThermalDiffusivity.C b/src/TurbulenceModels/compressible/ThermalDiffusivity/ThermalDiffusivity.C
index 4a85a59d074..487582a8d5d 100644
--- a/src/TurbulenceModels/compressible/ThermalDiffusivity/ThermalDiffusivity.C
+++ b/src/TurbulenceModels/compressible/ThermalDiffusivity/ThermalDiffusivity.C
@@ -63,6 +63,7 @@ Foam::ThermalDiffusivity<BasicTurbulenceModel>::New
     const alphaField& alpha,
     const volScalarField& rho,
     const volVectorField& U,
+    const surfaceScalarField& alphaRhoPhi,
     const surfaceScalarField& phi,
     const transportModel& transport,
     const word& propertiesName
@@ -76,6 +77,7 @@ Foam::ThermalDiffusivity<BasicTurbulenceModel>::New
             alpha,
             rho,
             U,
+            alphaRhoPhi,
             phi,
             transport,
             propertiesName
diff --git a/src/TurbulenceModels/compressible/ThermalDiffusivity/ThermalDiffusivity.H b/src/TurbulenceModels/compressible/ThermalDiffusivity/ThermalDiffusivity.H
index 2066e44a1da..ab8c7c5388c 100644
--- a/src/TurbulenceModels/compressible/ThermalDiffusivity/ThermalDiffusivity.H
+++ b/src/TurbulenceModels/compressible/ThermalDiffusivity/ThermalDiffusivity.H
@@ -82,6 +82,7 @@ public:
             const alphaField& alpha,
             const volScalarField& rho,
             const volVectorField& U,
+            const surfaceScalarField& alphaRhoPhi,
             const surfaceScalarField& phi,
             const transportModel& trasportModel,
             const word& propertiesName = turbulenceModel::propertiesName
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/makeTurbulenceModel.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/makeTurbulenceModel.H
index 2bf0664c163..d4c21d4b96a 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/makeTurbulenceModel.H
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/makeTurbulenceModel.H
@@ -23,6 +23,8 @@ License
 
 \*---------------------------------------------------------------------------*/
 
+#include "EddyDiffusivity.H"
+
 #define makeBaseTurbulenceModel(                                               \
     Alpha, Rho, baseModel, BaseModel, TDModel, Transport)                      \
                                                                                \
-- 
GitLab


From 745f88b148250562699dbbcc7e4c24a79916bbd5 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 23 Oct 2015 08:31:11 +0100
Subject: [PATCH 007/141] cyclicAMIPolyPatch: corrected rotationAngle signs in
 parallel decomposition of cyclicAMI Resolves bug-report
 http://www.openfoam.org/mantisbt/view.php?id=1726

---
 .../cyclicAMIPolyPatch/cyclicAMIPolyPatch.C   | 40 ++++++++++---------
 1 file changed, 21 insertions(+), 19 deletions(-)

diff --git a/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C b/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C
index 8f25ea76b89..7dfa8977f8b 100644
--- a/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C
+++ b/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C
@@ -136,23 +136,23 @@ void Foam::cyclicAMIPolyPatch::calcTransforms
 
             if (rotationAngleDefined_)
             {
-                tensor T(rotationAxis_*rotationAxis_);
+                const tensor T(rotationAxis_*rotationAxis_);
 
-                tensor S
+                const tensor S
                 (
                     0, -rotationAxis_.z(), rotationAxis_.y(),
                     rotationAxis_.z(), 0, -rotationAxis_.x(),
                     -rotationAxis_.y(), rotationAxis_.x(), 0
                 );
 
-                tensor revTPos
+                const tensor revTPos
                 (
                     T
                   + cos(rotationAngle_)*(tensor::I - T)
                   + sin(rotationAngle_)*S
                 );
 
-                tensor revTNeg
+                const tensor revTNeg
                 (
                     T
                   + cos(-rotationAngle_)*(tensor::I - T)
@@ -161,27 +161,30 @@ void Foam::cyclicAMIPolyPatch::calcTransforms
 
                 // Check - assume correct angle when difference in face areas
                 // is the smallest
-                vector transformedAreaPos = gSum(half1Areas & revTPos);
-                vector transformedAreaNeg = gSum(half1Areas & revTNeg);
-                vector area0 = gSum(half0Areas);
+                const vector transformedAreaPos = gSum(half1Areas & revTPos);
+                const vector transformedAreaNeg = gSum(half1Areas & revTNeg);
+                const vector area0 = gSum(half0Areas);
+                const scalar magArea0 = mag(area0) + ROOTVSMALL;
 
-                // Areas have opposite sign, so sum should be zero when
-                // correct rotation applied
-                scalar errorPos = mag(transformedAreaPos + area0);
-                scalar errorNeg = mag(transformedAreaNeg + area0);
+                // Areas have opposite sign, so sum should be zero when correct
+                // rotation applied
+                const scalar errorPos = mag(transformedAreaPos + area0);
+                const scalar errorNeg = mag(transformedAreaNeg + area0);
 
-                if (errorPos < errorNeg)
+                const scalar normErrorPos = errorPos/magArea0;
+                const scalar normErrorNeg = errorNeg/magArea0;
+
+                if (errorPos > errorNeg && normErrorNeg < matchTolerance())
                 {
-                    revT = revTPos;
+                    revT = revTNeg;
+                    rotationAngle_ *= -1;
                 }
                 else
                 {
-                    revT = revTNeg;
-                    rotationAngle_ *= -1;
+                    revT = revTPos;
                 }
 
-                scalar areaError =
-                    min(errorPos, errorNeg)/(mag(area0) + ROOTVSMALL);
+                const scalar areaError = min(normErrorPos, normErrorNeg);
 
                 if (areaError > matchTolerance())
                 {
@@ -195,8 +198,7 @@ void Foam::cyclicAMIPolyPatch::calcTransforms
                             "const pointField&, "
                             "const vectorField&"
                         ")"
-                    )
-                        << "Patch areas are not consistent within "
+                    )   << "Patch areas are not consistent within "
                         << 100*matchTolerance()
                         << " % indicating a possible error in the specified "
                         << "angle of rotation" << nl
-- 
GitLab


From ed496c2cb1a1b3ddfb641f2e0df77d9d40cff632 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 23 Oct 2015 12:41:46 +0100
Subject: [PATCH 008/141] mergeMeshes: Disable functionObjects Resolves
 bug-report http://www.openfoam.org/mantisbt/view.php?id=1756

---
 .../utilities/mesh/manipulation/mergeMeshes/createTimes.H      | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/applications/utilities/mesh/manipulation/mergeMeshes/createTimes.H b/applications/utilities/mesh/manipulation/mergeMeshes/createTimes.H
index 01f173f10c0..3cb000ccc26 100644
--- a/applications/utilities/mesh/manipulation/mergeMeshes/createTimes.H
+++ b/applications/utilities/mesh/manipulation/mergeMeshes/createTimes.H
@@ -9,6 +9,7 @@
         masterCasePath,
         masterCaseName
     );
+    runTimeMaster.functionObjects().off();
 
     const fileName addCasePath = addCase.path();
     const fileName addCaseName = addCase.name();
@@ -19,4 +20,4 @@
         addCasePath,
         addCaseName
     );
-
+    runTimeToAdd.functionObjects().off();
-- 
GitLab


From 8a25e3aad76c77a54fbdffe39f536ff768f8e8be Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 23 Oct 2015 17:25:59 +0100
Subject: [PATCH 009/141] CGAL: Upgrade to 4.7

---
 etc/config/CGAL.csh          | 2 +-
 etc/config/CGAL.sh           | 2 +-
 wmake/rules/linux64Clang/c++ | 2 +-
 wmake/rules/linuxClang/c++   | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/etc/config/CGAL.csh b/etc/config/CGAL.csh
index 96b5201c86a..7269587c309 100644
--- a/etc/config/CGAL.csh
+++ b/etc/config/CGAL.csh
@@ -30,7 +30,7 @@
 ##------------------------------------------------------------------------------
 
 set boost_version=boost-system
-set cgal_version=CGAL-4.6
+set cgal_version=CGAL-4.7
 
 setenv BOOST_ARCH_PATH $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$boost_version
 setenv CGAL_ARCH_PATH $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$cgal_version
diff --git a/etc/config/CGAL.sh b/etc/config/CGAL.sh
index 171f5a49f00..7a59fc6e009 100644
--- a/etc/config/CGAL.sh
+++ b/etc/config/CGAL.sh
@@ -30,7 +30,7 @@
 #------------------------------------------------------------------------------
 
 boost_version=boost-system
-cgal_version=CGAL-4.6
+cgal_version=CGAL-4.7
 
 export BOOST_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$boost_version
 export CGAL_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$cgal_version
diff --git a/wmake/rules/linux64Clang/c++ b/wmake/rules/linux64Clang/c++
index ddb05970b19..f7d8a111ebc 100644
--- a/wmake/rules/linux64Clang/c++
+++ b/wmake/rules/linux64Clang/c++
@@ -3,7 +3,7 @@ SUFFIXES += .C
 c++WARN     = -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -Wno-c++11-extensions
 
 # Suppress some warnings for flex++ and CGAL
-c++LESSWARN = -Wno-old-style-cast -Wno-unused-local-typedefs -Wno-tautological-undefined-compare
+c++LESSWARN = -Wno-old-style-cast -Wno-unused-local-typedefs -Wno-tautological-undefined-compare -Wno-shift-negative-value
 
 CC          = clang++ -m64
 
diff --git a/wmake/rules/linuxClang/c++ b/wmake/rules/linuxClang/c++
index db31f577603..9d1ecb74823 100644
--- a/wmake/rules/linuxClang/c++
+++ b/wmake/rules/linuxClang/c++
@@ -3,7 +3,7 @@ SUFFIXES += .C
 c++WARN     = -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -Wno-c++11-extensions
 
 # Suppress some warnings for flex++ and CGAL
-c++LESSWARN = -Wno-old-style-cast -Wno-unused-local-typedef -Wno-tautological-undefined-compare
+c++LESSWARN = -Wno-old-style-cast -Wno-unused-local-typedef -Wno-tautological-undefined-compare -Wno-shift-negative-value
 
 CC          = clang++ -m32
 
-- 
GitLab


From f19e3deb404a2da17ab1a11cbe7368c53f99bd13 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sat, 24 Oct 2015 21:39:10 +0100
Subject: [PATCH 010/141] cyclicACMIPolyPatch: remove tolerance from the ACMI
 interpolation Maybe resolves bug-report
 http://www.openfoam.org/mantisbt/view.php?id=1335 awaiting feedback from
 reporter.

---
 .../cyclicACMIPolyPatchTemplates.C            | 37 ++++++-------------
 1 file changed, 12 insertions(+), 25 deletions(-)

diff --git a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatchTemplates.C b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatchTemplates.C
index 231a2e0ba7a..82bce867c1d 100644
--- a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatchTemplates.C
+++ b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatchTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -23,8 +23,6 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
 template<class Type>
 Foam::tmp<Foam::Field<Type> > Foam::cyclicACMIPolyPatch::interpolate
 (
@@ -32,27 +30,20 @@ Foam::tmp<Foam::Field<Type> > Foam::cyclicACMIPolyPatch::interpolate
     const Field<Type>& fldNonOverlap
 ) const
 {
-    // note: do not scale AMI field as face areas have already been taken
-    // into account
+    // Note: do not scale AMI field as face areas have already been taken into
+    // account
 
     if (owner())
     {
-        const scalarField& w = srcMask_;
-
-        tmp<Field<Type> > interpField(AMI().interpolateToSource(fldCouple));
-
-        return interpField + (1.0 - w)*fldNonOverlap;
+        return
+            AMI().interpolateToSource(fldCouple)
+          + (1.0 - AMI().srcWeightsSum())*fldNonOverlap;
     }
     else
     {
-        const scalarField& w = neighbPatch().tgtMask();
-
-        tmp<Field<Type> > interpField
-        (
+        return
             neighbPatch().AMI().interpolateToTarget(fldCouple)
-        );
-
-        return interpField + (1.0 - w)*fldNonOverlap;
+          + (1.0 - neighbPatch().AMI().tgtWeightsSum())*fldNonOverlap;
     }
 }
 
@@ -77,22 +68,18 @@ void Foam::cyclicACMIPolyPatch::interpolate
     List<Type>& result
 ) const
 {
-    // note: do not scale AMI field as face areas have already been taken
-    // into account
+    // Note: do not scale AMI field as face areas have already been taken into
+    // account
 
     if (owner())
     {
-        const scalarField& w = srcMask_;
-
         AMI().interpolateToSource(fldCouple, cop, result);
-        result = result + (1.0 - w)*fldNonOverlap;
+        result += (1.0 - AMI().srcWeightsSum())*fldNonOverlap;
     }
     else
     {
-        const scalarField& w = neighbPatch().tgtMask();
-
         neighbPatch().AMI().interpolateToTarget(fldCouple, cop, result);
-        result = result + (1.0 - w)*fldNonOverlap;
+        result += (1.0 - neighbPatch().AMI().tgtWeightsSum())*fldNonOverlap;
     }
 }
 
-- 
GitLab


From 0d9ae2f3e71ec0eac4743e1f9e2b26dd7fefbdfc Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sun, 25 Oct 2015 10:16:56 +0000
Subject: [PATCH 011/141] OpenMPI: Upgrade to version 1.10.0

---
 etc/config/settings.csh | 2 +-
 etc/config/settings.sh  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/etc/config/settings.csh b/etc/config/settings.csh
index 864088d6ecf..31669ae6767 100644
--- a/etc/config/settings.csh
+++ b/etc/config/settings.csh
@@ -379,7 +379,7 @@ case SYSTEMOPENMPI:
     breaksw
 
 case OPENMPI:
-    setenv FOAM_MPI openmpi-1.8.5
+    setenv FOAM_MPI openmpi-1.10.0
     # Optional configuration tweaks:
     _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config/openmpi.csh`
 
diff --git a/etc/config/settings.sh b/etc/config/settings.sh
index 6a7bce43e05..02be26b9d76 100644
--- a/etc/config/settings.sh
+++ b/etc/config/settings.sh
@@ -403,7 +403,7 @@ SYSTEMOPENMPI)
     ;;
 
 OPENMPI)
-    export FOAM_MPI=openmpi-1.8.5
+    export FOAM_MPI=openmpi-1.10.0
     # Optional configuration tweaks:
     _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config/openmpi.sh`
 
-- 
GitLab


From 8bbeafea8da9733db2f5f7c54e5828d5eb471b0a Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sun, 25 Oct 2015 15:29:33 +0000
Subject: [PATCH 012/141] turbulentHeatFluxTemperatureFvPatchScalarField:
 Updated docs Resolves report
 http://www.openfoam.org/mantisbt/view.php?id=1875

---
 ...entHeatFluxTemperatureFvPatchScalarField.H | 39 +++++++++++++------
 1 file changed, 28 insertions(+), 11 deletions(-)

diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H
index 94f75fead87..e31aff89042 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H
@@ -29,18 +29,35 @@ Description
     heat source either specified in terms of an absolute power [W], or as a
     flux [W/m^2].
 
-    Example usage:
-
-        hotWall
-        {
-            type            compressible::turbulentHeatFluxTemperature;
-            heatSource      flux;        // power [W]; flux [W/m^2]
-            q               uniform 10;  // heat power or flux
-            kappa           fluidThermo; // calculate kappa=alphaEff*thermo.Cp
-            Qr              none;        // name of the radiative flux
-            value           uniform 300; // initial temperature value
-        }
+    \heading Patch usage
+
+    \table
+        Property     | Description             | Required    | Default value
+        heatSource   | 'power' [W] or 'flux' [W/m^2] | yes |
+        q            | heat power or flux field      | yes |
+        kappa        | inherited from Foam::temperatureCoupledBase | yes |
+        Qr           | name of the radiative flux field | yes |
+        value        | initial temperature value     | no | calculated
+        gradient     | initial gradient value        | no | 0.0
+    \endtable
 
+    Example usage:
+    \verbatim
+    hotWall
+    {
+        type            compressible::turbulentHeatFluxTemperature;
+        heatSource      flux;
+        q               uniform 10;
+        kappa           fluidThermo;
+        Qr              none;
+        gradient        uniform 0;
+        value           uniform 300;
+    }
+    \endverbatim
+
+
+SeeAlso
+    Foam::temperatureCoupledBase
 
 SourceFiles
     turbulentHeatFluxTemperatureFvPatchScalarField.C
-- 
GitLab


From 27975069587a3b0a781c0318fe273d095a0379fd Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sun, 25 Oct 2015 15:29:33 +0000
Subject: [PATCH 013/141] turbulentHeatFluxTemperatureFvPatchScalarField:
 Updated docs Resolves report
 http://www.openfoam.org/mantisbt/view.php?id=1875 Patch provided by Bruno
 Santos

---
 ...entHeatFluxTemperatureFvPatchScalarField.H | 39 +++++++++++++------
 1 file changed, 28 insertions(+), 11 deletions(-)

diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H
index 94f75fead87..e31aff89042 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H
@@ -29,18 +29,35 @@ Description
     heat source either specified in terms of an absolute power [W], or as a
     flux [W/m^2].
 
-    Example usage:
-
-        hotWall
-        {
-            type            compressible::turbulentHeatFluxTemperature;
-            heatSource      flux;        // power [W]; flux [W/m^2]
-            q               uniform 10;  // heat power or flux
-            kappa           fluidThermo; // calculate kappa=alphaEff*thermo.Cp
-            Qr              none;        // name of the radiative flux
-            value           uniform 300; // initial temperature value
-        }
+    \heading Patch usage
+
+    \table
+        Property     | Description             | Required    | Default value
+        heatSource   | 'power' [W] or 'flux' [W/m^2] | yes |
+        q            | heat power or flux field      | yes |
+        kappa        | inherited from Foam::temperatureCoupledBase | yes |
+        Qr           | name of the radiative flux field | yes |
+        value        | initial temperature value     | no | calculated
+        gradient     | initial gradient value        | no | 0.0
+    \endtable
 
+    Example usage:
+    \verbatim
+    hotWall
+    {
+        type            compressible::turbulentHeatFluxTemperature;
+        heatSource      flux;
+        q               uniform 10;
+        kappa           fluidThermo;
+        Qr              none;
+        gradient        uniform 0;
+        value           uniform 300;
+    }
+    \endverbatim
+
+
+SeeAlso
+    Foam::temperatureCoupledBase
 
 SourceFiles
     turbulentHeatFluxTemperatureFvPatchScalarField.C
-- 
GitLab


From 3f3a39e2e845bc9f8a0ce15e9513dddfaeba0599 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sun, 25 Oct 2015 17:08:29 +0000
Subject: [PATCH 014/141] temperatureCoupledBase,
 turbulentHeatFluxTemperatureFvPatchScalarField: updated docs Provided by
 Bruno Santos Resolves bug-report
 http://www.openfoam.org/mantisbt/view.php?id=1875

---
 .../temperatureCoupledBase.H                  | 46 ++++++++++++++-----
 ...entHeatFluxTemperatureFvPatchScalarField.H | 12 +++--
 2 files changed, 42 insertions(+), 16 deletions(-)

diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.H
index 186ed39eecc..d64cdef42be 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.H
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.H
@@ -25,17 +25,41 @@ Class
     Foam::temperatureCoupledBase
 
 Description
-    Common functions for use in temperature coupled boundaries. For now only
-
-    kappa() : heat conduction at patch. Gets supplied how to lookup/calculate
-        kappa:
-
-    - 'lookup' : lookup volScalarField (or volSymmTensorField) with name
-    - 'fluidThermo' : use fluidThermo and default compressible::turbulenceModel
-       to calculate kappa
-    - 'solidThermo' : use solidThermo kappa()
-    - 'directionalSolidThermo': uses look up for volSymmTensorField for
-       transformed kappa vector. Named 'Anialpha' in solid solver
+    Common functions for use in temperature coupled boundaries.
+
+    For now only provides the following methods:
+
+    - kappa() : heat conduction at patch. Gets supplied how to lookup/calculate
+      'kappa':
+        - 'lookup' : lookup volScalarField (or volSymmTensorField) with name
+           defined in 'kappaName'
+        - 'fluidThermo' : use fluidThermo and default
+          compressible::turbulenceModel to calculate kappa
+        - 'solidThermo' : use solidThermo kappa()
+        - 'directionalSolidThermo': uses look up for volSymmTensorField for
+          transformed kappa vector. Field name definable in 'alphaAniName',
+          named 'Anialpha' in solid solver by default
+
+    \heading Keywords provided by this class
+
+    \table
+        Property     | Description             | Required    | Default value
+        kappa        | heat conduction type at patch, as listed above | yes |
+        kappaName    | Name of thermal conductivity field | yes |
+        alphaAniName | name of the non-isotropic alpha | no | 'Anialpha'
+    \endtable
+
+    Usage examples:
+    \verbatim
+    nonIsotropicWall
+    {
+        ...
+        kappa           directionalSolidThermo;
+        kappaName       none;
+        alphaAniName    Anialpha;
+        ...
+    }
+    \endverbatim
 
 SourceFiles
     temperatureCoupledBase.C
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H
index e31aff89042..b288e821d9b 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H
@@ -35,12 +35,15 @@ Description
         Property     | Description             | Required    | Default value
         heatSource   | 'power' [W] or 'flux' [W/m^2] | yes |
         q            | heat power or flux field      | yes |
-        kappa        | inherited from Foam::temperatureCoupledBase | yes |
+        kappa        | inherited from temperatureCoupledBase | yes |
+        kappaName    | inherited from temperatureCoupledBase | yes |
         Qr           | name of the radiative flux field | yes |
-        value        | initial temperature value     | no | calculated
-        gradient     | initial gradient value        | no | 0.0
+        value        | initial temperature value | no | calculated
+        gradient     | initial gradient value | no | 0.0
     \endtable
 
+    Note: If needed, both 'value' and 'gradient' must be defined to be used.
+
     Example usage:
     \verbatim
     hotWall
@@ -49,9 +52,8 @@ Description
         heatSource      flux;
         q               uniform 10;
         kappa           fluidThermo;
+        kappaName       none;
         Qr              none;
-        gradient        uniform 0;
-        value           uniform 300;
     }
     \endverbatim
 
-- 
GitLab


From 37ba9605f1c7445bf0e11531f43c1de6f27631e0 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Mon, 26 Oct 2015 15:47:14 +0000
Subject: [PATCH 015/141] chtMultiRegionFoam: Correct file permissions on
 solveSolid.H

---
 .../solvers/heatTransfer/chtMultiRegionFoam/solid/solveSolid.H    | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 mode change 100755 => 100644 applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solveSolid.H

diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solveSolid.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solveSolid.H
old mode 100755
new mode 100644
-- 
GitLab


From 8ed5d9fd334e88b8ad510021e60d7549c54a3914 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Mon, 26 Oct 2015 16:26:52 +0000
Subject: [PATCH 016/141] Allwmake: Change test logic for building
 documentation to avoid return "fail"

---
 Allwmake | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/Allwmake b/Allwmake
index e9e7995414a..e0dded16f05 100755
--- a/Allwmake
+++ b/Allwmake
@@ -37,7 +37,10 @@ src/Allwmake $targetType $*
 applications/Allwmake $targetType $*
 
 # Optionally build OpenFOAM Doxygen documentation
-[ $genDoc -eq 1 ] && doc/Allwmake
+if [ $genDoc -eq 1 ]
+then
+    doc/Allwmake
+fi
 
 
 # ----------------------------------------------------------------- end-of-file
-- 
GitLab


From c1d3fbaee82d4e8e959bf76de784138a0e6276ef Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Mon, 26 Oct 2015 16:35:20 +0000
Subject: [PATCH 017/141] etc/codeTemplates/foamScript: Make executable

---
 etc/codeTemplates/foamScript | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 mode change 100644 => 100755 etc/codeTemplates/foamScript

diff --git a/etc/codeTemplates/foamScript b/etc/codeTemplates/foamScript
old mode 100644
new mode 100755
index 1075782d7fe..56f750e175e
--- a/etc/codeTemplates/foamScript
+++ b/etc/codeTemplates/foamScript
@@ -3,7 +3,7 @@
 # =========                 |
 # \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
 #  \\    /   O peration     |
-#   \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+#   \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
 #    \\/     M anipulation  |
 #------------------------------------------------------------------------------
 # License
-- 
GitLab


From 1d8ef28cb8cf6a8dd0bcc62453a97bd49e1f7729 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Mon, 26 Oct 2015 17:35:27 +0000
Subject: [PATCH 018/141] foamEtcFile: Add support for openfoamdev

---
 bin/foamEtcFile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/bin/foamEtcFile b/bin/foamEtcFile
index a08167148e3..72f1aa4a934 100755
--- a/bin/foamEtcFile
+++ b/bin/foamEtcFile
@@ -3,7 +3,7 @@
 # =========                 |
 # \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
 #  \\    /   O peration     |
-#   \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+#   \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
 #    \\/     M anipulation  |
 #-------------------------------------------------------------------------------
 # License
@@ -103,7 +103,7 @@ OpenFOAM-*)         # standard naming convention OpenFOAM-<VERSION>
     version="${projectDirName##OpenFOAM-}"
     ;;
 
-openfoam[0-9]*)     # debian naming convention 'openfoam<VERSION>'
+openfoam[0-9]* | openfoamdev)     # debian naming convention 'openfoam<VERSION>'
     versionNum="${projectDirName##openfoam}"
     case "$versionNum" in
     ??)         # convert 2 digit version number to decimal delineated
-- 
GitLab


From b5e94ef31183c32799a48567ed6bf080cd1efe6a Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Mon, 26 Oct 2015 17:56:38 +0000
Subject: [PATCH 019/141] foamListSourceFiles: Filter debian build directory if
 it is at the top-level

---
 bin/tools/foamListSourceFiles | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/bin/tools/foamListSourceFiles b/bin/tools/foamListSourceFiles
index dbbc2b31de8..5fb1b3f893f 100755
--- a/bin/tools/foamListSourceFiles
+++ b/bin/tools/foamListSourceFiles
@@ -84,7 +84,8 @@ find -H $packDir                                                              \
  -e '\@/Make[.A-Za-z]*/[^/]*/@d'                                              \
  -e '\@/[Dd]oxygen/html/@d'                                                   \
  -e '\@/download/@d'                                                          \
- -e '\@/libccmio-.*/@d'
+ -e '\@/libccmio-.*/@d'                                                       \
+ -e '\@\./debian/@d'
 
 
 #------------------------------------------------------------------------------
-- 
GitLab


From 9db30d30030553a1847b455289e29dbaceca1b58 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Tue, 27 Oct 2015 10:18:03 +0000
Subject: [PATCH 020/141] ParaView: Upgrade to 4.4.0

---
 etc/config/paraview.csh | 3 ++-
 etc/config/paraview.sh  | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/etc/config/paraview.csh b/etc/config/paraview.csh
index 2d67783b170..f81a894d11e 100644
--- a/etc/config/paraview.csh
+++ b/etc/config/paraview.csh
@@ -52,7 +52,8 @@ end
 #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.3.1
+setenv ParaView_VERSION 4.4.0
 setenv ParaView_MAJOR detect
 
 
diff --git a/etc/config/paraview.sh b/etc/config/paraview.sh
index d1a595a4298..6b345008818 100644
--- a/etc/config/paraview.sh
+++ b/etc/config/paraview.sh
@@ -54,7 +54,8 @@ done
 #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.3.1
+export ParaView_VERSION=4.4.0
 export ParaView_MAJOR=detect
 
 
-- 
GitLab


From f5a3702e5832d84d0931858a0ac1f8948968670e Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Tue, 27 Oct 2015 16:26:40 +0000
Subject: [PATCH 021/141] Corrected headers

---
 .../chtMultiRegionSimpleFoam/heatExchanger/0.org/air/alphat     | 2 +-
 .../chtMultiRegionSimpleFoam/heatExchanger/0.org/air/nut        | 2 +-
 .../solidDisplacementFoam/plateHole/system/sampleDict           | 2 +-
 .../solidDisplacementFoam/plateHole/system/sampleSurfaceDict    | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/0.org/air/alphat b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/0.org/air/alphat
index 40eeda22be7..97ee287ca69 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/0.org/air/alphat
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/0.org/air/alphat
@@ -1,7 +1,7 @@
 /*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  2.3.x                                 |
+|  \\    /   O peration     | Version:  dev                                   |
 |   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/0.org/air/nut b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/0.org/air/nut
index 63b9c797a6d..bdc508372d4 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/0.org/air/nut
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/0.org/air/nut
@@ -1,7 +1,7 @@
 /*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  2.3.x                                 |
+|  \\    /   O peration     | Version:  dev                                   |
 |   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
diff --git a/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/sampleDict b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/sampleDict
index 9df77256872..2f06c994d90 100644
--- a/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/sampleDict
+++ b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/sampleDict
@@ -1,7 +1,7 @@
 /*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  2.3.0                                 |
+|  \\    /   O peration     | Version:  dev                                   |
 |   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
diff --git a/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/sampleSurfaceDict b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/sampleSurfaceDict
index 68446c9905a..2096d88f5d5 100644
--- a/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/sampleSurfaceDict
+++ b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/sampleSurfaceDict
@@ -1,7 +1,7 @@
 /*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  2.3.0                                 |
+|  \\    /   O peration     | Version:  dev                                   |
 |   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-- 
GitLab


From 93911ab950ffbe34168e26519951c4799a4968ae Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Tue, 27 Oct 2015 16:26:51 +0000
Subject: [PATCH 022/141] Removed spurious log file

---
 .../reactingEulerFoam/reactingMultiphaseEulerFoam/log       | 6 ------
 1 file changed, 6 deletions(-)
 delete mode 100644 applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/log

diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/log b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/log
deleted file mode 100644
index 6a64f4e14f5..00000000000
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/log
+++ /dev/null
@@ -1,6 +0,0 @@
-/home/dm2/henry/OpenFOAM/OpenFOAM-dev/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam
-Making dependency list for source file reactingMultiphaseEulerFoam.C
-clang++ -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -Wno-c++11-extensions -O3  -DNoRepository -ftemplate-depth-100 -ImultiphaseSystem/lnInclude -I../phaseSystems/lnInclude -I../interfacialModels/lnInclude -I../interfacialCompositionModels/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/thermophysicalModels/basic/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/transportModels/compressible/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/TurbulenceModels/turbulenceModels/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/TurbulenceModels/compressible/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/TurbulenceModels/phaseCompressible/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/finiteVolume/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/fvOptions/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/meshTools/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/sampling/lnInclude -IlnInclude -I. -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/OpenFOAM/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/OSspecific/POSIX/lnInclude   -fPIC -c reactingMultiphaseEulerFoam.C -o /home/dm2/henry/OpenFOAM/OpenFOAM-dev/platforms/linux64ClangDPInt32Opt/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/reactingMultiphaseEulerFoam.o
-clang++ -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -Wno-c++11-extensions -O3  -DNoRepository -ftemplate-depth-100 -ImultiphaseSystem/lnInclude -I../phaseSystems/lnInclude -I../interfacialModels/lnInclude -I../interfacialCompositionModels/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/thermophysicalModels/basic/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/transportModels/compressible/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/TurbulenceModels/turbulenceModels/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/TurbulenceModels/compressible/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/TurbulenceModels/phaseCompressible/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/finiteVolume/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/fvOptions/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/meshTools/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/sampling/lnInclude -IlnInclude -I. -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/OpenFOAM/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/OSspecific/POSIX/lnInclude   -fPIC -Xlinker --add-needed /home/dm2/henry/OpenFOAM/OpenFOAM-dev/platforms/linux64ClangDPInt32Opt/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/reactingMultiphaseEulerFoam.o -L/home/dm2/henry/OpenFOAM/OpenFOAM-dev/platforms/linux64ClangDPInt32Opt/lib \
-    -lreactingPhaseSystem -lreactingMultiphaseSystem -lreactingEulerianInterfacialModels -lreactingEulerianInterfacialCompositionModels -lmultiphaseReactingTurbulenceModels -lfiniteVolume -lfvOptions -lmeshTools -lsampling -lOpenFOAM -ldl  \
-     -lm -o /home/dm2/henry/OpenFOAM/OpenFOAM-dev/platforms/linux64ClangDPInt32Opt/bin/reactingMultiphaseEulerFoam
-- 
GitLab


From 87b26d09cbb61d4f65509dcdd0bd8f5c7ee7a1d7 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Tue, 27 Oct 2015 16:27:04 +0000
Subject: [PATCH 023/141] reconstructPar: Corrected time directory for
 reconstructed sets Resolves bug-report
 http://www.openfoam.org/mantisbt/view.php?id=1880

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

diff --git a/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C b/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C
index db2df9eecc2..38a3c90f2fe 100644
--- a/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C
+++ b/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C
@@ -792,6 +792,7 @@ int main(int argc, char *argv[])
                             );
                         }
                         cellSet& cSet = cellSets[setI];
+                        cSet.instance() = runTime.timeName();
 
                         forAllConstIter(cellSet, procSet, iter)
                         {
@@ -818,6 +819,7 @@ int main(int argc, char *argv[])
                             );
                         }
                         faceSet& fSet = faceSets[setI];
+                        fSet.instance() = runTime.timeName();
 
                         forAllConstIter(faceSet, procSet, iter)
                         {
@@ -843,6 +845,7 @@ int main(int argc, char *argv[])
                             );
                         }
                         pointSet& pSet = pointSets[setI];
+                        pSet.instance() = runTime.timeName();
 
                         forAllConstIter(pointSet, propSet, iter)
                         {
-- 
GitLab


From d7dacc67d0ea6cc0a70c6a2b71ce907bf359d347 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Thu, 29 Oct 2015 10:54:47 +0000
Subject: [PATCH 024/141] =?UTF-8?q?PrimitivePatchCheck::checkTopology:=20C?=
 =?UTF-8?q?orrect=20non-manifold=20check=20logic=20Patch=20provided=20by?=
 =?UTF-8?q?=20Aron=20J=C3=B3hannesson=20Resolves=20bug-report=20http://www?=
 =?UTF-8?q?.openfoam.org/mantisbt/view.php=3Fid=3D1877?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../PrimitivePatch/PrimitivePatchCheck.C            | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

diff --git a/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchCheck.C b/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchCheck.C
index a454823a566..fcd980c7580 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchCheck.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchCheck.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -30,7 +30,6 @@ Description
 #include "Map.H"
 #include "ListOps.H"
 
-
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
 template
@@ -192,7 +191,7 @@ checkTopology
 
     const labelListList& edgeFcs = edgeFaces();
 
-    surfaceTopo surfaceType = MANIFOLD;
+    bool illegalTopo = false;
 
     forAll(edgeFcs, edgeI)
     {
@@ -200,7 +199,7 @@ checkTopology
 
         if (nNbrs < 1 || nNbrs > 2)
         {
-            surfaceType = ILLEGAL;
+            illegalTopo = true;
 
             if (report)
             {
@@ -217,10 +216,6 @@ checkTopology
                 setPtr->insert(meshPoints()[e.end()]);
             }
         }
-        else if (nNbrs == 1)
-        {
-            surfaceType = OPEN;
-        }
     }
 
     if (debug)
@@ -231,7 +226,7 @@ checkTopology
             << endl;
     }
 
-    return surfaceType == ILLEGAL;
+    return illegalTopo;
 }
 
 
-- 
GitLab


From c2d1b465b1ae7567d497490e02f7addd795223fe Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Thu, 29 Oct 2015 14:05:55 +0000
Subject: [PATCH 025/141] porousBafflePressureFvPatchField: Corrected docs
 Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1884

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

diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.H
index 496ba815483..ba58f78cad9 100644
--- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.H
+++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.H
@@ -43,8 +43,8 @@ Description
         p      | pressure [Pa]
         \rho   | density [kg/m3]
         \mu    | laminar viscosity [Pa s]
-        I      | inertial coefficient
         D      | Darcy coefficient
+        I      | inertial coefficient
         L      | porous media length in the flow direction
     \endvartable
 
@@ -58,7 +58,7 @@ Description
         rho          | density field name      | no          | rho
         D            | Darcy coefficient       | yes         |
         I            | inertial coefficient    | yes         |
-        L            | porous media length in the flow direction | yes |
+        length       | porous media length in the flow direction | yes |
     \endtable
 
     Example of the boundary condition specification:
@@ -70,7 +70,7 @@ Description
         jump            uniform 0;
         D               0.001;
         I               1000000;
-        L               0.1;
+        length          0.1;
         value           uniform 0;
     }
     \endverbatim
-- 
GitLab


From 450e4428c7fbda54d363bcb000ae92887380012d Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Thu, 29 Oct 2015 22:40:41 +0000
Subject: [PATCH 026/141] Make Doxygen documentation consistent with the rest
 of OpenFOAM

---
 src/OpenFOAM/containers/Lists/UList/UList.H | 90 +++++++++------------
 src/OpenFOAM/db/Time/timeSelector.H         |  2 +-
 src/OpenFOAM/db/error/StaticAssert.H        | 15 ++--
 src/OpenFOAM/db/error/error.H               | 77 +++++++++---------
 src/OpenFOAM/db/error/messageStream.H       | 73 ++++++-----------
 src/OpenFOAM/memory/Xfer/Xfer.H             | 68 +++++++---------
 6 files changed, 140 insertions(+), 185 deletions(-)

diff --git a/src/OpenFOAM/containers/Lists/UList/UList.H b/src/OpenFOAM/containers/Lists/UList/UList.H
index 0fe01c9015d..1bb858d7969 100644
--- a/src/OpenFOAM/containers/Lists/UList/UList.H
+++ b/src/OpenFOAM/containers/Lists/UList/UList.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -395,49 +395,40 @@ inline void reverse(UList<T>&);
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-/**
- * \def forAll(list, i)
- * Loop across all elements in \a list
- * \par Usage
- * \code
- * forAll(anyList, i)
- * {
- *      statements;
- * }
- * \endcode
- * \sa forAllReverse
-*/
-/**
- * \def forAllReverse(list, i)
- * Reverse loop across all elements in \a list
- * \par Usage
- * \code
- * forAllReverse(anyList, i)
- * {
- *      statements;
- * }
- * \endcode
- * \sa forAll
-*/
+//- Loop across all elements in \a list
+// \par Usage
+// \code
+// forAll(anyList, i)
+// {
+//      statements;
+// }
+// \endcode
+// \sa forAllReverse
 #define forAll(list, i) \
     for (Foam::label i=0; i<(list).size(); i++)
 
+//- Reverse loop across all elements in \a list
+//  \par Usage
+//  \code
+//  forAllReverse(anyList, i)
+//  {
+//       statements;
+//  }
+//  \endcode
+//  \sa forAll
 #define forAllReverse(list, i) \
     for (Foam::label i=(list).size()-1; i>=0; i--)
 
-/**
- * \def forAllIter(Container, container, iter)
- * Iterate across all elements in the \a container object of type
- * \a Container.
- * \par Usage
- * \code
- * forAll(ContainerType, container, iter)
- * {
- *     statements;
- * }
- * \endcode
- * \sa forAllConstIter
-*/
+//- Iterate across all elements in the \a container object of type
+//  \a Container.
+//  \par Usage
+//  \code
+//  forAll(ContainerType, container, iter)
+//  {
+//      statements;
+//  }
+//  \endcode
+//  \sa forAllConstIter
 #define forAllIter(Container,container,iter)                                   \
     for                                                                        \
     (                                                                          \
@@ -446,19 +437,16 @@ inline void reverse(UList<T>&);
         ++iter                                                                 \
     )
 
-/**
- * \def forAllConstIter(Container, container, iter)
- * Iterate across all elements in the \a container object of type
- * \a Container with const access.
- * \par Usage
- * \code
- * forAllConstIter(ContainerType, container, iter)
- * {
- *     statements;
- * }
- * \endcode
- * \sa forAllIter
-*/
+//- Iterate across all elements in the \a container object of type
+//  \a Container with const access.
+//  \par Usage
+//  \code
+//  forAllConstIter(ContainerType, container, iter)
+//  {
+//      statements;
+//  }
+//  \endcode
+//  \sa forAllIter
 #define forAllConstIter(Container,container,iter)                              \
     for                                                                        \
     (                                                                          \
diff --git a/src/OpenFOAM/db/Time/timeSelector.H b/src/OpenFOAM/db/Time/timeSelector.H
index 836264f1da7..7074e1267a5 100644
--- a/src/OpenFOAM/db/Time/timeSelector.H
+++ b/src/OpenFOAM/db/Time/timeSelector.H
@@ -162,7 +162,7 @@ public:
 
         //- Return the set of times selected based on the argList options
         //  including support for \b -newTimes in which times are selected
-        //  if the file <fName> does not exist in the time directory.
+        //  if the file 'fName' does not exist in the time directory.
         //  Also set the runTime to the first instance or the
         //  \c constant/ directory if no instances are specified or available
         static instantList select
diff --git a/src/OpenFOAM/db/error/StaticAssert.H b/src/OpenFOAM/db/error/StaticAssert.H
index a23aa940775..bfebf929e34 100644
--- a/src/OpenFOAM/db/error/StaticAssert.H
+++ b/src/OpenFOAM/db/error/StaticAssert.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -62,19 +62,18 @@ class StaticAssertionTest {};
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-// internal use:
+// Internal use:
 // ~~~~~~~~~~~~~
-// paste together strings, even if an argument is itself a macro
+
+// Paste together strings, even if an argument is itself a macro
 #define StaticAssertMacro(X,Y)  StaticAssertMacro1(X,Y)
 #define StaticAssertMacro1(X,Y) StaticAssertMacro2(X,Y)
 #define StaticAssertMacro2(X,Y) X##Y
 
-// external use:
+// External use:
 // ~~~~~~~~~~~~~
-/**
- * \def StaticAssert(Test)
- * Assert that some test is true at compile-time
-*/
+
+//- Assert that some test is true at compile-time
 #define StaticAssert(Test)                                                   \
     typedef ::Foam::StaticAssertionTest                                      \
     <                                                                        \
diff --git a/src/OpenFOAM/db/error/error.H b/src/OpenFOAM/db/error/error.H
index 97a08b175c6..53b8d321765 100644
--- a/src/OpenFOAM/db/error/error.H
+++ b/src/OpenFOAM/db/error/error.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -310,46 +310,41 @@ extern IOerror FatalIOError;
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 // Convenience macros to add the file name and line number to the function name
 
-/**
- * \def FatalErrorIn(functionName)
- * Report an error message using Foam::FatalError for functionName in
- * file __FILE__ at line __LINE__
-*/
-#define FatalErrorIn(fn) \
-    ::Foam::FatalError((fn), __FILE__, __LINE__)
-
-/**
- * \def FatalIOErrorIn(functionName, ios)
- * Report an error message using Foam::FatalIOError for functionName in
- * file __FILE__ at line __LINE__
- * for a particular IOstream
-*/
-#define FatalIOErrorIn(fn, ios) \
-    ::Foam::FatalIOError((fn), __FILE__, __LINE__, (ios))
-
-/**
- * \def SafeFatalIOErrorIn(functionName, ios, msg)
- * Report an error message using Foam::FatalIOError (or cerr if FatalIOError
- * not yet constructed) for functionName in
- * file __FILE__ at line __LINE__
- * for a particular IOstream
-*/
-#define SafeFatalIOErrorIn(fn, ios, msg) \
-    ::Foam::IOerror::SafeFatalIOError((fn), __FILE__, __LINE__, (ios), (msg))
-
-/**
- * \def notImplemented(functionName)
- * Issue a FatalErrorIn for the functionName.
- * This is used for functions that are not currently implemented.
- * The functionName is printed and then abort is called.
- *
- * \note
- * This macro can be particularly useful when methods must be defined to
- * complete the interface of a derived class even if they should never be
- * called for this derived class.
-*/
-#define notImplemented(fn) \
-    FatalErrorIn(fn) << "Not implemented" << ::Foam::abort(FatalError);
+//- Report an error message using Foam::FatalError
+//  for functionName in file __FILE__ at line __LINE__
+#define FatalErrorIn(functionName)                                             \
+    ::Foam::FatalError((functionName), __FILE__, __LINE__)
+
+//- Report an error message using Foam::FatalIOError
+//  for functionName in file __FILE__ at line __LINE__
+//  for a particular IOstream
+#define FatalIOErrorIn(functionName, ios)                                      \
+    ::Foam::FatalIOError((functionName), __FILE__, __LINE__, (ios))
+
+//- Report an error message using Foam::FatalIOError
+//  (or cerr if FatalIOError not yet constructed)
+//  for functionName in file __FILE__ at line __LINE__
+//  for a particular IOstream
+#define SafeFatalIOErrorIn(functionName, ios, msg)                             \
+    ::Foam::IOerror::SafeFatalIOError                                          \
+    ((functionName), __FILE__, __LINE__, (ios), (msg))
+
+//- Issue a FatalErrorIn for a function not currently implemented.
+//  The functionName is printed and then abort is called.
+//
+//  This macro can be particularly useful when methods must be defined to
+//  complete the interface of a derived class even if they should never be
+//  called for this derived class.
+#define notImplemented(functionName)                                           \
+    FatalErrorIn(functionName)                                                 \
+        << "Not implemented" << ::Foam::abort(FatalError);
+
+//- Issue a FatalErrorIn for a function not currently implemented.
+//  The compiler generated function name string is printed and then
+//  abort is called.
+#define NotImplemented                                                         \
+    notImplemented(__PRETTY_FUNCTION__)
+
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/src/OpenFOAM/db/error/messageStream.H b/src/OpenFOAM/db/error/messageStream.H
index f572e642655..3ccbb27dc14 100644
--- a/src/OpenFOAM/db/error/messageStream.H
+++ b/src/OpenFOAM/db/error/messageStream.H
@@ -218,65 +218,44 @@ extern messageStream Info;
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 // Convenience macros to add the file name and line number to the function name
 
-/**
- * \def SeriousErrorIn(functionName)
- * Report an error message using Foam::SeriousError for functionName in
- * file __FILE__ at line __LINE__
-*/
-#define SeriousErrorIn(fn)                                                    \
+//- Report an error message using Foam::SeriousError
+//  for functionName in file __FILE__ at line __LINE__
+#define SeriousErrorIn(fn)                                                     \
     ::Foam::SeriousError((fn), __FILE__, __LINE__)
 
-/**
- * \def SeriousIOErrorIn(functionName, ios)
- * Report an IO error message using Foam::SeriousError for functionName in
- * file __FILE__ at line __LINE__
- * for a particular IOstream
-*/
-#define SeriousIOErrorIn(fn, ios)                                             \
+//- Report an IO error message using Foam::SeriousError
+//  for functionName in file __FILE__ at line __LINE__
+//  for a particular IOstream
+#define SeriousIOErrorIn(fn, ios)                                              \
     ::Foam::SeriousError((fn), __FILE__, __LINE__, ios)
 
-/**
- * \def WarningIn(functionName)
- * Report a warning using Foam::Warning for functionName in
- * file __FILE__ at line __LINE__
-*/
-#define WarningIn(fn)                                                         \
+//- Report a warning using Foam::Warning
+//  for functionName in file __FILE__ at line __LINE__
+#define WarningIn(fn)                                                          \
     ::Foam::Warning((fn), __FILE__, __LINE__)
 
-/**
- * \def IOWarningIn(functionName, ios)
- * Report an IO warning using Foam::Warning for functionName in
- * file __FILE__ at line __LINE__
- * for a particular IOstream
-*/
-#define IOWarningIn(fn, ios)                                                  \
+//- Report an IO warning using Foam::Warning
+//  for functionName in file __FILE__ at line __LINE__
+//  for a particular IOstream
+#define IOWarningIn(fn, ios)                                                   \
     ::Foam::Warning((fn), __FILE__, __LINE__, (ios))
 
-/**
- * \def InfoIn(functionName)
- * Report a information message using Foam::Info for functionName in
- * file __FILE__ at line __LINE__
-*/
-#define InfoIn(fn)                                                            \
+//- Report a information message using Foam::Info
+//  for functionName in file __FILE__ at line __LINE__
+#define InfoIn(fn)                                                             \
     ::Foam::Info((fn), __FILE__, __LINE__)
 
-/**
- * \def IOInfoIn(functionName, ios)
- * Report an IO information message using Foam::Info for functionName in
- * file __FILE__ at line __LINE__
- * for a particular IOstream
-*/
-#define IOInfoIn(fn, ios)                                                     \
+//- Report an IO information message using Foam::Info
+//  for functionName in file __FILE__ at line __LINE__
+//  for a particular IOstream
+#define IOInfoIn(fn, ios)                                                      \
     ::Foam::Info((fn), __FILE__, __LINE__, (ios))
 
-/**
- * \def Debug(variable)
- * Report a variable name and value using Foam::Pout in
- * file __FILE__ at line __LINE__
-*/
-#define Debug(var)                                                            \
-    ::Foam::Pout<< "["<< __FILE__ << ":" << __LINE__ << "] "                  \
-        << #var " = " << var << ::Foam::endl
+//- Report a variable name and value
+//  using Foam::Pout in file __FILE__ at line __LINE__
+#define Debug(var)                                                             \
+    ::Foam::Pout<< "["<< __FILE__ << ":" << __LINE__ << "] "                   \
+    << #var " " << var << ::Foam::endl
 
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/OpenFOAM/memory/Xfer/Xfer.H b/src/OpenFOAM/memory/Xfer/Xfer.H
index f8118efd95a..ecbb8ed823f 100644
--- a/src/OpenFOAM/memory/Xfer/Xfer.H
+++ b/src/OpenFOAM/memory/Xfer/Xfer.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -90,6 +90,7 @@ class Xfer
         //- Pointer to underlying datatype
         mutable T* ptr_;
 
+
 public:
 
     // Constructors
@@ -107,14 +108,17 @@ public:
         //- Construct by transferring the contents
         inline Xfer(const Xfer<T>&);
 
+
     //- Destructor
     inline ~Xfer();
 
+
     // Member Functions
 
         //- Return a null object reference
         inline static const Xfer<T>& null();
 
+
     // Member Operators
 
         //- Transfer the contents into the object
@@ -128,67 +132,57 @@ public:
 
         //- Pointer to the underlying datatype
         inline T* operator->() const;
-
 };
 
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-/**
- * Construct by copying the contents of the \a arg
- *
- * \sa xferCopyTo, xferMove, xferMoveTo, xferTmp and Foam::Xfer
-*/
+//- Construct by copying the contents of the \a arg
+//
+//  \sa xferCopyTo, xferMove, xferMoveTo, xferTmp and Foam::Xfer
 template<class T>
 inline Xfer<T> xferCopy(const T&);
 
-/**
- * Construct by transferring the contents of the \a arg
- *
- * \sa xferCopy, xferCopyTo, xferMoveTo, xferTmp and Foam::Xfer
-*/
+//- Construct by transferring the contents of the \a arg
+//
+//  \sa xferCopy, xferCopyTo, xferMoveTo, xferTmp and Foam::Xfer
 template<class T>
 inline Xfer<T> xferMove(T&);
 
 
-/**
- * Construct by transferring the contents of the \a arg
- *
- * \sa xferCopy, xferCopyTo, xferMove, xferMoveTo and Foam::Xfer
-*/
+//- Construct by transferring the contents of the \a arg
+//
+//  \sa xferCopy, xferCopyTo, xferMove, xferMoveTo and Foam::Xfer
 template<class T>
 inline Xfer<T> xferTmp(Foam::tmp<T>&);
 
 
-/**
- * Construct by copying the contents of the \a arg
- * between dissimilar types
- *
- * \sa xferCopy, xferMove, xferMoveTo, xferTmp and Foam::Xfer
-*/
+//- Construct by copying the contents of the \a arg
+//  between dissimilar types
+//
+//  \sa xferCopy, xferMove, xferMoveTo, xferTmp and Foam::Xfer
 template<class To, class From>
 inline Xfer<To> xferCopyTo(const From&);
 
 
-/**
- * Construct by transferring the contents of the \a arg
- * between dissimilar types
- *
- * \par Example Use
- * \code
- *     DynamicList<label> dynLst;
- *     ...
- *     labelList plainLst( xferMoveTo<labelList>(dynLst) );
- * \endcode
- *
- * \sa xferCopy, xferCopyTo, xferMove, xferTmp and Foam::Xfer
-*/
+//- Construct by transferring the contents of the \a arg
+//  between dissimilar types
+//
+//  \par Example Use
+//  \code
+//      DynamicList<label> dynLst;
+//      ...
+//      labelList plainLst( xferMoveTo<labelList>(dynLst) );
+//  \endcode
+//
+//  \sa xferCopy, xferCopyTo, xferMove, xferTmp and Foam::Xfer
 template<class To, class From>
 inline Xfer<To> xferMoveTo(From&);
 
 
-} // End namespace Foam
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+} // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-- 
GitLab


From 8342cdc6eecfae1e58d6c55e49006b553a379995 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Thu, 29 Oct 2015 22:41:34 +0000
Subject: [PATCH 027/141] Documentation: Use '-' rather than '+' for lists for
 Doxygen

---
 .../backgroundMeshDecomposition.H                           | 6 +++---
 .../utilities/mesh/manipulation/refineMesh/refineMesh.C     | 6 +++---
 .../surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C | 4 ++--
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/backgroundMeshDecomposition/backgroundMeshDecomposition.H b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/backgroundMeshDecomposition/backgroundMeshDecomposition.H
index 90dde14aa4a..63bb4fba0e0 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/backgroundMeshDecomposition/backgroundMeshDecomposition.H
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/backgroundMeshDecomposition/backgroundMeshDecomposition.H
@@ -30,16 +30,16 @@ Description
 
     The requirements are:
 
-    + To have a decomposition of space which can quickly interrogate an
+    - To have a decomposition of space which can quickly interrogate an
       arbitrary location from any processor to reliably and unambiguously
       determine which processor owns the space that the point is in, i.e. as
       the vertices move, or need inserted as part of the surface conformation,
       send them to the correct proc.
 
-    + To be able to be dynamically built, refined and redistributed to other
+    - To be able to be dynamically built, refined and redistributed to other
       procs the partitioning as the meshing progresses to balance the load.
 
-    + To be able to query whether a sphere (the circumsphere of a Delaunay tet)
+    - To be able to query whether a sphere (the circumsphere of a Delaunay tet)
       overlaps any part of the space defined by the structure, and whether a
       ray (Voronoi edge) penetrates any part of the space defined by the
       structure, this is what determines if points get referred to a processor.
diff --git a/applications/utilities/mesh/manipulation/refineMesh/refineMesh.C b/applications/utilities/mesh/manipulation/refineMesh/refineMesh.C
index 3714b3a7125..02888c6d6bf 100644
--- a/applications/utilities/mesh/manipulation/refineMesh/refineMesh.C
+++ b/applications/utilities/mesh/manipulation/refineMesh/refineMesh.C
@@ -28,9 +28,9 @@ Description
     Utility to refine cells in multiple directions.
 
     Command-line option handling:
-    + If -all specified or no refineMeshDict exists or, refine all cells
-    + If -dict <file> specified refine according to <file>
-    + If refineMeshDict exists refine according to refineMeshDict
+    - If -all specified or no refineMeshDict exists or, refine all cells
+    - If -dict {file} specified refine according to {file}
+    - If refineMeshDict exists refine according to refineMeshDict
 
     When the refinement or all cells is selected apply 3D refinement for 3D
     cases and 2D refinement for 2D cases.
diff --git a/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C b/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C
index 6c4e67dd7d1..97a7fb4730e 100644
--- a/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C
+++ b/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C
@@ -30,7 +30,7 @@ Description
     operation on two surfaces.  Assumes that the orientation of the surfaces is
     correct:
 
-    + if the operation is union or intersection, that both surface's normals
+    - if the operation is union or intersection, that both surface's normals
       (n) have the same orientation with respect to a point, i.e. surfaces and b
       are orientated the same with respect to point x:
 
@@ -45,7 +45,7 @@ Description
 
     @endverbatim
 
-    + if the operation is a subtraction, the surfaces should be oppositely
+    - if the operation is a subtraction, the surfaces should be oppositely
     oriented with respect to a point, i.e. for (a - b), then b's orientation
     should be such that x is "inside", and a's orientation such that x is
     "outside"
-- 
GitLab


From f09df9f9e67664667d14df5f76bb16ea8ffa4630 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Thu, 29 Oct 2015 22:42:14 +0000
Subject: [PATCH 028/141] radiationCoupledBase: Correct docs

---
 .../radiationCoupledBase/radiationCoupledBase.H                 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/thermophysicalModels/radiation/derivedFvPatchFields/radiationCoupledBase/radiationCoupledBase.H b/src/thermophysicalModels/radiation/derivedFvPatchFields/radiationCoupledBase/radiationCoupledBase.H
index 54902fa2610..910371fb4ab 100644
--- a/src/thermophysicalModels/radiation/derivedFvPatchFields/radiationCoupledBase/radiationCoupledBase.H
+++ b/src/thermophysicalModels/radiation/derivedFvPatchFields/radiationCoupledBase/radiationCoupledBase.H
@@ -22,7 +22,7 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    radiationCoupledBase
+    Foam::radiationCoupledBase
 
 Description
     Common functions to emissivity. It gets supplied from lookup into a
-- 
GitLab


From 3d1f1267e53bbc9e05757fe1628ee804c1cf5233 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Thu, 29 Oct 2015 22:42:42 +0000
Subject: [PATCH 029/141] reactingEulerFoam: Add polynomial saturation model
 Provided by Juho Peltola

---
 .../interfacialCompositionModels/Make/files   |   1 +
 .../saturationModels/Antoine/Antoine.H        |   2 +-
 .../saturationModels/polynomial/polynomial.C  | 136 ++++++++++++++++++
 .../saturationModels/polynomial/polynomial.H  | 112 +++++++++++++++
 4 files changed, 250 insertions(+), 1 deletion(-)
 create mode 100644 applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/polynomial/polynomial.C
 create mode 100644 applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/polynomial/polynomial.H

diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/Make/files b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/Make/files
index 35878ec93a1..0642107d64f 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/Make/files
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/Make/files
@@ -16,6 +16,7 @@ saturationModels/saturationModel/newSaturationModel.C
 saturationModels/Antoine/Antoine.C
 saturationModels/AntoineExtended/AntoineExtended.C
 saturationModels/ArdenBuck/ArdenBuck.C
+saturationModels/polynomial/polynomial.C
 saturationModels/constantSaturationConditions/constantSaturationConditions.C
 
 LIB = $(FOAM_LIBBIN)/libreactingEulerianInterfacialCompositionModels
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/Antoine/Antoine.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/Antoine/Antoine.H
index ec9ba27b253..6252aaf8178 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/Antoine/Antoine.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/Antoine/Antoine.H
@@ -61,7 +61,7 @@ class Antoine
 {
 protected:
 
-    // Private data
+    // Protected data
 
         //- Constant A
         dimensionedScalar A_;
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/polynomial/polynomial.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/polynomial/polynomial.C
new file mode 100644
index 00000000000..886fefe8e89
--- /dev/null
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/polynomial/polynomial.C
@@ -0,0 +1,136 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "polynomial.H"
+#include "addToRunTimeSelectionTable.H"
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace saturationModels
+{
+    defineTypeNameAndDebug(polynomial, 0);
+    addToRunTimeSelectionTable(saturationModel, polynomial, dictionary);
+}
+}
+
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+Foam::saturationModels::polynomial::polynomial(const dictionary& dict)
+:
+    saturationModel(),
+    C_(dict.lookup("C<8>"))
+{}
+
+
+// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
+
+Foam::saturationModels::polynomial::~polynomial()
+{}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+Foam::tmp<Foam::volScalarField>
+Foam::saturationModels::polynomial::pSat
+(
+    const volScalarField& T
+) const
+{
+    NotImplemented;
+    return volScalarField::null();
+}
+
+
+Foam::tmp<Foam::volScalarField>
+Foam::saturationModels::polynomial::pSatPrime
+(
+    const volScalarField& T
+) const
+{
+    NotImplemented;
+    return volScalarField::null();
+}
+
+
+Foam::tmp<Foam::volScalarField>
+Foam::saturationModels::polynomial::lnPSat
+(
+    const volScalarField& T
+) const
+{
+    NotImplemented;
+    return volScalarField::null();
+}
+
+
+Foam::tmp<Foam::volScalarField>
+Foam::saturationModels::polynomial::Tsat
+(
+    const volScalarField& p
+) const
+{
+    tmp<volScalarField> tTsat
+    (
+        new volScalarField
+        (
+            IOobject
+            (
+                "Tsat",
+                p.mesh().time().timeName(),
+                p.mesh(),
+                IOobject::NO_READ,
+                IOobject::NO_WRITE
+            ),
+            p.mesh(),
+            dimensionedScalar("zero", dimTemperature, 0)
+        )
+    );
+
+    volScalarField& Tsat = tTsat();
+
+    forAll(Tsat,celli)
+    {
+        Tsat[celli] = C_.value(p[celli]);
+    }
+
+    forAll(Tsat.boundaryField(), patchi)
+    {
+        scalarField& Tsatp = Tsat.boundaryField()[patchi];
+        const scalarField& pp = p.boundaryField()[patchi];
+
+        forAll(Tsatp, facei)
+        {
+            Tsatp[facei] = C_.value(pp[facei]);
+        }
+    }
+
+    return tTsat;
+}
+
+
+// ************************************************************************* //
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/polynomial/polynomial.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/polynomial/polynomial.H
new file mode 100644
index 00000000000..c2715040e25
--- /dev/null
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/polynomial/polynomial.H
@@ -0,0 +1,112 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+Class
+    Foam::saturationModels::polynomial
+
+Description
+    Polynomial equation for the saturation vapour temperature in terms of
+    the vapour pressure (in Pa).
+
+    \f[
+        T_sat = \sum_i C_i p^i
+    \f]
+
+    where \f$p\f$ is the pressure in Pa and \f$C\f$ are the coefficients.
+
+    Currently this class only provides \f$T_sat\f$, the inverse function to
+    return the vapour pressure for a given temperature are not implemented.
+
+SourceFiles
+    polynomial.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef polynomial_H
+#define polynomial_H
+
+#include "saturationModel.H"
+#include "Polynomial.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace saturationModels
+{
+
+/*---------------------------------------------------------------------------*\
+                         Class polynomial Declaration
+\*---------------------------------------------------------------------------*/
+
+class polynomial
+:
+    public saturationModel
+{
+    // Private data
+
+        //- Polynomial coefficients
+        Polynomial<8> C_;
+
+
+public:
+
+    //- Runtime type information
+    TypeName("polynomial");
+
+    // Constructors
+
+        //- Construct from a dictionary
+        polynomial(const dictionary& dict);
+
+
+    //- Destructor
+    virtual ~polynomial();
+
+
+    // Member Functions
+
+        //- Saturation pressure
+        virtual tmp<volScalarField> pSat(const volScalarField& T) const;
+
+        //- Saturation pressure derivetive w.r.t. temperature
+        virtual tmp<volScalarField> pSatPrime(const volScalarField& T) const;
+
+        //- Natural log of the saturation pressure
+        virtual tmp<volScalarField> lnPSat(const volScalarField& T) const;
+
+        //- Saturation temperature
+        virtual tmp<volScalarField> Tsat(const volScalarField& p) const;
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace saturationModels
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
-- 
GitLab


From 7fdf0ff0951993e4877dfedbe95765cd0685426a Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 30 Oct 2015 13:28:28 +0000
Subject: [PATCH 030/141] TurbulenceModels: Corrected docs Reported in
 http://www.openfoam.org/mantisbt/view.php?id=1856

---
 .../SpecificCompressibleTurbulenceModel.H                       | 2 +-
 .../SpecificIncompressibleTurbulenceModel.H                     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/TurbulenceModels/compressible/SpecificCompressibleTurbulenceModel/SpecificCompressibleTurbulenceModel.H b/src/TurbulenceModels/compressible/SpecificCompressibleTurbulenceModel/SpecificCompressibleTurbulenceModel.H
index d8cacd876b3..c7d31b8cc2f 100644
--- a/src/TurbulenceModels/compressible/SpecificCompressibleTurbulenceModel/SpecificCompressibleTurbulenceModel.H
+++ b/src/TurbulenceModels/compressible/SpecificCompressibleTurbulenceModel/SpecificCompressibleTurbulenceModel.H
@@ -81,7 +81,7 @@ public:
 
     // Selectors
 
-        //- Return a reference to the selected RAS model
+        //- Return a reference to the selected turbulence model
         static autoPtr<SpecificCompressibleTurbulenceModel> New
         (
             const volScalarField& rho,
diff --git a/src/TurbulenceModels/incompressible/SpecificIncompressibleTurbulenceModel/SpecificIncompressibleTurbulenceModel.H b/src/TurbulenceModels/incompressible/SpecificIncompressibleTurbulenceModel/SpecificIncompressibleTurbulenceModel.H
index e7cc38118b5..eb65ea2820c 100644
--- a/src/TurbulenceModels/incompressible/SpecificIncompressibleTurbulenceModel/SpecificIncompressibleTurbulenceModel.H
+++ b/src/TurbulenceModels/incompressible/SpecificIncompressibleTurbulenceModel/SpecificIncompressibleTurbulenceModel.H
@@ -81,7 +81,7 @@ public:
 
     // Selectors
 
-        //- Return a reference to the selected RAS model
+        //- Return a reference to the selected turbulence model
         static autoPtr<SpecificIncompressibleTurbulenceModel> New
         (
             const volVectorField& U,
-- 
GitLab


From c6fe72c6ad55733a7ccf0063f62633786d64f088 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 30 Oct 2015 13:58:17 +0000
Subject: [PATCH 031/141] buoyantBoussinesqSimpleFoam: Add support for
 radiative heat-transfer consistent with buoyantBoussinesqPimpleFoam Patch
 provided by Daniel Jasinski:
 http://www.openfoam.org/mantisbt/view.php?id=1856

---
 .../heatTransfer/buoyantBoussinesqSimpleFoam/Make/options    | 2 ++
 .../solvers/heatTransfer/buoyantBoussinesqSimpleFoam/TEqn.H  | 5 ++++-
 .../buoyantBoussinesqSimpleFoam.C                            | 2 ++
 3 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/Make/options b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/Make/options
index 48d83838acd..5f9e3238723 100644
--- a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/Make/options
+++ b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/Make/options
@@ -3,6 +3,7 @@ EXE_INC = \
     -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
+    -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
@@ -12,6 +13,7 @@ EXE_LIBS = \
     -lturbulenceModels \
     -lincompressibleTurbulenceModels \
     -lincompressibleTransportModels \
+    -lradiationModels \
     -lfiniteVolume \
     -lsampling \
     -lmeshTools \
diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/TEqn.H b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/TEqn.H
index c495e58285a..fec770c974c 100644
--- a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/TEqn.H
+++ b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/TEqn.H
@@ -9,7 +9,8 @@
         fvm::div(phi, T)
       - fvm::laplacian(alphaEff, T)
      ==
-        fvOptions(T)
+        radiation->ST(rhoCpRef, T)
+      + fvOptions(T)
     );
 
     TEqn.relax();
@@ -18,6 +19,8 @@
 
     TEqn.solve();
 
+    radiation->correct();
+
     fvOptions.correct(T);
 
     rhok = 1.0 - beta*(T - TRef);
diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C
index 6dff329d1fe..75f0c23abc7 100644
--- a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C
+++ b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C
@@ -48,6 +48,7 @@ Description
 #include "fvCFD.H"
 #include "singlePhaseTransportModel.H"
 #include "turbulentTransportModel.H"
+#include "radiationModel.H"
 #include "fvIOoptionList.H"
 #include "simpleControl.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
@@ -63,6 +64,7 @@ int main(int argc, char *argv[])
     simpleControl simple(mesh);
 
     #include "createFields.H"
+    #include "createIncompressibleRadiationModel.H"
     #include "createMRF.H"
     #include "createFvOptions.H"
     #include "initContinuityErrs.H"
-- 
GitLab


From 469a8d85ca543b987e688e087decd29bb8bbf3e8 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 30 Oct 2015 14:01:20 +0000
Subject: [PATCH 032/141] createIncompressibleRadiationModel: Allow
 specification of value only for rhoRef and CpRef Patch provided by Daniel
 Jasinski: http://www.openfoam.org/mantisbt/view.php?id=1856

---
 .../createIncompressibleRadiationModel.H        | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/src/thermophysicalModels/radiation/include/createIncompressibleRadiationModel.H b/src/thermophysicalModels/radiation/include/createIncompressibleRadiationModel.H
index ab7466d0a79..8179b675534 100644
--- a/src/thermophysicalModels/radiation/include/createIncompressibleRadiationModel.H
+++ b/src/thermophysicalModels/radiation/include/createIncompressibleRadiationModel.H
@@ -21,12 +21,23 @@
                 runTime,
                 IOobject::MUST_READ,
                 IOobject::NO_WRITE,
-                false  // do not register!
+                false // Do not register
             )
         );
 
-        dimensionedScalar rhoRef(transportProperties.lookup("rhoRef"));
-        dimensionedScalar CpRef(transportProperties.lookup("CpRef"));
+        dimensionedScalar rhoRef
+        (
+            "rhoRef",
+            dimDensity,
+            transportProperties
+        );
+
+        dimensionedScalar CpRef
+        (
+            "CpRef",
+            dimSpecificHeatCapacity,
+            transportProperties
+        );
 
         rhoCpRef = rhoRef*CpRef;
     }
-- 
GitLab


From 42b3f1c9dc79270362639efac9eb7f09f3dc38d7 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 30 Oct 2015 14:32:26 +0000
Subject: [PATCH 033/141] wallHeatFlux: Add support for radiative and total
 heat-fluxes Patch provided by Daniel Jasinski Resolves feature request
 http://www.openfoam.org/mantisbt/view.php?id=1856

---
 .../wall/wallHeatFlux/createFields.H          | 16 ++++++
 .../wall/wallHeatFlux/wallHeatFlux.C          | 52 ++++++++++++++++---
 2 files changed, 60 insertions(+), 8 deletions(-)

diff --git a/applications/utilities/postProcessing/wall/wallHeatFlux/createFields.H b/applications/utilities/postProcessing/wall/wallHeatFlux/createFields.H
index da7585b8317..e88cc7b37f8 100644
--- a/applications/utilities/postProcessing/wall/wallHeatFlux/createFields.H
+++ b/applications/utilities/postProcessing/wall/wallHeatFlux/createFields.H
@@ -42,6 +42,7 @@ if (isA<fluidThermo>(thermo()))
     const volVectorField& U = UPtr();
 
     #include "compressibleCreatePhi.H"
+
     // Copy phi to autoPtr. Rename to make sure copy is now registered as 'phi'.
     phi.rename("phiFluid");
     phiPtr.reset(new surfaceScalarField("phi", phi));
@@ -54,3 +55,18 @@ if (isA<fluidThermo>(thermo()))
         refCast<const fluidThermo>(thermo())
     );
 }
+
+// Read radiative heat-flux if available
+volScalarField Qr
+(
+    IOobject
+    (
+        "Qr",
+        runTime.timeName(),
+        mesh,
+        IOobject::READ_IF_PRESENT,
+        IOobject::NO_WRITE
+    ),
+    mesh,
+    dimensionedScalar("Qr", dimMass/pow3(dimTime), 0.0)
+);
diff --git a/applications/utilities/postProcessing/wall/wallHeatFlux/wallHeatFlux.C b/applications/utilities/postProcessing/wall/wallHeatFlux/wallHeatFlux.C
index 8c80f0cf217..76550b96993 100644
--- a/applications/utilities/postProcessing/wall/wallHeatFlux/wallHeatFlux.C
+++ b/applications/utilities/postProcessing/wall/wallHeatFlux/wallHeatFlux.C
@@ -70,19 +70,24 @@ int main(int argc, char *argv[])
         const surfaceScalarField::GeometricBoundaryField& patchHeatFlux =
             heatFlux.boundaryField();
 
+        const volScalarField::GeometricBoundaryField& patchRadHeatFlux =
+            Qr.boundaryField();
+
+        const surfaceScalarField::GeometricBoundaryField& magSf =
+            mesh.magSf().boundaryField();
+
         Info<< "\nWall heat fluxes [W]" << endl;
         forAll(patchHeatFlux, patchi)
         {
             if (isA<wallFvPatch>(mesh.boundary()[patchi]))
             {
-                Info<< mesh.boundary()[patchi].name()
-                    << " "
-                    << gSum
-                       (
-                           mesh.magSf().boundaryField()[patchi]
-                          *patchHeatFlux[patchi]
-                       )
-                    << endl;
+                scalar convFlux = gSum(magSf[patchi]*patchHeatFlux[patchi]);
+                scalar radFlux = gSum(magSf[patchi]*patchRadHeatFlux[patchi]);
+
+                Info<< mesh.boundary()[patchi].name() << endl
+                    << "    convective: " << convFlux << endl
+                    << "    radiative:  " << radFlux << endl
+                    << "    total:      " << convFlux + radFlux << endl;
             }
         }
         Info<< endl;
@@ -105,6 +110,36 @@ int main(int argc, char *argv[])
         }
 
         wallHeatFlux.write();
+
+        // Write the total heat-flux including the radiative contribution
+        // if available
+        if (Qr.headerOk())
+        {
+            volScalarField totalWallHeatFlux
+            (
+                IOobject
+                (
+                    "totalWallHeatFlux",
+                    runTime.timeName(),
+                    mesh
+                ),
+                mesh,
+                dimensionedScalar
+                (
+                    "totalWallHeatFlux",
+                    heatFlux.dimensions(),
+                    0.0
+                )
+            );
+
+            forAll(totalWallHeatFlux.boundaryField(), patchi)
+            {
+                totalWallHeatFlux.boundaryField()[patchi] =
+                    patchHeatFlux[patchi] + patchRadHeatFlux[patchi];
+            }
+
+            totalWallHeatFlux.write();
+        }
     }
 
     Info<< "End" << endl;
@@ -112,4 +147,5 @@ int main(int argc, char *argv[])
     return 0;
 }
 
+
 // ************************************************************************* //
-- 
GitLab


From 90fef11e304d95fd2cb007dd512964707afd11ff Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 30 Oct 2015 17:30:26 +0000
Subject: [PATCH 034/141] messageStream, error: Add new versions of message and
 error macros which use the __PRETTY_FUNCTION__ constant string to provide the
 function name

---
 src/OpenFOAM/db/error/error.H         | 29 +++++++++++++++---
 src/OpenFOAM/db/error/messageStream.H | 43 +++++++++++++++++++++++++++
 2 files changed, 68 insertions(+), 4 deletions(-)

diff --git a/src/OpenFOAM/db/error/error.H b/src/OpenFOAM/db/error/error.H
index 53b8d321765..5abd995af64 100644
--- a/src/OpenFOAM/db/error/error.H
+++ b/src/OpenFOAM/db/error/error.H
@@ -315,12 +315,23 @@ extern IOerror FatalIOError;
 #define FatalErrorIn(functionName)                                             \
     ::Foam::FatalError((functionName), __FILE__, __LINE__)
 
+//- Report an error message using Foam::FatalError
+//  for FUNCTION_NAME in file __FILE__ at line __LINE__
+#define FatalErrorInFunction FatalErrorIn(FUNCTION_NAME)
+
+
 //- Report an error message using Foam::FatalIOError
 //  for functionName in file __FILE__ at line __LINE__
 //  for a particular IOstream
 #define FatalIOErrorIn(functionName, ios)                                      \
     ::Foam::FatalIOError((functionName), __FILE__, __LINE__, (ios))
 
+//- Report an error message using Foam::FatalIOError
+//  for FUNCTION_NAME in file __FILE__ at line __LINE__
+//  for a particular IOstream
+#define FatalIOErrorInFunction(ios) FatalIOErrorIn(FUNCTION_NAME, ios)
+
+
 //- Report an error message using Foam::FatalIOError
 //  (or cerr if FatalIOError not yet constructed)
 //  for functionName in file __FILE__ at line __LINE__
@@ -329,6 +340,14 @@ extern IOerror FatalIOError;
     ::Foam::IOerror::SafeFatalIOError                                          \
     ((functionName), __FILE__, __LINE__, (ios), (msg))
 
+//- Report an error message using Foam::FatalIOError
+//  (or cerr if FatalIOError not yet constructed)
+//  for functionName in file __FILE__ at line __LINE__
+//  for a particular IOstream
+#define SafeFatalIOErrorInFunction(ios, msg)                                   \
+    SafeFatalIOErrorIn(FUNCTION_NAME, ios, msg)
+
+
 //- Issue a FatalErrorIn for a function not currently implemented.
 //  The functionName is printed and then abort is called.
 //
@@ -340,10 +359,12 @@ extern IOerror FatalIOError;
         << "Not implemented" << ::Foam::abort(FatalError);
 
 //- Issue a FatalErrorIn for a function not currently implemented.
-//  The compiler generated function name string is printed and then
-//  abort is called.
-#define NotImplemented                                                         \
-    notImplemented(__PRETTY_FUNCTION__)
+//  The FUNCTION_NAME is printed and then abort is called.
+//
+//  This macro can be particularly useful when methods must be defined to
+//  complete the interface of a derived class even if they should never be
+//  called for this derived class.
+#define NotImplemented notImplemented(FUNCTION_NAME)
 
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/OpenFOAM/db/error/messageStream.H b/src/OpenFOAM/db/error/messageStream.H
index 3ccbb27dc14..b3e42f1ca85 100644
--- a/src/OpenFOAM/db/error/messageStream.H
+++ b/src/OpenFOAM/db/error/messageStream.H
@@ -218,39 +218,82 @@ extern messageStream Info;
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 // Convenience macros to add the file name and line number to the function name
 
+// Compiler provided function name string:
+//     for gcc-compatible compilers use __PRETTY_FUNCTION__
+//     otherwise use the standard __func__
+#ifdef __GNUC__
+    #define FUNCTION_NAME __PRETTY_FUNCTION__
+#else
+    #define FUNCTION_NAME __func__
+#endif
+
+
 //- Report an error message using Foam::SeriousError
 //  for functionName in file __FILE__ at line __LINE__
 #define SeriousErrorIn(fn)                                                     \
     ::Foam::SeriousError((fn), __FILE__, __LINE__)
 
+//- Report an error message using Foam::SeriousError
+//  for FUNCTION_NAME in file __FILE__ at line __LINE__
+#define SeriousErrorInFunction(fn) SeriousErrorIn(FUNCTION_NAME)
+
+
 //- Report an IO error message using Foam::SeriousError
 //  for functionName in file __FILE__ at line __LINE__
 //  for a particular IOstream
 #define SeriousIOErrorIn(fn, ios)                                              \
     ::Foam::SeriousError((fn), __FILE__, __LINE__, ios)
 
+//- Report an IO error message using Foam::SeriousError
+//  for FUNCTION_NAME in file __FILE__ at line __LINE__
+//  for a particular IOstream
+#define SeriousIOErrorInFunction(ios) SeriousIOErrorIn(FUNCTION_NAME, ios)
+
+
 //- Report a warning using Foam::Warning
 //  for functionName in file __FILE__ at line __LINE__
 #define WarningIn(fn)                                                          \
     ::Foam::Warning((fn), __FILE__, __LINE__)
 
+//- Report a warning using Foam::Warning
+//  for FUNCTION_NAME in file __FILE__ at line __LINE__
+#define WarningInFunction WarningIn(FUNCTION_NAME)
+
+
 //- Report an IO warning using Foam::Warning
 //  for functionName in file __FILE__ at line __LINE__
 //  for a particular IOstream
 #define IOWarningIn(fn, ios)                                                   \
     ::Foam::Warning((fn), __FILE__, __LINE__, (ios))
 
+//- Report an IO warning using Foam::Warning
+//  for FUNCTION_NAME in file __FILE__ at line __LINE__
+//  for a particular IOstream
+#define IOWarningInFunction(ios) IOWarningIn(FUNCTION_NAME, ios)
+
+
 //- Report a information message using Foam::Info
 //  for functionName in file __FILE__ at line __LINE__
 #define InfoIn(fn)                                                             \
     ::Foam::Info((fn), __FILE__, __LINE__)
 
+//- Report a information message using Foam::Info
+//  for FUNCTION_NAME in file __FILE__ at line __LINE__
+#define InfoInFunction InfoIn(FUNCTION_NAME)
+
+
 //- Report an IO information message using Foam::Info
 //  for functionName in file __FILE__ at line __LINE__
 //  for a particular IOstream
 #define IOInfoIn(fn, ios)                                                      \
     ::Foam::Info((fn), __FILE__, __LINE__, (ios))
 
+//- Report an IO information message using Foam::Info
+//  for FUNCTION_NAME in file __FILE__ at line __LINE__
+//  for a particular IOstream
+#define IOInfoInFunction(ios) IOInfoIn(FUNCTION_NAME, ios)
+
+
 //- Report a variable name and value
 //  using Foam::Pout in file __FILE__ at line __LINE__
 #define Debug(var)                                                             \
-- 
GitLab


From 4e483cc98e7bc395e7d2d84681159ddc11cc0536 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 30 Oct 2015 21:37:03 +0000
Subject: [PATCH 035/141] Updated docs for Doxygen: '<' -> '\<' and '>' -> '\>'

---
 .../mesh/manipulation/refineMesh/refineMesh.C |  2 +-
 ...oupledTemperatureMixedFvPatchScalarField.H | 26 +++++++++----------
 .../externalCoupledMixedFvPatchField.H        | 26 +++++++++----------
 .../limitedSnGrad/limitedSnGrad.H             |  4 +--
 .../ConeNozzleInjection/ConeNozzleInjection.H |  2 +-
 .../decompose/scotchDecomp/scotchDecomp.C     |  4 +--
 6 files changed, 32 insertions(+), 32 deletions(-)

diff --git a/applications/utilities/mesh/manipulation/refineMesh/refineMesh.C b/applications/utilities/mesh/manipulation/refineMesh/refineMesh.C
index 02888c6d6bf..2e32767822e 100644
--- a/applications/utilities/mesh/manipulation/refineMesh/refineMesh.C
+++ b/applications/utilities/mesh/manipulation/refineMesh/refineMesh.C
@@ -29,7 +29,7 @@ Description
 
     Command-line option handling:
     - If -all specified or no refineMeshDict exists or, refine all cells
-    - If -dict {file} specified refine according to {file}
+    - If -dict \<file\> specified refine according to \<file\>
     - If refineMeshDict exists refine according to refineMeshDict
 
     When the refinement or all cells is selected apply 3D refinement for 3D
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.H
index 47fb9153185..763f285560f 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.H
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.H
@@ -32,25 +32,25 @@ Description
     application.  Values are transferred as plain text files, where OpenFOAM
     data is written as:
 
-        # Patch: <patch name>
-        <magSf1> <value1> <qDot1> <htc1>
-        <magSf2> <value2> <qDot2> <htc2>
-        <magSf3> <value3> <qDot3> <htc2>
+        # Patch: \<patch name\>
+        \<magSf1\> \<value1\> \<qDot1\> \<htc1\>
+        \<magSf2\> \<value2\> \<qDot2\> \<htc2\>
+        \<magSf3\> \<value3\> \<qDot3\> \<htc2\>
         ...
-        <magSfN> <valueN> <qDotN> <htcN>
+        \<magSfN\> \<valueN\> \<qDotN\> \<htcN\>
 
     and received as the constituent pieces of the `mixed' condition, i.e.
 
-        # Patch: <patch name>
-        <value1> <gradient1> <valueFracion1>
-        <value2> <gradient2> <valueFracion2>
-        <value3> <gradient3> <valueFracion3>
+        # Patch: \<patch name\>
+        \<value1\> \<gradient1\> \<valueFracion1\>
+        \<value2\> \<gradient2\> \<valueFracion2\>
+        \<value3\> \<gradient3\> \<valueFracion3\>
         ...
-        <valueN> <gradientN> <valueFracionN>
+        \<valueN\> \<gradientN\> \<valueFracionN\>
 
     Data is sent/received as a single file for all patches from the directory
 
-        $FOAM_CASE/<commsDir>
+        $FOAM_CASE/\<commsDir\>
 
     At start-up, the boundary creates a lock file, i.e..
 
@@ -59,13 +59,13 @@ Description
     ... to signal the external source to wait.  During the boundary condition
     update, boundary values are written to file, e.g.
 
-        <fileName>.out
+        \<fileName\>.out
 
     The lock file is then removed, instructing the external source to take
     control of the program execution.  When ready, the external program
     should create the return values, e.g. to file
 
-        <fileName>.in
+        \<fileName\>.in
 
     ... and then re-instate the lock file.  The boundary condition will then
     read the return values, and pass program execution back to OpenFOAM.
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.H
index 322ba3810b7..65a5d6d2562 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.H
+++ b/src/finiteVolume/fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.H
@@ -32,25 +32,25 @@ Description
     Values are transferred as plain text files, where OpenFOAM data is written
     as:
 
-        # Patch: <patch name>
-        <magSf1> <value1> <surfaceNormalGradient1>
-        <magSf2> <value2> <surfaceNormalGradient2>
-        <magSf3> <value3> <surfaceNormalGradient3>
+        # Patch: \<patch name\>
+        \<magSf1\> \<value1\> \<surfaceNormalGradient1\>
+        \<magSf2\> \<value2\> \<surfaceNormalGradient2\>
+        \<magSf3\> \<value3\> \<surfaceNormalGradient3\>
         ...
-        <magSfN> <valueN> <surfaceNormalGradientN>
+        \<magSfN\> \<valueN\> \<surfaceNormalGradientN\>
 
     and received as the constituent pieces of the `mixed' condition, i.e.
 
-        # Patch: <patch name>
-        <value1> <gradient1> <valueFracion1>
-        <value2> <gradient2> <valueFracion2>
-        <value3> <gradient3> <valueFracion3>
+        # Patch: \<patch name\>
+        \<value1\> \<gradient1\> \<valueFracion1\>
+        \<value2\> \<gradient2\> \<valueFracion2\>
+        \<value3\> \<gradient3\> \<valueFracion3\>
         ...
-        <valueN> <gradientN> <valueFracionN>
+        \<valueN\> \<gradientN\> \<valueFracionN\>
 
     Data is sent/received as a single file for all patches from the directory
 
-        $FOAM_CASE/<commsDir>
+        $FOAM_CASE/\<commsDir\>
 
     At start-up, the boundary creates a lock file, i.e..
 
@@ -59,13 +59,13 @@ Description
     ... to signal the external source to wait.  During the boundary condition
     update, boundary values are written to file, e.g.
 
-        <fileName>.out
+        \<fileName\>.out
 
     The lock file is then removed, instructing the external source to take
     control of the program execution.  When ready, the external program
     should create the return values, e.g. to file
 
-        <fileName>.in
+        \<fileName\>.in
 
     ... and then re-instate the lock file.  The boundary condition will then
     read the return values, and pass program execution back to OpenFOAM.
diff --git a/src/finiteVolume/finiteVolume/snGradSchemes/limitedSnGrad/limitedSnGrad.H b/src/finiteVolume/finiteVolume/snGradSchemes/limitedSnGrad/limitedSnGrad.H
index 5d1ffd2b940..ddb0c3e07c9 100644
--- a/src/finiteVolume/finiteVolume/snGradSchemes/limitedSnGrad/limitedSnGrad.H
+++ b/src/finiteVolume/finiteVolume/snGradSchemes/limitedSnGrad/limitedSnGrad.H
@@ -34,11 +34,11 @@ Description
     non-orthogonal contribution does not exceed the orthogonal part.
 
     Format:
-        limited <corrected scheme> <coefficient>;
+        limited \<corrected scheme\> \<coefficient\>;
 
         or
 
-        limited <coefficient>;  // Backward compatibility
+        limited \<coefficient\>;  // Backward compatibility
 
 SourceFiles
     limitedSnGrad.C
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeNozzleInjection/ConeNozzleInjection.H b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeNozzleInjection/ConeNozzleInjection.H
index bd67443ce15..1d32db5f728 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeNozzleInjection/ConeNozzleInjection.H
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeNozzleInjection/ConeNozzleInjection.H
@@ -39,7 +39,7 @@ Description
     - Parcel velocity is calculated as:
 
         - Constant velocity
-            U = <specified by user>
+            U = \<specified by user\>
         - Pressure driven velocity
             U = sqrt(2*(Pinj - Pamb)/rho)
         - Flow rate and discharge
diff --git a/src/parallel/decompose/scotchDecomp/scotchDecomp.C b/src/parallel/decompose/scotchDecomp/scotchDecomp.C
index 464d12b28fa..f22a2ed0e01 100644
--- a/src/parallel/decompose/scotchDecomp/scotchDecomp.C
+++ b/src/parallel/decompose/scotchDecomp/scotchDecomp.C
@@ -114,8 +114,8 @@ License
     }
 
 
-    Note: instead of gmap run gpart <nProcs> -vs <grfFile>
-    where <grfFile> can be obtained by running with 'writeGraph=true'
+    Note: instead of gmap run gpart \<nProcs\> -vs \<grfFile\>
+    where \<grfFile\> can be obtained by running with 'writeGraph=true'
 
 \*---------------------------------------------------------------------------*/
 
-- 
GitLab


From b12240235c4c08b6454f78e22f631f0ed7c77c5f Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 30 Oct 2015 21:37:59 +0000
Subject: [PATCH 036/141] Updated headers

---
 .../externalCoupledMixed/externalCoupledMixedFvPatchField.H     | 2 +-
 .../finiteVolume/snGradSchemes/limitedSnGrad/limitedSnGrad.H    | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/finiteVolume/fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.H
index 65a5d6d2562..5c041cb1037 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.H
+++ b/src/finiteVolume/fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/finiteVolume/finiteVolume/snGradSchemes/limitedSnGrad/limitedSnGrad.H b/src/finiteVolume/finiteVolume/snGradSchemes/limitedSnGrad/limitedSnGrad.H
index ddb0c3e07c9..c62ca9135df 100644
--- a/src/finiteVolume/finiteVolume/snGradSchemes/limitedSnGrad/limitedSnGrad.H
+++ b/src/finiteVolume/finiteVolume/snGradSchemes/limitedSnGrad/limitedSnGrad.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
-- 
GitLab


From a5be20fd37888ae12ebd683ca3329c373a24bebb Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 30 Oct 2015 21:38:06 +0000
Subject: [PATCH 037/141] Doxyfile: Upgraded for Doxygen-1.8.10

---
 doc/Doxygen/Doxyfile | 2470 ++++++++++++++++++++++++++----------------
 1 file changed, 1514 insertions(+), 956 deletions(-)

diff --git a/doc/Doxygen/Doxyfile b/doc/Doxygen/Doxyfile
index eafbe480f04..ddbe275ff93 100644
--- a/doc/Doxygen/Doxyfile
+++ b/doc/Doxygen/Doxyfile
@@ -1,110 +1,129 @@
-# Doxyfile 1.6.3-1.8.1
+# Doxyfile 1.8.10
 
 # This file describes the settings to be used by the documentation system
 # doxygen (www.doxygen.org) for a project.
 #
-# All text after a hash (#) is considered a comment and will be ignored.
+# All text after a double hash (##) is considered a comment and is placed in
+# front of the TAG it is preceding.
+#
+# All text after a single hash (#) is considered a comment and will be ignored.
 # The format is:
-#       TAG = value [value, ...]
-# For lists items can also be appended using:
-#       TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ").
+# TAG = value [value, ...]
+# For lists, items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (\" \").
 
 #---------------------------------------------------------------------------
 # Project related configuration options
 #---------------------------------------------------------------------------
 
 # This tag specifies the encoding used for all characters in the config file
-# that follow. The default is UTF-8 which is also the encoding used for all
-# text before the first occurrence of this tag. Doxygen uses libiconv (or the
-# iconv built into libc) for the transcoding. See
-# http://www.gnu.org/software/libiconv for the list of possible encodings.
+# that follow. The default is UTF-8 which is also the encoding used for all text
+# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv
+# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv
+# for the list of possible encodings.
+# The default value is: UTF-8.
 
 DOXYFILE_ENCODING      = UTF-8
 
-# The PROJECT_NAME tag is a single word (or sequence of words) that should
-# identify the project. Note that if you do not use Doxywizard you need
-# to put quotes around the project name if it contains spaces.
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
+# double-quotes, unless you are using Doxywizard) that should identify the
+# project for which the documentation is generated. This name is used in the
+# title of most generated pages and in a few other places.
+# The default value is: My Project.
 
 PROJECT_NAME           = OpenFOAM-$(WM_PROJECT_VERSION)
 
-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-# This could be handy for archiving the generated documentation or
-# if some version control system is used.
+# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
+# could be handy for archiving the generated documentation or if some version
+# control system is used.
 
 PROJECT_NUMBER         =
 
 # Using the PROJECT_BRIEF tag one can provide an optional one line description
-# for a project that appears at the top of each page and should give viewer
-# a quick idea about the purpose of the project. Keep the description short.
+# for a project that appears at the top of each page and should give viewer a
+# quick idea about the purpose of the project. Keep the description short.
 
 PROJECT_BRIEF          =
 
-# With the PROJECT_LOGO tag one can specify an logo or icon that is
-# included in the documentation. The maximum height of the logo should not
-# exceed 55 pixels and the maximum width should not exceed 200 pixels.
-# Doxygen will copy the logo to the output directory.
+# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
+# in the documentation. The maximum height of the logo should not exceed 55
+# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
+# the logo to the output directory.
 
 PROJECT_LOGO           =
 
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-# base path where the generated documentation will be put.
-# If a relative path is entered, it will be relative to the location
-# where doxygen was started. If left blank the current directory will be used.
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
+# into which the generated documentation will be written. If a relative path is
+# entered, it will be relative to the location where doxygen was started. If
+# left blank the current directory will be used.
 
 OUTPUT_DIRECTORY       =
 
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
-# 4096 sub-directories (in 2 levels) under the output directory of each output
-# format and will distribute the generated files over these directories.
-# Enabling this option can be useful when feeding doxygen a huge amount of
-# source files, where putting all generated files in the same directory would
-# otherwise cause performance problems for the file system.
+# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
+# directories (in 2 levels) under the output directory of each output format and
+# will distribute the generated files over these directories. Enabling this
+# option can be useful when feeding doxygen a huge amount of source files, where
+# putting all generated files in the same directory would otherwise causes
+# performance problems for the file system.
+# The default value is: NO.
 
 CREATE_SUBDIRS         = NO
 
+# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
+# characters to appear in the names of generated files. If set to NO, non-ASCII
+# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode
+# U+3044.
+# The default value is: NO.
+
+ALLOW_UNICODE_NAMES    = NO
+
 # The OUTPUT_LANGUAGE tag is used to specify the language in which all
 # documentation generated by doxygen is written. Doxygen will use this
 # information to generate all constant output in the proper language.
-# The default language is English, other supported languages are:
-# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
-# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
-# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
-# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
-# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak,
-# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
+# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,
+# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
+# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,
+# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),
+# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,
+# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,
+# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,
+# Ukrainian and Vietnamese.
+# The default value is: English.
 
 OUTPUT_LANGUAGE        = English
 
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-# include brief member descriptions after the members that are listed in
-# the file and class documentation (similar to JavaDoc).
-# Set to NO to disable this.
+# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member
+# descriptions after the members that are listed in the file and class
+# documentation (similar to Javadoc). Set to NO to disable this.
+# The default value is: YES.
 
 BRIEF_MEMBER_DESC      = YES
 
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief
+# description of a member or function before the detailed description
+#
+# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
 # brief descriptions will be completely suppressed.
+# The default value is: YES.
 
 REPEAT_BRIEF           = YES
 
-# This tag implements a quasi-intelligent brief description abbreviator
-# that is used to form the text in various listings. Each string
-# in this list, if found as the leading text of the brief description, will be
-# stripped from the text and the result after processing the whole list, is
-# used as the annotated text. Otherwise, the brief description is used as-is.
-# If left blank, the following values are used ("$name" is automatically
-# replaced with the name of the entity): "The $name class" "The $name widget"
-# "The $name file" "is" "provides" "specifies" "contains"
-# "represents" "a" "an" "the"
+# This tag implements a quasi-intelligent brief description abbreviator that is
+# used to form the text in various listings. Each string in this list, if found
+# as the leading text of the brief description, will be stripped from the text
+# and the result, after processing the whole list, is used as the annotated
+# text. Otherwise, the brief description is used as-is. If left blank, the
+# following values are used ($name is automatically replaced with the name of
+# the entity):The $name class, The $name widget, The $name file, is, provides,
+# specifies, contains, represents, a, an and the.
 
 ABBREVIATE_BRIEF       =
 
 # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# Doxygen will generate a detailed section even if there is only a brief
+# doxygen will generate a detailed section even if there is only a brief
 # description.
+# The default value is: NO.
 
 ALWAYS_DETAILED_SEC    = NO
 
@@ -112,237 +131,276 @@ ALWAYS_DETAILED_SEC    = NO
 # inherited members of a class in the documentation of that class as if those
 # members were ordinary class members. Constructors, destructors and assignment
 # operators of the base classes will not be shown.
+# The default value is: NO.
 
 INLINE_INHERITED_MEMB  = NO
 
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-# path before files name in the file list and in the header files. If set
-# to NO the shortest path that makes the file name unique will be used.
+# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path
+# before files name in the file list and in the header files. If set to NO the
+# shortest path that makes the file name unique will be used
+# The default value is: YES.
 
 FULL_PATH_NAMES        = YES
 
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user-defined part of the path. Stripping is
-# only done if one of the specified strings matches the left-hand part of
-# the path. The tag can be used to show relative paths in the file list.
-# If left blank the directory from which doxygen is run is used as the
-# path to strip.
+# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
+# Stripping is only done if one of the specified strings matches the left-hand
+# part of the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the path to
+# strip.
+#
+# Note that you can specify absolute paths here, but also relative paths, which
+# will be relative from the directory where doxygen is started.
+# This tag requires that the tag FULL_PATH_NAMES is set to YES.
 
 STRIP_FROM_PATH        = $(WM_PROJECT_DIR)
 
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
-# the path mentioned in the documentation of a class, which tells
-# the reader which header file to include in order to use a class.
-# If left blank only the name of the header file containing the class
-# definition is used. Otherwise one should specify the include paths that
-# are normally passed to the compiler using the -I flag.
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
+# path mentioned in the documentation of a class, which tells the reader which
+# header file to include in order to use a class. If left blank only the name of
+# the header file containing the class definition is used. Otherwise one should
+# specify the list of include paths that are normally passed to the compiler
+# using the -I flag.
 
 STRIP_FROM_INC_PATH    =
 
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
-# (but less readable) file names. This can be useful if your file system
-# doesn't support long names like on DOS, Mac, or CD-ROM.
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
+# less readable) file names. This can be useful is your file systems doesn't
+# support long names like on DOS, Mac, or CD-ROM.
+# The default value is: NO.
 
 SHORT_NAMES            = YES
 
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the JavaDoc
-# comments will behave just like regular Qt-style comments
-# (thus requiring an explicit @brief command for a brief description.)
+# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
+# first line (until the first dot) of a Javadoc-style comment as the brief
+# description. If set to NO, the Javadoc-style will behave just like regular Qt-
+# style comments (thus requiring an explicit @brief command for a brief
+# description.)
+# The default value is: NO.
 
 JAVADOC_AUTOBRIEF      = NO
 
-# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
-# interpret the first line (until the first dot) of a Qt-style
-# comment as the brief description. If set to NO, the comments
-# will behave just like regular Qt-style comments (thus requiring
-# an explicit \brief command for a brief description.)
+# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
+# line (until the first dot) of a Qt-style comment as the brief description. If
+# set to NO, the Qt-style will behave just like regular Qt-style comments (thus
+# requiring an explicit \brief command for a brief description.)
+# The default value is: NO.
 
 QT_AUTOBRIEF           = NO
 
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
-# treat a multi-line C++ special comment block (i.e. a block of //! or ///
-# comments) as a brief description. This used to be the default behaviour.
-# The new default is to treat a multi-line C++ comment block as a detailed
-# description. Set this tag to YES if you prefer the old behaviour instead.
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a
+# multi-line C++ special comment block (i.e. a block of //! or /// comments) as
+# a brief description. This used to be the default behavior. The new default is
+# to treat a multi-line C++ comment block as a detailed description. Set this
+# tag to YES if you prefer the old behavior instead.
+#
+# Note that setting this tag to YES also means that rational rose comments are
+# not recognized any more.
+# The default value is: NO.
 
 MULTILINE_CPP_IS_BRIEF = NO
 
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# re-implements.
+# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
+# documentation from any documented member that it re-implements.
+# The default value is: YES.
 
 INHERIT_DOCS           = YES
 
-# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
-# a new page for each member. If set to NO, the documentation of a member will
-# be part of the file/class/namespace that contains it.
+# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new
+# page for each member. If set to NO, the documentation of a member will be part
+# of the file/class/namespace that contains it.
+# The default value is: NO.
 
 SEPARATE_MEMBER_PAGES  = NO
 
-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
+# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen
+# uses this value to replace tabs by spaces in code fragments.
+# Minimum value: 1, maximum value: 16, default value: 4.
 
 TAB_SIZE               = 4
 
-# This tag can be used to specify a number of aliases that acts
-# as commands in the documentation. An alias has the form "name=value".
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to
-# put the command \sideeffect (or @sideeffect) in the documentation, which
-# will result in a user-defined paragraph with heading "Side Effects:".
-# You can put \n's in the value part of an alias to insert newlines.
+# This tag can be used to specify a number of aliases that act as commands in
+# the documentation. An alias has the form:
+# name=value
+# For example adding
+# "sideeffect=@par Side Effects:\n"
+# will allow you to put the command \sideeffect (or @sideeffect) in the
+# documentation, which will result in a user-defined paragraph with heading
+# "Side Effects:". You can put \n's in the value part of an alias to insert
+# newlines.
 
 ALIASES                =
 
 # This tag can be used to specify a number of word-keyword mappings (TCL only).
-# A mapping has the form "name=value". For example adding
-# "class=itcl::class" will allow you to use the command class in the
-# itcl::class meaning.
+# A mapping has the form "name=value". For example adding "class=itcl::class"
+# will allow you to use the command class in the itcl::class meaning.
 
 TCL_SUBST              =
 
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
-# sources only. Doxygen will then generate output that is more tailored for C.
-# For instance, some of the names that are used will be different. The list
-# of all members will be omitted, etc.
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
+# only. Doxygen will then generate output that is more tailored for C. For
+# instance, some of the names that are used will be different. The list of all
+# members will be omitted, etc.
+# The default value is: NO.
 
 OPTIMIZE_OUTPUT_FOR_C  = NO
 
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
-# sources only. Doxygen will then generate output that is more tailored for
-# Java. For instance, namespaces will be presented as packages, qualified
-# scopes will look different, etc.
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
+# Python sources only. Doxygen will then generate output that is more tailored
+# for that language. For instance, namespaces will be presented as packages,
+# qualified scopes will look different, etc.
+# The default value is: NO.
 
 OPTIMIZE_OUTPUT_JAVA   = NO
 
 # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
-# sources only. Doxygen will then generate output that is more tailored for
-# Fortran.
+# sources. Doxygen will then generate output that is tailored for Fortran.
+# The default value is: NO.
 
 OPTIMIZE_FOR_FORTRAN   = NO
 
 # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
-# sources. Doxygen will then generate output that is tailored for
-# VHDL.
+# sources. Doxygen will then generate output that is tailored for VHDL.
+# The default value is: NO.
 
 OPTIMIZE_OUTPUT_VHDL   = NO
 
 # Doxygen selects the parser to use depending on the extension of the files it
-# parses. With this tag you can assign which parser to use for a given extension.
-# Doxygen has a built-in mapping, but you can override or extend it using this
-# tag. The format is ext=language, where ext is a file extension, and language
-# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C,
-# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make
-# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
-# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions
-# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
+# parses. With this tag you can assign which parser to use for a given
+# extension. Doxygen has a built-in mapping, but you can override or extend it
+# using this tag. The format is ext=language, where ext is a file extension, and
+# language is one of the parsers supported by doxygen: IDL, Java, Javascript,
+# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran:
+# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:
+# Fortran. In the later case the parser tries to guess whether the code is fixed
+# or free formatted code, this is the default for Fortran type files), VHDL. For
+# instance to make doxygen treat .inc files as Fortran files (default is PHP),
+# and .f files as C (default is Fortran), use: inc=Fortran f=C.
+#
+# Note: For files without extension you can use no_extension as a placeholder.
+#
+# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
+# the files are not read by doxygen.
 
 EXTENSION_MAPPING      =
 
-# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all
-# comments according to the Markdown format, which allows for more readable
+# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
+# according to the Markdown format, which allows for more readable
 # documentation. See http://daringfireball.net/projects/markdown/ for details.
-# The output of markdown processing is further processed by doxygen, so you
-# can mix doxygen, HTML, and XML commands with Markdown formatting.
-# Disable only in case of backward compatibilities issues.
+# The output of markdown processing is further processed by doxygen, so you can
+# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
+# case of backward compatibilities issues.
+# The default value is: YES.
 
 MARKDOWN_SUPPORT       = NO
 
+# When enabled doxygen tries to link words that correspond to documented
+# classes, or namespaces to their corresponding documentation. Such a link can
+# be prevented in individual cases by putting a % sign in front of the word or
+# globally by setting AUTOLINK_SUPPORT to NO.
+# The default value is: YES.
+
+AUTOLINK_SUPPORT       = YES
+
 # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
-# to include (a tag file for) the STL sources as input, then you should
-# set this tag to YES in order to let doxygen match functions declarations and
-# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
-# func(std::string) {}). This also makes the inheritance and collaboration
+# to include (a tag file for) the STL sources as input, then you should set this
+# tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string);
+# versus func(std::string) {}). This also make the inheritance and collaboration
 # diagrams that involve STL classes more complete and accurate.
+# The default value is: NO.
 
 BUILTIN_STL_SUPPORT    = NO
 
 # If you use Microsoft's C++/CLI language, you should set this option to YES to
 # enable parsing support.
+# The default value is: NO.
 
 CPP_CLI_SUPPORT        = NO
 
-# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
-# Doxygen will parse them like normal C++ but will assume all classes use public
-# instead of private inheritance when no explicit protection keyword is present.
+# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
+# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen
+# will parse them like normal C++ but will assume all classes use public instead
+# of private inheritance when no explicit protection keyword is present.
+# The default value is: NO.
 
 SIP_SUPPORT            = NO
 
-# For Microsoft's IDL there are propget and propput attributes to indicate getter
-# and setter methods for a property. Setting this option to YES (the default)
-# will make doxygen replace the get and set methods by a property in the
-# documentation. This will only work if the methods are indeed getting or
-# setting a simple type. If this is not the case, or you want to show the
-# methods anyway, you should set this option to NO.
+# For Microsoft's IDL there are propget and propput attributes to indicate
+# getter and setter methods for a property. Setting this option to YES will make
+# doxygen to replace the get and set methods by a property in the documentation.
+# This will only work if the methods are indeed getting or setting a simple
+# type. If this is not the case, or you want to show the methods anyway, you
+# should set this option to NO.
+# The default value is: YES.
 
 IDL_PROPERTY_SUPPORT   = YES
 
 # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
+# tag is set to YES then doxygen will reuse the documentation of the first
 # member in the group (if any) for the other members of the group. By default
 # all members of a group must be documented explicitly.
+# The default value is: NO.
 
 DISTRIBUTE_GROUP_DOC   = NO
 
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
-# the same type (for instance a group of public functions) to be put as a
-# subgroup of that type (e.g. under the Public Functions section). Set it to
-# NO to prevent subgrouping. Alternatively, this can be done per class using
-# the \nosubgrouping command.
+# If one adds a struct or class to a group and this option is enabled, then also
+# any nested class or struct is added to the same group. By default this option
+# is disabled and one has to add nested compounds explicitly via \ingroup.
+# The default value is: NO.
+
+GROUP_NESTED_COMPOUNDS = NO
+
+# Set the SUBGROUPING tag to YES to allow class member groups of the same type
+# (for instance a group of public functions) to be put as a subgroup of that
+# type (e.g. under the Public Functions section). Set it to NO to prevent
+# subgrouping. Alternatively, this can be done per class using the
+# \nosubgrouping command.
+# The default value is: YES.
 
 SUBGROUPING            = YES
 
-# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and
-# unions are shown inside the group in which they are included (e.g. using
-# @ingroup) instead of on a separate page (for HTML and Man pages) or
-# section (for LaTeX and RTF).
+# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions
+# are shown inside the group in which they are included (e.g. using \ingroup)
+# instead of on a separate page (for HTML and Man pages) or section (for LaTeX
+# and RTF).
+#
+# Note that this feature does not work in combination with
+# SEPARATE_MEMBER_PAGES.
+# The default value is: NO.
 
 INLINE_GROUPED_CLASSES = NO
 
-# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and
-# unions with only public data fields will be shown inline in the documentation
-# of the scope in which they are defined (i.e. file, namespace, or group
-# documentation), provided this scope is documented. If set to NO (the default),
-# structs, classes, and unions are shown on a separate page (for HTML and Man
-# pages) or section (for LaTeX and RTF).
+# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
+# with only public data fields or simple typedef fields will be shown inline in
+# the documentation of the scope in which they are defined (i.e. file,
+# namespace, or group documentation), provided this scope is documented. If set
+# to NO, structs, classes, and unions are shown on a separate page (for HTML and
+# Man pages) or section (for LaTeX and RTF).
+# The default value is: NO.
 
 INLINE_SIMPLE_STRUCTS  = NO
 
-# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
-# is documented as struct, union, or enum with the name of the typedef. So
+# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or
+# enum is documented as struct, union, or enum with the name of the typedef. So
 # typedef struct TypeS {} TypeT, will appear in the documentation as a struct
 # with name TypeT. When disabled the typedef will appear as a member of a file,
-# namespace, or class. And the struct will be named TypeS. This can typically
-# be useful for C code in case the coding convention dictates that all compound
+# namespace, or class. And the struct will be named TypeS. This can typically be
+# useful for C code in case the coding convention dictates that all compound
 # types are typedef'ed and only the typedef is referenced, never the tag name.
+# The default value is: NO.
 
 TYPEDEF_HIDES_STRUCT   = NO
 
-# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
-# determine which symbols to keep in memory and which to flush to disk.
-# When the cache is full, less often used symbols will be written to disk.
-# For small to medium size projects (<1000 input files) the default value is
-# probably good enough. For larger projects a too small cache size can cause
-# doxygen to be busy swapping symbols to and from disk most of the time
-# causing a significant performance penalty.
-# If the system has enough physical memory increasing the cache will improve the
-# performance by keeping more symbols in memory. Note that the value works on
-# a logarithmic scale so increasing the size by one will roughly double the
-# memory usage. The cache size is given by this formula:
-# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
-# corresponding to a cache size of 2^16 = 65536 symbols.
-
-SYMBOL_CACHE_SIZE      = 0
-
-# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be
-# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given
-# their name and scope. Since this can be an expensive process and often the
-# same symbol appear multiple times in the code, doxygen keeps a cache of
-# pre-resolved symbols. If the cache is too small doxygen will become slower.
-# If the cache is too large, memory is wasted. The cache size is given by this
-# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0,
-# corresponding to a cache size of 2^16 = 65536 symbols.
+# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This
+# cache is used to resolve symbols given their name and scope. Since this can be
+# an expensive process and often the same symbol appears multiple times in the
+# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small
+# doxygen will become slower. If the cache is too large, memory is wasted. The
+# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range
+# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536
+# symbols. At the end of a run doxygen will report the cache usage and suggest
+# the optimal cache size from a speed point of view.
+# Minimum value: 0, maximum value: 9, default value: 0.
 
 LOOKUP_CACHE_SIZE      = 0
 
@@ -350,358 +408,404 @@ LOOKUP_CACHE_SIZE      = 0
 # Build related configuration options
 #---------------------------------------------------------------------------
 
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-# documentation are documented, even if no documentation was available.
-# Private class members and static file members will be hidden unless
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in
+# documentation are documented, even if no documentation was available. Private
+# class members and static file members will be hidden unless the
+# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
+# Note: This will also disable the warnings about undocumented members that are
+# normally produced when WARNINGS is set to YES.
+# The default value is: NO.
 
 EXTRACT_ALL            = YES
 
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
+# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will
+# be included in the documentation.
+# The default value is: NO.
 
 EXTRACT_PRIVATE        = NO
 
-# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal scope will be included in the documentation.
+# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
+# scope will be included in the documentation.
+# The default value is: NO.
 
 EXTRACT_PACKAGE        = NO
 
-# If the EXTRACT_STATIC tag is set to YES all static members of a file
-# will be included in the documentation.
+# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be
+# included in the documentation.
+# The default value is: NO.
 
 EXTRACT_STATIC         = YES
 
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
-# defined locally in source files will be included in the documentation.
-# If set to NO only classes defined in header files are included.
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined
+# locally in source files will be included in the documentation. If set to NO,
+# only classes defined in header files are included. Does not have any effect
+# for Java sources.
+# The default value is: YES.
 
 EXTRACT_LOCAL_CLASSES  = YES
 
-# This flag is only useful for Objective-C code. When set to YES local
-# methods, which are defined in the implementation section but not in
-# the interface are included in the documentation.
-# If set to NO (the default) only methods in the interface are included.
+# This flag is only useful for Objective-C code. If set to YES, local methods,
+# which are defined in the implementation section but not in the interface are
+# included in the documentation. If set to NO, only methods in the interface are
+# included.
+# The default value is: NO.
 
 EXTRACT_LOCAL_METHODS  = NO
 
 # If this flag is set to YES, the members of anonymous namespaces will be
 # extracted and appear in the documentation as a namespace called
-# 'anonymous_namespace{file}', where file will be replaced with the base
-# name of the file that contains the anonymous namespace. By default
-# anonymous namespaces are hidden.
+# 'anonymous_namespace{file}', where file will be replaced with the base name of
+# the file that contains the anonymous namespace. By default anonymous namespace
+# are hidden.
+# The default value is: NO.
 
 EXTRACT_ANON_NSPACES   = NO
 
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members of documented classes, files or namespaces.
-# If set to NO (the default) these members will be included in the
-# various overviews, but no documentation section is generated.
-# This option has no effect if EXTRACT_ALL is enabled.
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
+# undocumented members inside documented classes or files. If set to NO these
+# members will be included in the various overviews, but no documentation
+# section is generated. This option has no effect if EXTRACT_ALL is enabled.
+# The default value is: NO.
 
 HIDE_UNDOC_MEMBERS     = NO
 
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy.
-# If set to NO (the default) these classes will be included in the various
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
+# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy. If set
+# to NO, these classes will be included in the various overviews. This option
+# has no effect if EXTRACT_ALL is enabled.
+# The default value is: NO.
 
 HIDE_UNDOC_CLASSES     = NO
 
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
-# friend (class|struct|union) declarations.
-# If set to NO (the default) these declarations will be included in the
-# documentation.
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
+# (class|struct|union) declarations. If set to NO, these declarations will be
+# included in the documentation.
+# The default value is: NO.
 
 HIDE_FRIEND_COMPOUNDS  = NO
 
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
-# documentation blocks found inside the body of a function.
-# If set to NO (the default) these blocks will be appended to the
-# function's detailed documentation block.
+# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
+# documentation blocks found inside the body of a function. If set to NO, these
+# blocks will be appended to the function's detailed documentation block.
+# The default value is: NO.
 
 HIDE_IN_BODY_DOCS      = NO
 
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
+# The INTERNAL_DOCS tag determines if documentation that is typed after a
+# \internal command is included. If the tag is set to NO then the documentation
+# will be excluded. Set it to YES to include the internal documentation.
+# The default value is: NO.
 
 INTERNAL_DOCS          = NO
 
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-# file names in lower-case letters. If set to YES upper-case letters are also
+# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
+# names in lower-case letters. If set to YES, upper-case letters are also
 # allowed. This is useful if you have classes or files whose names only differ
 # in case and if your file system supports case sensitive file names. Windows
 # and Mac users are advised to set this option to NO.
+# The default value is: system dependent.
 
 CASE_SENSE_NAMES       = YES
 
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
-# will show members with their full class and namespace scopes in the
-# documentation. If set to YES the scope will be hidden.
+# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
+# their full class and namespace scopes in the documentation. If set to YES, the
+# scope will be hidden.
+# The default value is: NO.
 
 HIDE_SCOPE_NAMES       = YES
 
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-# will put a list of the files that are included by a file in the documentation
-# of that file.
+# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will
+# append additional text to a page's title, such as Class Reference. If set to
+# YES the compound reference will be hidden.
+# The default value is: NO.
+
+HIDE_COMPOUND_REFERENCE= NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
+# the files that are included by a file in the documentation of that file.
+# The default value is: YES.
 
 SHOW_INCLUDE_FILES     = NO
 
-# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
-# will list include files with double quotes in the documentation
-# rather than with sharp brackets.
+# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each
+# grouped member an include statement to the documentation, telling the reader
+# which file to include in order to use the member.
+# The default value is: NO.
+
+SHOW_GROUPED_MEMB_INC  = NO
+
+# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
+# files with double quotes in the documentation rather than with sharp brackets.
+# The default value is: NO.
 
 FORCE_LOCAL_INCLUDES   = NO
 
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-# is inserted in the documentation for inline members.
+# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the
+# documentation for inline members.
+# The default value is: YES.
 
 INLINE_INFO            = YES
 
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-# will sort the (detailed) documentation of file and class members
-# alphabetically by member name. If set to NO the members will appear in
-# declaration order.
+# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
+# (detailed) documentation of file and class members alphabetically by member
+# name. If set to NO, the members will appear in declaration order.
+# The default value is: YES.
 
 SORT_MEMBER_DOCS       = NO
 
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
-# brief documentation of file, namespace and class members alphabetically
-# by member name. If set to NO (the default) the members will appear in
-# declaration order.
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
+# descriptions of file, namespace and class members alphabetically by member
+# name. If set to NO, the members will appear in declaration order. Note that
+# this will also influence the order of the classes in the class list.
+# The default value is: NO.
 
 SORT_BRIEF_DOCS        = NO
 
-# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen
-# will sort the (brief and detailed) documentation of class members so that
-# constructors and destructors are listed first. If set to NO (the default)
-# the constructors will appear in the respective orders defined by
-# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS.
-# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO
-# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
+# (brief and detailed) documentation of class members so that constructors and
+# destructors are listed first. If set to NO the constructors will appear in the
+# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.
+# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief
+# member documentation.
+# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting
+# detailed member documentation.
+# The default value is: NO.
 
 SORT_MEMBERS_CTORS_1ST = NO
 
-# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
-# hierarchy of group names into alphabetical order. If set to NO (the default)
-# the group names will appear in their defined order.
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
+# of group names into alphabetical order. If set to NO the group names will
+# appear in their defined order.
+# The default value is: NO.
 
 SORT_GROUP_NAMES       = NO
 
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
-# sorted by fully-qualified names, including namespaces. If set to
-# NO (the default), the class list will be sorted only by class name,
-# not including the namespace part.
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
+# fully-qualified names, including namespaces. If set to NO, the class list will
+# be sorted only by class name, not including the namespace part.
 # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the
-# alphabetical list.
+# Note: This option applies only to the class list, not to the alphabetical
+# list.
+# The default value is: NO.
 
 SORT_BY_SCOPE_NAME     = NO
 
-# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to
-# do proper type resolution of all parameters of a function it will reject a
-# match between the prototype and the implementation of a member function even
-# if there is only one candidate or it is obvious which candidate to choose
-# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen
-# will still accept a match between prototype and implementation in such cases.
+# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper
+# type resolution of all parameters of a function it will reject a match between
+# the prototype and the implementation of a member function even if there is
+# only one candidate or it is obvious which candidate to choose by doing a
+# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still
+# accept a match between prototype and implementation in such cases.
+# The default value is: NO.
 
 STRICT_PROTO_MATCHING  = NO
 
-# The GENERATE_TODOLIST tag can be used to enable (YES) or
-# disable (NO) the todo list. This list is created by putting \todo
-# commands in the documentation.
+# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo
+# list. This list is created by putting \todo commands in the documentation.
+# The default value is: YES.
 
 GENERATE_TODOLIST      = YES
 
-# The GENERATE_TESTLIST tag can be used to enable (YES) or
-# disable (NO) the test list. This list is created by putting \test
-# commands in the documentation.
+# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test
+# list. This list is created by putting \test commands in the documentation.
+# The default value is: YES.
 
 GENERATE_TESTLIST      = YES
 
-# The GENERATE_BUGLIST tag can be used to enable (YES) or
-# disable (NO) the bug list. This list is created by putting \bug
-# commands in the documentation.
+# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug
+# list. This list is created by putting \bug commands in the documentation.
+# The default value is: YES.
 
 GENERATE_BUGLIST       = YES
 
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
-# disable (NO) the deprecated list. This list is created by putting
-# \deprecated commands in the documentation.
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO)
+# the deprecated list. This list is created by putting \deprecated commands in
+# the documentation.
+# The default value is: YES.
 
 GENERATE_DEPRECATEDLIST= YES
 
-# The ENABLED_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
+# The ENABLED_SECTIONS tag can be used to enable conditional documentation
+# sections, marked by \if <section_label> ... \endif and \cond <section_label>
+# ... \endcond blocks.
 
 ENABLED_SECTIONS       =
 
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
-# the initial value of a variable or macro consists of for it to appear in
-# the documentation. If the initializer consists of more lines than specified
-# here it will be hidden. Use a value of 0 to hide initializers completely.
-# The appearance of the initializer of individual variables and macros in the
-# documentation can be controlled using \showinitializer or \hideinitializer
-# command in the documentation regardless of this setting.
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
+# initial value of a variable or macro / define can have for it to appear in the
+# documentation. If the initializer consists of more lines than specified here
+# it will be hidden. Use a value of 0 to hide initializers completely. The
+# appearance of the value of individual variables and macros / defines can be
+# controlled using \showinitializer or \hideinitializer command in the
+# documentation regardless of this setting.
+# Minimum value: 0, maximum value: 10000, default value: 30.
 
 MAX_INITIALIZER_LINES  = 30
 
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
-# at the bottom of the documentation of classes and structs. If set to YES the
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
+# the bottom of the documentation of classes and structs. If set to YES, the
 # list will mention the files that were used to generate the documentation.
+# The default value is: YES.
 
 SHOW_USED_FILES        = YES
 
-# 1.6.3-1.7.4 SETTING
-# If the sources in your project are distributed over multiple directories
-# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
-# in the documentation. The default is NO.
-
-SHOW_DIRECTORIES       = YES
-
-# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
-# This will remove the Files entry from the Quick Index and from the
-# Directory Tree View (if specified). The default is YES.
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
+# will remove the Files entry from the Quick Index and from the Folder Tree View
+# (if specified).
+# The default value is: YES.
 
 SHOW_FILES             = YES
 
-# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
-# Namespaces page.
-# This will remove the Namespaces entry from the Quick Index
-# and from the Directory Tree View (if specified). The default is YES.
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
+# page. This will remove the Namespaces entry from the Quick Index and from the
+# Folder Tree View (if specified).
+# The default value is: YES.
 
 SHOW_NAMESPACES        = YES
 
 # The FILE_VERSION_FILTER tag can be used to specify a program or script that
 # doxygen should invoke to get the current version for each file (typically from
 # the version control system). Doxygen will invoke the program by executing (via
-# popen()) the command <command> <input-file>, where <command> is the value of
-# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
-# provided by doxygen. Whatever the program writes to standard output
-# is used as the file version. See the manual for examples.
+# popen()) the command command input-file, where command is the value of the
+# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
+# by doxygen. Whatever the program writes to standard output is used as the file
+# version. For an example see the documentation.
 
 FILE_VERSION_FILTER    =
 
 # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
 # by doxygen. The layout file controls the global structure of the generated
-# output files in an output format independent way. The create the layout file
-# that represents doxygen's defaults, run doxygen with the -l option.
-# You can optionally specify a file name after the option, if omitted
-# DoxygenLayout.xml will be used as the name of the layout file.
+# output files in an output format independent way. To create the layout file
+# that represents doxygen's defaults, run doxygen with the -l option. You can
+# optionally specify a file name after the option, if omitted DoxygenLayout.xml
+# will be used as the name of the layout file.
+#
+# Note that if you run doxygen from a directory containing a file called
+# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
+# tag is left empty.
 
 LAYOUT_FILE            =
 
-# The CITE_BIB_FILES tag can be used to specify one or more bib files
-# containing the references data. This must be a list of .bib files. The
-# .bib extension is automatically appended if omitted. Using this command
-# requires the bibtex tool to be installed. See also
-# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style
-# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this
-# feature you need bibtex and perl available in the search path.
+# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
+# the reference definitions. This must be a list of .bib files. The .bib
+# extension is automatically appended if omitted. This requires the bibtex tool
+# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
+# For LaTeX the style of the bibliography can be controlled using
+# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
+# search path. See also \cite for info how to create references.
 
 CITE_BIB_FILES         =
 
 #---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
+# Configuration options related to warning and progress messages
 #---------------------------------------------------------------------------
 
-# The QUIET tag can be used to turn on/off the messages that are generated
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
+# The QUIET tag can be used to turn on/off the messages that are generated to
+# standard output by doxygen. If QUIET is set to YES this implies that the
+# messages are off.
+# The default value is: NO.
 
 QUIET                  = NO
 
 # The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated by doxygen. Possible values are YES and NO. If left blank
-# NO is used.
+# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES
+# this implies that the warnings are on.
+#
+# Tip: Turn warnings on while writing the documentation.
+# The default value is: YES.
 
 WARNINGS               = YES
 
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
-# automatically be disabled.
+# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate
+# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
+# will automatically be disabled.
+# The default value is: YES.
 
 WARN_IF_UNDOCUMENTED   = YES
 
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some
-# parameters in a documented function, or documenting parameters that
-# don't exist or using markup commands wrongly.
+# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some parameters
+# in a documented function, or documenting parameters that don't exist or using
+# markup commands wrongly.
+# The default value is: YES.
 
 WARN_IF_DOC_ERROR      = YES
 
-# The WARN_NO_PARAMDOC option can be enabled to get warnings for
-# functions that are documented, but have no documentation for their parameters
-# or return value. If set to NO (the default) doxygen will only warn about
-# wrong or incomplete parameter documentation, but not about the absence of
-# documentation.
+# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
+# are documented, but have no documentation for their parameters or return
+# value. If set to NO, doxygen will only warn about wrong or incomplete
+# parameter documentation, but not about the absence of documentation.
+# The default value is: NO.
 
 WARN_NO_PARAMDOC       = NO
 
-# The WARN_FORMAT tag determines the format of the warning messages that
-# doxygen can produce. The string should contain the $file, $line, and $text
-# tags, which will be replaced by the file and line number from which the
-# warning originated and the warning text. Optionally the format may contain
-# $version, which will be replaced by the version of the file (if it could
-# be obtained via FILE_VERSION_FILTER)
+# The WARN_FORMAT tag determines the format of the warning messages that doxygen
+# can produce. The string should contain the $file, $line, and $text tags, which
+# will be replaced by the file and line number from which the warning originated
+# and the warning text. Optionally the format may contain $version, which will
+# be replaced by the version of the file (if it could be obtained via
+# FILE_VERSION_FILTER)
+# The default value is: $file:$line: $text.
 
 WARN_FORMAT            = "$file:$line: $text"
 
-# The WARN_LOGFILE tag can be used to specify a file to which warning
-# and error messages should be written. If left blank the output is written
-# to stderr.
+# The WARN_LOGFILE tag can be used to specify a file to which warning and error
+# messages should be written. If left blank the output is written to standard
+# error (stderr).
 
 WARN_LOGFILE           =
 
 #---------------------------------------------------------------------------
-# configuration options related to the input files
+# Configuration options related to the input files
 #---------------------------------------------------------------------------
 
-# The INPUT tag can be used to specify the files and/or directories that contain
-# documented source files. You may enter file names like "myfile.cpp" or
-# directories like "/usr/src/myproject". Separate the files or directories
-# with spaces.
+# The INPUT tag is used to specify the files and/or directories that contain
+# documented source files. You may enter file names like myfile.cpp or
+# directories like /usr/src/myproject. Separate the files or directories with
+# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
+# Note: If this tag is empty the current directory is searched.
 
 INPUT                  = $(WM_PROJECT_DIR)/src \
                          $(WM_PROJECT_DIR)/applications/utilities \
                          $(WM_PROJECT_DIR)/applications/solvers
 
-# limit input for testing purposes
-# INPUT                  = $(WM_PROJECT_DIR)/src/OpenFOAM/global \
-#                          $(WM_PROJECT_DIR)/src/OpenFOAM/containers \
-#                          $(WM_PROJECT_DIR)/src/OpenFOAM/primitives \
-#                          $(WM_PROJECT_DIR)/sampling \
-#                          $(WM_PROJECT_DIR)/src/finiteVolume/fvMesh
-
 # This tag can be used to specify the character encoding of the source files
-# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
-# also the default input encoding. Doxygen uses libiconv (or the iconv built
-# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
-# the list of possible encodings.
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
+# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
+# documentation (see: http://www.gnu.org/software/libiconv) for the list of
+# possible encodings.
+# The default value is: UTF-8.
 
 INPUT_ENCODING         = UTF-8
 
 # If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank the following patterns are tested:
-# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh
-# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py
-# *.f90 *.f *.for *.vhd *.vhdl
+# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
+# *.h) to filter out the source-files in the directories.
+#
+# Note that for custom extensions or not directly supported extensions you also
+# need to set EXTENSION_MAPPING for the extension otherwise the files are not
+# read by doxygen.
+#
+# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp,
+# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h,
+# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc,
+# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd,
+# *.vhdl, *.ucf, *.qsf, *.as and *.js.
 
 FILE_PATTERNS          = *.H \
                          *.C \
                          *.dox
 
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories
-# should be searched for input files as well. Possible values are YES and NO.
-# If left blank NO is used.
+# The RECURSIVE tag can be used to specify whether or not subdirectories should
+# be searched for input files as well.
+# The default value is: NO.
 
 RECURSIVE              = YES
 
 # The EXCLUDE tag can be used to specify files and/or directories that should be
 # excluded from the INPUT source files. This way you can easily exclude a
 # subdirectory from a directory tree whose root is specified with the INPUT tag.
+#
 # Note that relative paths are relative to the directory from which doxygen is
 # run.
 
@@ -710,14 +814,16 @@ EXCLUDE                =
 # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
 # directories that are symbolic links (a Unix file system feature) are excluded
 # from the input.
+# The default value is: NO.
 
 EXCLUDE_SYMLINKS       = NO
 
 # If the value of the INPUT tag contains directories, you can use the
 # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories. Note that the wildcards are matched
-# against the file with absolute path, so to exclude all test directories
-# for example use the pattern */test/*
+# certain files from those directories.
+#
+# Note that the wildcards are matched against the file with absolute path, so to
+# exclude all test directories for example use the pattern */test/*
 
 EXCLUDE_PATTERNS       = */lnInclude/* \
                          */t/*
@@ -727,775 +833,1114 @@ EXCLUDE_PATTERNS       = */lnInclude/* \
 # output. The symbol name can be a fully qualified name, a word, or if the
 # wildcard * is used, a substring. Examples: ANamespace, AClass,
 # AClass::ANamespace, ANamespace::*Test
+#
+# Note that the wildcards are matched against the file with absolute path, so to
+# exclude all test directories use the pattern */test/*
 
 EXCLUDE_SYMBOLS        =
 
-# The EXAMPLE_PATH tag can be used to specify one or more files or
-# directories that contain example code fragments that are included (see
-# the \include command).
+# The EXAMPLE_PATH tag can be used to specify one or more files or directories
+# that contain example code fragments that are included (see the \include
+# command).
 
 EXAMPLE_PATH           =
 
 # If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
+# *.h) to filter out the source-files in the directories. If left blank all
+# files are included.
 
 EXAMPLE_PATTERNS       =
 
 # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude
-# commands irrespective of the value of the RECURSIVE tag.
-# Possible values are YES and NO. If left blank NO is used.
+# searched for input files to be used with the \include or \dontinclude commands
+# irrespective of the value of the RECURSIVE tag.
+# The default value is: NO.
 
 EXAMPLE_RECURSIVE      = NO
 
-# The IMAGE_PATH tag can be used to specify one or more files or
-# directories that contain image that are included in the documentation (see
-# the \image command).
+# The IMAGE_PATH tag can be used to specify one or more files or directories
+# that contain images that are to be included in the documentation (see the
+# \image command).
 
 IMAGE_PATH             =
 
 # The INPUT_FILTER tag can be used to specify a program that doxygen should
 # invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command <filter> <input-file>, where <filter>
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
-# input file. Doxygen will then use the output that the filter program writes
-# to standard output.
-# If FILTER_PATTERNS is specified, this tag will be
-# ignored.
+# by executing (via popen()) the command:
+#
+# <filter> <input-file>
+#
+# where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the
+# name of an input file. Doxygen will then use the output that the filter
+# program writes to standard output. If FILTER_PATTERNS is specified, this tag
+# will be ignored.
+#
+# Note that the filter must not add or remove lines; it is applied before the
+# code is scanned, but not when the output code is generated. If lines are added
+# or removed, the anchors will not be placed correctly.
 
 INPUT_FILTER           = $(WM_PROJECT_DIR)/bin/tools/doxyFilter
 
 # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
-# basis.
-# Doxygen will compare the file name with each pattern and apply the
-# filter if there is a match.
-# The filters are a list of the form:
-# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
-# info on how filters are used. If FILTER_PATTERNS is empty or if
-# non of the patterns match the file name, INPUT_FILTER is applied.
+# basis. Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match. The filters are a list of the form: pattern=filter
+# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
+# filters are used. If the FILTER_PATTERNS tag is empty or if none of the
+# patterns match the file name, INPUT_FILTER is applied.
 
 FILTER_PATTERNS        =
 
 # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will be used to filter the input files when producing source
-# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+# INPUT_FILTER) will also be used to filter the input files that are used for
+# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
+# The default value is: NO.
 
 FILTER_SOURCE_FILES    = NO
 
 # The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
-# pattern. A pattern will override the setting for FILTER_PATTERN (if any)
-# and it is also possible to disable source filtering for a specific pattern
-# using *.ext= (so without naming a filter). This option only has effect when
-# FILTER_SOURCE_FILES is enabled.
+# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and
+# it is also possible to disable source filtering for a specific pattern using
+# *.ext= (so without naming a filter).
+# This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
 
 FILTER_SOURCE_PATTERNS =
 
+# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
+# is part of the input, its contents will be placed on the main page
+# (index.html). This can be useful if you have a project on for instance GitHub
+# and want to reuse the introduction page also for the doxygen output.
+
+USE_MDFILE_AS_MAINPAGE =
+
 #---------------------------------------------------------------------------
-# configuration options related to source browsing
+# Configuration options related to source browsing
 #---------------------------------------------------------------------------
 
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
-# Note: To get rid of all source code in the generated output, make sure also
-# VERBATIM_HEADERS is set to NO.
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will be
+# generated. Documented entities will be cross-referenced with these sources.
+#
+# Note: To get rid of all source code in the generated output, make sure that
+# also VERBATIM_HEADERS is set to NO.
+# The default value is: NO.
 
 SOURCE_BROWSER         = YES
 
-# Setting the INLINE_SOURCES tag to YES will include the body
-# of functions and classes directly in the documentation.
+# Setting the INLINE_SOURCES tag to YES will include the body of functions,
+# classes and enums directly into the documentation.
+# The default value is: NO.
 
 INLINE_SOURCES         = NO
 
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-# doxygen to hide any special comment blocks from generated source code
-# fragments. Normal C and C++ comments will always remain visible.
+# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
+# special comment blocks from generated source code fragments. Normal C, C++ and
+# Fortran comments will always remain visible.
+# The default value is: YES.
 
 STRIP_CODE_COMMENTS    = YES
 
-# If the REFERENCED_BY_RELATION tag is set to YES
-# then for each documented function all documented
-# functions referencing it will be listed.
+# If the REFERENCED_BY_RELATION tag is set to YES then for each documented
+# function all documented functions referencing it will be listed.
+# The default value is: NO.
 
 REFERENCED_BY_RELATION = YES
 
-# If the REFERENCES_RELATION tag is set to YES
-# then for each documented function all documented entities
-# called/used by that function will be listed.
+# If the REFERENCES_RELATION tag is set to YES then for each documented function
+# all documented entities called/used by that function will be listed.
+# The default value is: NO.
 
 REFERENCES_RELATION    = YES
 
-# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
-# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
-# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
-# link to the source code.
-# Otherwise they will link to the documentation.
+# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
+# to YES then the hyperlinks from functions in REFERENCES_RELATION and
+# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
+# link to the documentation.
+# The default value is: YES.
 
 REFERENCES_LINK_SOURCE = YES
 
-# If the USE_HTAGS tag is set to YES then the references to source code
-# will point to the HTML generated by the htags(1) tool instead of doxygen
-# built-in source browser. The htags tool is part of GNU's global source
-# tagging system (see http://www.gnu.org/software/global/global.html). You
-# will need version 4.8.6 or higher.
+# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
+# source code will show a tooltip with additional information such as prototype,
+# brief description and links to the definition and documentation. Since this
+# will make the HTML file larger and loading of large files a bit slower, you
+# can opt to disable this feature.
+# The default value is: YES.
+# This tag requires that the tag SOURCE_BROWSER is set to YES.
+
+SOURCE_TOOLTIPS        = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code will
+# point to the HTML generated by the htags(1) tool instead of doxygen built-in
+# source browser. The htags tool is part of GNU's global source tagging system
+# (see http://www.gnu.org/software/global/global.html). You will need version
+# 4.8.6 or higher.
+#
+# To use it do the following:
+# - Install the latest version of global
+# - Enable SOURCE_BROWSER and USE_HTAGS in the config file
+# - Make sure the INPUT points to the root of the source tree
+# - Run doxygen as normal
+#
+# Doxygen will invoke htags (and that will in turn invoke gtags), so these
+# tools must be available from the command line (i.e. in the search path).
+#
+# The result: instead of the source browser generated by doxygen, the links to
+# source code will now point to the output of htags.
+# The default value is: NO.
+# This tag requires that the tag SOURCE_BROWSER is set to YES.
 
 USE_HTAGS              = NO
 
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-# will generate a verbatim copy of the header file for each class for
-# which an include is specified. Set to NO to disable this.
+# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a
+# verbatim copy of the header file for each class for which an include is
+# specified. Set to NO to disable this.
+# See also: Section \class.
+# The default value is: YES.
 
 VERBATIM_HEADERS       = YES
 
 #---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
+# Configuration options related to the alphabetical class index
 #---------------------------------------------------------------------------
 
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-# of all compounds will be generated. Enable this if the project
-# contains a lot of classes, structs, unions or interfaces.
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all
+# compounds will be generated. Enable this if the project contains a lot of
+# classes, structs, unions or interfaces.
+# The default value is: YES.
 
 ALPHABETICAL_INDEX     = YES
 
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
-# in which this list will be split (can be a number in the range [1..20])
+# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
+# which the alphabetical index list will be split.
+# Minimum value: 1, maximum value: 20, default value: 5.
+# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
 
 COLS_IN_ALPHA_INDEX    = 1
 
-# In case all classes in a project start with a common prefix, all
-# classes will be put under the same header in the alphabetical index.
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
-# should be ignored while generating the index headers.
+# In case all classes in a project start with a common prefix, all classes will
+# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
+# can be used to specify a prefix (or a list of prefixes) that should be ignored
+# while generating the index headers.
+# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
 
 IGNORE_PREFIX          =
 
 #---------------------------------------------------------------------------
-# configuration options related to the HTML output
+# Configuration options related to the HTML output
 #---------------------------------------------------------------------------
 
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
-# generate HTML output.
+# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output
+# The default value is: YES.
 
 GENERATE_HTML          = YES
 
-# 1.6.3 SETTING
-# If the HTML_FOOTER_DESCRIPTION tag is set to YES, Doxygen will
-# add generated date, project name and doxygen version to HTML footer.
-
-HTML_FOOTER_DESCRIPTION= NO
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `html' will be used as the default path.
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: html.
+# This tag requires that the tag GENERATE_HTML is set to YES.
 
 HTML_OUTPUT            = html
 
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
-# doxygen will generate files with .html extension.
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
+# generated HTML page (for example: .htm, .php, .asp).
+# The default value is: .html.
+# This tag requires that the tag GENERATE_HTML is set to YES.
 
 HTML_FILE_EXTENSION    = .html
 
-# The HTML_HEADER tag can be used to specify a personal HTML header for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard header. Note that when using a custom header you are responsible
-#  for the proper inclusion of any scripts and style sheets that doxygen
-# needs, which is dependent on the configuration options used.
-# It is advised to generate a default header using "doxygen -w html
-# header.html footer.html stylesheet.css YourConfigFile" and then modify
-# that header. Note that the header is subject to change so you typically
-# have to redo this when upgrading to a newer version of doxygen or when
-# changing the value of configuration settings such as GENERATE_TREEVIEW!
+# The HTML_HEADER tag can be used to specify a user-defined HTML header file for
+# each generated HTML page. If the tag is left blank doxygen will generate a
+# standard header.
+#
+# To get valid HTML the header file that includes any scripts and style sheets
+# that doxygen needs, which is dependent on the configuration options used (e.g.
+# the setting GENERATE_TREEVIEW). It is highly recommended to start with a
+# default header using
+# doxygen -w html new_header.html new_footer.html new_stylesheet.css
+# YourConfigFile
+# and then modify the file new_header.html. See also section "Doxygen usage"
+# for information on how to generate the default header that doxygen normally
+# uses.
+# Note: The header is subject to change so you typically have to regenerate the
+# default header when upgrading to a newer version of doxygen. For a description
+# of the possible markers and block names see the documentation.
+# This tag requires that the tag GENERATE_HTML is set to YES.
 
 HTML_HEADER            = $(WM_PROJECT_DIR)/doc/Doxygen/_Header
 
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard footer.
+# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
+# generated HTML page. If the tag is left blank doxygen will generate a standard
+# footer. See HTML_HEADER for more information on how to generate a default
+# footer and what special commands can be used inside the footer. See also
+# section "Doxygen usage" for information on how to generate the default footer
+# that doxygen normally uses.
+# This tag requires that the tag GENERATE_HTML is set to YES.
 
 HTML_FOOTER            = $(WM_PROJECT_DIR)/doc/Doxygen/_Footer
 
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
-# style sheet that is used by each HTML page. It can be used to
-# fine-tune the look of the HTML output. If the tag is left blank doxygen
-# will generate a default style sheet. Note that doxygen will try to copy
-# the style sheet file to the HTML output directory, so don't put your own
-# style sheet in the HTML output directory as well, or it will be erased!
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
+# sheet that is used by each HTML page. It can be used to fine-tune the look of
+# the HTML output. If left blank doxygen will generate a default style sheet.
+# See also section "Doxygen usage" for information on how to generate the style
+# sheet that doxygen normally uses.
+# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as
+# it is more robust and this tag (HTML_STYLESHEET) will in the future become
+# obsolete.
+# This tag requires that the tag GENERATE_HTML is set to YES.
 
 HTML_STYLESHEET        =
 
+# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
+# cascading style sheets that are included after the standard style sheets
+# created by doxygen. Using this option one can overrule certain style aspects.
+# This is preferred over using HTML_STYLESHEET since it does not replace the
+# standard style sheet and is therefore more robust against future updates.
+# Doxygen will copy the style sheet files to the output directory.
+# Note: The order of the extra style sheet files is of importance (e.g. the last
+# style sheet in the list overrules the setting of the previous ones in the
+# list). For an example see the documentation.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_EXTRA_STYLESHEET  =
+
 # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
 # other source files which should be copied to the HTML output directory. Note
 # that these files will be copied to the base HTML output directory. Use the
-# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
-# files. In the HTML_STYLESHEET file, use the file name only. Also note that
-# the files will be copied as-is; there are no commands or markers available.
+# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
+# files. In the HTML_STYLESHEET file, use the file name only. Also note that the
+# files will be copied as-is; there are no commands or markers available.
+# This tag requires that the tag GENERATE_HTML is set to YES.
 
 HTML_EXTRA_FILES       =
 
-# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
-# Doxygen will adjust the colors in the style sheet and background images
-# according to this color. Hue is specified as an angle on a colorwheel,
-# see http://en.wikipedia.org/wiki/Hue for more information.
-# For instance the value 0 represents red, 60 is yellow, 120 is green,
-# 180 is cyan, 240 is blue, 300 purple, and 360 is red again.
-# The allowed range is 0 to 359.
+# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
+# will adjust the colors in the style sheet and background images according to
+# this color. Hue is specified as an angle on a colorwheel, see
+# http://en.wikipedia.org/wiki/Hue for more information. For instance the value
+# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
+# purple, and 360 is red again.
+# Minimum value: 0, maximum value: 359, default value: 220.
+# This tag requires that the tag GENERATE_HTML is set to YES.
 
 HTML_COLORSTYLE_HUE    = 220
 
-# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of
-# the colors in the HTML output. For a value of 0 the output will use
-# grayscales only. A value of 255 will produce the most vivid colors.
+# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors
+# in the HTML output. For a value of 0 the output will use grayscales only. A
+# value of 255 will produce the most vivid colors.
+# Minimum value: 0, maximum value: 255, default value: 100.
+# This tag requires that the tag GENERATE_HTML is set to YES.
 
 HTML_COLORSTYLE_SAT    = 100
 
-# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to
-# the luminance component of the colors in the HTML output. Values below
-# 100 gradually make the output lighter, whereas values above 100 make
-# the output darker. The value divided by 100 is the actual gamma applied,
-# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2,
-# and 100 does not change the gamma.
+# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the
+# luminance component of the colors in the HTML output. Values below 100
+# gradually make the output lighter, whereas values above 100 make the output
+# darker. The value divided by 100 is the actual gamma applied, so 80 represents
+# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not
+# change the gamma.
+# Minimum value: 40, maximum value: 240, default value: 80.
+# This tag requires that the tag GENERATE_HTML is set to YES.
 
 HTML_COLORSTYLE_GAMMA  = 80
 
 # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
-# page will contain the date and time when the page was generated. Setting
-# this to NO can help when comparing the output of multiple runs.
+# page will contain the date and time when the page was generated. Setting this
+# to YES can help to show when doxygen was last run and thus if the
+# documentation is up to date.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
 
 HTML_TIMESTAMP         = NO
 
-# 1.6.3-1.7.4 SETTING
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS     = YES
-
 # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
 # documentation will contain sections that can be hidden and shown after the
 # page has loaded.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
 
 HTML_DYNAMIC_SECTIONS  = NO
 
-# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of
-# entries shown in the various tree structured indices initially; the user
-# can expand and collapse entries dynamically later on. Doxygen will expand
-# the tree to such a level that at most the specified number of entries are
-# visible (unless a fully collapsed tree already exceeds this amount).
-# So setting the number of entries 1 will produce a full collapsed tree by
-# default. 0 is a special value representing an infinite number of entries
-# and will result in a full expanded tree by default.
+# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
+# shown in the various tree structured indices initially; the user can expand
+# and collapse entries dynamically later on. Doxygen will expand the tree to
+# such a level that at most the specified number of entries are visible (unless
+# a fully collapsed tree already exceeds this amount). So setting the number of
+# entries 1 will produce a full collapsed tree by default. 0 is a special value
+# representing an infinite number of entries and will result in a full expanded
+# tree by default.
+# Minimum value: 0, maximum value: 9999, default value: 100.
+# This tag requires that the tag GENERATE_HTML is set to YES.
 
 HTML_INDEX_NUM_ENTRIES = 100
 
-# If the GENERATE_DOCSET tag is set to YES, additional index files
-# will be generated that can be used as input for Apple's Xcode 3
-# integrated development environment, introduced with OSX 10.5 (Leopard).
-# To create a documentation set, doxygen will generate a Makefile in the
-# HTML output directory. Running make will produce the docset in that
-# directory and running "make install" will install the docset in
-# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
-# it at startup.
-# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
+# If the GENERATE_DOCSET tag is set to YES, additional index files will be
+# generated that can be used as input for Apple's Xcode 3 integrated development
+# environment (see: http://developer.apple.com/tools/xcode/), introduced with
+# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a
+# Makefile in the HTML output directory. Running make will produce the docset in
+# that directory and running make install will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
+# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
 # for more information.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
 
 GENERATE_DOCSET        = NO
 
-# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
-# feed. A documentation feed provides an umbrella under which multiple
-# documentation sets from a single provider (such as a company or product suite)
-# can be grouped.
+# This tag determines the name of the docset feed. A documentation feed provides
+# an umbrella under which multiple documentation sets from a single provider
+# (such as a company or product suite) can be grouped.
+# The default value is: Doxygen generated docs.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
 
 DOCSET_FEEDNAME        = "Doxygen generated docs"
 
-# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
-# should uniquely identify the documentation set bundle. This should be a
-# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
-# will append .docset to the name.
+# This tag specifies a string that should uniquely identify the documentation
+# set bundle. This should be a reverse domain-name style string, e.g.
+# com.mycompany.MyDocSet. Doxygen will append .docset to the name.
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
 
 DOCSET_BUNDLE_ID       = org.doxygen.Project
 
-# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify
+# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify
 # the documentation publisher. This should be a reverse domain-name style
 # string, e.g. com.mycompany.MyDocSet.documentation.
+# The default value is: org.doxygen.Publisher.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
 
 DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
 
-# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
+# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
+# The default value is: Publisher.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
 
 DOCSET_PUBLISHER_NAME  = Publisher
 
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files
-# will be generated that can be used as input for tools like the
-# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
-# of the generated HTML documentation.
+# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
+# additional HTML index files: index.hhp, index.hhc, and index.hhk. The
+# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
+# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on
+# Windows.
+#
+# The HTML Help Workshop contains a compiler that can convert all HTML output
+# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
+# files are now used as the Windows 98 help format, and will replace the old
+# Windows help format (.hlp) on all Windows platforms in the future. Compressed
+# HTML files also contain an index, a table of contents, and you can search for
+# words in the documentation. The HTML workshop also contains a viewer for
+# compressed HTML files.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
 
 GENERATE_HTMLHELP      = NO
 
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
-# be used to specify the file name of the resulting .chm file. You
-# can add a path in front of the file if the result should not be
+# The CHM_FILE tag can be used to specify the file name of the resulting .chm
+# file. You can add a path in front of the file if the result should not be
 # written to the html output directory.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
 
 CHM_FILE               =
 
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
-# be used to specify the location (absolute path including file name) of
-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
-# the HTML help compiler on the generated index.hhp.
+# The HHC_LOCATION tag can be used to specify the location (absolute path
+# including file name) of the HTML help compiler (hhc.exe). If non-empty,
+# doxygen will try to run the HTML help compiler on the generated index.hhp.
+# The file has to be specified with full path.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
 
 HHC_LOCATION           =
 
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
-# controls if a separate .chi index file is generated (YES) or that
-# it should be included in the master .chm file (NO).
+# The GENERATE_CHI flag controls if a separate .chi index file is generated
+# (YES) or that it should be included in the master .chm file (NO).
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
 
 GENERATE_CHI           = NO
 
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
-# is used to encode HtmlHelp index (hhk), content (hhc) and project file
-# content.
+# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc)
+# and project file content.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
 
 CHM_INDEX_ENCODING     =
 
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
-# controls whether a binary table of contents is generated (YES) or a
-# normal table of contents (NO) in the .chm file.
+# The BINARY_TOC flag controls whether a binary table of contents is generated
+# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it
+# enables the Previous and Next buttons.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
 
 BINARY_TOC             = NO
 
-# The TOC_EXPAND flag can be set to YES to add extra items for group members
-# to the contents of the HTML help documentation and to the tree view.
+# The TOC_EXPAND flag can be set to YES to add extra items for group members to
+# the table of contents of the HTML help documentation and to the tree view.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
 
 TOC_EXPAND             = NO
 
 # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
-# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated
-# that can be used as input for Qt's qhelpgenerator to generate a
-# Qt Compressed Help (.qch) of the generated HTML documentation.
+# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that
+# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help
+# (.qch) of the generated HTML documentation.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
 
 GENERATE_QHP           = NO
 
-# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
-# be used to specify the file name of the resulting .qch file.
-# The path specified is relative to the HTML output directory.
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify
+# the file name of the resulting .qch file. The path specified is relative to
+# the HTML output folder.
+# This tag requires that the tag GENERATE_QHP is set to YES.
 
 QCH_FILE               =
 
-# The QHP_NAMESPACE tag specifies the namespace to use when generating
-# Qt Help Project output. For more information please see
-# http://doc.trolltech.com/qthelpproject.html#namespace
+# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
+# Project output. For more information please see Qt Help Project / Namespace
+# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace).
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_QHP is set to YES.
 
 QHP_NAMESPACE          = org.doxygen.Project
 
-# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
-# Qt Help Project output. For more information please see
-# http://doc.trolltech.com/qthelpproject.html#virtual-directories
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
+# Help Project output. For more information please see Qt Help Project / Virtual
+# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual-
+# folders).
+# The default value is: doc.
+# This tag requires that the tag GENERATE_QHP is set to YES.
 
 QHP_VIRTUAL_FOLDER     = doc
 
-# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to
-# add. For more information please see
-# http://doc.trolltech.com/qthelpproject.html#custom-filters
+# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
+# filter to add. For more information please see Qt Help Project / Custom
+# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
+# filters).
+# This tag requires that the tag GENERATE_QHP is set to YES.
 
 QHP_CUST_FILTER_NAME   =
 
-# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the
-# custom filter to add. For more information please see
-# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">
-# Qt Help Project / Custom Filters</a>.
+# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
+# custom filter to add. For more information please see Qt Help Project / Custom
+# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
+# filters).
+# This tag requires that the tag GENERATE_QHP is set to YES.
 
 QHP_CUST_FILTER_ATTRS  =
 
 # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
-# project's
-# filter section matches.
-# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">
-# Qt Help Project / Filter Attributes</a>.
+# project's filter section matches. Qt Help Project / Filter Attributes (see:
+# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes).
+# This tag requires that the tag GENERATE_QHP is set to YES.
 
 QHP_SECT_FILTER_ATTRS  =
 
-# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
-# be used to specify the location of Qt's qhelpgenerator.
-# If non-empty doxygen will try to run qhelpgenerator on the generated
-# .qhp file.
+# The QHG_LOCATION tag can be used to specify the location of Qt's
+# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the
+# generated .qhp file.
+# This tag requires that the tag GENERATE_QHP is set to YES.
 
 QHG_LOCATION           =
 
-# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
-#  will be generated, which together with the HTML files, form an Eclipse help
-# plugin. To install this plugin and make it available under the help contents
-# menu in Eclipse, the contents of the directory containing the HTML and XML
-# files needs to be copied into the plugins directory of eclipse. The name of
-# the directory within the plugins directory should be the same as
-# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before
-# the help appears.
+# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be
+# generated, together with the HTML files, they form an Eclipse help plugin. To
+# install this plugin and make it available under the help contents menu in
+# Eclipse, the contents of the directory containing the HTML and XML files needs
+# to be copied into the plugins directory of eclipse. The name of the directory
+# within the plugins directory should be the same as the ECLIPSE_DOC_ID value.
+# After copying Eclipse needs to be restarted before the help appears.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
 
 GENERATE_ECLIPSEHELP   = NO
 
-# A unique identifier for the eclipse help plugin. When installing the plugin
-# the directory name containing the HTML and XML files should also have
-# this name.
+# A unique identifier for the Eclipse help plugin. When installing the plugin
+# the directory name containing the HTML and XML files should also have this
+# name. Each documentation set should have its own identifier.
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES.
 
 ECLIPSE_DOC_ID         = org.doxygen.Project
 
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs)
-# at top of each HTML page. The value NO (the default) enables the index and
-# the value YES disables it. Since the tabs have the same information as the
-# navigation tree you can set this option to NO if you already set
-# GENERATE_TREEVIEW to YES.
+# If you want full control over the layout of the generated HTML pages it might
+# be necessary to disable the index and replace it with your own. The
+# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top
+# of each HTML page. A value of NO enables the index and the value YES disables
+# it. Since the tabs in the index contain the same information as the navigation
+# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
 
 DISABLE_INDEX          = NO
 
-
 # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
-# structure should be generated to display hierarchical information.
-# If the tag value is set to YES, a side panel will be generated
-# containing a tree-like index structure (just like the one that
-# is generated for HTML Help). For this to work a browser that supports
-# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
-# Windows users are probably better off using the HTML help feature.
-# Since the tree basically has the same information as the tab index you
-# could consider to set DISABLE_INDEX to NO when enabling this option.
+# structure should be generated to display hierarchical information. If the tag
+# value is set to YES, a side panel will be generated containing a tree-like
+# index structure (just like the one that is generated for HTML Help). For this
+# to work a browser that supports JavaScript, DHTML, CSS and frames is required
+# (i.e. any modern browser). Windows users are probably better off using the
+# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can
+# further fine-tune the look of the index. As an example, the default style
+# sheet generated by doxygen has an example that shows how to put an image at
+# the root of the tree instead of the PROJECT_NAME. Since the tree basically has
+# the same information as the tab index, you could consider setting
+# DISABLE_INDEX to YES when enabling this option.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
 
 GENERATE_TREEVIEW      = NO
 
-# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values
-# (range [0,1..20]) that doxygen will group on one line in the generated HTML
-# documentation. Note that a value of 0 will completely suppress the enum
-# values from appearing in the overview section.
+# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
+# doxygen will group on one line in the generated HTML documentation.
+#
+# Note that a value of 0 will completely suppress the enum values from appearing
+# in the overview section.
+# Minimum value: 0, maximum value: 20, default value: 4.
+# This tag requires that the tag GENERATE_HTML is set to YES.
 
 ENUM_VALUES_PER_LINE   = 4
 
-# 1.6.3-1.7.4 SETTING
-# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
-# and Class Hierarchy pages using a tree view instead of an ordered list.
-
-USE_INLINE_TREES       = NO
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
-# used to set the initial width (in pixels) of the frame in which the tree
-# is shown.
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used
+# to set the initial width (in pixels) of the frame in which the tree is shown.
+# Minimum value: 0, maximum value: 1500, default value: 250.
+# This tag requires that the tag GENERATE_HTML is set to YES.
 
 TREEVIEW_WIDTH         = 250
 
-# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open
-# links to external symbols imported via tag files in a separate window.
+# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to
+# external symbols imported via tag files in a separate window.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
 
 EXT_LINKS_IN_WINDOW    = NO
 
-# Use this tag to change the font size of Latex formulas included
-# as images in the HTML documentation. The default is 10. Note that
-# when you change the font size after a successful doxygen run you need
-# to manually remove any form_*.png images from the HTML output directory
-# to force them to be regenerated.
+# Use this tag to change the font size of LaTeX formulas included as images in
+# the HTML documentation. When you change the font size after a successful
+# doxygen run you need to manually remove any form_*.png images from the HTML
+# output directory to force them to be regenerated.
+# Minimum value: 8, maximum value: 50, default value: 10.
+# This tag requires that the tag GENERATE_HTML is set to YES.
 
 FORMULA_FONTSIZE       = 10
 
 # Use the FORMULA_TRANPARENT tag to determine whether or not the images
-# generated for formulas are transparent PNGs. Transparent PNGs are
-# not supported properly for IE 6.0, but are supported on all modern browsers.
-# Note that when changing this option you need to delete any form_*.png files
-# in the HTML output before the changes have effect.
+# generated for formulas are transparent PNGs. Transparent PNGs are not
+# supported properly for IE 6.0, but are supported on all modern browsers.
+#
+# Note that when changing this option you need to delete any form_*.png files in
+# the HTML output directory before the changes have effect.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_HTML is set to YES.
 
 FORMULA_TRANSPARENT    = YES
 
-# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax
-# (see http://www.mathjax.org) which uses client side Javascript for the
-# rendering instead of using prerendered bitmaps. Use this if you do not
-# have LaTeX installed or if you want to formulas look prettier in the HTML
-# output. When enabled you may also need to install MathJax separately and
-# configure the path to it using the MATHJAX_RELPATH option.
+# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
+# http://www.mathjax.org) which uses client side Javascript for the rendering
+# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX
+# installed or if you want to formulas look prettier in the HTML output. When
+# enabled you may also need to install MathJax separately and configure the path
+# to it using the MATHJAX_RELPATH option.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
 
 USE_MATHJAX            = NO
 
-# When MathJax is enabled you need to specify the location relative to the
-# HTML output directory using the MATHJAX_RELPATH option. The destination
-# directory should contain the MathJax.js script. For instance, if the mathjax
-# directory is located at the same level as the HTML output directory, then
-# MATHJAX_RELPATH should be ../mathjax. The default value points to
-# the MathJax Content Delivery Network so you can quickly see the result without
-# installing MathJax.
-# However, it is strongly recommended to install a local
-# copy of MathJax from http://www.mathjax.org before deployment.
+# When MathJax is enabled you can set the default output format to be used for
+# the MathJax output. See the MathJax site (see:
+# http://docs.mathjax.org/en/latest/output.html) for more details.
+# Possible values are: HTML-CSS (which is slower, but has the best
+# compatibility), NativeMML (i.e. MathML) and SVG.
+# The default value is: HTML-CSS.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_FORMAT         = HTML-CSS
+
+# When MathJax is enabled you need to specify the location relative to the HTML
+# output directory using the MATHJAX_RELPATH option. The destination directory
+# should contain the MathJax.js script. For instance, if the mathjax directory
+# is located at the same level as the HTML output directory, then
+# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
+# Content Delivery Network so you can quickly see the result without installing
+# MathJax. However, it is strongly recommended to install a local copy of
+# MathJax from http://www.mathjax.org before deployment.
+# The default value is: http://cdn.mathjax.org/mathjax/latest.
+# This tag requires that the tag USE_MATHJAX is set to YES.
 
 MATHJAX_RELPATH        = http://cdn.mathjax.org/mathjax/latest
 
-# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension
-# names that should be enabled during MathJax rendering.
+# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
+# extension names that should be enabled during MathJax rendering. For example
+# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
+# This tag requires that the tag USE_MATHJAX is set to YES.
 
 MATHJAX_EXTENSIONS     =
 
-# When the SEARCHENGINE tag is enabled doxygen will generate a search box
-# for the HTML output. The underlying search engine uses javascript
-# and DHTML and should work on any modern browser. Note that when using
-# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets
-# (GENERATE_DOCSET) there is already a search function so this one should
-# typically be disabled. For large projects the javascript based search engine
-# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
+# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
+# of code that will be used on startup of the MathJax code. See the MathJax site
+# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an
+# example see the documentation.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_CODEFILE       =
+
+# When the SEARCHENGINE tag is enabled doxygen will generate a search box for
+# the HTML output. The underlying search engine uses javascript and DHTML and
+# should work on any modern browser. Note that when using HTML help
+# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET)
+# there is already a search function so this one should typically be disabled.
+# For large projects the javascript based search engine can be slow, then
+# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to
+# search using the keyboard; to jump to the search box use <access key> + S
+# (what the <access key> is depends on the OS and browser, but it is typically
+# <CTRL>, <ALT>/<option>, or both). Inside the search box use the <cursor down
+# key> to jump into the search results window, the results can be navigated
+# using the <cursor keys>. Press <Enter> to select an item or <escape> to cancel
+# the search. The filter options can be selected when the cursor is inside the
+# search box by pressing <Shift>+<cursor down>. Also here use the <cursor keys>
+# to select a filter and <Enter> or <escape> to activate or cancel the filter
+# option.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_HTML is set to YES.
 
 SEARCHENGINE           = YES
 
 # When the SERVER_BASED_SEARCH tag is enabled the search engine will be
-# implemented using a PHP enabled web server instead of at the web client
-# using Javascript. Doxygen will generate the search PHP script and index
-# file to put on the web server. The advantage of the server
-# based approach is that it scales better to large projects and allows
-# full text search. The disadvantages are that it is more difficult to setup
-# and does not have live searching capabilities.
+# implemented using a web server instead of a web client using Javascript. There
+# are two flavors of web server based searching depending on the EXTERNAL_SEARCH
+# setting. When disabled, doxygen will generate a PHP script for searching and
+# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing
+# and searching needs to be provided by external tools. See the section
+# "External Indexing and Searching" for details.
+# The default value is: NO.
+# This tag requires that the tag SEARCHENGINE is set to YES.
 
 SERVER_BASED_SEARCH    = NO
 
+# When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP
+# script for searching. Instead the search results are written to an XML file
+# which needs to be processed by an external indexer. Doxygen will invoke an
+# external search engine pointed to by the SEARCHENGINE_URL option to obtain the
+# search results.
+#
+# Doxygen ships with an example indexer (doxyindexer) and search engine
+# (doxysearch.cgi) which are based on the open source search engine library
+# Xapian (see: http://xapian.org/).
+#
+# See the section "External Indexing and Searching" for details.
+# The default value is: NO.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+EXTERNAL_SEARCH        = NO
+
+# The SEARCHENGINE_URL should point to a search engine hosted by a web server
+# which will return the search results when EXTERNAL_SEARCH is enabled.
+#
+# Doxygen ships with an example indexer (doxyindexer) and search engine
+# (doxysearch.cgi) which are based on the open source search engine library
+# Xapian (see: http://xapian.org/). See the section "External Indexing and
+# Searching" for details.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+SEARCHENGINE_URL       =
+
+# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed
+# search data is written to a file for indexing by an external tool. With the
+# SEARCHDATA_FILE tag the name of this file can be specified.
+# The default file is: searchdata.xml.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+SEARCHDATA_FILE        = searchdata.xml
+
+# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the
+# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
+# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple
+# projects and redirect the results back to the right project.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+EXTERNAL_SEARCH_ID     =
+
+# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
+# projects other than the one defined by this configuration file, but that are
+# all added to the same external search index. Each project needs to have a
+# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of
+# to a relative location where the documentation can be found. The format is:
+# EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+EXTRA_SEARCH_MAPPINGS  =
+
 #---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
+# Configuration options related to the LaTeX output
 #---------------------------------------------------------------------------
 
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
-# generate Latex output.
+# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.
+# The default value is: YES.
 
 GENERATE_LATEX         = NO
 
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `latex' will be used as the default path.
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: latex.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
 
 LATEX_OUTPUT           = latex
 
 # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-# invoked. If left blank `latex' will be used as the default command name.
-# Note that when enabling USE_PDFLATEX this option is only used for
-# generating bitmaps for formulas in the HTML output, but not in the
-# Makefile that is written to the output directory.
+# invoked.
+#
+# Note that when enabling USE_PDFLATEX this option is only used for generating
+# bitmaps for formulas in the HTML output, but not in the Makefile that is
+# written to the output directory.
+# The default file is: latex.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
 
 LATEX_CMD_NAME         = latex
 
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
-# generate index for LaTeX. If left blank `makeindex' will be used as the
-# default command name.
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
+# index for LaTeX.
+# The default file is: makeindex.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
 
 MAKEINDEX_CMD_NAME     = makeindex
 
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-# LaTeX documents. This may be useful for small projects and may help to
-# save some trees in general.
+# If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX
+# documents. This may be useful for small projects and may help to save some
+# trees in general.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
 
 COMPACT_LATEX          = NO
 
-# The PAPER_TYPE tag can be used to set the paper type that is used
-# by the printer. Possible values are: a4, letter, legal and
-# executive. If left blank a4wide will be used.
+# The PAPER_TYPE tag can be used to set the paper type that is used by the
+# printer.
+# Possible values are: a4 (210 x 297 mm), letter (8.5 x 11 inches), legal (8.5 x
+# 14 inches) and executive (7.25 x 10.5 inches).
+# The default value is: a4.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
 
 PAPER_TYPE             = a4wide
 
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
-# packages that should be included in the LaTeX output.
+# The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
+# that should be included in the LaTeX output. The package can be specified just
+# by its name or with the correct syntax as to be used with the LaTeX
+# \usepackage command. To get the times font for instance you can specify :
+# EXTRA_PACKAGES=times or EXTRA_PACKAGES={times}
+# To use the option intlimits with the amsmath package you can specify:
+# EXTRA_PACKAGES=[intlimits]{amsmath}
+# If left blank no extra packages will be included.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
 
 EXTRA_PACKAGES         = $(WM_PROJECT_DIR)/doc/Doxygen/Macros/tensorOperator
 
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
-# the generated latex document. The header should contain everything until
-# the first chapter. If it is left blank doxygen will generate a
-# standard header. Notice: only use this tag if you know what you are doing!
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the
+# generated LaTeX document. The header should contain everything until the first
+# chapter. If it is left blank doxygen will generate a standard header. See
+# section "Doxygen usage" for information on how to let doxygen write the
+# default header to a separate file.
+#
+# Note: Only use a user-defined header if you know what you are doing! The
+# following commands have a special meaning inside the header: $title,
+# $datetime, $date, $doxygenversion, $projectname, $projectnumber,
+# $projectbrief, $projectlogo. Doxygen will replace $title with the empty
+# string, for the replacement values of the other commands the user is referred
+# to HTML_HEADER.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
 
 LATEX_HEADER           =
 
-# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for
-# the generated latex document. The footer should contain everything after
-# the last chapter. If it is left blank doxygen will generate a
-# standard footer. Notice: only use this tag if you know what you are doing!
+# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the
+# generated LaTeX document. The footer should contain everything after the last
+# chapter. If it is left blank doxygen will generate a standard footer. See
+# LATEX_HEADER for more information on how to generate a default footer and what
+# special commands can be used inside the footer.
+#
+# Note: Only use a user-defined footer if you know what you are doing!
+# This tag requires that the tag GENERATE_LATEX is set to YES.
 
 LATEX_FOOTER           =
 
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will
-# contain links (just like the HTML output) instead of page references
-# This makes the output suitable for online browsing using a pdf viewer.
+# The LATEX_EXTRA_STYLESHEET tag can be used to specify additional user-defined
+# LaTeX style sheets that are included after the standard style sheets created
+# by doxygen. Using this option one can overrule certain style aspects. Doxygen
+# will copy the style sheet files to the output directory.
+# Note: The order of the extra style sheet files is of importance (e.g. the last
+# style sheet in the list overrules the setting of the previous ones in the
+# list).
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_EXTRA_STYLESHEET =
+
+# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or
+# other source files which should be copied to the LATEX_OUTPUT output
+# directory. Note that the files will be copied as-is; there are no commands or
+# markers available.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_EXTRA_FILES      =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is
+# prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will
+# contain links (just like the HTML output) instead of page references. This
+# makes the output suitable for online browsing using a PDF viewer.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
 
 PDF_HYPERLINKS         = YES
 
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
-# plain latex in the generated Makefile. Set this option to YES to get a
+# If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
+# the PDF file directly from the LaTeX files. Set this option to YES, to get a
 # higher quality PDF documentation.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
 
 USE_PDFLATEX           = YES
 
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
-# command to the generated LaTeX files. This will instruct LaTeX to keep
-# running if errors occur, instead of asking the user for help.
-# This option is also used when generating formulas in HTML.
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode
+# command to the generated LaTeX files. This will instruct LaTeX to keep running
+# if errors occur, instead of asking the user for help. This option is also used
+# when generating formulas in HTML.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
 
 LATEX_BATCHMODE        = NO
 
-# If LATEX_HIDE_INDICES is set to YES then doxygen will not
-# include the index chapters (such as File Index, Compound Index, etc.)
-# in the output.
+# If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the
+# index chapters (such as File Index, Compound Index, etc.) in the output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
 
 LATEX_HIDE_INDICES     = NO
 
-# If LATEX_SOURCE_CODE is set to YES then doxygen will include
-# source code with syntax highlighting in the LaTeX output.
-# Note that which sources are shown also depends on other settings
-# such as SOURCE_BROWSER.
+# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source
+# code with syntax highlighting in the LaTeX output.
+#
+# Note that which sources are shown also depends on other settings such as
+# SOURCE_BROWSER.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
 
 LATEX_SOURCE_CODE      = NO
 
 # The LATEX_BIB_STYLE tag can be used to specify the style to use for the
-# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See
-# http://en.wikipedia.org/wiki/BibTeX for more info.
+# bibliography, e.g. plainnat, or ieeetr. See
+# http://en.wikipedia.org/wiki/BibTeX and \cite for more info.
+# The default value is: plain.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
 
 LATEX_BIB_STYLE        = plain
 
 #---------------------------------------------------------------------------
-# configuration options related to the RTF output
+# Configuration options related to the RTF output
 #---------------------------------------------------------------------------
 
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
-# The RTF output is optimized for Word 97 and may not look very pretty with
-# other RTF readers or editors.
+# If the GENERATE_RTF tag is set to YES, doxygen will generate RTF output. The
+# RTF output is optimized for Word 97 and may not look too pretty with other RTF
+# readers/editors.
+# The default value is: NO.
 
 GENERATE_RTF           = NO
 
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `rtf' will be used as the default path.
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: rtf.
+# This tag requires that the tag GENERATE_RTF is set to YES.
 
 RTF_OUTPUT             = rtf
 
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
-# RTF documents. This may be useful for small projects and may help to
-# save some trees in general.
+# If the COMPACT_RTF tag is set to YES, doxygen generates more compact RTF
+# documents. This may be useful for small projects and may help to save some
+# trees in general.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_RTF is set to YES.
 
 COMPACT_RTF            = NO
 
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
-# will contain hyperlink fields. The RTF file will
-# contain links (just like the HTML output) instead of page references.
-# This makes the output suitable for online browsing using WORD or other
-# programs which support those fields.
-# Note: wordpad (write) and others do not support links.
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will
+# contain hyperlink fields. The RTF file will contain links (just like the HTML
+# output) instead of page references. This makes the output suitable for online
+# browsing using Word or some other Word compatible readers that support those
+# fields.
+#
+# Note: WordPad (write) and others do not support links.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_RTF is set to YES.
 
 RTF_HYPERLINKS         = NO
 
-# Load style sheet definitions from file. Syntax is similar to doxygen's
-# config file, i.e. a series of assignments. You only have to provide
-# replacements, missing definitions are set to their default value.
+# Load stylesheet definitions from file. Syntax is similar to doxygen's config
+# file, i.e. a series of assignments. You only have to provide replacements,
+# missing definitions are set to their default value.
+#
+# See also section "Doxygen usage" for information on how to generate the
+# default style sheet that doxygen normally uses.
+# This tag requires that the tag GENERATE_RTF is set to YES.
 
 RTF_STYLESHEET_FILE    =
 
-# Set optional variables used in the generation of an rtf document.
-# Syntax is similar to doxygen's config file.
+# Set optional variables used in the generation of an RTF document. Syntax is
+# similar to doxygen's config file. A template extensions file can be generated
+# using doxygen -e rtf extensionFile.
+# This tag requires that the tag GENERATE_RTF is set to YES.
 
 RTF_EXTENSIONS_FILE    =
 
+# If the RTF_SOURCE_CODE tag is set to YES then doxygen will include source code
+# with syntax highlighting in the RTF output.
+#
+# Note that which sources are shown also depends on other settings such as
+# SOURCE_BROWSER.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_SOURCE_CODE        = NO
+
 #---------------------------------------------------------------------------
-# configuration options related to the man page output
+# Configuration options related to the man page output
 #---------------------------------------------------------------------------
 
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
-# generate man pages
+# If the GENERATE_MAN tag is set to YES, doxygen will generate man pages for
+# classes and files.
+# The default value is: NO.
 
 GENERATE_MAN           = NO
 
-# The MAN_OUTPUT tag is used to specify where the man pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `man' will be used as the default path.
+# The MAN_OUTPUT tag is used to specify where the man pages will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it. A directory man3 will be created inside the directory specified by
+# MAN_OUTPUT.
+# The default directory is: man.
+# This tag requires that the tag GENERATE_MAN is set to YES.
 
 MAN_OUTPUT             = man
 
-# The MAN_EXTENSION tag determines the extension that is added to
-# the generated man pages (default is the subroutine's section .3)
+# The MAN_EXTENSION tag determines the extension that is added to the generated
+# man pages. In case the manual section does not start with a number, the number
+# 3 is prepended. The dot (.) at the beginning of the MAN_EXTENSION tag is
+# optional.
+# The default value is: .3.
+# This tag requires that the tag GENERATE_MAN is set to YES.
 
 MAN_EXTENSION          = .3
 
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
-# then it will generate one additional man file for each entity
-# documented in the real man page(s). These additional files
-# only source the real man page, but without them the man command
-# would be unable to find the correct page. The default is NO.
+# The MAN_SUBDIR tag determines the name of the directory created within
+# MAN_OUTPUT in which the man pages are placed. If defaults to man followed by
+# MAN_EXTENSION with the initial . removed.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_SUBDIR             =
+
+# If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
+# will generate one additional man file for each entity documented in the real
+# man page(s). These additional files only source the real man page, but without
+# them the man command would be unable to find the correct page.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_MAN is set to YES.
 
 MAN_LINKS              = NO
 
 #---------------------------------------------------------------------------
-# configuration options related to the XML output
+# Configuration options related to the XML output
 #---------------------------------------------------------------------------
 
-# If the GENERATE_XML tag is set to YES Doxygen will
-# generate an XML file that captures the structure of
-# the code including all documentation.
+# If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that
+# captures the structure of the code including all documentation.
+# The default value is: NO.
 
 GENERATE_XML           = NO
 
-# The XML_OUTPUT tag is used to specify where the XML pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `xml' will be used as the default path.
+# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: xml.
+# This tag requires that the tag GENERATE_XML is set to YES.
 
 XML_OUTPUT             = xml
 
-# The XML_SCHEMA tag can be used to specify an XML schema,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
+# If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program
+# listings (including syntax highlighting and cross-referencing information) to
+# the XML output. Note that enabling this will significantly increase the size
+# of the XML output.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_XML is set to YES.
 
-XML_SCHEMA             =
+XML_PROGRAMLISTING     = YES
 
-# The XML_DTD tag can be used to specify an XML DTD,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
+#---------------------------------------------------------------------------
+# Configuration options related to the DOCBOOK output
+#---------------------------------------------------------------------------
 
-XML_DTD                =
+# If the GENERATE_DOCBOOK tag is set to YES, doxygen will generate Docbook files
+# that can be used to generate PDF.
+# The default value is: NO.
 
-# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
-# dump the program listings (including syntax highlighting
-# and cross-referencing information) to the XML output. Note that
-# enabling this will significantly increase the size of the XML output.
+GENERATE_DOCBOOK       = NO
 
-XML_PROGRAMLISTING     = YES
+# The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in
+# front of it.
+# The default directory is: docbook.
+# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
+
+DOCBOOK_OUTPUT         = docbook
+
+# If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the
+# program listings (including syntax highlighting and cross-referencing
+# information) to the DOCBOOK output. Note that enabling this will significantly
+# increase the size of the DOCBOOK output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
+
+DOCBOOK_PROGRAMLISTING = NO
 
 #---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
+# Configuration options for the AutoGen Definitions output
 #---------------------------------------------------------------------------
 
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
-# generate an AutoGen Definitions (see autogen.sf.net) file
-# that captures the structure of the code including all
-# documentation. Note that this feature is still experimental
-# and incomplete at the moment.
+# If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an
+# AutoGen Definitions (see http://autogen.sf.net) file that captures the
+# structure of the code including all documentation. Note that this feature is
+# still experimental and incomplete at the moment.
+# The default value is: NO.
 
 GENERATE_AUTOGEN_DEF   = NO
 
 #---------------------------------------------------------------------------
-# configuration options related to the Perl module output
+# Configuration options related to the Perl module output
 #---------------------------------------------------------------------------
 
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will
-# generate a Perl module file that captures the structure of
-# the code including all documentation. Note that this
-# feature is still experimental and incomplete at the
-# moment.
+# If the GENERATE_PERLMOD tag is set to YES, doxygen will generate a Perl module
+# file that captures the structure of the code including all documentation.
+#
+# Note that this feature is still experimental and incomplete at the moment.
+# The default value is: NO.
 
 GENERATE_PERLMOD       = NO
 
-# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
-# the necessary Makefile rules, Perl scripts and LaTeX code to be able
-# to generate PDF and DVI output from the Perl module output.
+# If the PERLMOD_LATEX tag is set to YES, doxygen will generate the necessary
+# Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI
+# output from the Perl module output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_PERLMOD is set to YES.
 
 PERLMOD_LATEX          = NO
 
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
-# nicely formatted so it can be parsed by a human reader.
-# This is useful
-# if you want to understand what is going on.
-# On the other hand, if this
-# tag is set to NO the size of the Perl module output will be much smaller
-# and Perl will parse it just the same.
+# If the PERLMOD_PRETTY tag is set to YES, the Perl module output will be nicely
+# formatted so it can be parsed by a human reader. This is useful if you want to
+# understand what is going on. On the other hand, if this tag is set to NO, the
+# size of the Perl module output will be much smaller and Perl will parse it
+# just the same.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_PERLMOD is set to YES.
 
 PERLMOD_PRETTY         = YES
 
-# The names of the make variables in the generated doxyrules.make file
-# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
-# This is useful so different doxyrules.make files included by the same
-# Makefile don't overwrite each other's variables.
+# The names of the make variables in the generated doxyrules.make file are
+# prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. This is useful
+# so different doxyrules.make files included by the same Makefile don't
+# overwrite each other's variables.
+# This tag requires that the tag GENERATE_PERLMOD is set to YES.
 
 PERLMOD_MAKEVAR_PREFIX =
 
@@ -1503,106 +1948,129 @@ PERLMOD_MAKEVAR_PREFIX =
 # Configuration options related to the preprocessor
 #---------------------------------------------------------------------------
 
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
-# evaluate all C-preprocessor directives found in the sources and include
-# files.
+# If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all
+# C-preprocessor directives found in the sources and include files.
+# The default value is: YES.
 
 ENABLE_PREPROCESSING   = YES
 
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
-# names in the source code. If set to NO (the default) only conditional
-# compilation will be performed. Macro expansion can be done in a controlled
-# way by setting EXPAND_ONLY_PREDEF to YES.
+# If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names
+# in the source code. If set to NO, only conditional compilation will be
+# performed. Macro expansion can be done in a controlled way by setting
+# EXPAND_ONLY_PREDEF to YES.
+# The default value is: NO.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
 
 MACRO_EXPANSION        = YES
 
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
-# then the macro expansion is limited to the macros specified with the
-# PREDEFINED and EXPAND_AS_DEFINED tags.
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then
+# the macro expansion is limited to the macros specified with the PREDEFINED and
+# EXPAND_AS_DEFINED tags.
+# The default value is: NO.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
 
 EXPAND_ONLY_PREDEF     = NO
 
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
-# pointed to by INCLUDE_PATH will be searched when a #include is found.
+# If the SEARCH_INCLUDES tag is set to YES, the include files in the
+# INCLUDE_PATH will be searched if a #include is found.
+# The default value is: YES.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
 
 SEARCH_INCLUDES        = NO
 
 # The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by
-# the preprocessor.
+# contain include files that are not input files but should be processed by the
+# preprocessor.
+# This tag requires that the tag SEARCH_INCLUDES is set to YES.
 
 INCLUDE_PATH           =
 
 # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
 # patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will
-# be used.
+# directories. If left blank, the patterns specified with FILE_PATTERNS will be
+# used.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
 
 INCLUDE_FILE_PATTERNS  =
 
-# The PREDEFINED tag can be used to specify one or more macro names that
-# are defined before the preprocessor is started (similar to the -D option of
-# gcc). The argument of the tag is a list of macros of the form: name
-# or name=definition (no spaces). If the definition and the = are
-# omitted =1 is assumed. To prevent a macro definition from being
-# undefined via #undef or recursively expanded use the := operator
-# instead of the = operator.
+# The PREDEFINED tag can be used to specify one or more macro names that are
+# defined before the preprocessor is started (similar to the -D option of e.g.
+# gcc). The argument of the tag is a list of macros of the form: name or
+# name=definition (no spaces). If the definition and the "=" are omitted, "=1"
+# is assumed. To prevent a macro definition from being undefined via #undef or
+# recursively expanded use the := operator instead of the = operator.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
 
 PREDEFINED             =
 
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
-# this tag can be used to specify a list of macro names that should be expanded.
-# The macro definition that is found in the sources will be used.
-# Use the PREDEFINED tag if you want to use a different macro definition that
-# overrules the definition found in the source code.
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
+# tag can be used to specify a list of macro names that should be expanded. The
+# macro definition that is found in the sources will be used. Use the PREDEFINED
+# tag if you want to use a different macro definition that overrules the
+# definition found in the source code.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
 
 EXPAND_AS_DEFINED      =
 
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
-# doxygen's preprocessor will remove all references to function-like macros
-# that are alone on a line, have an all uppercase name, and do not end with a
-# semicolon, because these will confuse the parser if not removed.
+# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
+# remove all references to function-like macros that are alone on a line, have
+# an all uppercase name, and do not end with a semicolon. Such function macros
+# are typically used for boiler-plate code, and will confuse the parser if not
+# removed.
+# The default value is: YES.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
 
 SKIP_FUNCTION_MACROS   = YES
 
 #---------------------------------------------------------------------------
-# Configuration::additions related to external references
+# Configuration options related to external references
 #---------------------------------------------------------------------------
 
-# The TAGFILES option can be used to specify one or more tagfiles. For each
-# tag file the location of the external documentation should be added. The
-# format of a tag file without this location is as follows:
-#
+# The TAGFILES tag can be used to specify one or more tag files. For each tag
+# file the location of the external documentation should be added. The format of
+# a tag file without this location is as follows:
 # TAGFILES = file1 file2 ...
 # Adding location for the tag files is done as follows:
-#
 # TAGFILES = file1=loc1 "file2 = loc2" ...
-# where "loc1" and "loc2" can be relative or absolute paths
-# or URLs. Note that each tag file must have a unique name (where the name does
-# NOT include the path). If a tag file is not located in the directory in which
-# doxygen is run, you must also specify the path to the tagfile here.
+# where loc1 and loc2 can be relative or absolute paths or URLs. See the
+# section "Linking to external documentation" for more information about the use
+# of tag files.
+# Note: Each tag file must have a unique name (where the name does NOT include
+# the path). If a tag file is not located in the directory in which doxygen is
+# run, you must also specify the path to the tagfile here.
 
 TAGFILES               =
 
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create
-# a tag file that is based on the input files it reads.
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create a
+# tag file that is based on the input files it reads. See section "Linking to
+# external documentation" for more information about the usage of tag files.
 
 GENERATE_TAGFILE       = DTAGS
 
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed
-# in the class index. If set to NO only the inherited external classes
-# will be listed.
+# If the ALLEXTERNALS tag is set to YES, all external class will be listed in
+# the class index. If set to NO, only the inherited external classes will be
+# listed.
+# The default value is: NO.
 
 ALLEXTERNALS           = YES
 
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will
-# be listed.
+# If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will be
+# listed.
+# The default value is: YES.
 
 EXTERNAL_GROUPS        = YES
 
+# If the EXTERNAL_PAGES tag is set to YES, all external pages will be listed in
+# the related pages index. If set to NO, only the current project's pages will
+# be listed.
+# The default value is: YES.
+
+EXTERNAL_PAGES         = YES
+
 # The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
+# interpreter (i.e. the result of 'which perl').
+# The default file (with absolute path) is: /usr/bin/perl.
 
 PERL_PATH              = /usr/bin/perl
 
@@ -1610,222 +2078,312 @@ PERL_PATH              = /usr/bin/perl
 # Configuration options related to the dot tool
 #---------------------------------------------------------------------------
 
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
-# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
-# or super classes. Setting the tag to NO turns the diagrams off. Note that
-# this option also works with HAVE_DOT disabled, but it is recommended to
-# install and use dot, since it yields more powerful graphs.
+# If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram
+# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to
+# NO turns the diagrams off. Note that this option also works with HAVE_DOT
+# disabled, but it is recommended to install and use dot, since it yields more
+# powerful graphs.
+# The default value is: YES.
 
 CLASS_DIAGRAMS         = YES
 
 # You can define message sequence charts within doxygen comments using the \msc
-# command. Doxygen will then run the mscgen tool (see
-# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
+# command. Doxygen will then run the mscgen tool (see:
+# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the
 # documentation. The MSCGEN_PATH tag allows you to specify the directory where
 # the mscgen tool resides. If left empty the tool is assumed to be found in the
 # default search path.
 
 MSCGEN_PATH            =
 
-# If set to YES, the inheritance and collaboration graphs will hide
-# inheritance and usage relations if the target is undocumented
-# or is not a class.
+# You can include diagrams made with dia in doxygen documentation. Doxygen will
+# then run dia to produce the diagram and insert it in the documentation. The
+# DIA_PATH tag allows you to specify the directory where the dia binary resides.
+# If left empty dia is assumed to be found in the default search path.
+
+DIA_PATH               =
+
+# If set to YES the inheritance and collaboration graphs will hide inheritance
+# and usage relations if the target is undocumented or is not a class.
+# The default value is: YES.
 
 HIDE_UNDOC_RELATIONS   = YES
 
 # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz, a graph visualization
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section
-# have no effect if this option is set to NO (the default)
+# available from the path. This tool is part of Graphviz (see:
+# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
+# Bell Labs. The other options in this section have no effect if this option is
+# set to NO
+# The default value is: NO.
 
 HAVE_DOT               = YES
 
-# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is
-# allowed to run in parallel. When set to 0 (the default) doxygen will
-# base this on the number of processors available in the system. You can set it
-# explicitly to a value larger than 0 to get control over the balance
-# between CPU load and processing speed.
+# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed
+# to run in parallel. When set to 0 doxygen will base this on the number of
+# processors available in the system. You can set it explicitly to a value
+# larger than 0 to get control over the balance between CPU load and processing
+# speed.
+# Minimum value: 0, maximum value: 32, default value: 0.
+# This tag requires that the tag HAVE_DOT is set to YES.
 
 DOT_NUM_THREADS        = 0
 
-# By default doxygen will use the Helvetica font for all dot files that
-# doxygen generates. When you want a differently looking font you can specify
-# the font name using DOT_FONTNAME. You need to make sure dot is able to find
-# the font, which can be done by putting it in a standard location or by setting
-# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the
-# directory containing the font.
+# When you want a differently looking font in the dot files that doxygen
+# generates you can specify the font name using DOT_FONTNAME. You need to make
+# sure dot is able to find the font, which can be done by putting it in a
+# standard location or by setting the DOTFONTPATH environment variable or by
+# setting DOT_FONTPATH to the directory containing the font.
+# The default value is: Helvetica.
+# This tag requires that the tag HAVE_DOT is set to YES.
 
-DOT_FONTNAME           = FreeSans
+DOT_FONTNAME           =
 
-# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
-# The default size is 10pt.
+# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
+# dot graphs.
+# Minimum value: 4, maximum value: 24, default value: 10.
+# This tag requires that the tag HAVE_DOT is set to YES.
 
 DOT_FONTSIZE           = 10
 
-# By default doxygen will tell dot to use the Helvetica font.
-# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to
-# set the path where dot can find it.
+# By default doxygen will tell dot to use the default font as specified with
+# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set
+# the path where dot can find it using this tag.
+# This tag requires that the tag HAVE_DOT is set to YES.
 
 DOT_FONTPATH           =
 
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect inheritance relations. Setting this tag to YES will force the
-# CLASS_DIAGRAMS tag to NO.
+# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for
+# each documented class showing the direct and indirect inheritance relations.
+# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
 
 CLASS_GRAPH            = YES
 
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect implementation dependencies (inheritance, containment, and
-# class references variables) of the class with other documented classes.
+# If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a
+# graph for each documented class showing the direct and indirect implementation
+# dependencies (inheritance, containment, and class references variables) of the
+# class with other documented classes.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
 
 COLLABORATION_GRAPH    = YES
 
-# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for groups, showing the direct groups dependencies
+# If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for
+# groups, showing the direct groups dependencies.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
 
 GROUP_GRAPHS           = YES
 
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# If the UML_LOOK tag is set to YES, doxygen will generate inheritance and
 # collaboration diagrams in a style similar to the OMG's Unified Modeling
 # Language.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
 
 UML_LOOK               = NO
 
-# If the UML_LOOK tag is enabled, the fields and methods are shown inside
-# the class node. If there are many fields or methods and many nodes the
-# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS
-# threshold limits the number of items for each type to make the size more
-# managable. Set this to 0 for no limit. Note that the threshold may be
-# exceeded by 50% before the limit is enforced.
+# If the UML_LOOK tag is enabled, the fields and methods are shown inside the
+# class node. If there are many fields or methods and many nodes the graph may
+# become too big to be useful. The UML_LIMIT_NUM_FIELDS threshold limits the
+# number of items for each type to make the size more manageable. Set this to 0
+# for no limit. Note that the threshold may be exceeded by 50% before the limit
+# is enforced. So when you set the threshold to 10, up to 15 fields may appear,
+# but if the number exceeds 15, the total amount of fields shown is limited to
+# 10.
+# Minimum value: 0, maximum value: 100, default value: 10.
+# This tag requires that the tag HAVE_DOT is set to YES.
 
 UML_LIMIT_NUM_FIELDS   = 10
 
-# If set to YES, the inheritance and collaboration graphs will show the
-# relations between templates and their instances.
+# If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and
+# collaboration graphs will show the relations between templates and their
+# instances.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
 
 TEMPLATE_RELATIONS     = YES
 
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
-# tags are set to YES then doxygen will generate a graph for each documented
-# file showing the direct and indirect include dependencies of the file with
-# other documented files.
+# If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to
+# YES then doxygen will generate a graph for each documented file showing the
+# direct and indirect include dependencies of the file with other documented
+# files.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
 
 INCLUDE_GRAPH          = YES
 
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
-# documented header file showing the documented files that directly or
-# indirectly include this file.
+# If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are
+# set to YES then doxygen will generate a graph for each documented file showing
+# the direct and indirect include dependencies of the file with other documented
+# files.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
 
 INCLUDED_BY_GRAPH      = YES
 
-# If the CALL_GRAPH and HAVE_DOT options are set to YES then
-# doxygen will generate a call dependency graph for every global function
-# or class method. Note that enabling this option will significantly increase
-# the time of a run. So in most cases it will be better to enable call graphs
-# for selected functions only using the \callgraph command.
+# If the CALL_GRAPH tag is set to YES then doxygen will generate a call
+# dependency graph for every global function or class method.
+#
+# Note that enabling this option will significantly increase the time of a run.
+# So in most cases it will be better to enable call graphs for selected
+# functions only using the \callgraph command. Disabling a call graph can be
+# accomplished by means of the command \hidecallgraph.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
 
 CALL_GRAPH             = YES
 
-# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
-# doxygen will generate a caller dependency graph for every global function
-# or class method. Note that enabling this option will significantly increase
-# the time of a run. So in most cases it will be better to enable caller
-# graphs for selected functions only using the \callergraph command.
+# If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller
+# dependency graph for every global function or class method.
+#
+# Note that enabling this option will significantly increase the time of a run.
+# So in most cases it will be better to enable caller graphs for selected
+# functions only using the \callergraph command. Disabling a caller graph can be
+# accomplished by means of the command \hidecallergraph.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
 
 CALLER_GRAPH           = YES
 
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
-# will generate a graphical hierarchy of all classes instead of a textual one.
+# If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical
+# hierarchy of all classes instead of a textual one.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
 
 GRAPHICAL_HIERARCHY    = YES
 
-# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES
-# then doxygen will show the dependencies a directory has on other directories
-# in a graphical way. The dependency relations are determined by the #include
-# relations between the files in the directories.
+# If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the
+# dependencies a directory has on other directories in a graphical way. The
+# dependency relations are determined by the #include relations between the
+# files in the directories.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
 
 DIRECTORY_GRAPH        = YES
 
 # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-# generated by dot. Possible values are svg, png, jpg, or gif.
-# If left blank png will be used. If you choose svg you need to set
-# HTML_FILE_EXTENSION to xhtml in order to make the SVG files
-# visible in IE 9+ (other browsers do not have this requirement).
+# generated by dot. For an explanation of the image formats see the section
+# output formats in the documentation of the dot tool (Graphviz (see:
+# http://www.graphviz.org/)).
+# Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
+# to make the SVG files visible in IE 9+ (other browsers do not have this
+# requirement).
+# Possible values are: png, jpg, gif, svg, png:gd, png:gd:gd, png:cairo,
+# png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and
+# png:gdiplus:gdiplus.
+# The default value is: png.
+# This tag requires that the tag HAVE_DOT is set to YES.
 
 DOT_IMAGE_FORMAT       = png
 
 # If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
 # enable generation of interactive SVG images that allow zooming and panning.
-# Note that this requires a modern browser other than Internet Explorer.
-# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you
-# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files
-# visible. Older versions of IE do not have SVG support.
+#
+# Note that this requires a modern browser other than Internet Explorer. Tested
+# and working are Firefox, Chrome, Safari, and Opera.
+# Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make
+# the SVG files visible. Older versions of IE do not have SVG support.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
 
 INTERACTIVE_SVG        = NO
 
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# The DOT_PATH tag can be used to specify the path where the dot tool can be
 # found. If left blank, it is assumed the dot tool can be found in the path.
+# This tag requires that the tag HAVE_DOT is set to YES.
 
 DOT_PATH               =
 
 # The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the
-# \dotfile command).
+# contain dot files that are included in the documentation (see the \dotfile
+# command).
+# This tag requires that the tag HAVE_DOT is set to YES.
 
 DOTFILE_DIRS           =
 
 # The MSCFILE_DIRS tag can be used to specify one or more directories that
-# contain msc files that are included in the documentation (see the
-# \mscfile command).
+# contain msc files that are included in the documentation (see the \mscfile
+# command).
 
 MSCFILE_DIRS           =
 
-# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
-# nodes that will be shown in the graph. If the number of nodes in a graph
-# becomes larger than this value, doxygen will truncate the graph, which is
-# visualized by representing a node as a red box. Note that doxygen if the
-# number of direct children of the root node in a graph is already larger than
-# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
-# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+# The DIAFILE_DIRS tag can be used to specify one or more directories that
+# contain dia files that are included in the documentation (see the \diafile
+# command).
+
+DIAFILE_DIRS           =
+
+# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the
+# path where java can find the plantuml.jar file. If left blank, it is assumed
+# PlantUML is not used or called during a preprocessing step. Doxygen will
+# generate a warning when it encounters a \startuml command in this case and
+# will not generate output for the diagram.
+
+PLANTUML_JAR_PATH      =
+
+# When using plantuml, the specified paths are searched for files specified by
+# the !include statement in a plantuml block.
+
+PLANTUML_INCLUDE_PATH  =
+
+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
+# that will be shown in the graph. If the number of nodes in a graph becomes
+# larger than this value, doxygen will truncate the graph, which is visualized
+# by representing a node as a red box. Note that doxygen if the number of direct
+# children of the root node in a graph is already larger than
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that
+# the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+# Minimum value: 0, maximum value: 10000, default value: 50.
+# This tag requires that the tag HAVE_DOT is set to YES.
 
 DOT_GRAPH_MAX_NODES    = 50
 
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
-# graphs generated by dot. A depth value of 3 means that only nodes reachable
-# from the root by following a path via at most 3 edges will be shown. Nodes
-# that lay further from the root node will be omitted. Note that setting this
-# option to 1 or 2 may greatly reduce the computation time needed for large
-# code bases. Also note that the size of a graph can be further restricted by
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs
+# generated by dot. A depth value of 3 means that only nodes reachable from the
+# root by following a path via at most 3 edges will be shown. Nodes that lay
+# further from the root node will be omitted. Note that setting this option to 1
+# or 2 may greatly reduce the computation time needed for large code bases. Also
+# note that the size of a graph can be further restricted by
 # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+# Minimum value: 0, maximum value: 1000, default value: 0.
+# This tag requires that the tag HAVE_DOT is set to YES.
 
 MAX_DOT_GRAPH_DEPTH    = 1
 
 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
-# background. This is disabled by default, because dot on Windows does not
-# seem to support this out of the box. Warning: Depending on the platform used,
-# enabling this option may lead to badly anti-aliased labels on the edges of
-# a graph (i.e. they become hard to read).
+# background. This is disabled by default, because dot on Windows does not seem
+# to support this out of the box.
+#
+# Warning: Depending on the platform used, enabling this option may lead to
+# badly anti-aliased labels on the edges of a graph (i.e. they become hard to
+# read).
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
 
 DOT_TRANSPARENT        = YES
 
-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
+# Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output
 # files in one run (i.e. multiple -o and -T options on the command line). This
-# makes dot run faster, but since only newer versions of dot (>1.8.10)
-# support this, this feature is disabled by default.
+# makes dot run faster, but since only newer versions of dot (>1.8.10) support
+# this, this feature is disabled by default.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
 
 DOT_MULTI_TARGETS      = YES
 
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
-# generate a legend page explaining the meaning of the various boxes and
-# arrows in the dot generated graphs.
+# If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page
+# explaining the meaning of the various boxes and arrows in the dot generated
+# graphs.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
 
 GENERATE_LEGEND        = YES
 
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
-# remove the intermediate dot files that are used to generate
-# the various graphs.
+# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot
+# files that are used to generate the various graphs.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
 
 DOT_CLEANUP            = NO
-- 
GitLab


From c84187f7fd0c3ce13276be59484035965ade8b4a Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sat, 31 Oct 2015 17:55:59 +0000
Subject: [PATCH 038/141] subsetMesh/Make/options: removed unused entries
 Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1886

---
 .../utilities/mesh/manipulation/subsetMesh/Make/options        | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/applications/utilities/mesh/manipulation/subsetMesh/Make/options b/applications/utilities/mesh/manipulation/subsetMesh/Make/options
index 52519d4f3b3..969020c4afa 100644
--- a/applications/utilities/mesh/manipulation/subsetMesh/Make/options
+++ b/applications/utilities/mesh/manipulation/subsetMesh/Make/options
@@ -1,11 +1,8 @@
 EXE_INC = \
-    -IcellSelection \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/dynamicMesh/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude
 
 EXE_LIBS = \
     -lfiniteVolume \
-    -ldynamicMesh \
     -lmeshTools \
     -lgenericPatchFields
-- 
GitLab


From ef07a81610e328575ae3a4aa16e08a58cc306003 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sat, 31 Oct 2015 18:27:38 +0000
Subject: [PATCH 039/141] equationOfState/Boussinesq: New equation of state for
 the Boussinesq approximation for buoyant flows

Description
    Incompressible gas equation of state using the Boussinesq approximation for
    the density as a function of temperature only:

    \verbatim
        rho = rho0*(1 - beta*(T - T0))
    \endverbatim

To be used with the buoyantPimpleFoam and buoyantSimpleFoam solvers as
an alternative to using buoyantBoussinesqPimpleFoam or
buoyantBoussinesqSimpleFoam, providing consistency with all other
solvers and utilities using the thermodynamics package in OpenFOAM.
---
 .../basic/rhoThermo/rhoThermos.C              |  75 ++++-
 .../equationOfState/Boussinesq/Boussinesq.C   |  98 ++++++
 .../equationOfState/Boussinesq/Boussinesq.H   | 260 ++++++++++++++++
 .../equationOfState/Boussinesq/BoussinesqI.H  | 292 ++++++++++++++++++
 4 files changed, 724 insertions(+), 1 deletion(-)
 create mode 100644 src/thermophysicalModels/specie/equationOfState/Boussinesq/Boussinesq.C
 create mode 100644 src/thermophysicalModels/specie/equationOfState/Boussinesq/Boussinesq.H
 create mode 100644 src/thermophysicalModels/specie/equationOfState/Boussinesq/BoussinesqI.H

diff --git a/src/thermophysicalModels/basic/rhoThermo/rhoThermos.C b/src/thermophysicalModels/basic/rhoThermo/rhoThermos.C
index 965a4ddbed8..534c1f6081f 100644
--- a/src/thermophysicalModels/basic/rhoThermo/rhoThermos.C
+++ b/src/thermophysicalModels/basic/rhoThermo/rhoThermos.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -29,6 +29,7 @@ License
 #include "specie.H"
 #include "perfectGas.H"
 #include "incompressiblePerfectGas.H"
+#include "Boussinesq.H"
 #include "rhoConst.H"
 #include "perfectFluid.H"
 #include "PengRobinsonGas.H"
@@ -177,6 +178,42 @@ makeThermo
     specie
 );
 
+makeThermo
+(
+    rhoThermo,
+    heRhoThermo,
+    pureMixture,
+    constTransport,
+    sensibleEnthalpy,
+    hConstThermo,
+    Boussinesq,
+    specie
+);
+
+makeThermo
+(
+    rhoThermo,
+    heRhoThermo,
+    pureMixture,
+    sutherlandTransport,
+    sensibleEnthalpy,
+    hConstThermo,
+    Boussinesq,
+    specie
+);
+
+makeThermo
+(
+    rhoThermo,
+    heRhoThermo,
+    pureMixture,
+    sutherlandTransport,
+    sensibleEnthalpy,
+    janafThermo,
+    Boussinesq,
+    specie
+);
+
 makeThermo
 (
     rhoThermo,
@@ -335,6 +372,42 @@ makeThermo
     specie
 );
 
+makeThermo
+(
+    rhoThermo,
+    heRhoThermo,
+    pureMixture,
+    constTransport,
+    sensibleInternalEnergy,
+    hConstThermo,
+    Boussinesq,
+    specie
+);
+
+makeThermo
+(
+    rhoThermo,
+    heRhoThermo,
+    pureMixture,
+    sutherlandTransport,
+    sensibleInternalEnergy,
+    hConstThermo,
+    Boussinesq,
+    specie
+);
+
+makeThermo
+(
+    rhoThermo,
+    heRhoThermo,
+    pureMixture,
+    sutherlandTransport,
+    sensibleInternalEnergy,
+    janafThermo,
+    Boussinesq,
+    specie
+);
+
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/src/thermophysicalModels/specie/equationOfState/Boussinesq/Boussinesq.C b/src/thermophysicalModels/specie/equationOfState/Boussinesq/Boussinesq.C
new file mode 100644
index 00000000000..b37ec2f9d01
--- /dev/null
+++ b/src/thermophysicalModels/specie/equationOfState/Boussinesq/Boussinesq.C
@@ -0,0 +1,98 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "Boussinesq.H"
+#include "IOstreams.H"
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+template<class Specie>
+Foam::Boussinesq<Specie>::Boussinesq(Istream& is)
+:
+    Specie(is),
+    rho0_(readScalar(is)),
+    T0_(readScalar(is)),
+    beta_(readScalar(is))
+{
+    is.check
+    (
+        "Boussinesq<Specie>::"
+        "Boussinesq(Istream& is)"
+    );
+}
+
+
+template<class Specie>
+Foam::Boussinesq<Specie>::Boussinesq
+(
+    const dictionary& dict
+)
+:
+    Specie(dict),
+    rho0_(readScalar(dict.subDict("equationOfState").lookup("rho0"))),
+    T0_(readScalar(dict.subDict("equationOfState").lookup("T0"))),
+    beta_(readScalar(dict.subDict("equationOfState").lookup("beta")))
+{}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+template<class Specie>
+void Foam::Boussinesq<Specie>::write(Ostream& os) const
+{
+    Specie::write(os);
+    dictionary dict("equationOfState");
+    dict.add("rho0", rho0_);
+    dict.add("T0", T0_);
+    dict.add("beta", beta_);
+
+    os  << indent << dict.dictName() << dict;
+}
+
+
+// * * * * * * * * * * * * * * * Ostream Operator  * * * * * * * * * * * * * //
+
+template<class Specie>
+Foam::Ostream& Foam::operator<<
+(
+    Ostream& os,
+    const Boussinesq<Specie>& b
+)
+{
+    os  << static_cast<const Specie&>(b)
+        << token::SPACE << b.rho0_
+        << token::SPACE << b.T0_
+        << token::SPACE << b.beta_;
+
+    os.check
+    (
+        "Ostream& operator<<"
+        "(Ostream& os, const Boussinesq<Specie>& st)"
+    );
+    return os;
+}
+
+
+// ************************************************************************* //
diff --git a/src/thermophysicalModels/specie/equationOfState/Boussinesq/Boussinesq.H b/src/thermophysicalModels/specie/equationOfState/Boussinesq/Boussinesq.H
new file mode 100644
index 00000000000..fd64b7fcdb6
--- /dev/null
+++ b/src/thermophysicalModels/specie/equationOfState/Boussinesq/Boussinesq.H
@@ -0,0 +1,260 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+Class
+    Foam::Boussinesq
+
+Description
+    Incompressible gas equation of state using the Boussinesq approximation for
+    the density as a function of temperature only:
+
+    \verbatim
+        rho = rho0*(1 - beta*(T - T0))
+    \endverbatim
+
+SourceFiles
+    BoussinesqI.H
+    Boussinesq.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef Boussinesq_H
+#define Boussinesq_H
+
+#include "autoPtr.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// Forward declaration of friend functions and operators
+
+template<class Specie> class Boussinesq;
+
+template<class Specie>
+inline Boussinesq<Specie> operator+
+(
+    const Boussinesq<Specie>&,
+    const Boussinesq<Specie>&
+);
+
+template<class Specie>
+inline Boussinesq<Specie> operator-
+(
+    const Boussinesq<Specie>&,
+    const Boussinesq<Specie>&
+);
+
+template<class Specie>
+inline Boussinesq<Specie> operator*
+(
+    const scalar,
+    const Boussinesq<Specie>&
+);
+
+template<class Specie>
+inline Boussinesq<Specie> operator==
+(
+    const Boussinesq<Specie>&,
+    const Boussinesq<Specie>&
+);
+
+template<class Specie>
+Ostream& operator<<
+(
+    Ostream&,
+    const Boussinesq<Specie>&
+);
+
+
+/*---------------------------------------------------------------------------*\
+                    Class Boussinesq Declaration
+\*---------------------------------------------------------------------------*/
+
+template<class Specie>
+class Boussinesq
+:
+    public Specie
+{
+    // Private data
+
+        //- Reference density
+        scalar rho0_;
+
+        //- Reference temperature
+        scalar T0_;
+
+        //- Thermal expansion coefficient
+        scalar beta_;
+
+
+public:
+
+    // Constructors
+
+        //- Construct from components
+        inline Boussinesq
+        (
+            const Specie& sp,
+            const scalar rho0,
+            const scalar T0,
+            const scalar beta
+        );
+
+        //- Construct from Boussinesq
+        inline Boussinesq(const Boussinesq& sp);
+
+        //- Construct from Istream
+        Boussinesq(Istream&);
+
+        //- Construct from dictionary
+        Boussinesq(const dictionary& dict);
+
+        //- Construct as named copy
+        inline Boussinesq
+        (
+            const word& name,
+            const Boussinesq&
+        );
+
+        //- Construct and return a clone
+        inline autoPtr<Boussinesq> clone() const;
+
+        // Selector from Istream
+        inline static autoPtr<Boussinesq> New(Istream& is);
+
+        // Selector from dictionary
+        inline static autoPtr<Boussinesq> New
+        (
+            const dictionary& dict
+        );
+
+
+    // Member functions
+
+        //- Return the instantiated type name
+        static word typeName()
+        {
+            return
+                "Boussinesq<"
+              + word(Specie::typeName_()) + '>';
+        }
+
+
+        // Fundamental properties
+
+            //- Is the equation of state is incompressible i.e. rho != f(p)
+            static const bool incompressible = true;
+
+            //- Is the equation of state is isochoric i.e. rho = const
+            static const bool isochoric = false;
+
+            //- Return density [kg/m^3]
+            inline scalar rho(scalar p, scalar T) const;
+
+            //- Return entropy [J/(kmol K)]
+            inline scalar s(const scalar p, const scalar T) const;
+
+            //- Return compressibility rho/p [s^2/m^2]
+            inline scalar psi(scalar p, scalar T) const;
+
+            //- Return compression factor []
+            inline scalar Z(scalar p, scalar T) const;
+
+            //- Return (cp - cv) [J/(kmol K]
+            inline scalar cpMcv(scalar p, scalar T) const;
+
+
+        // IO
+
+            //- Write to Ostream
+            void write(Ostream& os) const;
+
+
+    // Member operators
+
+        inline Boussinesq& operator=
+        (
+            const Boussinesq&
+        );
+        inline void operator+=(const Boussinesq&);
+        inline void operator-=(const Boussinesq&);
+
+        inline void operator*=(const scalar);
+
+
+    // Friend operators
+
+        friend Boussinesq operator+ <Specie>
+        (
+            const Boussinesq&,
+            const Boussinesq&
+        );
+
+        friend Boussinesq operator- <Specie>
+        (
+            const Boussinesq&,
+            const Boussinesq&
+        );
+
+        friend Boussinesq operator* <Specie>
+        (
+            const scalar s,
+            const Boussinesq&
+        );
+
+        friend Boussinesq operator== <Specie>
+        (
+            const Boussinesq&,
+            const Boussinesq&
+        );
+
+
+    // Ostream Operator
+
+        friend Ostream& operator<< <Specie>
+        (
+            Ostream&,
+            const Boussinesq&
+        );
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#include "BoussinesqI.H"
+
+#ifdef NoRepository
+#   include "Boussinesq.C"
+#endif
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/thermophysicalModels/specie/equationOfState/Boussinesq/BoussinesqI.H b/src/thermophysicalModels/specie/equationOfState/Boussinesq/BoussinesqI.H
new file mode 100644
index 00000000000..4183d00e12f
--- /dev/null
+++ b/src/thermophysicalModels/specie/equationOfState/Boussinesq/BoussinesqI.H
@@ -0,0 +1,292 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "Boussinesq.H"
+
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+template<class Specie>
+inline Foam::Boussinesq<Specie>::Boussinesq
+(
+    const Specie& sp, const scalar rho0, const scalar T0, const scalar beta
+)
+:
+    Specie(sp),
+    rho0_(rho0),
+    T0_(T0),
+    beta_(beta)
+{}
+
+
+template<class Specie>
+inline Foam::Boussinesq<Specie>::Boussinesq
+(
+    const Boussinesq& b
+)
+:
+    Specie(b),
+    rho0_(b.rho0_),
+    T0_(b.T0_),
+    beta_(b.beta_)
+{}
+
+
+template<class Specie>
+inline Foam::Boussinesq<Specie>::Boussinesq
+(
+    const word& name,
+    const Boussinesq<Specie>& b
+)
+:
+    Specie(name, b),
+    rho0_(b.rho0_),
+    T0_(b.T0_),
+    beta_(b.beta_)
+{}
+
+
+template<class Specie>
+inline Foam::autoPtr<Foam::Boussinesq<Specie> >
+Foam::Boussinesq<Specie>::clone() const
+{
+    return autoPtr<Boussinesq<Specie> >
+    (
+        new Boussinesq<Specie>(*this)
+    );
+}
+
+
+template<class Specie>
+inline Foam::autoPtr<Foam::Boussinesq<Specie> >
+Foam::Boussinesq<Specie>::New
+(
+    Istream& is
+)
+{
+    return autoPtr<Boussinesq<Specie> >
+    (
+        new Boussinesq<Specie>(is)
+    );
+}
+
+
+template<class Specie>
+inline Foam::autoPtr<Foam::Boussinesq<Specie> >
+Foam::Boussinesq<Specie>::New
+(
+    const dictionary& dict
+)
+{
+    return autoPtr<Boussinesq<Specie> >
+    (
+        new Boussinesq<Specie>(dict)
+    );
+}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+template<class Specie>
+inline Foam::scalar Foam::Boussinesq<Specie>::rho
+(
+    scalar p,
+    scalar T
+) const
+{
+    return rho0_*(1.0 - beta_*(T - T0_));
+}
+
+
+template<class Specie>
+inline Foam::scalar Foam::Boussinesq<Specie>::s
+(
+    scalar p,
+    scalar T
+) const
+{
+    return 0;
+}
+
+
+template<class Specie>
+inline Foam::scalar Foam::Boussinesq<Specie>::psi
+(
+    scalar p,
+    scalar T
+) const
+{
+    return 0;
+}
+
+
+template<class Specie>
+inline Foam::scalar Foam::Boussinesq<Specie>::Z
+(
+    scalar p,
+    scalar T
+) const
+{
+    return 0;
+}
+
+
+template<class Specie>
+inline Foam::scalar Foam::Boussinesq<Specie>::cpMcv
+(
+    scalar p,
+    scalar T
+) const
+{
+    return RR;
+}
+
+
+// * * * * * * * * * * * * * * * Member Operators  * * * * * * * * * * * * * //
+
+template<class Specie>
+inline Foam::Boussinesq<Specie>&
+Foam::Boussinesq<Specie>::operator=
+(
+    const Boussinesq<Specie>& b
+)
+{
+    Specie::operator=(b);
+
+    rho0_ = b.rho0_;
+    T0_ = b.T0_;
+    beta_ = b.beta_;
+
+    return *this;
+}
+
+template<class Specie>
+inline void Foam::Boussinesq<Specie>::operator+=
+(
+    const Boussinesq<Specie>& b
+)
+{
+    scalar molr1 = this->nMoles();
+    Specie::operator+=(b);
+    molr1 /= this->nMoles();
+    scalar molr2 = b.nMoles()/this->nMoles();
+
+    rho0_ = molr1*rho0_ + molr2*b.rho0_;
+    T0_ = molr1*T0_ + molr2*b.T0_;
+    beta_ = molr1*beta_ + molr2*b.beta_;
+}
+
+
+template<class Specie>
+inline void Foam::Boussinesq<Specie>::operator-=
+(
+    const Boussinesq<Specie>& b
+)
+{
+    Specie::operator-=(b);
+    rho0_ = b.rho0_;
+    T0_ = b.T0_;
+    beta_ = b.beta_;
+}
+
+
+template<class Specie>
+inline void Foam::Boussinesq<Specie>::operator*=(const scalar s)
+{
+    Specie::operator*=(s);
+}
+
+
+// * * * * * * * * * * * * * * * Friend Operators  * * * * * * * * * * * * * //
+
+template<class Specie>
+inline Foam::Boussinesq<Specie> Foam::operator+
+(
+    const Boussinesq<Specie>& b1,
+    const Boussinesq<Specie>& b2
+)
+{
+    scalar nMoles = b1.nMoles() + b2.nMoles();
+    scalar molr1 = b1.nMoles()/nMoles;
+    scalar molr2 = b2.nMoles()/nMoles;
+
+    return Boussinesq<Specie>
+    (
+        static_cast<const Specie&>(b1)
+      + static_cast<const Specie&>(b2),
+        molr1*b1.rho0_ + molr2*b2.rho0_,
+        molr1*b1.T0_ + molr2*b2.T0_,
+        molr1*b1.beta_ + molr2*b2.beta_
+    );
+}
+
+
+template<class Specie>
+inline Foam::Boussinesq<Specie> Foam::operator-
+(
+    const Boussinesq<Specie>& b1,
+    const Boussinesq<Specie>& b2
+)
+{
+    return Boussinesq<Specie>
+    (
+        static_cast<const Specie&>(b1)
+      - static_cast<const Specie&>(b2),
+        b1.rho0_ - b2.rho0_,
+        b1.T0_ - b2.T0_,
+        b1.beta_ - b2.beta_
+    );
+}
+
+
+template<class Specie>
+inline Foam::Boussinesq<Specie> Foam::operator*
+(
+    const scalar s,
+    const Boussinesq<Specie>& b
+)
+{
+    return Boussinesq<Specie>
+    (
+        s*static_cast<const Specie&>(b),
+        b.rho0_,
+        b.T0_,
+        b.beta_
+    );
+}
+
+
+template<class Specie>
+inline Foam::Boussinesq<Specie> Foam::operator==
+(
+    const Boussinesq<Specie>& pg1,
+    const Boussinesq<Specie>& pg2
+)
+{
+    return pg2 - pg1;
+}
+
+
+// ************************************************************************* //
-- 
GitLab


From 42fb1b9e8e9904db7a4e383d759d4fa899062093 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sun, 1 Nov 2015 10:26:37 +0000
Subject: [PATCH 040/141] Updated notImplemented -> NotImplemented

The new NotImplemented macro uses __PRETTY_FUNCTION__ for GNU compatible
compilers otherwise __func__ to provide the function name string.
---
 .../dragModels/PDRDragModel/PDRDragModel.H    |  2 +-
 .../PDRFoam/XiModels/transport/transport.H    |  4 +-
 .../twoPhaseMixtureThermo.C                   |  6 +-
 .../twoPhaseMixtureThermo.H                   |  4 +-
 .../multiphaseMixtureThermo.C                 |  4 +-
 .../multiphaseMixtureThermo.H                 |  4 +-
 .../phaseModel/phaseModel.C                   |  4 +-
 .../multiphaseSystem/phaseModel/phaseModel.C  |  2 +-
 .../multiphaseMixture/phase/phase.C           |  2 +-
 .../AntoineExtended/AntoineExtended.C         |  5 +-
 .../saturationModels/ArdenBuck/ArdenBuck.C    |  5 +-
 .../PurePhaseModel/PurePhaseModel.C           |  8 +-
 .../phaseModel/phaseModel/phaseModel.C        |  6 +-
 .../kineticTheoryModel/kineticTheoryModel.C   |  4 +-
 .../phasePressureModel/phasePressureModel.C   |  4 +-
 .../IATE/IATEsources/IATEsource/IATEsource.H  |  2 +-
 .../kineticTheoryModel/kineticTheoryModel.C   |  4 +-
 .../phasePressureModel/phasePressureModel.C   |  4 +-
 .../IATE/IATEsources/IATEsource/IATEsource.H  |  4 +-
 .../DelaunayMesh/DistributedDelaunayMesh.C    |  8 +-
 .../searchableSurfaceFeatures.H               |  2 +-
 .../faceSelection/faceSelection.H             |  4 +-
 .../faceSelection/faceZoneSelection.H         |  4 +-
 .../searchableSurfaceSelection.H              |  4 +-
 .../vtkPV3Foam/vtkPV3FoamUpdateInfo.C         |  4 +-
 .../vtkPV4Foam/vtkPV4FoamUpdateInfo.C         |  4 +-
 .../dynamicTreeDataPoint.H                    |  8 +-
 .../algorithms/indexedOctree/treeDataCell.C   | 13 +---
 .../algorithms/indexedOctree/treeDataCell.H   |  6 +-
 .../db/IOstreams/Pstreams/PstreamReduceOps.H  |  7 +-
 .../db/IOstreams/Pstreams/UOPstream.C         |  2 +-
 src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C | 16 ++--
 .../functionObject/functionObject.H           |  4 +-
 .../db/objectRegistry/objectRegistry.H        |  8 +-
 src/OpenFOAM/fields/cloud/cloud.C             |  4 +-
 .../tableReaders/csv/csvTableReader.C         |  4 +-
 .../splineInterpolationWeights.H              |  7 +-
 .../LUscalarMatrix/procLduInterface.H         |  4 +-
 .../matrices/LduMatrix/LduMatrix/LduMatrix.H  |  6 +-
 .../matrices/lduMatrix/lduMatrix/lduMatrix.H  |  7 +-
 src/OpenFOAM/meshes/lduMesh/lduMesh.C         |  4 +-
 .../polyMesh/mapPolyMesh/mapAddedPolyMesh.H   |  5 +-
 .../mapPolyMesh/mapDistribute/mapDistribute.H |  7 +-
 .../mapDistribute/mapDistributeLagrangian.H   |  5 +-
 .../mapDistribute/mapDistributePolyMesh.H     |  5 +-
 .../polyBoundaryMeshEntries.H                 |  4 +-
 .../constraint/oldCyclic/oldCyclicPolyPatch.H |  6 +-
 .../constraint/processor/processorPolyPatch.H |  4 +-
 .../processorCyclicPolyPatch.H                |  4 +-
 .../functions/DataEntry/DataEntry/DataEntry.C | 26 +------
 src/Pstream/dummy/UIPread.C                   | 40 +---------
 src/Pstream/dummy/UOPwrite.C                  | 15 +---
 src/Pstream/dummy/UPstream.C                  |  8 +-
 .../IncompressibleTurbulenceModel.C           | 18 +----
 .../RAS/kkLOmega/kkLOmega.C                   |  2 +-
 .../PhaseIncompressibleTurbulenceModel.C      | 12 +--
 src/conversion/ensight/part/ensightPart.H     |  2 +-
 .../meshCut/cellLooper/cellLooper.H           |  4 +-
 .../sampledSetWriters/jplot/jplotSetWriter.H  | 14 +---
 .../cfdTools/general/MRF/MRFZone.H            |  2 +-
 .../basic/coupled/coupledFvPatchField.C       |  6 +-
 .../basic/coupled/coupledFvPatchField.H       |  7 +-
 .../basic/sliced/slicedFvPatchField.C         | 75 ++++---------------
 .../jumpCyclic/jumpCyclicFvPatchField.C       | 14 +---
 .../jumpCyclicAMI/jumpCyclicAMIFvPatchField.C | 14 +---
 .../fvPatchFields/fvPatchField/fvPatchField.H | 37 +++------
 .../basic/sliced/slicedFvsPatchField.C        | 15 +---
 .../ddtSchemes/ddtScheme/ddtScheme.C          |  4 +-
 .../ddtSchemes/ddtScheme/ddtScheme.H          |  8 +-
 .../orthogonalSnGrad/orthogonalSnGrad.C       |  8 +-
 .../uncorrectedSnGrad/uncorrectedSnGrad.C     |  8 +-
 .../solvers/MULES/IMULESTemplates.C           |  5 +-
 .../schemes/harmonic/harmonic.H               |  8 +-
 .../schemes/localMax/localMax.H               |  8 +-
 .../schemes/localMin/localMin.H               |  8 +-
 src/fvOptions/fvOption/fvOption.H             |  2 +-
 .../effectivenessHeatExchangerSource.H        |  6 +-
 .../meanVelocityForce/meanVelocityForceIO.C   |  8 +-
 .../genericPointPatchField.C                  |  8 +-
 .../CollidingParcel/CollidingParcel.C         |  4 +-
 .../CloudFunctionObject/CloudFunctionObject.C |  4 +-
 .../PairCollision/PairCollision.C             |  8 +-
 .../kinematicParcelInjectionData.H            | 18 +----
 .../MPPIC/ParticleStressModels/Lun/Lun.C      |  9 +--
 .../medialAxisMeshMover.H                     |  6 +-
 src/mesh/blockMesh/block/block.H              |  2 +-
 .../blockDescriptor/blockDescriptor.H         |  2 +-
 src/mesh/blockMesh/curvedEdges/BSpline.C      |  4 +-
 .../blockMesh/curvedEdges/CatmullRomSpline.C  |  4 +-
 src/mesh/blockMesh/curvedEdges/curvedEdge.C   |  4 +-
 .../cyclicACMIGAMGInterface.H                 |  7 +-
 .../cyclicAMIGAMGInterface.H                  |  4 +-
 .../EulerCoordinateRotation.C                 | 32 ++------
 .../STARCDCoordinateRotation.C                | 32 ++------
 .../coordinateRotation/axesRotation.C         | 21 +-----
 .../coordinateRotation/cylindrical.C          | 20 +----
 .../coordinateRotation/cylindrical.H          |  8 +-
 src/meshTools/indexedOctree/treeDataEdge.C    |  8 +-
 src/meshTools/indexedOctree/treeDataFace.C    | 15 +---
 src/meshTools/indexedOctree/treeDataPoint.C   |  8 +-
 .../indexedOctree/treeDataPrimitivePatch.C    | 15 +---
 .../regionCoupledGAMGInterface.H              |  7 +-
 .../regionCoupledWallGAMGInterface.H          |  7 +-
 .../searchableSurface/searchableBox.C         |  6 +-
 .../searchableSurface/searchableBox.H         |  2 +-
 .../searchableSurface/searchableCylinder.H    |  7 +-
 .../searchableSurface/searchableDisk.H        |  7 +-
 .../searchableSurface/searchablePlane.H       |  9 +--
 .../searchableSurface/searchablePlate.H       |  2 +-
 .../searchableSurface/searchableSphere.H      |  2 +-
 .../searchableSurface/searchableSurface.H     |  4 +-
 .../searchableSurfaceCollection.H             | 10 +--
 .../searchableSurface/triSurfaceMesh.H        |  4 +-
 .../sets/topoSetSource/topoSetSource.H        |  4 +-
 src/meshTools/sets/topoSets/topoSet.C         |  4 +-
 src/meshTools/sets/topoSets/topoSet.H         |  4 +-
 .../decompositionMethod/decompositionMethod.H | 13 +---
 .../manualDecomp/manualDecomp.H               |  6 +-
 .../structuredDecomp/structuredDecomp.C       | 12 +--
 .../energyRegionCoupledFvPatchScalarField.C   | 10 +--
 .../pyrolysisModel/pyrolysisModel.H           |  4 +-
 .../surfaceFilmModel/surfaceFilmModel.C       | 18 +----
 src/renumber/SloanRenumber/SloanRenumber.H    |  4 +-
 .../CuthillMcKeeRenumber.H                    |  4 +-
 .../manualRenumber/manualRenumber.H           | 10 +--
 .../renumberMethod/renumberMethod.C           | 12 +--
 .../renumberMethod/renumberMethod.H           |  7 +-
 .../springRenumber/springRenumber.H           |  4 +-
 .../structuredRenumber/structuredRenumber.H   | 13 +---
 src/renumber/zoltanRenumber/zoltanRenumber.H  | 10 +--
 .../sampledSet/sampledSet/sampledSet.H        |  4 +-
 .../sampledSurface/sampledSurface.C           | 12 +--
 .../sampledSurface/sampledSurface.H           |  2 +-
 src/surfMesh/surfZone/surfZone/surfZone.H     |  2 +-
 .../chemistryModel/chemistryModel.C           | 12 +--
 .../liquidProperties/liquidProperties.C       | 67 ++++-------------
 .../submodels/sootModel/noSoot/noSoot.C       |  5 +-
 .../basicSolidChemistryModel.C                | 18 +----
 .../pyrolysisChemistryModel.C                 | 12 +--
 .../solidChemistryModel/solidChemistryModel.C | 10 +--
 .../Reactions/solidReaction/solidReaction.C   | 13 +---
 .../const/constAnIsoSolidTransportI.H         | 10 +--
 .../transport/const/constIsoSolidTransportI.H | 10 +--
 .../exponential/exponentialSolidTransportI.H  | 10 +--
 .../polynomial/polynomialSolidTransportI.H    | 10 +--
 .../reaction/Reactions/Reaction/Reaction.C    | 20 +----
 146 files changed, 331 insertions(+), 967 deletions(-)

diff --git a/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/PDRDragModel/PDRDragModel.H b/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/PDRDragModel/PDRDragModel.H
index e7bd21a6288..7c06ab6e79d 100644
--- a/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/PDRDragModel/PDRDragModel.H
+++ b/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/PDRDragModel/PDRDragModel.H
@@ -168,7 +168,7 @@ public:
 
         virtual void writeFields() const
         {
-            notImplemented("PDRDragModel::write()");
+            NotImplemented;
         }
 };
 
diff --git a/applications/solvers/combustion/PDRFoam/XiModels/transport/transport.H b/applications/solvers/combustion/PDRFoam/XiModels/transport/transport.H
index 2ba6ae45142..2a027953134 100644
--- a/applications/solvers/combustion/PDRFoam/XiModels/transport/transport.H
+++ b/applications/solvers/combustion/PDRFoam/XiModels/transport/transport.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -116,7 +116,7 @@ public:
         //- Correct the flame-wrinking Xi
         virtual void correct()
         {
-            notImplemented("transport::correct()");
+            NotImplemented;
         }
 
         //- Correct the flame-wrinking Xi using the given convection scheme
diff --git a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.C b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.C
index e9c5322c79f..31949694adb 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.C
+++ b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -152,7 +152,7 @@ Foam::tmp<Foam::scalarField> Foam::twoPhaseMixtureThermo::THE
     const labelList& cells
 ) const
 {
-    notImplemented("twoPhaseMixtureThermo::THE(...)");
+    NotImplemented;
     return T0;
 }
 
@@ -165,7 +165,7 @@ Foam::tmp<Foam::scalarField> Foam::twoPhaseMixtureThermo::THE
     const label patchi
 ) const
 {
-    notImplemented("twoPhaseMixtureThermo::THE(...)");
+    NotImplemented;
     return T0;
 }
 
diff --git a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.H b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.H
index b8320bd105e..1941c9e5991 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.H
+++ b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.H
@@ -122,14 +122,14 @@ public:
             //  Non-const access allowed for transport equations
             virtual volScalarField& he()
             {
-                notImplemented("twoPhaseMixtureThermo::he()");
+                NotImplemented;
                 return thermo1_->he();
             }
 
             //- Enthalpy/Internal energy [J/kg]
             virtual const volScalarField& he() const
             {
-                notImplemented("twoPhaseMixtureThermo::he() const");
+                NotImplemented;
                 return thermo1_->he();
             }
 
diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.C b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.C
index 7733cf13646..04f76ae3415 100644
--- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.C
+++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.C
@@ -270,7 +270,7 @@ Foam::tmp<Foam::scalarField> Foam::multiphaseMixtureThermo::THE
     const labelList& cells
 ) const
 {
-    notImplemented("multiphaseMixtureThermo::THE(...)");
+    NotImplemented;
     return T0;
 }
 
@@ -283,7 +283,7 @@ Foam::tmp<Foam::scalarField> Foam::multiphaseMixtureThermo::THE
     const label patchi
 ) const
 {
-    notImplemented("multiphaseMixtureThermo::THE(...)");
+    NotImplemented;
     return T0;
 }
 
diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.H b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.H
index a769a459144..83096d3634a 100644
--- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.H
+++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.H
@@ -253,14 +253,14 @@ public:
             //  Non-const access allowed for transport equations
             virtual volScalarField& he()
             {
-                notImplemented("multiphaseMixtureThermo::he()");
+                NotImplemented;
                 return phases_[0].thermo().he();
             }
 
             //- Enthalpy/Internal energy [J/kg]
             virtual const volScalarField& he() const
             {
-                notImplemented("multiphaseMixtureThermo::he() const");
+                NotImplemented;
                 return phases_[0].thermo().he();
             }
 
diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/phaseModel/phaseModel.C b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/phaseModel/phaseModel.C
index 1559f25a483..2d3a7b61638 100644
--- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/phaseModel/phaseModel.C
+++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/phaseModel/phaseModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -80,7 +80,7 @@ Foam::phaseModel::phaseModel
 
 Foam::autoPtr<Foam::phaseModel> Foam::phaseModel::clone() const
 {
-    notImplemented("phaseModel::clone() const");
+    NotImplemented;
     return autoPtr<phaseModel>(NULL);
 }
 
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/phaseModel/phaseModel.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/phaseModel/phaseModel.C
index f107cfb4405..9dc9f2bf800 100644
--- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/phaseModel/phaseModel.C
+++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/phaseModel/phaseModel.C
@@ -201,7 +201,7 @@ Foam::phaseModel::~phaseModel()
 
 Foam::autoPtr<Foam::phaseModel> Foam::phaseModel::clone() const
 {
-    notImplemented("phaseModel::clone() const");
+    NotImplemented;
     return autoPtr<phaseModel>(NULL);
 }
 
diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/phase/phase.C b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/phase/phase.C
index f3adfa9b612..ae68ff1682d 100644
--- a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/phase/phase.C
+++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/phase/phase.C
@@ -67,7 +67,7 @@ Foam::phase::phase
 
 Foam::autoPtr<Foam::phase> Foam::phase::clone() const
 {
-    notImplemented("phase::clone() const");
+    NotImplemented;
     return autoPtr<phase>(NULL);
 }
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/AntoineExtended/AntoineExtended.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/AntoineExtended/AntoineExtended.C
index f05ee21b83a..8e0ad9b316f 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/AntoineExtended/AntoineExtended.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/AntoineExtended/AntoineExtended.C
@@ -108,10 +108,7 @@ Foam::saturationModels::AntoineExtended::Tsat
     const volScalarField& p
 ) const
 {
-    notImplemented
-    (
-        "saturationModels::AntoineExtended::Tsat(const volScalarField& p)"
-    );
+    NotImplemented;
 
     return volScalarField::null();
 }
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/ArdenBuck/ArdenBuck.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/ArdenBuck/ArdenBuck.C
index 4c279015898..273a63ca5fe 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/ArdenBuck/ArdenBuck.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/ArdenBuck/ArdenBuck.C
@@ -115,10 +115,7 @@ Foam::saturationModels::ArdenBuck::Tsat
     const volScalarField& p
 ) const
 {
-    notImplemented
-    (
-        "saturationModels::ArdenBuck::Tsat(const volScalarField& p)"
-    );
+    NotImplemented;
 
     return volScalarField::null();
 }
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/PurePhaseModel/PurePhaseModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/PurePhaseModel/PurePhaseModel.C
index be280057446..9d94f7627e5 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/PurePhaseModel/PurePhaseModel.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/PurePhaseModel/PurePhaseModel.C
@@ -56,13 +56,7 @@ Foam::PurePhaseModel<BasePhaseModel>::YiEqn
     volScalarField& Yi
 )
 {
-    notImplemented
-    (
-        "template<class BasePhaseModel> "
-        "Foam::tmp<Foam::fvScalarMatrix> "
-        "Foam::PurePhaseModel<BasePhaseModel>::YiEqn"
-        "(volScalarField& Yi) const"
-    );
+    NotImplemented;
 
     return tmp<fvScalarMatrix>();
 }
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.C
index eb2e8715300..b40c4688b39 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.C
@@ -76,7 +76,7 @@ Foam::phaseModel::phaseModel
 
 Foam::autoPtr<Foam::phaseModel> Foam::phaseModel::clone() const
 {
-    notImplemented("phaseModel::clone() const");
+    NotImplemented;
     return autoPtr<phaseModel>(NULL);
 }
 
@@ -167,7 +167,7 @@ bool Foam::phaseModel::compressible() const
 
 const Foam::tmp<Foam::volScalarField>& Foam::phaseModel::divU() const
 {
-    notImplemented("Foam::phaseModel::divU()");
+    NotImplemented;
     static tmp<Foam::volScalarField> divU_(NULL);
     return divU_;
 }
@@ -183,7 +183,7 @@ void Foam::phaseModel::divU(const tmp<volScalarField>& divU)
 
 const Foam::volScalarField& Foam::phaseModel::K() const
 {
-    notImplemented("Foam::phaseModel::K()");
+    NotImplemented;
     return volScalarField::null();
 }
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C
index 79dfa6ee051..83017e15573 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C
@@ -213,7 +213,7 @@ bool Foam::RASModels::kineticTheoryModel::read()
 Foam::tmp<Foam::volScalarField>
 Foam::RASModels::kineticTheoryModel::k() const
 {
-    notImplemented("kineticTheoryModel::k()");
+    NotImplemented;
     return nut_;
 }
 
@@ -221,7 +221,7 @@ Foam::RASModels::kineticTheoryModel::k() const
 Foam::tmp<Foam::volScalarField>
 Foam::RASModels::kineticTheoryModel::epsilon() const
 {
-    notImplemented("kineticTheoryModel::epsilon()");
+    NotImplemented;
     return nut_;
 }
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C
index 40439ac5cce..79df9e49225 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C
@@ -111,7 +111,7 @@ bool Foam::RASModels::phasePressureModel::read()
 Foam::tmp<Foam::volScalarField>
 Foam::RASModels::phasePressureModel::k() const
 {
-    notImplemented("phasePressureModel::k()");
+    NotImplemented;
     return nut_;
 }
 
@@ -119,7 +119,7 @@ Foam::RASModels::phasePressureModel::k() const
 Foam::tmp<Foam::volScalarField>
 Foam::RASModels::phasePressureModel::epsilon() const
 {
-    notImplemented("phasePressureModel::epsilon()");
+    NotImplemented;
     return nut_;
 }
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H
index 8c8a68ef638..b9f0f15af2b 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H
@@ -114,7 +114,7 @@ public:
 
         autoPtr<IATEsource> clone() const
         {
-            notImplemented("autoPtr<IATEsource> clone() const");
+            NotImplemented;
             return autoPtr<IATEsource>(NULL);
         }
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C
index bbf37904ca8..99879c41d5c 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C
@@ -219,7 +219,7 @@ bool Foam::RASModels::kineticTheoryModel::read()
 Foam::tmp<Foam::volScalarField>
 Foam::RASModels::kineticTheoryModel::k() const
 {
-    notImplemented("kineticTheoryModel::k()");
+    NotImplemented;
     return nut_;
 }
 
@@ -227,7 +227,7 @@ Foam::RASModels::kineticTheoryModel::k() const
 Foam::tmp<Foam::volScalarField>
 Foam::RASModels::kineticTheoryModel::epsilon() const
 {
-    notImplemented("kineticTheoryModel::epsilon()");
+    NotImplemented;
     return nut_;
 }
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C
index adb23d40d2c..2eba4bdab7e 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C
@@ -117,7 +117,7 @@ bool Foam::RASModels::phasePressureModel::read()
 Foam::tmp<Foam::volScalarField>
 Foam::RASModels::phasePressureModel::k() const
 {
-    notImplemented("phasePressureModel::k()");
+    NotImplemented;
     return nut_;
 }
 
@@ -125,7 +125,7 @@ Foam::RASModels::phasePressureModel::k() const
 Foam::tmp<Foam::volScalarField>
 Foam::RASModels::phasePressureModel::epsilon() const
 {
-    notImplemented("phasePressureModel::epsilon()");
+    NotImplemented;
     return nut_;
 }
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H
index f21f4f38767..fc2456871e9 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -113,7 +113,7 @@ public:
 
         autoPtr<IATEsource> clone() const
         {
-            notImplemented("autoPtr<IATEsource> clone() const");
+            NotImplemented;
             return autoPtr<IATEsource>(NULL);
         }
 
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/DelaunayMesh/DistributedDelaunayMesh.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/DelaunayMesh/DistributedDelaunayMesh.C
index 7a7cd277eef..425966a511d 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/DelaunayMesh/DistributedDelaunayMesh.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/DelaunayMesh/DistributedDelaunayMesh.C
@@ -792,13 +792,7 @@ bool Foam::DistributedDelaunayMesh<Triangulation>::distribute
     const boundBox& bb
 )
 {
-    notImplemented
-    (
-        "Foam::DistributedDelaunayMesh<Triangulation>::distribute"
-        "("
-        "    const boundBox& bb"
-        ")"
-    );
+    NotImplemented;
 
     if (!Pstream::parRun())
     {
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/searchableSurfaceFeatures/searchableSurfaceFeatures.H b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/searchableSurfaceFeatures/searchableSurfaceFeatures.H
index d4559a6c7fc..e114d71021d 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/searchableSurfaceFeatures/searchableSurfaceFeatures.H
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/searchableSurfaceFeatures/searchableSurfaceFeatures.H
@@ -100,7 +100,7 @@ public:
         //- Clone
         virtual autoPtr<searchableSurfaceFeatures> clone() const
         {
-            notImplemented("autoPtr<searchableSurfaceFeatures> clone() const");
+            NotImplemented;
             return autoPtr<searchableSurfaceFeatures>(NULL);
         }
 
diff --git a/applications/utilities/mesh/manipulation/createBaffles/faceSelection/faceSelection.H b/applications/utilities/mesh/manipulation/createBaffles/faceSelection/faceSelection.H
index 7be333f030f..20cb82808f4 100644
--- a/applications/utilities/mesh/manipulation/createBaffles/faceSelection/faceSelection.H
+++ b/applications/utilities/mesh/manipulation/createBaffles/faceSelection/faceSelection.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -108,7 +108,7 @@ public:
         //- Clone
         autoPtr<faceSelection> clone() const
         {
-            notImplemented("autoPtr<faceSelection> clone() const");
+            NotImplemented;
             return autoPtr<faceSelection>(NULL);
         }
 
diff --git a/applications/utilities/mesh/manipulation/createBaffles/faceSelection/faceZoneSelection.H b/applications/utilities/mesh/manipulation/createBaffles/faceSelection/faceZoneSelection.H
index c7a4ef0c1e0..08a3abee31f 100644
--- a/applications/utilities/mesh/manipulation/createBaffles/faceSelection/faceZoneSelection.H
+++ b/applications/utilities/mesh/manipulation/createBaffles/faceSelection/faceZoneSelection.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -85,7 +85,7 @@ public:
         //- Clone
         autoPtr<faceSelection> clone() const
         {
-            notImplemented("autoPtr<faceSelection> clone() const");
+            NotImplemented;
             return autoPtr<faceSelection>(NULL);
         }
 
diff --git a/applications/utilities/mesh/manipulation/createBaffles/faceSelection/searchableSurfaceSelection.H b/applications/utilities/mesh/manipulation/createBaffles/faceSelection/searchableSurfaceSelection.H
index f9831325527..d5c04ae1ea3 100644
--- a/applications/utilities/mesh/manipulation/createBaffles/faceSelection/searchableSurfaceSelection.H
+++ b/applications/utilities/mesh/manipulation/createBaffles/faceSelection/searchableSurfaceSelection.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -78,7 +78,7 @@ public:
         //- Clone
         autoPtr<faceSelection> clone() const
         {
-            notImplemented("autoPtr<faceSelection> clone() const");
+            NotImplemented;
             return autoPtr<faceSelection>(NULL);
         }
 
diff --git a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3FoamUpdateInfo.C b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3FoamUpdateInfo.C
index fe7cdae8a9e..842a301ed72 100644
--- a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3FoamUpdateInfo.C
+++ b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3FoamUpdateInfo.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -72,7 +72,7 @@ public:
 
         bool writeData(Ostream&) const
         {
-            notImplemented("zonesEntries::writeData(Ostream&) const");
+            NotImplemented;
             return false;
         }
 };
diff --git a/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamUpdateInfo.C b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamUpdateInfo.C
index 9ed89ff9e3c..9598d5de4ae 100644
--- a/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamUpdateInfo.C
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamUpdateInfo.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -72,7 +72,7 @@ public:
 
         bool writeData(Ostream&) const
         {
-            notImplemented("zonesEntries::writeData(Ostream&) const");
+            NotImplemented;
             return false;
         }
 };
diff --git a/src/OpenFOAM/algorithms/dynamicIndexedOctree/dynamicTreeDataPoint.H b/src/OpenFOAM/algorithms/dynamicIndexedOctree/dynamicTreeDataPoint.H
index 529d923b742..516ba34c411 100644
--- a/src/OpenFOAM/algorithms/dynamicIndexedOctree/dynamicTreeDataPoint.H
+++ b/src/OpenFOAM/algorithms/dynamicIndexedOctree/dynamicTreeDataPoint.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -149,11 +149,7 @@ public:
                 point& result
             ) const
             {
-                notImplemented
-                (
-                    "dynamicTreeDataPoint::intersects"
-                    "(const label, const point&, const point&, point&)"
-                );
+                NotImplemented;
                 return false;
             }
 
diff --git a/src/OpenFOAM/algorithms/indexedOctree/treeDataCell.C b/src/OpenFOAM/algorithms/indexedOctree/treeDataCell.C
index b056c909d41..80d5a29b44c 100644
--- a/src/OpenFOAM/algorithms/indexedOctree/treeDataCell.C
+++ b/src/OpenFOAM/algorithms/indexedOctree/treeDataCell.C
@@ -232,18 +232,7 @@ void Foam::treeDataCell::findNearestOp::operator()
     point& nearestPoint
 ) const
 {
-    notImplemented
-    (
-        "treeDataCell::findNearestOp::operator()"
-        "("
-        "    const labelUList&,"
-        "    const linePointRef&,"
-        "    treeBoundBox&,"
-        "    label&,"
-        "    point&,"
-        "    point&"
-        ") const"
-    );
+    NotImplemented;
 }
 
 
diff --git a/src/OpenFOAM/algorithms/indexedOctree/treeDataCell.H b/src/OpenFOAM/algorithms/indexedOctree/treeDataCell.H
index 8c85d769993..8f620013304 100644
--- a/src/OpenFOAM/algorithms/indexedOctree/treeDataCell.H
+++ b/src/OpenFOAM/algorithms/indexedOctree/treeDataCell.H
@@ -203,11 +203,7 @@ public:
                 const point&
             ) const
             {
-                notImplemented
-                (
-                    "treeDataCell::getVolumeType"
-                    "(const indexedOctree<treeDataCell>&, const point&)"
-                );
+                NotImplemented;
                 return volumeType::UNKNOWN;
             }
 
diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamReduceOps.H b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamReduceOps.H
index 833b160bf6c..3ed4ee0b0ac 100644
--- a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamReduceOps.H
+++ b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamReduceOps.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -145,10 +145,7 @@ void reduce
     label& request
 )
 {
-    notImplemented
-    (
-        "reduce(T&, const BinaryOp&, const int, const label, label&"
-    );
+    NotImplemented;
 }
 
 
diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UOPstream.C b/src/OpenFOAM/db/IOstreams/Pstreams/UOPstream.C
index 203c45f5db3..e0aaf02bcba 100644
--- a/src/OpenFOAM/db/IOstreams/Pstreams/UOPstream.C
+++ b/src/OpenFOAM/db/IOstreams/Pstreams/UOPstream.C
@@ -170,7 +170,7 @@ Foam::Ostream& Foam::UOPstream::write(const token& t)
     }
     else
     {
-        notImplemented("Ostream& UOPstream::write(const token&)");
+        NotImplemented;
         setBad();
     }
     return *this;
diff --git a/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C b/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C
index 49a278e588c..7549fac3754 100644
--- a/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C
+++ b/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -108,49 +108,49 @@ Foam::Istream& Foam::ITstream::read(token& t)
 
 Foam::Istream& Foam::ITstream::read(char&)
 {
-    notImplemented("Istream& ITstream::read(char&)");
+    NotImplemented;
     return *this;
 }
 
 
 Foam::Istream& Foam::ITstream::read(word&)
 {
-    notImplemented("Istream& ITstream::read(word&)");
+    NotImplemented;
     return *this;
 }
 
 
 Foam::Istream& Foam::ITstream::read(string&)
 {
-    notImplemented("Istream& ITstream::read(string&)");
+    NotImplemented;
     return *this;
 }
 
 
 Foam::Istream& Foam::ITstream::read(label&)
 {
-    notImplemented("Istream& ITstream::read(label&)");
+    NotImplemented;
     return *this;
 }
 
 
 Foam::Istream& Foam::ITstream::read(floatScalar&)
 {
-    notImplemented("Istream& ITstream::read(floatScalar&)");
+    NotImplemented;
     return *this;
 }
 
 
 Foam::Istream& Foam::ITstream::read(doubleScalar&)
 {
-    notImplemented("Istream& ITstream::read(doubleScalar&)");
+    NotImplemented;
     return *this;
 }
 
 
 Foam::Istream& Foam::ITstream::read(char*, std::streamsize)
 {
-    notImplemented("Istream& ITstream::read(char*, std::streamsize)");
+    NotImplemented;
     return *this;
 }
 
diff --git a/src/OpenFOAM/db/functionObjects/functionObject/functionObject.H b/src/OpenFOAM/db/functionObjects/functionObject/functionObject.H
index ef4e6591fb4..2d0d3ed1cb7 100644
--- a/src/OpenFOAM/db/functionObjects/functionObject/functionObject.H
+++ b/src/OpenFOAM/db/functionObjects/functionObject/functionObject.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -101,7 +101,7 @@ public:
         //- Return clone
         autoPtr<functionObject> clone() const
         {
-            notImplemented("functionObject::clone() const");
+            NotImplemented;
             return autoPtr<functionObject>(NULL);
         }
 
diff --git a/src/OpenFOAM/db/objectRegistry/objectRegistry.H b/src/OpenFOAM/db/objectRegistry/objectRegistry.H
index babb8a58903..2352b3a3bde 100644
--- a/src/OpenFOAM/db/objectRegistry/objectRegistry.H
+++ b/src/OpenFOAM/db/objectRegistry/objectRegistry.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -213,11 +213,7 @@ public:
             //  for this class, write is used instead
             virtual bool writeData(Ostream&) const
             {
-                notImplemented
-                (
-                    "void objectRegistry::writeData(Ostream&) const: "
-                    "use write() instead"
-                );
+                NotImplemented;
 
                 return false;
             }
diff --git a/src/OpenFOAM/fields/cloud/cloud.C b/src/OpenFOAM/fields/cloud/cloud.C
index cae1cce2991..3a7b98e9680 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-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -66,7 +66,7 @@ Foam::cloud::~cloud()
 
 void Foam::cloud::autoMap(const mapPolyMesh&)
 {
-    notImplemented("cloud::autoMap(const mapPolyMesh&)");
+    NotImplemented;
 }
 
 
diff --git a/src/OpenFOAM/interpolations/interpolationTable/tableReaders/csv/csvTableReader.C b/src/OpenFOAM/interpolations/interpolationTable/tableReaders/csv/csvTableReader.C
index 09faf41fd7b..dff79beefd3 100644
--- a/src/OpenFOAM/interpolations/interpolationTable/tableReaders/csv/csvTableReader.C
+++ b/src/OpenFOAM/interpolations/interpolationTable/tableReaders/csv/csvTableReader.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -169,7 +169,7 @@ void Foam::csvTableReader<Type>::operator()
     List<Tuple2<scalar, List<Tuple2<scalar, Type> > > >& data
 )
 {
-    notImplemented("csvTableReader<Type>::operator()");
+    NotImplemented;
 }
 
 
diff --git a/src/OpenFOAM/interpolations/interpolationWeights/splineInterpolationWeights/splineInterpolationWeights.H b/src/OpenFOAM/interpolations/interpolationWeights/splineInterpolationWeights/splineInterpolationWeights.H
index 15660ff90cf..7e92fc80852 100644
--- a/src/OpenFOAM/interpolations/interpolationWeights/splineInterpolationWeights/splineInterpolationWeights.H
+++ b/src/OpenFOAM/interpolations/interpolationWeights/splineInterpolationWeights/splineInterpolationWeights.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -100,10 +100,7 @@ public:
             scalarField& weights
         ) const
         {
-            notImplemented
-            (
-                "splineInterpolationWeights::integrationWeights(..)"
-            );
+            NotImplemented;
             return false;
         }
 
diff --git a/src/OpenFOAM/matrices/LUscalarMatrix/procLduInterface.H b/src/OpenFOAM/matrices/LUscalarMatrix/procLduInterface.H
index a2f80a28a19..d113a6b30c5 100644
--- a/src/OpenFOAM/matrices/LUscalarMatrix/procLduInterface.H
+++ b/src/OpenFOAM/matrices/LUscalarMatrix/procLduInterface.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -84,7 +84,7 @@ public:
 
         autoPtr<procLduInterface> clone()
         {
-            notImplemented("procLduInterface::clone()");
+            NotImplemented;
             return autoPtr<procLduInterface>(NULL);
         }
 
diff --git a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.H b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.H
index 64b925c066a..d00069911d7 100644
--- a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.H
+++ b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.H
@@ -449,11 +449,7 @@ public:
                 const Field<Type>& rT
             ) const
             {
-                notImplemented
-                (
-                    type() +"::preconditionT"
-                    "(Field<Type>& wT, const Field<Type>& rT)"
-                );
+                NotImplemented;
             }
     };
 
diff --git a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.H b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.H
index f9da5b3a99b..e9ae3af8894 100644
--- a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.H
+++ b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.H
@@ -500,12 +500,7 @@ public:
                 const direction cmpt=0
             ) const
             {
-                notImplemented
-                (
-                    type() +"::preconditionT"
-                    "(scalarField& wT, const scalarField& rT, "
-                    "const direction cmpt)"
-                );
+                NotImplemented;
             }
     };
 
diff --git a/src/OpenFOAM/meshes/lduMesh/lduMesh.C b/src/OpenFOAM/meshes/lduMesh/lduMesh.C
index 719b5873448..200f7e525fa 100644
--- a/src/OpenFOAM/meshes/lduMesh/lduMesh.C
+++ b/src/OpenFOAM/meshes/lduMesh/lduMesh.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -39,7 +39,7 @@ defineTypeNameAndDebug(lduMesh, 0);
 
 const Foam::objectRegistry& Foam::lduMesh::thisDb() const
 {
-    notImplemented("lduMesh::thisDb() const");
+    NotImplemented;
     const objectRegistry* orPtr_ = NULL;
     return *orPtr_;
 }
diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapAddedPolyMesh.H b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapAddedPolyMesh.H
index 68a7ef6b7de..5e7265f93a0 100644
--- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapAddedPolyMesh.H
+++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapAddedPolyMesh.H
@@ -229,10 +229,7 @@ public:
 
             void updateMesh(const mapPolyMesh&)
             {
-                notImplemented
-                (
-                    "mapAddedPolyMesh::updateMesh(const mapPolyMesh&)"
-                );
+                NotImplemented;
             }
 };
 
diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistribute.H b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistribute.H
index 94953027260..28540fa8e2c 100644
--- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistribute.H
+++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistribute.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -666,10 +666,7 @@ public:
             //- Correct for topo change.
             void updateMesh(const mapPolyMesh&)
             {
-                notImplemented
-                (
-                    "mapDistribute::updateMesh(const mapPolyMesh&)"
-                );
+                NotImplemented;
             }
 
     // Member Operators
diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeLagrangian.H b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeLagrangian.H
index 23daa35db97..6bce7d6ccdb 100644
--- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeLagrangian.H
+++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeLagrangian.H
@@ -106,10 +106,7 @@ public:
             //- Correct for topo change.
             void updateMesh(const mapPolyMesh&)
             {
-                notImplemented
-                (
-                    "mapDistributeLagrangian::updateMesh(const mapPolyMesh&)"
-                );
+                NotImplemented;
             }
 };
 
diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributePolyMesh.H b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributePolyMesh.H
index 5429e75730f..d4ad4c2fa67 100644
--- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributePolyMesh.H
+++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributePolyMesh.H
@@ -249,10 +249,7 @@ public:
             //- Correct for topo change.
             void updateMesh(const mapPolyMesh&)
             {
-                notImplemented
-                (
-                    "mapDistributePolyMesh::updateMesh(const mapPolyMesh&)"
-                );
+                NotImplemented;
             }
 };
 
diff --git a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMeshEntries.H b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMeshEntries.H
index 5e49319024b..ecc4ad783cf 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMeshEntries.H
+++ b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMeshEntries.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -73,7 +73,7 @@ public:
 
         bool writeData(Ostream&) const
         {
-            notImplemented("writeData(Ostream&) const");
+            NotImplemented;
             return false;
         }
 };
diff --git a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/oldCyclic/oldCyclicPolyPatch.H b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/oldCyclic/oldCyclicPolyPatch.H
index 0b8b0955e24..69130138fc2 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/oldCyclic/oldCyclicPolyPatch.H
+++ b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/oldCyclic/oldCyclicPolyPatch.H
@@ -247,20 +247,20 @@ public:
             //- Does this side own the patch ?
             virtual bool owner() const
             {
-                notImplemented("oldCyclicPolyPatch::owner()");
+                NotImplemented;
                 return true;
             }
 
             //- Transform a patch-based position from other side to this side
             virtual void transformPosition(pointField& l) const
             {
-                notImplemented("transformPosition(pointField&)");
+                NotImplemented;
             }
 
             //- Transform a patch-based position from other side to this side
             virtual void transformPosition(point&, const label facei) const
             {
-                notImplemented("transformPosition(point&, const label)");
+                NotImplemented;
             }
 
         //- Calculate the patch geometry
diff --git a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processor/processorPolyPatch.H b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processor/processorPolyPatch.H
index 63c2a7dd8ad..dde628df7a5 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processor/processorPolyPatch.H
+++ b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processor/processorPolyPatch.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -102,7 +102,7 @@ protected:
             const pointField& nbrCc
         )
         {
-            notImplemented("processorPolyPatch::calcGeometry(..)");
+            NotImplemented;
         }
 
         //- Initialise the patches for moving points
diff --git a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processorCyclic/processorCyclicPolyPatch.H b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processorCyclic/processorCyclicPolyPatch.H
index 3ede0219011..c4ccc58ea49 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processorCyclic/processorCyclicPolyPatch.H
+++ b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processorCyclic/processorCyclicPolyPatch.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -87,7 +87,7 @@ protected:
             const pointField& nbrCc
         )
         {
-            notImplemented("processorCyclicPolyPatch::calcGeometry(..)");
+            NotImplemented;
         }
 
         //- Initialise the patches for moving points
diff --git a/src/OpenFOAM/primitives/functions/DataEntry/DataEntry/DataEntry.C b/src/OpenFOAM/primitives/functions/DataEntry/DataEntry/DataEntry.C
index 2674a04c349..51cea621853 100644
--- a/src/OpenFOAM/primitives/functions/DataEntry/DataEntry/DataEntry.C
+++ b/src/OpenFOAM/primitives/functions/DataEntry/DataEntry/DataEntry.C
@@ -70,7 +70,7 @@ void Foam::DataEntry<Type>::convertTimeBase(const Time&)
 template<class Type>
 Type Foam::DataEntry<Type>::value(const scalar x) const
 {
-    notImplemented("Type Foam::DataEntry<Type>::value(const scalar) const");
+    NotImplemented;
 
     return pTraits<Type>::zero;
 }
@@ -79,14 +79,7 @@ Type Foam::DataEntry<Type>::value(const scalar x) const
 template<class Type>
 Type Foam::DataEntry<Type>::integrate(const scalar x1, const scalar x2) const
 {
-    notImplemented
-    (
-        "Type Foam::DataEntry<Type>::integrate"
-        "("
-            "const scalar, "
-            "const scalar"
-        ") const"
-    );
+    NotImplemented;
 
     return pTraits<Type>::zero;
 }
@@ -131,11 +124,7 @@ Foam::tmp<Foam::Field<Type> > Foam::DataEntry<Type>::integrate
 template<class Type>
 Foam::dimensioned<Type> Foam::DataEntry<Type>::dimValue(const scalar x) const
 {
-    notImplemented
-    (
-        "dimensioned<Type> Foam::DataEntry<dimensioned<Type> >::dimValue"
-        "(const scalar) const"
-    );
+    NotImplemented;
 
     return dimensioned<Type>("zero", dimless, pTraits<Type>::zero);
 }
@@ -148,14 +137,7 @@ Foam::dimensioned<Type> Foam::DataEntry<Type>::dimIntegrate
     const scalar x2
 ) const
 {
-    notImplemented
-    (
-        "dimensioned<Type> Foam::DataEntry<Type>::dimIntegrate"
-        "("
-            "const scalar, "
-            "const scalar"
-        ") const"
-    );
+    NotImplemented;
 
     return dimensioned<Type>("zero", dimless, pTraits<Type>::zero);
 }
diff --git a/src/Pstream/dummy/UIPread.C b/src/Pstream/dummy/UIPread.C
index 7d4a2f8ca51..d91a017b4fe 100644
--- a/src/Pstream/dummy/UIPread.C
+++ b/src/Pstream/dummy/UIPread.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -53,21 +53,7 @@ Foam::UIPstream::UIPstream
     clearAtEnd_(clearAtEnd),
     messageSize_(0)
 {
-    notImplemented
-    (
-        "UIPstream::UIPstream\n"
-        "(\n"
-            "const commsTypes,\n"
-            "const int,\n"
-            "DynamicList<char>&,\n"
-            "label&,\n"
-            "const int,\n"
-            "const label,\n"
-            "const bool,\n"
-            "streamFormat,\n"
-            "versionNumber\n"
-        ")"
-    );
+    NotImplemented;
 }
 
 
@@ -83,14 +69,7 @@ Foam::UIPstream::UIPstream(const int fromProcNo, PstreamBuffers& buffers)
     clearAtEnd_(true),
     messageSize_(0)
 {
-    notImplemented
-    (
-        "UIPstream::UIPstream\n"
-        "(\n"
-            "const int,\n"
-            "PstreamBuffers&\n"
-        ")"
-    );
+    NotImplemented;
 }
 
 
@@ -106,18 +85,7 @@ Foam::label Foam::UIPstream::read
     const label communicator
 )
 {
-    notImplemented
-    (
-        "UIPstream::read"
-        "("
-            "const commsTypes,"
-            "const int fromProcNo,"
-            "char* buf,"
-            "const label bufSize,"
-            "const int tag,"
-            "const label communicator"
-        ")"
-     );
+    NotImplemented;
 
      return 0;
 }
diff --git a/src/Pstream/dummy/UOPwrite.C b/src/Pstream/dummy/UOPwrite.C
index 67d3e842055..07459ab8fd5 100644
--- a/src/Pstream/dummy/UOPwrite.C
+++ b/src/Pstream/dummy/UOPwrite.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -40,18 +40,7 @@ bool Foam::UOPstream::write
     const label communicator
 )
 {
-    notImplemented
-    (
-        "UOPstream::write"
-        "("
-            "const commsTypes commsType,"
-            "const int fromProcNo,"
-            "char* buf,"
-            "const label bufSize,"
-            "const int tag,"
-            "const label communicator"
-        ")"
-    );
+    NotImplemented;
 
     return false;
 }
diff --git a/src/Pstream/dummy/UPstream.C b/src/Pstream/dummy/UPstream.C
index c8eadfb92b3..c3d430c53f9 100644
--- a/src/Pstream/dummy/UPstream.C
+++ b/src/Pstream/dummy/UPstream.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -45,13 +45,13 @@ bool Foam::UPstream::init(int& argc, char**& argv)
 
 void Foam::UPstream::exit(int errnum)
 {
-    notImplemented("UPstream::exit(int errnum)");
+    NotImplemented;
 }
 
 
 void Foam::UPstream::abort()
 {
-    notImplemented("UPstream::abort()");
+    NotImplemented;
 }
 
 
@@ -113,7 +113,7 @@ void Foam::UPstream::waitRequest(const label i)
 
 bool Foam::UPstream::finishedRequest(const label i)
 {
-    notImplemented("UPstream::finishedRequest()");
+    NotImplemented;
     return false;
 }
 
diff --git a/src/TurbulenceModels/incompressible/IncompressibleTurbulenceModel/IncompressibleTurbulenceModel.C b/src/TurbulenceModels/incompressible/IncompressibleTurbulenceModel/IncompressibleTurbulenceModel.C
index 447af12fff9..2da3007b122 100644
--- a/src/TurbulenceModels/incompressible/IncompressibleTurbulenceModel/IncompressibleTurbulenceModel.C
+++ b/src/TurbulenceModels/incompressible/IncompressibleTurbulenceModel/IncompressibleTurbulenceModel.C
@@ -121,11 +121,7 @@ Foam::tmp<Foam::volSymmTensorField>
 Foam::IncompressibleTurbulenceModel<TransportModel>::
 devRhoReff() const
 {
-    notImplemented
-    (
-        "IncompressibleTurbulenceModel<TransportModel>::"
-        "devRhoReff()"
-    );
+    NotImplemented;
 
     return devReff();
 }
@@ -139,11 +135,7 @@ divDevRhoReff
     volVectorField& U
 ) const
 {
-    notImplemented
-    (
-        "IncompressibleTurbulenceModel<TransportModel>::"
-        "divDevRhoReff(volVectorField& U)"
-    );
+    NotImplemented;
 
     return divDevReff(U);
 }
@@ -158,11 +150,7 @@ divDevRhoReff
     volVectorField& U
 ) const
 {
-    notImplemented
-    (
-        "IncompressibleTurbulenceModel<TransportModel>::"
-        "divDevRhoReff(const volScalarField& rho, volVectorField& U)"
-    );
+    NotImplemented;
 
     return divDevReff(U);
 }
diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kkLOmega/kkLOmega.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kkLOmega/kkLOmega.C
index 24a3d6ec41f..cc59e63e598 100644
--- a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kkLOmega/kkLOmega.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kkLOmega/kkLOmega.C
@@ -213,7 +213,7 @@ void kkLOmega::correctNut()
 {
     // Currently this function is not implemented due to the complexity of
     // evaluating nut.  Better calculate nut at the end of correct()
-    notImplemented("kkLOmega::correctNut()");
+    NotImplemented;
 }
 
 
diff --git a/src/TurbulenceModels/phaseIncompressible/PhaseIncompressibleTurbulenceModel/PhaseIncompressibleTurbulenceModel.C b/src/TurbulenceModels/phaseIncompressible/PhaseIncompressibleTurbulenceModel/PhaseIncompressibleTurbulenceModel.C
index 25539ac161b..f563357970c 100644
--- a/src/TurbulenceModels/phaseIncompressible/PhaseIncompressibleTurbulenceModel/PhaseIncompressibleTurbulenceModel.C
+++ b/src/TurbulenceModels/phaseIncompressible/PhaseIncompressibleTurbulenceModel/PhaseIncompressibleTurbulenceModel.C
@@ -169,11 +169,7 @@ Foam::tmp<Foam::volSymmTensorField>
 Foam::PhaseIncompressibleTurbulenceModel<TransportModel>::
 devRhoReff() const
 {
-    notImplemented
-    (
-        "PhaseIncompressibleTurbulenceModel<TransportModel>::"
-        "devRhoReff()"
-    );
+    NotImplemented;
 
     return devReff();
 }
@@ -187,11 +183,7 @@ divDevRhoReff
     volVectorField& U
 ) const
 {
-    notImplemented
-    (
-        "PhaseIncompressibleTurbulenceModel<TransportModel>::"
-        "divDevRhoReff(volVectorField& U)"
-    );
+    NotImplemented;
 
     return divDevReff(U);
 }
diff --git a/src/conversion/ensight/part/ensightPart.H b/src/conversion/ensight/part/ensightPart.H
index 8166f953dc2..ff1cdcf1f81 100644
--- a/src/conversion/ensight/part/ensightPart.H
+++ b/src/conversion/ensight/part/ensightPart.H
@@ -340,7 +340,7 @@ public:
         //- Disallow default bitwise assignment
         void operator=(const ensightPart&)
         {
-            notImplemented("ensightPart::operator=(const ensightPart&)");
+            NotImplemented;
         }
 
 
diff --git a/src/dynamicMesh/meshCut/cellLooper/cellLooper.H b/src/dynamicMesh/meshCut/cellLooper/cellLooper.H
index b39a0741039..9feae62ca81 100644
--- a/src/dynamicMesh/meshCut/cellLooper/cellLooper.H
+++ b/src/dynamicMesh/meshCut/cellLooper/cellLooper.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -145,7 +145,7 @@ public:
         //- Clone
         autoPtr<cellLooper> clone() const
         {
-            notImplemented("autoPtr<tcellLooper> clone() const");
+            NotImplemented;
             return autoPtr<cellLooper>(NULL);
         }
 
diff --git a/src/fileFormats/sampledSetWriters/jplot/jplotSetWriter.H b/src/fileFormats/sampledSetWriters/jplot/jplotSetWriter.H
index 5b094566429..613b7f6b5ef 100644
--- a/src/fileFormats/sampledSetWriters/jplot/jplotSetWriter.H
+++ b/src/fileFormats/sampledSetWriters/jplot/jplotSetWriter.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -96,17 +96,7 @@ public:
             Ostream&
         ) const
         {
-            notImplemented
-            (
-                "jplotSetWriter<Type>::write\n"
-                "(\n"
-                "    const bool,\n"
-                "    const PtrList<coordSet>&,\n"
-                "    const wordList&,\n"
-                "    const List<List<Field<Type> > >&,\n"
-                "    Ostream&\n"
-                ") const"
-            );
+            NotImplemented;
         }
 };
 
diff --git a/src/finiteVolume/cfdTools/general/MRF/MRFZone.H b/src/finiteVolume/cfdTools/general/MRF/MRFZone.H
index d6a41fcf9d7..dfe213c3900 100644
--- a/src/finiteVolume/cfdTools/general/MRF/MRFZone.H
+++ b/src/finiteVolume/cfdTools/general/MRF/MRFZone.H
@@ -164,7 +164,7 @@ public:
         //- Return clone
         autoPtr<MRFZone> clone() const
         {
-            notImplemented("autoPtr<MRFZone> clone() const");
+            NotImplemented;
             return autoPtr<MRFZone>(NULL);
         }
 
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchField.C
index 1a0aacd0303..38b1e11a10d 100644
--- a/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -181,7 +181,7 @@ template<class Type>
 Foam::tmp<Foam::Field<Type> >
 Foam::coupledFvPatchField<Type>::gradientInternalCoeffs() const
 {
-    notImplemented("coupledFvPatchField<Type>::gradientInternalCoeffs()");
+    NotImplemented;
     return -Type(pTraits<Type>::one)*this->patch().deltaCoeffs();
 }
 
@@ -201,7 +201,7 @@ template<class Type>
 Foam::tmp<Foam::Field<Type> >
 Foam::coupledFvPatchField<Type>::gradientBoundaryCoeffs() const
 {
-    notImplemented("coupledFvPatchField<Type>::gradientBoundaryCoeffs()");
+    NotImplemented;
     return -this->gradientInternalCoeffs();
 }
 
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchField.H
index 4a443c6f115..546e2ee5f8a 100644
--- a/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchField.H
+++ b/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -147,10 +147,7 @@ public:
             //- Return patch-normal gradient
             virtual tmp<Field<Type> > snGrad() const
             {
-                notImplemented
-                (
-                    type() + "::coupledFvPatchField<Type>::snGrad()"
-                );
+                NotImplemented;
                 return *this;
             }
 
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/sliced/slicedFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/basic/sliced/slicedFvPatchField.C
index ffb59873df2..9e581c6e90c 100644
--- a/src/finiteVolume/fields/fvPatchFields/basic/sliced/slicedFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/basic/sliced/slicedFvPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -69,12 +69,7 @@ slicedFvPatchField<Type>::slicedFvPatchField
 :
     fvPatchField<Type>(ptf, p, iF, mapper)
 {
-    notImplemented
-    (
-        "slicedFvPatchField<Type>::"
-        "slicedFvPatchField(const slicedFvPatchField<Type>&, "
-        "const fvPatch&, const Field<Type>&, const fvPatchFieldMapper&)"
-    );
+    NotImplemented;
 }
 
 
@@ -88,11 +83,7 @@ slicedFvPatchField<Type>::slicedFvPatchField
 :
     fvPatchField<Type>(p, iF, dict)
 {
-    notImplemented
-    (
-        "slicedFvPatchField<Type>::"
-        "slicedFvPatchField(const Field<Type>&, const dictionary&)"
-    );
+    NotImplemented;
 }
 
 
@@ -164,11 +155,7 @@ slicedFvPatchField<Type>::~slicedFvPatchField<Type>()
 template<class Type>
 tmp<Field<Type> > slicedFvPatchField<Type>::snGrad() const
 {
-    notImplemented
-    (
-        "slicedFvPatchField<Type>::"
-        "snGrad()"
-    );
+    NotImplemented;
 
     return Field<Type>::null();
 }
@@ -177,22 +164,14 @@ tmp<Field<Type> > slicedFvPatchField<Type>::snGrad() const
 template<class Type>
 void slicedFvPatchField<Type>::updateCoeffs()
 {
-    notImplemented
-    (
-        "slicedFvPatchField<Type>::"
-        "updateCoeffs()"
-    );
+    NotImplemented;
 }
 
 
 template<class Type>
 tmp<Field<Type> > slicedFvPatchField<Type>::patchInternalField() const
 {
-    notImplemented
-    (
-        "slicedFvPatchField<Type>::"
-        "patchInternalField()"
-    );
+    NotImplemented;
 
     return Field<Type>::null();
 }
@@ -201,11 +180,7 @@ tmp<Field<Type> > slicedFvPatchField<Type>::patchInternalField() const
 template<class Type>
 void slicedFvPatchField<Type>::patchInternalField(Field<Type>&) const
 {
-    notImplemented
-    (
-        "slicedFvPatchField<Type>::"
-        "patchInternalField(Field<Type>&)"
-    );
+    NotImplemented;
 }
 
 
@@ -215,11 +190,7 @@ tmp<Field<Type> > slicedFvPatchField<Type>::patchNeighbourField
     const Field<Type>& iField
 ) const
 {
-    notImplemented
-    (
-        "slicedFvPatchField<Type>::"
-        "patchNeighbourField(const DimensionedField<Type, volMesh>& iField)"
-    );
+    NotImplemented;
 
     return Field<Type>::null();
 }
@@ -228,11 +199,7 @@ tmp<Field<Type> > slicedFvPatchField<Type>::patchNeighbourField
 template<class Type>
 tmp<Field<Type> > slicedFvPatchField<Type>::patchNeighbourField() const
 {
-    notImplemented
-    (
-        "slicedFvPatchField<Type>::"
-        "patchNeighbourField()"
-    );
+    NotImplemented;
 
     return Field<Type>::null();
 }
@@ -244,11 +211,7 @@ tmp<Field<Type> > slicedFvPatchField<Type>::valueInternalCoeffs
     const tmp<scalarField>&
 ) const
 {
-    notImplemented
-    (
-        "slicedFvPatchField<Type>::"
-        "valueInternalCoeffs(const tmp<scalarField>&)"
-    );
+    NotImplemented;
 
     return Field<Type>::null();
 }
@@ -260,11 +223,7 @@ tmp<Field<Type> > slicedFvPatchField<Type>::valueBoundaryCoeffs
     const tmp<scalarField>&
 ) const
 {
-    notImplemented
-    (
-        "slicedFvPatchField<Type>::"
-        "valueBoundaryCoeffs(const tmp<scalarField>&)"
-    );
+    NotImplemented;
 
     return Field<Type>::null();
 }
@@ -273,11 +232,7 @@ tmp<Field<Type> > slicedFvPatchField<Type>::valueBoundaryCoeffs
 template<class Type>
 tmp<Field<Type> > slicedFvPatchField<Type>::gradientInternalCoeffs() const
 {
-    notImplemented
-    (
-        "slicedFvPatchField<Type>::"
-        "gradientInternalCoeffs()"
-    );
+    NotImplemented;
 
     return Field<Type>::null();
 }
@@ -286,11 +241,7 @@ tmp<Field<Type> > slicedFvPatchField<Type>::gradientInternalCoeffs() const
 template<class Type>
 tmp<Field<Type> > slicedFvPatchField<Type>::gradientBoundaryCoeffs() const
 {
-    notImplemented
-    (
-        "slicedFvPatchField<Type>::"
-        "gradientBoundaryCoeffs()"
-    );
+    NotImplemented;
 
     return Field<Type>::null();
 }
diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclic/jumpCyclicFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclic/jumpCyclicFvPatchField.C
index 6313dab9c18..d8564fae534 100644
--- a/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclic/jumpCyclicFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclic/jumpCyclicFvPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -138,17 +138,7 @@ void Foam::jumpCyclicFvPatchField<Type>::updateInterfaceMatrix
     const Pstream::commsTypes
 ) const
 {
-    notImplemented
-    (
-        "void Foam::jumpCyclicFvPatchField<Type>::updateInterfaceMatrix"
-        "("
-            "scalarField&, "
-            "const scalarField&, "
-            "const scalarField&, "
-            "const direction, "
-            "const Pstream::commsTypes"
-        ") const"
-    );
+    NotImplemented;
 }
 
 
diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclicAMI/jumpCyclicAMIFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclicAMI/jumpCyclicAMIFvPatchField.C
index 7e13ba75f44..38e6dcf08b6 100644
--- a/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclicAMI/jumpCyclicAMIFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/jumpCyclicAMI/jumpCyclicAMIFvPatchField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -140,17 +140,7 @@ void Foam::jumpCyclicAMIFvPatchField<Type>::updateInterfaceMatrix
     const Pstream::commsTypes
 ) const
 {
-    notImplemented
-    (
-        "void Foam::jumpCyclicAMIFvPatchField<Type>::updateInterfaceMatrix"
-        "("
-            "scalarField&, "
-            "const scalarField&, "
-            "const scalarField& coeffs,"
-            "const direction, "
-            "const Pstream::commsTypes"
-        ") const"
-    );
+    NotImplemented;
 }
 
 
diff --git a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H
index 5e9682634f6..dae962c3031 100644
--- a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H
+++ b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -386,10 +386,7 @@ public:
                 const scalarField& deltaCoeffs
             ) const
             {
-                notImplemented
-                (
-                    type() + "::snGrad(const scalarField& deltaCoeffs)"
-                );
+                NotImplemented;
                 return *this;
             }
 
@@ -411,7 +408,7 @@ public:
             //- Return patchField on the opposite patch of a coupled patch
             virtual tmp<Field<Type> > patchNeighbourField() const
             {
-                notImplemented(type() + "patchNeighbourField()");
+                NotImplemented;
                 return *this;
             }
 
@@ -436,11 +433,7 @@ public:
                 const tmp<Field<scalar> >&
             ) const
             {
-                notImplemented
-                (
-                    type()
-                  + "::valueInternalCoeffs(const tmp<Field<scalar> >&)"
-                );
+                NotImplemented;
                 return *this;
             }
 
@@ -451,11 +444,7 @@ public:
                 const tmp<Field<scalar> >&
             ) const
             {
-                notImplemented
-                (
-                    type()
-                  + "::valueBoundaryCoeffs(const tmp<Field<scalar> >&)"
-                );
+                NotImplemented;
                 return *this;
             }
 
@@ -463,7 +452,7 @@ public:
             //  evaluation of the gradient of this patchField
             virtual tmp<Field<Type> > gradientInternalCoeffs() const
             {
-                notImplemented(type() + "::gradientInternalCoeffs()");
+                NotImplemented;
                 return *this;
             }
 
@@ -475,11 +464,7 @@ public:
                 const scalarField& deltaCoeffs
             ) const
             {
-                notImplemented
-                (
-                    type()
-                  + "::gradientInternalCoeffs(const scalarField& deltaCoeffs)"
-                );
+                NotImplemented;
                 return *this;
             }
 
@@ -487,7 +472,7 @@ public:
             //  evaluation of the gradient of this patchField
             virtual tmp<Field<Type> > gradientBoundaryCoeffs() const
             {
-                notImplemented(type() + "::gradientBoundaryCoeffs()");
+                NotImplemented;
                 return *this;
             }
 
@@ -499,11 +484,7 @@ public:
                 const scalarField& deltaCoeffs
             ) const
             {
-                notImplemented
-                (
-                    type()
-                  + "::gradientBoundaryCoeffs(const scalarField& deltaCoeffs)"
-                );
+                NotImplemented;
                 return *this;
             }
 
diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.C
index d9c4e7b2361..acef68f9282 100644
--- a/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.C
+++ b/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -69,12 +69,7 @@ slicedFvsPatchField<Type>::slicedFvsPatchField
 :
     fvsPatchField<Type>(ptf, p, iF, mapper)
 {
-    notImplemented
-    (
-        "slicedFvsPatchField<Type>::"
-        "slicedFvsPatchField(const slicedFvsPatchField<Type>&, "
-        "const fvPatch&, const Field<Type>&, const fvPatchFieldMapper&)"
-    );
+    NotImplemented;
 }
 
 
@@ -88,11 +83,7 @@ slicedFvsPatchField<Type>::slicedFvsPatchField
 :
     fvsPatchField<Type>(p, iF, Field<Type>("value", dict, p.size()))
 {
-    notImplemented
-    (
-        "slicedFvsPatchField<Type>::"
-        "slicedFvsPatchField(const Field<Type>&, const dictionary&)"
-    );
+    NotImplemented;
 }
 
 
diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.C b/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.C
index 8428f981f62..955234f5510 100644
--- a/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.C
+++ b/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.C
@@ -105,7 +105,7 @@ tmp<GeometricField<Type, fvPatchField, volMesh> > ddtScheme<Type>::fvcDdt
     const GeometricField<Type, fvPatchField, volMesh>& vf
 )
 {
-    notImplemented("fvmDdt(alpha, rho, psi");
+    NotImplemented;
 
     return tmp<GeometricField<Type, fvPatchField, volMesh> >
     (
@@ -122,7 +122,7 @@ tmp<fvMatrix<Type> > ddtScheme<Type>::fvmDdt
     const GeometricField<Type, fvPatchField, volMesh>& vf
 )
 {
-    notImplemented("fvmDdt(alpha, rho, psi");
+    NotImplemented;
 
     return tmp<fvMatrix<Type> >
     (
diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.H b/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.H
index a8d4301c576..5c35996c384 100644
--- a/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.H
+++ b/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.H
@@ -288,7 +288,7 @@ tmp<surfaceScalarField> SS<scalar>::fvcDdtUfCorr                               \
     const surfaceScalarField& Uf                                               \
 )                                                                              \
 {                                                                              \
-    notImplemented(#SS"<scalar>::fvcDdtUfCorr");                               \
+    NotImplemented;                               \
     return surfaceScalarField::null();                                         \
 }                                                                              \
                                                                                \
@@ -299,7 +299,7 @@ tmp<surfaceScalarField> SS<scalar>::fvcDdtPhiCorr                              \
     const surfaceScalarField& phi                                              \
 )                                                                              \
 {                                                                              \
-    notImplemented(#SS"<scalar>::fvcDdtPhiCorr");                              \
+    NotImplemented;                              \
     return surfaceScalarField::null();                                         \
 }                                                                              \
                                                                                \
@@ -311,7 +311,7 @@ tmp<surfaceScalarField> SS<scalar>::fvcDdtUfCorr                               \
     const surfaceScalarField& Uf                                               \
 )                                                                              \
 {                                                                              \
-    notImplemented(#SS"<scalar>::fvcDdtUfCorr");                               \
+    NotImplemented;                               \
     return surfaceScalarField::null();                                         \
 }                                                                              \
                                                                                \
@@ -323,7 +323,7 @@ tmp<surfaceScalarField> SS<scalar>::fvcDdtPhiCorr                              \
     const surfaceScalarField& phi                                              \
 )                                                                              \
 {                                                                              \
-    notImplemented(#SS"<scalar>::fvcDdtPhiCorr");                              \
+    NotImplemented;                              \
     return surfaceScalarField::null();                                         \
 }                                                                              \
                                                                                \
diff --git a/src/finiteVolume/finiteVolume/snGradSchemes/orthogonalSnGrad/orthogonalSnGrad.C b/src/finiteVolume/finiteVolume/snGradSchemes/orthogonalSnGrad/orthogonalSnGrad.C
index 39866b78ab5..8ae3b152432 100644
--- a/src/finiteVolume/finiteVolume/snGradSchemes/orthogonalSnGrad/orthogonalSnGrad.C
+++ b/src/finiteVolume/finiteVolume/snGradSchemes/orthogonalSnGrad/orthogonalSnGrad.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,11 +56,7 @@ orthogonalSnGrad<Type>::correction
     const GeometricField<Type, fvPatchField, volMesh>&
 ) const
 {
-    notImplemented
-    (
-        "orthogonalSnGrad<Type>::correction"
-        "(const GeometricField<Type, fvPatchField, volMesh>&)"
-    );
+    NotImplemented;
     return tmp<GeometricField<Type, fvsPatchField, surfaceMesh> >(NULL);
 }
 
diff --git a/src/finiteVolume/finiteVolume/snGradSchemes/uncorrectedSnGrad/uncorrectedSnGrad.C b/src/finiteVolume/finiteVolume/snGradSchemes/uncorrectedSnGrad/uncorrectedSnGrad.C
index 6ef30f47de4..32344459fd1 100644
--- a/src/finiteVolume/finiteVolume/snGradSchemes/uncorrectedSnGrad/uncorrectedSnGrad.C
+++ b/src/finiteVolume/finiteVolume/snGradSchemes/uncorrectedSnGrad/uncorrectedSnGrad.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,11 +56,7 @@ uncorrectedSnGrad<Type>::correction
     const GeometricField<Type, fvPatchField, volMesh>&
 ) const
 {
-    notImplemented
-    (
-        "uncorrectedSnGrad<Type>::correction"
-        "(const GeometricField<Type, fvPatchField, volMesh>&)"
-    );
+    NotImplemented;
     return tmp<GeometricField<Type, fvsPatchField, surfaceMesh> >(NULL);
 }
 
diff --git a/src/finiteVolume/fvMatrices/solvers/MULES/IMULESTemplates.C b/src/finiteVolume/fvMatrices/solvers/MULES/IMULESTemplates.C
index fa473164e48..4cc8cd128ce 100644
--- a/src/finiteVolume/fvMatrices/solvers/MULES/IMULESTemplates.C
+++ b/src/finiteVolume/fvMatrices/solvers/MULES/IMULESTemplates.C
@@ -39,10 +39,7 @@ namespace MULES
     template<class RhoType>
     inline tmp<surfaceScalarField> interpolate(const RhoType& rho)
     {
-        notImplemented
-        (
-            "tmp<surfaceScalarField> interpolate(const RhoType& rho)"
-        );
+        NotImplemented;
         return tmp<surfaceScalarField>(NULL);
     }
 
diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/harmonic/harmonic.H b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/harmonic/harmonic.H
index 8918fc0abcb..4dd2e87ba36 100644
--- a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/harmonic/harmonic.H
+++ b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/harmonic/harmonic.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -108,11 +108,7 @@ public:
             const GeometricField<scalar, fvPatchField, volMesh>&
         ) const
         {
-            notImplemented
-            (
-                "harmonic::weights"
-                "(const GeometricField<scalar, fvPatchField, volMesh>&)"
-            );
+            NotImplemented;
 
             return tmp<surfaceScalarField>(NULL);
         }
diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/localMax/localMax.H b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/localMax/localMax.H
index 8ddaf8c4521..e6d5849bd4f 100644
--- a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/localMax/localMax.H
+++ b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/localMax/localMax.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -108,11 +108,7 @@ public:
             const GeometricField<Type, fvPatchField, volMesh>&
         ) const
         {
-            notImplemented
-            (
-                "localMax::weights"
-                "(const GeometricField<Type, fvPatchField, volMesh>&)"
-            );
+            NotImplemented;
 
             return tmp<surfaceScalarField>(NULL);
         }
diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/localMin/localMin.H b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/localMin/localMin.H
index 85c8375db56..9cd25a8352f 100644
--- a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/localMin/localMin.H
+++ b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/localMin/localMin.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -108,11 +108,7 @@ public:
             const GeometricField<Type, fvPatchField, volMesh>&
         ) const
         {
-            notImplemented
-            (
-                "localMin::weights"
-                "(const GeometricField<Type, fvPatchField, volMesh>&)"
-            );
+            NotImplemented;
 
             return tmp<surfaceScalarField>(NULL);
         }
diff --git a/src/fvOptions/fvOption/fvOption.H b/src/fvOptions/fvOption/fvOption.H
index 364b0e19539..8362aee7a00 100644
--- a/src/fvOptions/fvOption/fvOption.H
+++ b/src/fvOptions/fvOption/fvOption.H
@@ -131,7 +131,7 @@ public:
         //- Return clone
         autoPtr<option> clone() const
         {
-            notImplemented("autoPtr<option> clone() const");
+            NotImplemented;
             return autoPtr<option>(NULL);
         }
 
diff --git a/src/fvOptions/sources/derived/effectivenessHeatExchangerSource/effectivenessHeatExchangerSource.H b/src/fvOptions/sources/derived/effectivenessHeatExchangerSource/effectivenessHeatExchangerSource.H
index 72212d5412b..663e81de658 100644
--- a/src/fvOptions/sources/derived/effectivenessHeatExchangerSource/effectivenessHeatExchangerSource.H
+++ b/src/fvOptions/sources/derived/effectivenessHeatExchangerSource/effectivenessHeatExchangerSource.H
@@ -254,11 +254,7 @@ public:
                 const label fieldI
             )
             {
-                notImplemented
-                (
-                    "effectivenessHeatExchangerSource::addSup(eqn, fieldI): "
-                    "only compressible solvers supported."
-                );
+                NotImplemented;
             }
 
 
diff --git a/src/fvOptions/sources/derived/meanVelocityForce/meanVelocityForceIO.C b/src/fvOptions/sources/derived/meanVelocityForce/meanVelocityForceIO.C
index 9a74a48e285..cccffc523ea 100644
--- a/src/fvOptions/sources/derived/meanVelocityForce/meanVelocityForceIO.C
+++ b/src/fvOptions/sources/derived/meanVelocityForce/meanVelocityForceIO.C
@@ -29,13 +29,7 @@ License
 
 bool Foam::fv::meanVelocityForce::read(const dictionary& dict)
 {
-    notImplemented
-    (
-        "bool Foam::fv::meanVelocityForce::read"
-        "("
-            "const dictionary&"
-        ") const"
-    );
+    NotImplemented;
 
     return false;
 }
diff --git a/src/genericPatchFields/genericPointPatchField/genericPointPatchField.C b/src/genericPatchFields/genericPointPatchField/genericPointPatchField.C
index 838757bf32c..c477c89dcde 100644
--- a/src/genericPatchFields/genericPointPatchField/genericPointPatchField.C
+++ b/src/genericPatchFields/genericPointPatchField/genericPointPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -42,11 +42,7 @@ genericPointPatchField<Type>::genericPointPatchField
 :
     calculatedPointPatchField<Type>(p, iF)
 {
-    notImplemented
-    (
-        "genericPointPatchField<Type>::genericPointPatchField"
-        "(const pointPatch& p, const DimensionedField<Type, volMesh>& iF)"
-    );
+    NotImplemented;
 }
 
 
diff --git a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcel.C b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcel.C
index 36f146d77af..3063c87b116 100644
--- a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcel.C
+++ b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcel.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -94,7 +94,7 @@ bool Foam::CollidingParcel<ParcelType>::move
 
         case TrackData::tpRotationalTrack:
         {
-            notImplemented("TrackData::tpRotationalTrack");
+            NotImplemented;
 
             break;
         }
diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/CloudFunctionObject/CloudFunctionObject.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/CloudFunctionObject/CloudFunctionObject.C
index b0399c5acf1..bf79b15c21a 100644
--- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/CloudFunctionObject/CloudFunctionObject.C
+++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/CloudFunctionObject/CloudFunctionObject.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -30,7 +30,7 @@ License
 template<class CloudType>
 void Foam::CloudFunctionObject<CloudType>::write()
 {
-    notImplemented("void Foam::CloudFunctionObject<CloudType>::write()");
+    NotImplemented;
 }
 
 
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairCollision.C b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairCollision.C
index 9a5e1994166..185bfb2f525 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairCollision.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairCollision.C
@@ -608,13 +608,7 @@ Foam::PairCollision<CloudType>::PairCollision
     il_(cm.owner().mesh())
 {
     // Need to clone to PairModel and WallModel
-    notImplemented
-    (
-        "Foam::PairCollision<CloudType>::PairCollision"
-        "("
-            "PairCollision<CloudType>& cm"
-        ")"
-    );
+    NotImplemented;
 }
 
 
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/KinematicLookupTableInjection/kinematicParcelInjectionData.H b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/KinematicLookupTableInjection/kinematicParcelInjectionData.H
index ee76e3b806a..eaea7978782 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/KinematicLookupTableInjection/kinematicParcelInjectionData.H
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/KinematicLookupTableInjection/kinematicParcelInjectionData.H
@@ -152,14 +152,7 @@ public:
             const kinematicParcelInjectionData& b
         )
         {
-            notImplemented
-            (
-                "operator=="
-                "("
-                    "const kinematicParcelInjectionData&, "
-                    "const kinematicParcelInjectionData&"
-                ")"
-            );
+            NotImplemented;
 
             return false;
         }
@@ -170,14 +163,7 @@ public:
             const kinematicParcelInjectionData& b
         )
         {
-            notImplemented
-            (
-                "operator=="
-                "("
-                    "const kinematicParcelInjectionData&, "
-                    "const kinematicParcelInjectionData&"
-                ")"
-            );
+            NotImplemented;
 
             return false;
         }
diff --git a/src/lagrangian/intermediate/submodels/MPPIC/ParticleStressModels/Lun/Lun.C b/src/lagrangian/intermediate/submodels/MPPIC/ParticleStressModels/Lun/Lun.C
index 9962149fbda..90f36037733 100644
--- a/src/lagrangian/intermediate/submodels/MPPIC/ParticleStressModels/Lun/Lun.C
+++ b/src/lagrangian/intermediate/submodels/MPPIC/ParticleStressModels/Lun/Lun.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -108,12 +108,7 @@ Foam::ParticleStressModels::Lun::dTaudTheta
     const Field<scalar>& uSqr
 ) const
 {
-    notImplemented
-    (
-        "Foam::scalar Foam::ParticleStressModels::Lun::dTau_dTheta"
-        "(const Field<scalar>&, const Field<scalar>&, const Field<scalar>&) "
-        "const"
-    );
+    NotImplemented;
 
     return tmp<Field<scalar> >(NULL);
 }
diff --git a/src/mesh/autoMesh/autoHexMesh/externalDisplacementMeshMover/medialAxisMeshMover.H b/src/mesh/autoMesh/autoHexMesh/externalDisplacementMeshMover/medialAxisMeshMover.H
index a060a04fe6f..71c66c5c3cc 100644
--- a/src/mesh/autoMesh/autoHexMesh/externalDisplacementMeshMover/medialAxisMeshMover.H
+++ b/src/mesh/autoMesh/autoHexMesh/externalDisplacementMeshMover/medialAxisMeshMover.H
@@ -271,11 +271,7 @@ public:
         //-  Update local data for topology changes
         virtual void updateMesh(const mapPolyMesh&)
         {
-            notImplemented
-            (
-                "medialAxisMeshMover::updateMesh"
-                "(const mapPolyMesh&)"
-            );
+            NotImplemented;
         }
 
 };
diff --git a/src/mesh/blockMesh/block/block.H b/src/mesh/blockMesh/block/block.H
index fba8517c037..ee88f8c9a32 100644
--- a/src/mesh/blockMesh/block/block.H
+++ b/src/mesh/blockMesh/block/block.H
@@ -112,7 +112,7 @@ public:
         //- Clone
         autoPtr<block> clone() const
         {
-            notImplemented("block::clone()");
+            NotImplemented;
             return autoPtr<block>(NULL);
         }
 
diff --git a/src/mesh/blockMesh/blockDescriptor/blockDescriptor.H b/src/mesh/blockMesh/blockDescriptor/blockDescriptor.H
index ac5964ecc5d..df3bfa8a390 100644
--- a/src/mesh/blockMesh/blockDescriptor/blockDescriptor.H
+++ b/src/mesh/blockMesh/blockDescriptor/blockDescriptor.H
@@ -129,7 +129,7 @@ public:
         //- Clone
         autoPtr<blockDescriptor> clone() const
         {
-            notImplemented("blockDescriptor::clone()");
+            NotImplemented;
             return autoPtr<blockDescriptor>(NULL);
         }
 
diff --git a/src/mesh/blockMesh/curvedEdges/BSpline.C b/src/mesh/blockMesh/curvedEdges/BSpline.C
index e101bf22e58..14d734f414f 100644
--- a/src/mesh/blockMesh/curvedEdges/BSpline.C
+++ b/src/mesh/blockMesh/curvedEdges/BSpline.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -132,7 +132,7 @@ Foam::point Foam::BSpline::position
 
 Foam::scalar Foam::BSpline::length() const
 {
-    notImplemented("BSpline::length() const");
+    NotImplemented;
     return 1.0;
 }
 
diff --git a/src/mesh/blockMesh/curvedEdges/CatmullRomSpline.C b/src/mesh/blockMesh/curvedEdges/CatmullRomSpline.C
index 22d3ed25b50..323f37eaa88 100644
--- a/src/mesh/blockMesh/curvedEdges/CatmullRomSpline.C
+++ b/src/mesh/blockMesh/curvedEdges/CatmullRomSpline.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -132,7 +132,7 @@ Foam::point Foam::CatmullRomSpline::position
 
 Foam::scalar Foam::CatmullRomSpline::length() const
 {
-    notImplemented("CatmullRomSpline::length() const");
+    NotImplemented;
     return 1.0;
 }
 
diff --git a/src/mesh/blockMesh/curvedEdges/curvedEdge.C b/src/mesh/blockMesh/curvedEdges/curvedEdge.C
index 38a6637bde5..471f5a7f110 100644
--- a/src/mesh/blockMesh/curvedEdges/curvedEdge.C
+++ b/src/mesh/blockMesh/curvedEdges/curvedEdge.C
@@ -68,7 +68,7 @@ Foam::curvedEdge::curvedEdge(const curvedEdge& c)
 
 Foam::autoPtr<Foam::curvedEdge> Foam::curvedEdge::clone() const
 {
-    notImplemented("curvedEdge::clone() const");
+    NotImplemented;
     return autoPtr<curvedEdge>(NULL);
 }
 
@@ -135,7 +135,7 @@ Foam::pointField Foam::curvedEdge::appendEndPoints
 
 void Foam::curvedEdge::operator=(const curvedEdge&)
 {
-    notImplemented("void curvedEdge::operator=(const curvedEdge&)");
+    NotImplemented;
 }
 
 
diff --git a/src/meshTools/AMIInterpolation/GAMG/interfaces/cyclicACMIGAMGInterface/cyclicACMIGAMGInterface.H b/src/meshTools/AMIInterpolation/GAMG/interfaces/cyclicACMIGAMGInterface/cyclicACMIGAMGInterface.H
index 3bf7bb34100..08d9b114c1c 100644
--- a/src/meshTools/AMIInterpolation/GAMG/interfaces/cyclicACMIGAMGInterface/cyclicACMIGAMGInterface.H
+++ b/src/meshTools/AMIInterpolation/GAMG/interfaces/cyclicACMIGAMGInterface/cyclicACMIGAMGInterface.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -155,10 +155,7 @@ public:
             {
                 //TBD. How to serialise the AMI such that we can stream
                 // cyclicACMIGAMGInterface.
-                notImplemented
-                (
-                    "cyclicACMIGAMGInterface::write(Ostream&) const"
-                );
+                NotImplemented;
             }
 };
 
diff --git a/src/meshTools/AMIInterpolation/GAMG/interfaces/cyclicAMIGAMGInterface/cyclicAMIGAMGInterface.H b/src/meshTools/AMIInterpolation/GAMG/interfaces/cyclicAMIGAMGInterface/cyclicAMIGAMGInterface.H
index c05773af1c4..6cc7600cac1 100644
--- a/src/meshTools/AMIInterpolation/GAMG/interfaces/cyclicAMIGAMGInterface/cyclicAMIGAMGInterface.H
+++ b/src/meshTools/AMIInterpolation/GAMG/interfaces/cyclicAMIGAMGInterface/cyclicAMIGAMGInterface.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -155,7 +155,7 @@ public:
             {
                 //TBD. How to serialise the AMI such that we can stream
                 // cyclicAMIGAMGInterface.
-                notImplemented("cyclicAMIGAMGInterface::write(Ostream&) const");
+                NotImplemented;
             }
 };
 
diff --git a/src/meshTools/coordinateSystems/coordinateRotation/EulerCoordinateRotation.C b/src/meshTools/coordinateSystems/coordinateRotation/EulerCoordinateRotation.C
index ff36b3e866c..0ffe75d2e65 100644
--- a/src/meshTools/coordinateSystems/coordinateRotation/EulerCoordinateRotation.C
+++ b/src/meshTools/coordinateSystems/coordinateRotation/EulerCoordinateRotation.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -69,11 +69,7 @@ Foam::tmp<Foam::vectorField> Foam::EulerCoordinateRotation::transform
     const vectorField& st
 ) const
 {
-    notImplemented
-    (
-        "tmp<vectorField> Foam::EulerCoordinateRotation:: "
-        "transform(const vectorField& st) const"
-    );
+    NotImplemented;
     return tmp<vectorField>(NULL);
 }
 
@@ -83,21 +79,14 @@ Foam::tmp<Foam::vectorField> Foam::EulerCoordinateRotation::invTransform
     const vectorField& st
 ) const
 {
-    notImplemented
-    (
-        "tmp<vectorField>  Foam::EulerCoordinateRotation::"
-        "invTransform(const vectorField& st) const"
-    );
+    NotImplemented;
     return tmp<vectorField>(NULL);
 }
 
 
 const Foam::tensorField& Foam::EulerCoordinateRotation::Tr() const
 {
-    notImplemented
-    (
-        "const tensorField& EulerCoordinateRotation::Tr() const"
-    );
+    NotImplemented;
     return NullObjectRef<tensorField>();
 }
 
@@ -107,10 +96,7 @@ Foam::tmp<Foam::tensorField> Foam::EulerCoordinateRotation::transformTensor
     const tensorField& st
 ) const
 {
-     notImplemented
-    (
-        "const tensorField& EulerCoordinateRotation::transformTensor() const"
-    );
+     NotImplemented;
     return tmp<tensorField>(NULL);
 }
 
@@ -130,13 +116,7 @@ Foam::tmp<Foam::tensorField> Foam::EulerCoordinateRotation::transformTensor
     const labelList& cellMap
 ) const
 {
-    notImplemented
-    (
-        "tmp<Foam::tensorField> EulerCoordinateRotation::transformTensor "
-        " const tensorField& st,"
-        " const labelList& cellMap "
-        ") const"
-    );
+    NotImplemented;
     return tmp<tensorField>(NULL);
 }
 
diff --git a/src/meshTools/coordinateSystems/coordinateRotation/STARCDCoordinateRotation.C b/src/meshTools/coordinateSystems/coordinateRotation/STARCDCoordinateRotation.C
index 2515ebadaeb..fde7eb39cc2 100644
--- a/src/meshTools/coordinateSystems/coordinateRotation/STARCDCoordinateRotation.C
+++ b/src/meshTools/coordinateSystems/coordinateRotation/STARCDCoordinateRotation.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -70,11 +70,7 @@ Foam::tmp<Foam::vectorField> Foam::STARCDCoordinateRotation::transform
     const vectorField& st
 ) const
 {
-    notImplemented
-    (
-        "tmp<vectorField> Foam::STARCDCoordinateRotation:: "
-        "transform(const vectorField& st) const"
-    );
+    NotImplemented;
     return tmp<vectorField>(NULL);
 }
 
@@ -84,21 +80,14 @@ Foam::tmp<Foam::vectorField> Foam::STARCDCoordinateRotation::invTransform
     const vectorField& st
 ) const
 {
-    notImplemented
-    (
-        "tmp<vectorField>  Foam::STARCDCoordinateRotation::"
-        "invTransform(const vectorField& st) const"
-    );
+    NotImplemented;
     return tmp<vectorField>(NULL);
 }
 
 
 const Foam::tensorField& Foam::STARCDCoordinateRotation::Tr() const
 {
-    notImplemented
-    (
-        "const tensorField& STARCDCoordinateRotatio::Tr() const"
-    );
+    NotImplemented;
     return NullObjectRef<tensorField>();
 }
 
@@ -108,10 +97,7 @@ Foam::tmp<Foam::tensorField> Foam::STARCDCoordinateRotation::transformTensor
     const tensorField& st
 ) const
 {
-     notImplemented
-    (
-        "tmp<Foam::tensorField> STARCDCoordinateRotation::transformTensor()"
-    );
+     NotImplemented;
     return tmp<tensorField>(NULL);
 }
 
@@ -131,13 +117,7 @@ Foam::tmp<Foam::tensorField> Foam::STARCDCoordinateRotation::transformTensor
     const labelList& cellMap
 ) const
 {
-    notImplemented
-    (
-        "tmp<Foam::tensorField> STARCDCoordinateRotation::transformTensor "
-        " const tensorField& st,"
-        " const labelList& cellMap "
-        ") const"
-    );
+    NotImplemented;
     return tmp<tensorField>(NULL);
 }
 
diff --git a/src/meshTools/coordinateSystems/coordinateRotation/axesRotation.C b/src/meshTools/coordinateSystems/coordinateRotation/axesRotation.C
index 03479be542d..33ebf9c1617 100644
--- a/src/meshTools/coordinateSystems/coordinateRotation/axesRotation.C
+++ b/src/meshTools/coordinateSystems/coordinateRotation/axesRotation.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -169,10 +169,7 @@ Foam::axesRotation::axesRotation(const tensor& R)
 
 const Foam::tensorField& Foam::axesRotation::Tr() const
 {
-    notImplemented
-    (
-        "const Foam::tensorField& axesRotation::Tr() const"
-    );
+    NotImplemented;
     return NullObjectRef<tensorField>();
 }
 
@@ -212,10 +209,7 @@ Foam::tmp<Foam::tensorField> Foam::axesRotation::transformTensor
     const tensorField& st
 ) const
 {
-    notImplemented
-    (
-        "const tensorField& axesRotation::transformTensor() const"
-    );
+    NotImplemented;
     return tmp<tensorField>(NULL);
 }
 
@@ -235,14 +229,7 @@ Foam::tmp<Foam::tensorField> Foam::axesRotation::transformTensor
     const labelList& cellMap
 ) const
 {
-    notImplemented
-    (
-        "tmp<Foam::tensorField> axesRotation::transformTensor "
-        "("
-            "const tensorField&,"
-            "const labelList&"
-        ") const"
-    );
+    NotImplemented;
     return tmp<tensorField>(NULL);
 }
 
diff --git a/src/meshTools/coordinateSystems/coordinateRotation/cylindrical.C b/src/meshTools/coordinateSystems/coordinateRotation/cylindrical.C
index 8d0c85568c2..832c6dec2e2 100644
--- a/src/meshTools/coordinateSystems/coordinateRotation/cylindrical.C
+++ b/src/meshTools/coordinateSystems/coordinateRotation/cylindrical.C
@@ -224,10 +224,7 @@ Foam::tmp<Foam::vectorField> Foam::cylindrical::transform
 
 Foam::vector Foam::cylindrical::transform(const vector& v) const
 {
-    notImplemented
-    (
-        "vector cylindrical::transform(const vector&) const"
-    );
+    NotImplemented;
     return vector::zero;
 }
 
@@ -253,10 +250,7 @@ Foam::tmp<Foam::vectorField> Foam::cylindrical::invTransform
 
 Foam::vector Foam::cylindrical::invTransform(const vector& v) const
 {
-    notImplemented
-    (
-        "vector cylindrical::invTransform(const vector&) const"
-    );
+    NotImplemented;
     return vector::zero;
 }
 
@@ -297,10 +291,7 @@ Foam::tensor Foam::cylindrical::transformTensor
     const tensor& t
 ) const
 {
-    notImplemented
-    (
-        "tensor cylindrical::transformTensor(const tensor&) const"
-    );
+    NotImplemented;
 
     return tensor::zero;
 }
@@ -369,10 +360,7 @@ Foam::symmTensor Foam::cylindrical::transformVector
     const vector& v
 ) const
 {
-    notImplemented
-    (
-        "tensor cylindrical::transformVector(const vector&) const"
-    );
+    NotImplemented;
     return symmTensor::zero;
 }
 
diff --git a/src/meshTools/coordinateSystems/coordinateRotation/cylindrical.H b/src/meshTools/coordinateSystems/coordinateRotation/cylindrical.H
index f166f95e71d..50e0450b271 100644
--- a/src/meshTools/coordinateSystems/coordinateRotation/cylindrical.H
+++ b/src/meshTools/coordinateSystems/coordinateRotation/cylindrical.H
@@ -143,28 +143,28 @@ public:
         //- Return local-to-global transformation tensor
         virtual const tensor& R() const
         {
-            notImplemented("const tensor& cylindrical::R() const");
+            NotImplemented;
             return tensor::zero;
         }
 
         //- Return global-to-local transformation tensor
         virtual const tensor& Rtr() const
         {
-             notImplemented("const tensor& cylindrical::Rtr() const");
+             NotImplemented;
              return tensor::zero;
         }
 
         //- Return local Cartesian x-axis
         virtual const vector e1() const
         {
-            notImplemented("const tensor& cylindrical::e1() const");
+            NotImplemented;
             return vector::zero;
         }
 
         //- Return local Cartesian y-axis
         virtual const vector e2() const
         {
-            notImplemented("const tensor& cylindrical::e2() const");
+            NotImplemented;
             return vector::zero;
         }
 
diff --git a/src/meshTools/indexedOctree/treeDataEdge.C b/src/meshTools/indexedOctree/treeDataEdge.C
index 2499380b324..dc84c4d7ea8 100644
--- a/src/meshTools/indexedOctree/treeDataEdge.C
+++ b/src/meshTools/indexedOctree/treeDataEdge.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -276,11 +276,7 @@ bool Foam::treeDataEdge::findIntersectOp::operator()
     point& result
 ) const
 {
-    notImplemented
-    (
-        "treeDataEdge::intersects(const label, const point&,"
-        "const point&, point&)"
-    );
+    NotImplemented;
     return false;
 }
 
diff --git a/src/meshTools/indexedOctree/treeDataFace.C b/src/meshTools/indexedOctree/treeDataFace.C
index 578a0de2ae0..b6af6e42dd8 100644
--- a/src/meshTools/indexedOctree/treeDataFace.C
+++ b/src/meshTools/indexedOctree/treeDataFace.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -537,18 +537,7 @@ void Foam::treeDataFace::findNearestOp::operator()
     point& nearestPoint
 ) const
 {
-    notImplemented
-    (
-        "treeDataFace::findNearestOp::operator()"
-        "("
-        "    const labelUList&,"
-        "    const linePointRef&,"
-        "    treeBoundBox&,"
-        "    label&,"
-        "    point&,"
-        "    point&"
-        ") const"
-    );
+    NotImplemented;
 }
 
 
diff --git a/src/meshTools/indexedOctree/treeDataPoint.C b/src/meshTools/indexedOctree/treeDataPoint.C
index 82a9bd257b0..999ad1856d6 100644
--- a/src/meshTools/indexedOctree/treeDataPoint.C
+++ b/src/meshTools/indexedOctree/treeDataPoint.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -240,11 +240,7 @@ bool Foam::treeDataPoint::findIntersectOp::operator()
     point& result
 ) const
 {
-    notImplemented
-    (
-        "treeDataPoint::intersects(const label, const point&,"
-        "const point&, point&)"
-    );
+    NotImplemented;
     return false;
 }
 
diff --git a/src/meshTools/indexedOctree/treeDataPrimitivePatch.C b/src/meshTools/indexedOctree/treeDataPrimitivePatch.C
index 51e5252121a..4e920f6525c 100644
--- a/src/meshTools/indexedOctree/treeDataPrimitivePatch.C
+++ b/src/meshTools/indexedOctree/treeDataPrimitivePatch.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -542,18 +542,7 @@ void Foam::treeDataPrimitivePatch<PatchType>::findNearestOp::operator()
     point& nearestPoint
 ) const
 {
-    notImplemented
-    (
-        "treeDataPrimitivePatch<PatchType>::findNearestOp::operator()"
-        "("
-        "    const labelUList&,"
-        "    const linePointRef&,"
-        "    treeBoundBox&,"
-        "    label&,"
-        "    point&,"
-        "    point&"
-        ") const"
-    );
+    NotImplemented;
 }
 
 
diff --git a/src/meshTools/regionCoupled/GAMG/interfaces/regionCoupledGAMGInterface/regionCoupledGAMGInterface.H b/src/meshTools/regionCoupled/GAMG/interfaces/regionCoupledGAMGInterface/regionCoupledGAMGInterface.H
index 700b93d9b88..88fb90db284 100644
--- a/src/meshTools/regionCoupled/GAMG/interfaces/regionCoupledGAMGInterface/regionCoupledGAMGInterface.H
+++ b/src/meshTools/regionCoupled/GAMG/interfaces/regionCoupledGAMGInterface/regionCoupledGAMGInterface.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -92,10 +92,7 @@ public:
             {
                 //TBD. How to serialise the AMI such that we can stream
                 // regionCoupledGAMGInterface.
-                notImplemented
-                (
-                    "regionCoupledGAMGInterface::write(Ostream&) const"
-                );
+                NotImplemented;
             }
 };
 
diff --git a/src/meshTools/regionCoupled/GAMG/interfaces/regionCoupledGAMGInterface/regionCoupledWallGAMGInterface.H b/src/meshTools/regionCoupled/GAMG/interfaces/regionCoupledGAMGInterface/regionCoupledWallGAMGInterface.H
index 0695c1e64cc..fe283c6152a 100644
--- a/src/meshTools/regionCoupled/GAMG/interfaces/regionCoupledGAMGInterface/regionCoupledWallGAMGInterface.H
+++ b/src/meshTools/regionCoupled/GAMG/interfaces/regionCoupledGAMGInterface/regionCoupledWallGAMGInterface.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -94,10 +94,7 @@ public:
             {
                 //TBD. How to serialise the AMI such that we can stream
                 // regionCoupledWallGAMGInterface.
-                notImplemented
-                (
-                    "regionCoupledWallGAMGInterface::write(Ostream&) const"
-                );
+                NotImplemented;
             }
 
 };
diff --git a/src/meshTools/searchableSurface/searchableBox.C b/src/meshTools/searchableSurface/searchableBox.C
index 535b7e2871b..6005822e0b7 100644
--- a/src/meshTools/searchableSurface/searchableBox.C
+++ b/src/meshTools/searchableSurface/searchableBox.C
@@ -377,11 +377,7 @@ Foam::pointIndexHit Foam::searchableBox::findNearest
     point& linePoint
 ) const
 {
-    notImplemented
-    (
-        "searchableBox::findNearest"
-        "(const linePointRef&, treeBoundBox&, point&)"
-    );
+    NotImplemented;
     return pointIndexHit();
 }
 
diff --git a/src/meshTools/searchableSurface/searchableBox.H b/src/meshTools/searchableSurface/searchableBox.H
index 81e47680df5..306ec460bec 100644
--- a/src/meshTools/searchableSurface/searchableBox.H
+++ b/src/meshTools/searchableSurface/searchableBox.H
@@ -261,7 +261,7 @@ public:
 
             bool writeData(Ostream&) const
             {
-                notImplemented("searchableBox::writeData(Ostream&) const");
+                NotImplemented;
                 return false;
             }
 };
diff --git a/src/meshTools/searchableSurface/searchableCylinder.H b/src/meshTools/searchableSurface/searchableCylinder.H
index fe00bc42581..12117c2b51a 100644
--- a/src/meshTools/searchableSurface/searchableCylinder.H
+++ b/src/meshTools/searchableSurface/searchableCylinder.H
@@ -171,10 +171,7 @@ public:
         //- Does any part of the surface overlap the supplied bound box?
         virtual bool overlaps(const boundBox& bb) const
         {
-            notImplemented
-            (
-                "searchableCylinder::overlaps(const boundBox&) const"
-            );
+            NotImplemented;
 
             return false;
         }
@@ -238,7 +235,7 @@ public:
 
             bool writeData(Ostream&) const
             {
-                notImplemented("searchableCylinder::writeData(Ostream&) const");
+                NotImplemented;
                 return false;
             }
 
diff --git a/src/meshTools/searchableSurface/searchableDisk.H b/src/meshTools/searchableSurface/searchableDisk.H
index c31ad42c4a0..2dbf8b4df1a 100644
--- a/src/meshTools/searchableSurface/searchableDisk.H
+++ b/src/meshTools/searchableSurface/searchableDisk.H
@@ -164,10 +164,7 @@ public:
         //- Does any part of the surface overlap the supplied bound box?
         virtual bool overlaps(const boundBox& bb) const
         {
-            notImplemented
-            (
-                "searchableDisk::overlaps(const boundBox&) const"
-            );
+            NotImplemented;
 
             return false;
         }
@@ -231,7 +228,7 @@ public:
 
             bool writeData(Ostream&) const
             {
-                notImplemented("searchableDisk::writeData(Ostream&) const");
+                NotImplemented;
                 return false;
             }
 
diff --git a/src/meshTools/searchableSurface/searchablePlane.H b/src/meshTools/searchableSurface/searchablePlane.H
index a79f93f9029..4b2ffefb012 100644
--- a/src/meshTools/searchableSurface/searchablePlane.H
+++ b/src/meshTools/searchableSurface/searchablePlane.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -148,10 +148,7 @@ public:
         //- Does any part of the surface overlap the supplied bound box?
         virtual bool overlaps(const boundBox& bb) const
         {
-            notImplemented
-            (
-                "searchablePlane::overlaps(const boundBox&) const"
-            );
+            NotImplemented;
 
             return false;
         }
@@ -215,7 +212,7 @@ public:
 
             bool writeData(Ostream&) const
             {
-                notImplemented("searchablePlane::writeData(Ostream&) const");
+                NotImplemented;
                 return false;
             }
 
diff --git a/src/meshTools/searchableSurface/searchablePlate.H b/src/meshTools/searchableSurface/searchablePlate.H
index 0cbea9e01a8..d1b69462a9c 100644
--- a/src/meshTools/searchableSurface/searchablePlate.H
+++ b/src/meshTools/searchableSurface/searchablePlate.H
@@ -223,7 +223,7 @@ public:
 
             bool writeData(Ostream&) const
             {
-                notImplemented("searchablePlate::writeData(Ostream&) const");
+                NotImplemented;
                 return false;
             }
 };
diff --git a/src/meshTools/searchableSurface/searchableSphere.H b/src/meshTools/searchableSurface/searchableSphere.H
index d30b83e8da0..992c28d1a30 100644
--- a/src/meshTools/searchableSurface/searchableSphere.H
+++ b/src/meshTools/searchableSurface/searchableSphere.H
@@ -218,7 +218,7 @@ public:
 
             bool writeData(Ostream&) const
             {
-                notImplemented("searchableSphere::writeData(Ostream&) const");
+                NotImplemented;
                 return false;
             }
 
diff --git a/src/meshTools/searchableSurface/searchableSurface.H b/src/meshTools/searchableSurface/searchableSurface.H
index 6a2adcc9466..32fad48b09b 100644
--- a/src/meshTools/searchableSurface/searchableSurface.H
+++ b/src/meshTools/searchableSurface/searchableSurface.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -137,7 +137,7 @@ public:
         //- Clone
         virtual autoPtr<searchableSurface> clone() const
         {
-            notImplemented("autoPtr<searchableSurface> clone() const");
+            NotImplemented;
             return autoPtr<searchableSurface>(NULL);
         }
 
diff --git a/src/meshTools/searchableSurface/searchableSurfaceCollection.H b/src/meshTools/searchableSurface/searchableSurfaceCollection.H
index b3153b6576c..bbfdff5822e 100644
--- a/src/meshTools/searchableSurface/searchableSurfaceCollection.H
+++ b/src/meshTools/searchableSurface/searchableSurfaceCollection.H
@@ -193,10 +193,7 @@ public:
         //- Does any part of the surface overlap the supplied bound box?
         virtual bool overlaps(const boundBox& bb) const
         {
-            notImplemented
-            (
-                "searchableSurfaceCollection::overlaps(const boundBox&) const"
-            );
+            NotImplemented;
 
             return false;
         }
@@ -281,10 +278,7 @@ public:
 
             bool writeData(Ostream&) const
             {
-                notImplemented
-                (
-                    "searchableSurfaceCollection::writeData(Ostream&) const"
-                );
+                NotImplemented;
                 return false;
             }
 
diff --git a/src/meshTools/searchableSurface/triSurfaceMesh.H b/src/meshTools/searchableSurface/triSurfaceMesh.H
index 5751ead9589..401dea10ff9 100644
--- a/src/meshTools/searchableSurface/triSurfaceMesh.H
+++ b/src/meshTools/searchableSurface/triSurfaceMesh.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -276,7 +276,7 @@ public:
 
             bool writeData(Ostream&) const
             {
-                notImplemented("triSurfaceMesh::writeData(Ostream&) const");
+                NotImplemented;
                 return false;
             }
 
diff --git a/src/meshTools/sets/topoSetSource/topoSetSource.H b/src/meshTools/sets/topoSetSource/topoSetSource.H
index 22f48e30c1d..0b83d2b34c9 100644
--- a/src/meshTools/sets/topoSetSource/topoSetSource.H
+++ b/src/meshTools/sets/topoSetSource/topoSetSource.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -242,7 +242,7 @@ public:
         //- Clone
         autoPtr<topoSetSource> clone() const
         {
-            notImplemented("autoPtr<topoSetSource> clone() const");
+            NotImplemented;
             return autoPtr<topoSetSource>(NULL);
         }
 
diff --git a/src/meshTools/sets/topoSets/topoSet.C b/src/meshTools/sets/topoSets/topoSet.C
index 4618b228d99..48f96eea007 100644
--- a/src/meshTools/sets/topoSets/topoSet.C
+++ b/src/meshTools/sets/topoSets/topoSet.C
@@ -514,7 +514,7 @@ void Foam::topoSet::deleteSet(const topoSet& set)
 
 void Foam::topoSet::sync(const polyMesh&)
 {
-    notImplemented("topoSet::sync(const polyMesh&)");
+    NotImplemented;
 }
 
 
@@ -557,7 +557,7 @@ bool Foam::topoSet::writeData(Ostream& os) const
 
 void Foam::topoSet::updateMesh(const mapPolyMesh&)
 {
-    notImplemented("topoSet::updateMesh(const mapPolyMesh&)");
+    NotImplemented;
 }
 
 
diff --git a/src/meshTools/sets/topoSets/topoSet.H b/src/meshTools/sets/topoSets/topoSet.H
index c63e27eb2dd..bcad4e18361 100644
--- a/src/meshTools/sets/topoSets/topoSet.H
+++ b/src/meshTools/sets/topoSets/topoSet.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -219,7 +219,7 @@ public:
         //- Clone
         autoPtr<topoSet> clone() const
         {
-            notImplemented("autoPtr<topoSet> clone() const");
+            NotImplemented;
             return autoPtr<topoSet>(NULL);
         }
 
diff --git a/src/parallel/decompose/decompositionMethods/decompositionMethod/decompositionMethod.H b/src/parallel/decompose/decompositionMethods/decompositionMethod/decompositionMethod.H
index 2d02936d2b1..c48a185d55d 100644
--- a/src/parallel/decompose/decompositionMethods/decompositionMethod/decompositionMethod.H
+++ b/src/parallel/decompose/decompositionMethods/decompositionMethod/decompositionMethod.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -134,21 +134,14 @@ public:
                 const scalarField& pointWeights
             )
             {
-                notImplemented
-                (
-                    "decompositionMethod:decompose(const pointField&"
-                    ", const scalarField&)"
-                );
+                NotImplemented;
                 return labelList(0);
             }
 
             //- Like decompose but with uniform weights on the points
             virtual labelList decompose(const pointField&)
             {
-                notImplemented
-                (
-                    "decompositionMethod:decompose(const pointField&)"
-                );
+                NotImplemented;
                 return labelList(0);
             }
 
diff --git a/src/parallel/decompose/decompositionMethods/manualDecomp/manualDecomp.H b/src/parallel/decompose/decompositionMethods/manualDecomp/manualDecomp.H
index fe51798096d..c453bcf73d6 100644
--- a/src/parallel/decompose/decompositionMethods/manualDecomp/manualDecomp.H
+++ b/src/parallel/decompose/decompositionMethods/manualDecomp/manualDecomp.H
@@ -108,11 +108,7 @@ public:
             const scalarField& cWeights
         )
         {
-            notImplemented
-            (
-                "decompose(const labelListList&, const pointField&"
-                ", const scalarField&)"
-            );
+            NotImplemented;
             return labelList(0);
         }
 
diff --git a/src/parallel/decompose/decompositionMethods/structuredDecomp/structuredDecomp.C b/src/parallel/decompose/decompositionMethods/structuredDecomp/structuredDecomp.C
index 1672e53d210..03454227484 100644
--- a/src/parallel/decompose/decompositionMethods/structuredDecomp/structuredDecomp.C
+++ b/src/parallel/decompose/decompositionMethods/structuredDecomp/structuredDecomp.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -174,15 +174,7 @@ Foam::labelList Foam::structuredDecomp::decompose
     const scalarField& pointWeights
 )
 {
-    notImplemented
-    (
-        "structuredDecomp::decompose\n"
-        "(\n"
-        "    const labelListList&,\n"
-        "    const pointField&,\n"
-        "    const scalarField&\n"
-        ")\n"
-    );
+    NotImplemented;
 
     return labelList::null();
 }
diff --git a/src/regionCoupled/derivedFvPatchFields/energyRegionCoupled/energyRegionCoupledFvPatchScalarField.C b/src/regionCoupled/derivedFvPatchFields/energyRegionCoupled/energyRegionCoupledFvPatchScalarField.C
index 4be6eb0649b..6d695a87ae4 100644
--- a/src/regionCoupled/derivedFvPatchFields/energyRegionCoupled/energyRegionCoupledFvPatchScalarField.C
+++ b/src/regionCoupled/derivedFvPatchFields/energyRegionCoupled/energyRegionCoupledFvPatchScalarField.C
@@ -463,15 +463,7 @@ void Foam::energyRegionCoupledFvPatchScalarField::updateInterfaceMatrix
     const Pstream::commsTypes
 ) const
 {
-    notImplemented
-    (
-        "energyRegionCoupledFvPatchScalarField::updateInterfaceMatrix()"
-        "("
-        "Field<scalar>& "
-        "const Field<scalar>&"
-        "const scalarField& "
-        "const Pstream::commsTypes"
-    );
+    NotImplemented;
 }
 
 
diff --git a/src/regionModels/pyrolysisModels/pyrolysisModel/pyrolysisModel.H b/src/regionModels/pyrolysisModels/pyrolysisModel/pyrolysisModel.H
index 7b577189d52..669c7bfdb67 100644
--- a/src/regionModels/pyrolysisModels/pyrolysisModel/pyrolysisModel.H
+++ b/src/regionModels/pyrolysisModels/pyrolysisModel/pyrolysisModel.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -155,7 +155,7 @@ public:
         //- Return clone
         autoPtr<pyrolysisModel> clone() const
         {
-            notImplemented("autoPtr<pyrolysisModel> clone() const");
+            NotImplemented;
             return autoPtr<pyrolysisModel>(NULL);
         }
 
diff --git a/src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModel.C b/src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModel.C
index eb7f333b6df..f007b3d043b 100644
--- a/src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModel.C
+++ b/src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModel.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -91,10 +91,7 @@ Foam::scalar surfaceFilmModel::CourantNumber() const
 
 tmp<DimensionedField<scalar, volMesh> > surfaceFilmModel::Srho() const
 {
-    notImplemented
-    (
-        "tmp<DimensionedField<scalar, volMesh> > surfaceFilmModel::Srho() const"
-    )
+    NotImplemented;
 
     return tmp<DimensionedField<scalar, volMesh> >(NULL);
 }
@@ -103,11 +100,7 @@ tmp<DimensionedField<scalar, volMesh> > surfaceFilmModel::Srho() const
 tmp<DimensionedField<scalar, volMesh> >
 surfaceFilmModel::Srho(const label) const
 {
-    notImplemented
-    (
-        "tmp<DimensionedField<scalar, volMesh> > surfaceFilmModel::Srho"
-        "(const label) const"
-    )
+    NotImplemented;
 
     return tmp<DimensionedField<scalar, volMesh> >(NULL);
 }
@@ -115,10 +108,7 @@ surfaceFilmModel::Srho(const label) const
 
 tmp<DimensionedField<scalar, volMesh> > surfaceFilmModel::Sh() const
 {
-    notImplemented
-    (
-        "tmp<DimensionedField<scalar, volMesh> > surfaceFilmModel::Sh() const"
-    )
+    NotImplemented;
 
     return tmp<DimensionedField<scalar, volMesh> >(NULL);
 }
diff --git a/src/renumber/SloanRenumber/SloanRenumber.H b/src/renumber/SloanRenumber/SloanRenumber.H
index ddd42f70fcb..6e1bf0159dd 100644
--- a/src/renumber/SloanRenumber/SloanRenumber.H
+++ b/src/renumber/SloanRenumber/SloanRenumber.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -87,7 +87,7 @@ public:
         //  This is only defined for geometric renumberMethods.
         virtual labelList renumber(const pointField&) const
         {
-            notImplemented("SloanRenumber::renumber(const pointField&)");
+            NotImplemented;
             return labelList(0);
         }
 
diff --git a/src/renumber/renumberMethods/CuthillMcKeeRenumber/CuthillMcKeeRenumber.H b/src/renumber/renumberMethods/CuthillMcKeeRenumber/CuthillMcKeeRenumber.H
index 25484a82f25..c2dc057d98a 100644
--- a/src/renumber/renumberMethods/CuthillMcKeeRenumber/CuthillMcKeeRenumber.H
+++ b/src/renumber/renumberMethods/CuthillMcKeeRenumber/CuthillMcKeeRenumber.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -85,7 +85,7 @@ public:
         //  This is only defined for geometric renumberMethods.
         virtual labelList renumber(const pointField&) const
         {
-            notImplemented("CuthillMcKeeRenumber::renumber(const pointField&)");
+            NotImplemented;
             return labelList(0);
         }
 
diff --git a/src/renumber/renumberMethods/manualRenumber/manualRenumber.H b/src/renumber/renumberMethods/manualRenumber/manualRenumber.H
index 74197543691..7a8e5f1ebed 100644
--- a/src/renumber/renumberMethods/manualRenumber/manualRenumber.H
+++ b/src/renumber/renumberMethods/manualRenumber/manualRenumber.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -84,7 +84,7 @@ public:
         //  This is only defined for geometric renumberMethods.
         virtual labelList renumber(const pointField&) const
         {
-            notImplemented("manualRenumber::renumber(const pointField&)");
+            NotImplemented;
             return labelList(0);
         }
 
@@ -107,11 +107,7 @@ public:
             const pointField& cc
         ) const
         {
-            notImplemented
-            (
-                "manualRenumber::renumber"
-                "(const labelListList&, const pointField&)"
-            );
+            NotImplemented;
             return labelList(0);
         }
 };
diff --git a/src/renumber/renumberMethods/renumberMethod/renumberMethod.C b/src/renumber/renumberMethods/renumberMethod/renumberMethod.C
index ea12a22519e..ef82af92f56 100644
--- a/src/renumber/renumberMethods/renumberMethod/renumberMethod.C
+++ b/src/renumber/renumberMethods/renumberMethod/renumberMethod.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -96,15 +96,7 @@ Foam::labelList Foam::renumberMethod::renumber
     const pointField& cc
 ) const
 {
-    notImplemented
-    (
-        "renumberMethod::renumber\n"
-        "(\n"
-        "    const labelList&,\n"
-        "    const labelList&,\n"
-        "    const pointField&\n"
-        ") const"
-    );
+    NotImplemented;
     return labelList();
 }
 
diff --git a/src/renumber/renumberMethods/renumberMethod/renumberMethod.H b/src/renumber/renumberMethods/renumberMethod/renumberMethod.H
index 7808e53f49e..deb11ce1d7d 100644
--- a/src/renumber/renumberMethods/renumberMethod/renumberMethod.H
+++ b/src/renumber/renumberMethods/renumberMethod/renumberMethod.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -114,10 +114,7 @@ public:
         //  This is only defined for geometric renumberMethods.
         virtual labelList renumber(const pointField&) const
         {
-            notImplemented
-            (
-                "renumberMethod:renumber(const pointField&)"
-            );
+            NotImplemented;
             return labelList(0);
         }
 
diff --git a/src/renumber/renumberMethods/springRenumber/springRenumber.H b/src/renumber/renumberMethods/springRenumber/springRenumber.H
index c58bcf21d0d..5e394372572 100644
--- a/src/renumber/renumberMethods/springRenumber/springRenumber.H
+++ b/src/renumber/renumberMethods/springRenumber/springRenumber.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -100,7 +100,7 @@ public:
         //  This is only defined for geometric renumberMethods.
         virtual labelList renumber(const pointField&) const
         {
-            notImplemented("springRenumber::renumber(const pointField&)");
+            NotImplemented;
             return labelList(0);
         }
 
diff --git a/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.H b/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.H
index be638e307b5..b95f7d7036f 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 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -98,10 +98,7 @@ public:
         //  This is only defined for geometric renumberMethods.
         virtual labelList renumber(const pointField&) const
         {
-            notImplemented
-            (
-                "structuredRenumber::renumber(const pointField&)"
-            );
+            NotImplemented;
             return labelList(0);
         }
 
@@ -124,11 +121,7 @@ public:
             const pointField& cc
         ) const
         {
-            notImplemented
-            (
-                "structuredRenumber::renumber"
-                "(const labelListList&, const pointField&)"
-            );
+            NotImplemented;
             return labelList(0);
         }
 };
diff --git a/src/renumber/zoltanRenumber/zoltanRenumber.H b/src/renumber/zoltanRenumber/zoltanRenumber.H
index a4d317cef9d..4baffafe72b 100644
--- a/src/renumber/zoltanRenumber/zoltanRenumber.H
+++ b/src/renumber/zoltanRenumber/zoltanRenumber.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -85,7 +85,7 @@ public:
         //  This is only defined for geometric renumberMethods.
         virtual labelList renumber(const pointField&) const
         {
-            notImplemented("zoltanRenumber::renumber(const pointField&)");
+            NotImplemented;
             return labelList(0);
         }
 
@@ -108,11 +108,7 @@ public:
             const pointField& cc
         ) const
         {
-            notImplemented
-            (
-                "zoltanRenumber::renumber"
-                "(const labelListList& cellCellsconst pointField&)"
-            );
+            NotImplemented;
             return labelList(0);
         }
 
diff --git a/src/sampling/sampledSet/sampledSet/sampledSet.H b/src/sampling/sampledSet/sampledSet/sampledSet.H
index 51905951f90..810d4565edc 100644
--- a/src/sampling/sampledSet/sampledSet/sampledSet.H
+++ b/src/sampling/sampledSet/sampledSet/sampledSet.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -223,7 +223,7 @@ public:
         //- Clone
         autoPtr<sampledSet> clone() const
         {
-            notImplemented("autoPtr<sampledSet> clone() const");
+            NotImplemented;
             return autoPtr<sampledSet>(NULL);
         }
 
diff --git a/src/sampling/sampledSurface/sampledSurface/sampledSurface.C b/src/sampling/sampledSurface/sampledSurface/sampledSurface.C
index 6d05af02a42..824894b2ea7 100644
--- a/src/sampling/sampledSurface/sampledSurface/sampledSurface.C
+++ b/src/sampling/sampledSurface/sampledSurface/sampledSurface.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -245,7 +245,7 @@ Foam::tmp<Foam::scalarField> Foam::sampledSurface::sample
     const surfaceScalarField& sField
 ) const
 {
-    notImplemented("tmp<Foam::scalarField> sampledSurface::sample");
+    NotImplemented;
     return tmp<scalarField>(NULL);
 }
 
@@ -255,7 +255,7 @@ Foam::tmp<Foam::vectorField> Foam::sampledSurface::sample
     const surfaceVectorField& sField
 ) const
 {
-    notImplemented("tmp<Foam::vectorField> sampledSurface::sample");
+    NotImplemented;
     return tmp<vectorField>(NULL);
 }
 
@@ -265,7 +265,7 @@ Foam::tmp<Foam::sphericalTensorField> Foam::sampledSurface::sample
     const surfaceSphericalTensorField& sField
 ) const
 {
-    notImplemented("tmp<Foam::sphericalTensorField> sampledSurface::sample");
+    NotImplemented;
     return tmp<sphericalTensorField>(NULL);
 }
 
@@ -275,7 +275,7 @@ Foam::tmp<Foam::symmTensorField> Foam::sampledSurface::sample
     const surfaceSymmTensorField& sField
 ) const
 {
-    notImplemented("tmp<Foam::symmTensorField> sampledSurface::sample");
+    NotImplemented;
     return tmp<symmTensorField>(NULL);
 }
 
@@ -285,7 +285,7 @@ Foam::tmp<Foam::tensorField> Foam::sampledSurface::sample
     const surfaceTensorField& sField
 ) const
 {
-    notImplemented("tmp<Foam::tensorField> sampledSurface::sample");
+    NotImplemented;
     return tmp<tensorField>(NULL);
 }
 
diff --git a/src/sampling/sampledSurface/sampledSurface/sampledSurface.H b/src/sampling/sampledSurface/sampledSurface/sampledSurface.H
index bddee49ef91..fca1b028b2a 100644
--- a/src/sampling/sampledSurface/sampledSurface/sampledSurface.H
+++ b/src/sampling/sampledSurface/sampledSurface/sampledSurface.H
@@ -217,7 +217,7 @@ public:
         //- Clone
         autoPtr<sampledSurface> clone() const
         {
-            notImplemented("autoPtr<sampledSurface> clone() const");
+            NotImplemented;
             return autoPtr<sampledSurface>(NULL);
         }
 
diff --git a/src/surfMesh/surfZone/surfZone/surfZone.H b/src/surfMesh/surfZone/surfZone/surfZone.H
index 1f670ee037d..047bae120e1 100644
--- a/src/surfMesh/surfZone/surfZone/surfZone.H
+++ b/src/surfMesh/surfZone/surfZone/surfZone.H
@@ -114,7 +114,7 @@ public:
         //- Return clone
         autoPtr<surfZone> clone() const
         {
-            notImplemented("autoPtr<surfZone> clone() const");
+            NotImplemented;
             return autoPtr<surfZone>(NULL);
         }
 
diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel/chemistryModel.C b/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel/chemistryModel.C
index b1fde77c79a..aea9440f77b 100644
--- a/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel/chemistryModel.C
+++ b/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel/chemistryModel.C
@@ -876,17 +876,7 @@ void Foam::chemistryModel<CompType, ThermoType>::solve
     scalar& subDeltaT
 ) const
 {
-    notImplemented
-    (
-        "chemistryModel::solve"
-        "("
-            "scalarField&, "
-            "scalar&, "
-            "scalar&, "
-            "scalar&, "
-            "scalar&"
-        ") const"
-    );
+    NotImplemented;
 }
 
 
diff --git a/src/thermophysicalModels/properties/liquidProperties/liquidProperties/liquidProperties.C b/src/thermophysicalModels/properties/liquidProperties/liquidProperties/liquidProperties.C
index 4a9c99afb15..a275fb474d4 100644
--- a/src/thermophysicalModels/properties/liquidProperties/liquidProperties/liquidProperties.C
+++ b/src/thermophysicalModels/properties/liquidProperties/liquidProperties/liquidProperties.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -226,130 +226,91 @@ Foam::autoPtr<Foam::liquidProperties> Foam::liquidProperties::New
 
 Foam::scalar Foam::liquidProperties::rho(scalar p, scalar T) const
 {
-    notImplemented
-    (
-        "Foam::scalar Foam::liquidProperties::rho(scalar, scalar) const"
-    );
+    NotImplemented;
     return 0.0;
 }
 
 
 Foam::scalar Foam::liquidProperties::pv(scalar p, scalar T) const
 {
-    notImplemented
-    (
-        "Foam::scalar Foam::liquidProperties::pv(scalar, scalar) const"
-    );
+    NotImplemented;
     return 0.0;
 }
 
 
 Foam::scalar Foam::liquidProperties::hl(scalar p, scalar T) const
 {
-    notImplemented
-    (
-        "Foam::scalar Foam::liquidProperties::hl(scalar, scalar) const"
-    );
+    NotImplemented;
     return 0.0;
 }
 
 
 Foam::scalar Foam::liquidProperties::Cp(scalar p, scalar T) const
 {
-    notImplemented
-    (
-        "Foam::scalar Foam::liquidProperties::Cp(scalar, scalar) const"
-    );
+    NotImplemented;
     return 0.0;
 }
 
 
 Foam::scalar Foam::liquidProperties::h(scalar p, scalar T) const
 {
-    notImplemented
-    (
-        "Foam::scalar Foam::liquidProperties::h(scalar, scalar) const"
-    );
+    NotImplemented;
     return 0.0;
 }
 
 
 Foam::scalar Foam::liquidProperties::Cpg(scalar p, scalar T) const
 {
-    notImplemented
-    (
-        "Foam::scalar Foam::liquidProperties::Cpg(scalar, scalar) const"
-    );
+    NotImplemented;
     return 0.0;
 }
 
 
 Foam::scalar Foam::liquidProperties::mu(scalar p, scalar T) const
 {
-    notImplemented
-    (
-        "Foam::scalar Foam::liquidProperties::mu(scalar, scalar) const"
-    );
+    NotImplemented;
     return 0.0;
 }
 
 
 Foam::scalar Foam::liquidProperties::mug(scalar p, scalar T) const
 {
-    notImplemented
-    (
-        "Foam::scalar Foam::liquidProperties::mug(scalar, scalar) const"
-    );
+    NotImplemented;
     return 0.0;
 }
 
 
 Foam::scalar Foam::liquidProperties::K(scalar p, scalar T) const
 {
-    notImplemented
-    (
-        "Foam::scalar Foam::liquidProperties::K(scalar, scalar) const"
-    );
+    NotImplemented;
     return 0.0;
 }
 
 
 Foam::scalar Foam::liquidProperties::Kg(scalar p, scalar T) const
 {
-    notImplemented
-    (
-        "Foam::scalar Foam::liquidProperties::Kg(scalar, scalar) const"
-    );
+    NotImplemented;
     return 0.0;
 }
 
 
 Foam::scalar Foam::liquidProperties::sigma(scalar p, scalar T) const
 {
-    notImplemented
-    (
-        "Foam::scalar Foam::liquidProperties::sigms(scalar, scalar) const"
-    );
+    NotImplemented;
     return 0.0;
 }
 
 
 Foam::scalar Foam::liquidProperties::D(scalar p, scalar T) const
 {
-    notImplemented
-    (
-        "Foam::scalar Foam::liquidProperties::D(scalar, scalar) const"
-    );
+    NotImplemented;
     return 0.0;
 }
 
 
 Foam::scalar Foam::liquidProperties::D(scalar p, scalar T, scalar Wb) const
 {
-    notImplemented
-    (
-        "Foam::scalar Foam::liquidProperties::D(scalar, scalar) const"
-    );
+    NotImplemented;
     return 0.0;
 }
 
diff --git a/src/thermophysicalModels/radiation/submodels/sootModel/noSoot/noSoot.C b/src/thermophysicalModels/radiation/submodels/sootModel/noSoot/noSoot.C
index 451fa559dd4..7b621ac7e3b 100644
--- a/src/thermophysicalModels/radiation/submodels/sootModel/noSoot/noSoot.C
+++ b/src/thermophysicalModels/radiation/submodels/sootModel/noSoot/noSoot.C
@@ -67,10 +67,7 @@ void Foam::radiation::noSoot::correct()
 
 const Foam::volScalarField& Foam::radiation::noSoot::soot() const
 {
-    notImplemented
-    (
-        "Foam::volScalarField& Foam::radiation::noSoot::soot() const"
-    );
+    NotImplemented;
     return tmp<volScalarField>(NULL);
 }
 
diff --git a/src/thermophysicalModels/solidChemistryModel/basicSolidChemistryModel/basicSolidChemistryModel.C b/src/thermophysicalModels/solidChemistryModel/basicSolidChemistryModel/basicSolidChemistryModel.C
index 275a931e95f..fb397d9b9dd 100644
--- a/src/thermophysicalModels/solidChemistryModel/basicSolidChemistryModel/basicSolidChemistryModel.C
+++ b/src/thermophysicalModels/solidChemistryModel/basicSolidChemistryModel/basicSolidChemistryModel.C
@@ -57,11 +57,7 @@ Foam::basicSolidChemistryModel::~basicSolidChemistryModel()
 const Foam::DimensionedField<Foam::scalar, Foam::volMesh>&
 Foam::basicSolidChemistryModel::RR(const label i) const
 {
-    notImplemented
-    (
-        "const Foam::DimensionedField<Foam::scalar, Foam::volMesh>&"
-        "basicSolidChemistryModel::RR(const label)"
-    );
+    NotImplemented;
     return (DimensionedField<scalar, volMesh>::null());
 }
 
@@ -69,11 +65,7 @@ Foam::basicSolidChemistryModel::RR(const label i) const
 Foam::DimensionedField<Foam::scalar, Foam::volMesh>&
 Foam::basicSolidChemistryModel::RR(const label i)
 {
-    notImplemented
-    (
-        "Foam::DimensionedField<Foam::scalar, Foam::volMesh>&"
-        "basicSolidChemistryModel::RR(const label)"
-    );
+    NotImplemented;
 
     return dynamic_cast<DimensionedField<scalar, volMesh>&>
     (
@@ -92,11 +84,7 @@ Foam::basicSolidChemistryModel::calculateRR
     const label speciei
 ) const
 {
-    notImplemented
-    (
-        "Foam::DimensionedField<Foam::scalar, Foam::volMesh>&"
-        "basicSolidChemistryModel::calculateRR(const label)"
-    );
+    NotImplemented;
 
     return dynamic_cast<tmp<DimensionedField<scalar, volMesh> >&>
     (
diff --git a/src/thermophysicalModels/solidChemistryModel/pyrolysisChemistryModel/pyrolysisChemistryModel.C b/src/thermophysicalModels/solidChemistryModel/pyrolysisChemistryModel/pyrolysisChemistryModel.C
index 342f4f2686b..19732595311 100644
--- a/src/thermophysicalModels/solidChemistryModel/pyrolysisChemistryModel/pyrolysisChemistryModel.C
+++ b/src/thermophysicalModels/solidChemistryModel/pyrolysisChemistryModel/pyrolysisChemistryModel.C
@@ -662,16 +662,6 @@ void Foam::pyrolysisChemistryModel<CompType, SolidThermo, GasThermo>::solve
     scalar& subDeltaT
 ) const
 {
-    notImplemented
-    (
-        "pyrolysisChemistryModel::solve"
-        "("
-            "scalarField&, "
-            "scalar&, "
-            "scalar&, "
-            "scalar&, "
-            "scalar&  "
-        ") const"
-    );
+    NotImplemented;
 }
 // ************************************************************************* //
diff --git a/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModel.C b/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModel.C
index 855d9e920e8..e39f1f63524 100644
--- a/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModel.C
+++ b/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModel.C
@@ -99,10 +99,7 @@ Foam::scalar Foam::solidChemistryModel<CompType, SolidThermo>::solve
     const scalarField& deltaT
 )
 {
-    notImplemented
-    (
-        "solidChemistryModel::solve(const scalarField& deltaT)"
-    );
+    NotImplemented;
     return 0;
 }
 
@@ -111,10 +108,7 @@ template<class CompType, class SolidThermo>
 Foam::tmp<Foam::volScalarField>
 Foam::solidChemistryModel<CompType, SolidThermo>::tc() const
 {
-    notImplemented
-    (
-        "solidChemistryModel::tc()"
-    );
+    NotImplemented;
     return volScalarField::null();
 }
 
diff --git a/src/thermophysicalModels/solidSpecie/reaction/Reactions/solidReaction/solidReaction.C b/src/thermophysicalModels/solidSpecie/reaction/Reactions/solidReaction/solidReaction.C
index f16d0293526..b5a4cfde96b 100644
--- a/src/thermophysicalModels/solidSpecie/reaction/Reactions/solidReaction/solidReaction.C
+++ b/src/thermophysicalModels/solidSpecie/reaction/Reactions/solidReaction/solidReaction.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -72,16 +72,7 @@ Foam::solidReaction<ReactionThermo>::solidReaction
     glhs_(),
     grhs_()
 {
-    notImplemented
-    (
-        "template<class ReactionThermo>"
-        "Foam::solidReaction<ReactionThermo>::solidReaction"
-        "("
-        "    const speciesTable& species,"
-        "    const HashPtrTable<ReactionThermo>& thermoDatabase,"
-        "    Istream& is"
-        ")"
-    );
+    NotImplemented;
 }
 
 
diff --git a/src/thermophysicalModels/solidSpecie/transport/const/constAnIsoSolidTransportI.H b/src/thermophysicalModels/solidSpecie/transport/const/constAnIsoSolidTransportI.H
index ff90fe1d268..5c66f0406cd 100644
--- a/src/thermophysicalModels/solidSpecie/transport/const/constAnIsoSolidTransportI.H
+++ b/src/thermophysicalModels/solidSpecie/transport/const/constAnIsoSolidTransportI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -83,13 +83,7 @@ template<class Thermo>
 inline Foam::scalar Foam::constAnIsoSolidTransport<Thermo>::
 mu(const scalar p, const scalar T) const
 {
-    notImplemented
-    (
-        "Foam::scalar Foam::constAnIsoSolidTransport<Thermo>mu::"
-        "("
-        "    const scalar p, const scalar T"
-        ") const"
-    );
+    NotImplemented;
     return scalar(0);
 }
 
diff --git a/src/thermophysicalModels/solidSpecie/transport/const/constIsoSolidTransportI.H b/src/thermophysicalModels/solidSpecie/transport/const/constIsoSolidTransportI.H
index fdd766a8e43..b7a2181491e 100644
--- a/src/thermophysicalModels/solidSpecie/transport/const/constIsoSolidTransportI.H
+++ b/src/thermophysicalModels/solidSpecie/transport/const/constIsoSolidTransportI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -83,13 +83,7 @@ template<class thermo>
 inline Foam::scalar Foam::constIsoSolidTransport<thermo>::
 mu(const scalar p, const scalar T) const
 {
-    notImplemented
-    (
-        "Foam::scalar Foam::constIsoSolidTransport<thermo>mu::"
-        "("
-        "    const scalar p, const scalar T"
-        ") const"
-    );
+    NotImplemented;
     return scalar(0);
 }
 
diff --git a/src/thermophysicalModels/solidSpecie/transport/exponential/exponentialSolidTransportI.H b/src/thermophysicalModels/solidSpecie/transport/exponential/exponentialSolidTransportI.H
index 36105ceb449..4b2c6ff5b47 100644
--- a/src/thermophysicalModels/solidSpecie/transport/exponential/exponentialSolidTransportI.H
+++ b/src/thermophysicalModels/solidSpecie/transport/exponential/exponentialSolidTransportI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -95,13 +95,7 @@ template<class Thermo>
 inline Foam::scalar Foam::exponentialSolidTransport<Thermo>::
 mu(const scalar p, const scalar T) const
 {
-    notImplemented
-    (
-        "Foam::scalar Foam::exponentialSolidTransport<Thermo>mu::"
-        "("
-        "    const scalar p, const scalar T"
-        ") const"
-    );
+    NotImplemented;
     return scalar(0);
 }
 
diff --git a/src/thermophysicalModels/solidSpecie/transport/polynomial/polynomialSolidTransportI.H b/src/thermophysicalModels/solidSpecie/transport/polynomial/polynomialSolidTransportI.H
index 51dda6ba578..76f55d57a28 100644
--- a/src/thermophysicalModels/solidSpecie/transport/polynomial/polynomialSolidTransportI.H
+++ b/src/thermophysicalModels/solidSpecie/transport/polynomial/polynomialSolidTransportI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -107,13 +107,7 @@ inline Foam::scalar Foam::polynomialSolidTransport<Thermo, PolySize>::mu
     const scalar T
 ) const
 {
-    notImplemented
-    (
-        "Foam::scalar Foam::polynomialSolidTransport<thermo, PolySize>mu::"
-        "("
-        "    const scalar p, const scalar T"
-        ") const"
-    );
+    NotImplemented;
     return scalar(0);
 }
 
diff --git a/src/thermophysicalModels/specie/reaction/Reactions/Reaction/Reaction.C b/src/thermophysicalModels/specie/reaction/Reactions/Reaction/Reaction.C
index 2d74e45069f..2b95b7bcd85 100644
--- a/src/thermophysicalModels/specie/reaction/Reactions/Reaction/Reaction.C
+++ b/src/thermophysicalModels/specie/reaction/Reactions/Reaction/Reaction.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -498,11 +498,7 @@ const Foam::speciesTable& Foam::Reaction<ReactionThermo>::species() const
 template<class ReactionThermo>
 const Foam::speciesTable& Foam::Reaction<ReactionThermo>::gasSpecies() const
 {
-    notImplemented
-    (
-        "const speciesTable& gasSpecies() const"
-        " for this reaction"
-    );
+    NotImplemented;
     return NullObjectRef<speciesTable>();
 }
 
@@ -511,11 +507,7 @@ template<class ReactionThermo>
 const Foam::List<typename Foam::Reaction<ReactionThermo>::specieCoeffs>&
 Foam::Reaction<ReactionThermo>::glhs() const
 {
-    notImplemented
-    (
-        "inline const List<typename Reaction<ReactionThermo>::specieCoeffs>&"
-        "Reaction<ReactionThermo>::glhs()"
-    );
+    NotImplemented;
     return NullObjectRef<List<specieCoeffs> >();
 }
 
@@ -524,11 +516,7 @@ template<class ReactionThermo>
 const Foam::List<typename Foam::Reaction<ReactionThermo>::specieCoeffs>&
 Foam::Reaction<ReactionThermo>::grhs() const
 {
-    notImplemented
-    (
-        "inline const List<typename Reaction<ReactionThermo>::specieCoeffs>&"
-        "Reaction<ReactionThermo>::grhs()"
-    );
+    NotImplemented;
     return NullObjectRef<List<specieCoeffs> >();
 }
 
-- 
GitLab


From d073e483b8d231e0fbfc1dc6d444b1904e6f5875 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sun, 1 Nov 2015 12:24:25 +0000
Subject: [PATCH 041/141] tutorials/incompressible/simpleFoam/pitzDaily: Change
 default model to kEpsilon and reduce relaxation factors to improve stability
 over a range of models and systems.

---
 .../simpleFoam/pitzDaily/constant/turbulenceProperties        | 2 +-
 .../incompressible/simpleFoam/pitzDaily/system/fvSolution     | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/tutorials/incompressible/simpleFoam/pitzDaily/constant/turbulenceProperties b/tutorials/incompressible/simpleFoam/pitzDaily/constant/turbulenceProperties
index 147c6edaf56..98c1eb5eea8 100644
--- a/tutorials/incompressible/simpleFoam/pitzDaily/constant/turbulenceProperties
+++ b/tutorials/incompressible/simpleFoam/pitzDaily/constant/turbulenceProperties
@@ -21,7 +21,7 @@ RAS
 {
     // Tested with kEpsilon, realizableKE, kOmega, kOmegaSST, v2f,
     // ShihQuadraticKE, LienCubicKE.
-    RASModel        v2f;
+    RASModel        kEpsilon;
 
     turbulence      on;
 
diff --git a/tutorials/incompressible/simpleFoam/pitzDaily/system/fvSolution b/tutorials/incompressible/simpleFoam/pitzDaily/system/fvSolution
index 9a4ad934217..230f9706db0 100644
--- a/tutorials/incompressible/simpleFoam/pitzDaily/system/fvSolution
+++ b/tutorials/incompressible/simpleFoam/pitzDaily/system/fvSolution
@@ -57,8 +57,8 @@ relaxationFactors
 {
     equations
     {
-        U               0.95;
-        ".*"            0.95;
+        U               0.9; // 0.9 is more stable but 0.95 more convergent
+        ".*"            0.9; // 0.9 is more stable but 0.95 more convergent
     }
 }
 
-- 
GitLab


From 96f1e8d35c84c8ff157bb113f4e81fb1b5a8afc3 Mon Sep 17 00:00:00 2001
From: Chris Greenshields <http://cfd.direct>
Date: Tue, 3 Nov 2015 09:21:36 +0000
Subject: [PATCH 042/141] compressibleInflowOutflow template case: updated
 turbulenceProperties to new TurbulenceModels library

---
 .../constant/RASProperties                    | 23 -------------
 .../constant/turbulenceProperties             | 34 ++++++++++++++++++-
 2 files changed, 33 insertions(+), 24 deletions(-)
 delete mode 100644 etc/templates/compressibleInflowOutflow/constant/RASProperties

diff --git a/etc/templates/compressibleInflowOutflow/constant/RASProperties b/etc/templates/compressibleInflowOutflow/constant/RASProperties
deleted file mode 100644
index 496ee3b41cc..00000000000
--- a/etc/templates/compressibleInflowOutflow/constant/RASProperties
+++ /dev/null
@@ -1,23 +0,0 @@
-/*--------------------------------*- 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      RASProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-RASModel        kEpsilon;
-
-turbulence      on;
-
-printCoeffs     on;
-
-// ************************************************************************* //
diff --git a/etc/templates/compressibleInflowOutflow/constant/turbulenceProperties b/etc/templates/compressibleInflowOutflow/constant/turbulenceProperties
index dc0e00cc54f..dbb800fa40a 100644
--- a/etc/templates/compressibleInflowOutflow/constant/turbulenceProperties
+++ b/etc/templates/compressibleInflowOutflow/constant/turbulenceProperties
@@ -14,6 +14,38 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType RASModel;
+simulationType RAS;
+
+RAS
+{
+    RASModel            kEpsilon;
+
+    turbulence          on;
+    printCoeffs         on;
+}
+
+LES
+{
+    LESModel            SpalartAllmarasDDES;
+    delta               cubeRootVol;
+
+    turbulence          on;
+    printCoeffs         on;
+
+    cubeRootVolCoeffs
+    {
+        deltaCoeff      1;
+    }
+
+    smoothCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+        maxDeltaRatio   1.1;
+    }
+}
 
 // ************************************************************************* //
-- 
GitLab


From 3ba163b5592aad68d4d6816ec053d4942679a23c Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Wed, 4 Nov 2015 11:53:54 +0000
Subject: [PATCH 043/141] meshRefinementBaffles: Correct faceZone orientation
 Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1479 Patches
 provided by Bruno Santos based on the work of Mattijs Janssens

---
 .../meshRefinement/meshRefinementBaffles.C    | 159 ++++++------------
 1 file changed, 56 insertions(+), 103 deletions(-)

diff --git a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C
index d9ec65959ca..5cdab910ac7 100644
--- a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C
+++ b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C
@@ -51,9 +51,6 @@ License
 
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
-// Repatches external face or creates baffle for internal face
-// with user specified patches (might be different for both sides).
-// Returns label of added face.
 Foam::label Foam::meshRefinement::createBaffle
 (
     const label faceI,
@@ -131,46 +128,6 @@ Foam::label Foam::meshRefinement::createBaffle
 }
 
 
-//// Check if we are a boundary face and normal of surface does
-//// not align with test vector. In this case there'd probably be
-//// a freestanding 'baffle' so we might as well not create it.
-//// Note that since it is not a proper baffle we cannot detect it
-//// afterwards so this code cannot be merged with the
-//// filterDuplicateFaces code.
-//bool Foam::meshRefinement::validBaffleTopology
-//(
-//    const label faceI,
-//    const vector& n1,
-//    const vector& n2,
-//    const vector& testDir
-//) const
-//{
-//
-//    label patchI = mesh_.boundaryMesh().whichPatch(faceI);
-//    if (patchI == -1 || mesh_.boundaryMesh()[patchI].coupled())
-//    {
-//        return true;
-//    }
-//    else if (mag(n1&n2) > cos(degToRad(30)))
-//    {
-//        // Both normals aligned. Check that test vector perpendicularish to
-//        // surface normal
-//        scalar magTestDir = mag(testDir);
-//        if (magTestDir > VSMALL)
-//        {
-//            if (mag(n1&(testDir/magTestDir)) < cos(degToRad(45)))
-//            {
-//                //Pout<< "** disabling baffling face "
-//                //    << mesh_.faceCentres()[faceI] << endl;
-//                return false;
-//            }
-//        }
-//    }
-//    return true;
-//}
-
-
-// Determine patches for baffles on all intersected unnamed faces
 void Foam::meshRefinement::getBafflePatches
 (
     const labelList& globalToMasterPatch,
@@ -385,11 +342,11 @@ Foam::Map<Foam::labelPair> Foam::meshRefinement::getZoneBafflePatches
             }
         }
     }
+
     return bafflePatch;
 }
 
 
-// Create baffle for every face where ownPatch != -1
 Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::createBaffles
 (
     const labelList& ownPatch,
@@ -509,6 +466,7 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::createBaffles
             }
         }
     }
+
     // Pick up neighbour side of baffle (added faces)
     forAll(faceMap, faceI)
     {
@@ -535,7 +493,6 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::createBaffles
 void Foam::meshRefinement::checkZoneFaces() const
 {
     const faceZoneMesh& fZones = mesh_.faceZones();
-
     const polyBoundaryMesh& pbm = mesh_.boundaryMesh();
 
     forAll(pbm, patchI)
@@ -664,27 +621,26 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::createZoneBaffles
         Info<< "Created " << nZoneFaces << " baffles in = "
             << mesh_.time().cpuTimeIncrement() << " s\n" << nl << endl;
     }
+
     return map;
 }
 
 
-// Extract those baffles (duplicate) faces that are on the edge of a baffle
-// region. These are candidates for merging.
-// Done by counting the number of baffles faces per mesh edge. If edge
-// has 2 boundary faces and both are baffle faces it is the edge of a baffle
-// region.
 Foam::List<Foam::labelPair> Foam::meshRefinement::freeStandingBaffles
 (
     const List<labelPair>& couples,
     const scalar planarAngle
 ) const
 {
+    // Done by counting the number of baffles faces per mesh edge. If edge
+    // has 2 boundary faces and both are baffle faces it is the edge of a baffle
+    // region.
+
     // All duplicate faces on edge of the patch are to be merged.
     // So we count for all edges of duplicate faces how many duplicate
     // faces use them.
     labelList nBafflesPerEdge(mesh_.nEdges(), 0);
 
-
     // This algorithm is quite tricky. We don't want to use edgeFaces and
     // also want it to run in parallel so it is now an algorithm over
     // all (boundary) faces instead.
@@ -698,10 +654,8 @@ Foam::List<Foam::labelPair> Foam::meshRefinement::freeStandingBaffles
     // So now any edge that is used by baffle faces only will have the
     // value 2*1000000+2*1.
 
-
     const label baffleValue = 1000000;
 
-
     // Count number of boundary faces per edge
     // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -729,11 +683,9 @@ Foam::List<Foam::labelPair> Foam::meshRefinement::freeStandingBaffles
         }
     }
 
-
     DynamicList<label> fe0;
     DynamicList<label> fe1;
 
-
     // Count number of duplicate boundary faces per edge
     // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -927,7 +879,6 @@ Foam::List<Foam::labelPair> Foam::meshRefinement::freeStandingBaffles
 }
 
 
-// Merge baffles. Gets pairs of faces.
 Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::mergeBaffles
 (
     const List<labelPair>& couples
@@ -1059,7 +1010,6 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::mergeBaffles
 }
 
 
-// Finds region per cell for cells inside closed named surfaces
 void Foam::meshRefinement::findCellZoneGeometric
 (
     const pointField& neiCc,
@@ -1279,7 +1229,6 @@ void Foam::meshRefinement::findCellZoneInsideWalk
     const labelList& locationSurfaces,  // indices of surfaces with inside point
     const labelList& namedSurfaceIndex, // per face index of named surface
     const labelList& surfaceToCellZone, // cell zone index per surface
-
     labelList& cellToZone
 ) const
 {
@@ -1298,6 +1247,7 @@ void Foam::meshRefinement::findCellZoneInsideWalk
             blockedFace[faceI] = true;
         }
     }
+
     // No need to sync since namedSurfaceIndex already is synced
 
     // Set region per cell based on walking
@@ -1433,14 +1383,11 @@ bool Foam::meshRefinement::calcRegionToZone
             }
         }
     }
+
     return changed;
 }
 
 
-// Finds region per cell. Assumes:
-// - region containing keepPoint does not go into a cellZone
-// - all other regions can be found by crossing faces marked in
-//   namedSurfaceIndex.
 void Foam::meshRefinement::findCellZoneTopo
 (
     const point& keepPoint,
@@ -1449,6 +1396,11 @@ void Foam::meshRefinement::findCellZoneTopo
     labelList& cellToZone
 ) const
 {
+    //  Assumes:
+    // - region containing keepPoint does not go into a cellZone
+    // - all other regions can be found by crossing faces marked in
+    //   namedSurfaceIndex.
+
     // Analyse regions. Reuse regionsplit
     boolList blockedFace(mesh_.nFaces());
 
@@ -1652,8 +1604,6 @@ void Foam::meshRefinement::findCellZoneTopo
 }
 
 
-// Make namedSurfaceIndex consistent with cellToZone - clear out any blocked
-// faces inbetween same cell zone.
 void Foam::meshRefinement::makeConsistentFaceIndex
 (
     const labelList& cellToZone,
@@ -1843,7 +1793,21 @@ Foam::labelList Foam::meshRefinement::freeStandingBaffleFaces
     const labelList& faceNeighbour = mesh_.faceNeighbour();
 
 
-    DynamicList<label> faceLabels(mesh_.nFaces()/20);
+    // We want to pick up the faces to orient. These faces come in
+    // two variants:
+    // - faces originating from stand-alone faceZones
+    //   (these will most likely have no cellZone on either side so
+    //    ownZone and neiZone both -1)
+    // - sticky-up faces originating from a 'bulge' in a outside of
+    //   a cellZone. These will have the same cellZone on either side.
+    //   How to orient these is not really clearly defined so do them
+    //   same as stand-alone faceZone faces for now. (Normally these will
+    //   already have been removed by the 'allowFreeStandingZoneFaces=false'
+    //   default setting)
+
+    // Note that argument neiCellZone will have -1 on uncoupled boundaries.
+
+    DynamicList<label> faceLabels(mesh_.nFaces()/100);
 
     for (label faceI = 0; faceI < mesh_.nInternalFaces(); faceI++)
     {
@@ -1853,7 +1817,7 @@ Foam::labelList Foam::meshRefinement::freeStandingBaffleFaces
             // Free standing baffle?
             label ownZone = cellToZone[faceOwner[faceI]];
             label neiZone = cellToZone[faceNeighbour[faceI]];
-            if (max(ownZone, neiZone) == -1)
+            if (ownZone == neiZone)
             {
                 faceLabels.append(faceI);
             }
@@ -1872,13 +1836,14 @@ Foam::labelList Foam::meshRefinement::freeStandingBaffleFaces
                 // Free standing baffle?
                 label ownZone = cellToZone[faceOwner[faceI]];
                 label neiZone = neiCellZone[faceI-mesh_.nInternalFaces()];
-                if (max(ownZone, neiZone) == -1)
+                if (ownZone == neiZone)
                 {
                     faceLabels.append(faceI);
                 }
             }
         }
     }
+
     return faceLabels.shrink();
 }
 
@@ -2135,7 +2100,6 @@ void Foam::meshRefinement::consistentOrientation
     }
 
 
-
     DynamicList<label> changedEdges;
     DynamicList<patchFaceOrientation> changedInfo;
 
@@ -2224,7 +2188,6 @@ void Foam::meshRefinement::consistentOrientation
         }
 
 
-
         // Walk
         PatchEdgeFaceWave
         <
@@ -2326,7 +2289,6 @@ void Foam::meshRefinement::consistentOrientation
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-// Split off unreachable areas of mesh.
 void Foam::meshRefinement::baffleAndSplitMesh
 (
     const bool doHandleSnapProblems,
@@ -2517,7 +2479,6 @@ void Foam::meshRefinement::baffleAndSplitMesh
 }
 
 
-// Split off (with optional buffer layers) unreachable areas of mesh.
 Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::splitMesh
 (
     const label nBufferLayers,
@@ -2804,8 +2765,6 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::splitMesh
 }
 
 
-// Find boundary points that connect to more than one cell region and
-// split them.
 Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::dupNonManifoldPoints
 (
     const localPointRegion& regionSide
@@ -2859,8 +2818,6 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::dupNonManifoldPoints
 }
 
 
-// Find boundary points that connect to more than one cell region and
-// split them.
 Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::dupNonManifoldPoints()
 {
     // Analyse which points need to be duplicated
@@ -2870,7 +2827,6 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::dupNonManifoldPoints()
 }
 
 
-// Zoning
 Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::zonify
 (
     const point& keepPoint,
@@ -3172,22 +3128,23 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::zonify
 
 
     // Get coupled neighbour cellZone. Set to -1 on non-coupled patches.
-    labelList neiCellZone(mesh_.nFaces()-mesh_.nInternalFaces(), -1);
+    labelList neiCellZone;
+    syncTools::swapBoundaryCellList(mesh_, cellToZone, neiCellZone);
     forAll(patches, patchI)
     {
         const polyPatch& pp = patches[patchI];
 
-        if (pp.coupled())
+        if (!pp.coupled())
         {
+            label bFaceI = pp.start()-mesh_.nInternalFaces();
             forAll(pp, i)
             {
-                label faceI = pp.start()+i;
-                neiCellZone[faceI-mesh_.nInternalFaces()] =
-                    cellToZone[mesh_.faceOwner()[faceI]];
+                neiCellZone[bFaceI++] = -1;
             }
         }
     }
-    syncTools::swapBoundaryFaceList(mesh_, neiCellZone);
+
+
 
     // Get per face whether is it master (of a coupled set of faces)
     const PackedBoolList isMasterFace(syncTools::getMasterFaces(mesh_));
@@ -3228,6 +3185,13 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::zonify
             Info<< "Detected " << nFreeStanding << " free-standing zone faces"
                 << endl;
 
+            if (debug)
+            {
+                OBJstream str(mesh_.time().path()/"freeStanding.obj");
+                str.write(patch.localFaces(), patch.localPoints(), false);
+            }
+
+
             // Detect non-manifold edges
             labelList nMasterFacesPerEdge;
             calcPatchNumMasterFaces(isMasterFace, patch, nMasterFacesPerEdge);
@@ -3326,22 +3290,19 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::zonify
         if (surfI != -1)
         {
             // Orient face zone to have slave cells in max cell zone.
+            // Note: logic to use flipMap should be consistent with logic
+            //       to pick up the freeStandingBaffleFaces!
+
             label ownZone = cellToZone[faceOwner[faceI]];
             label neiZone = cellToZone[faceNeighbour[faceI]];
 
             bool flip;
 
-            label maxZone = max(ownZone, neiZone);
-
-            if (maxZone == -1)
+            if (ownZone == neiZone)
             {
                 // free-standing face. Use geometrically derived orientation
                 flip = meshFlipMap[faceI];
             }
-            else if (ownZone == maxZone)
-            {
-                flip = false;
-            }
             else
             {
                 flip = true;
@@ -3384,26 +3345,18 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::zonify
 
                 bool flip;
 
-                label maxZone = max(ownZone, neiZone);
-
-                if (maxZone == -1)
+                if (ownZone == neiZone)
                 {
                     // free-standing face. Use geometrically derived orientation
                     flip = meshFlipMap[faceI];
                 }
-                else if (ownZone == neiZone)
-                {
-                    // Free-standing zone face or coupled boundary. Keep master
-                    // face unflipped.
-                    flip = !isMasterFace[faceI];
-                }
-                else if (neiZone == maxZone)
-                {
-                    flip = true;
-                }
                 else
                 {
-                    flip = false;
+                    flip =
+                    (
+                        ownZone == -1
+                     || (neiZone != -1 && ownZone > neiZone)
+                    );
                 }
 
                 meshMod.setAction
-- 
GitLab


From 9221cd3cbd4f40b2a45079a09460823cf47f918c Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Thu, 5 Nov 2015 16:08:30 +0000
Subject: [PATCH 044/141] compressibleInterFoam, multiphaseMixtureThermo:
 Corrected laminar mixture kinematic viscosity

---
 .../twoPhaseMixtureThermo.C                   | 20 ++++++++++
 .../twoPhaseMixtureThermo.H                   |  6 +++
 .../multiphaseMixtureThermo.C                 | 37 +++++++++++++++++++
 .../multiphaseMixtureThermo.H                 |  9 +++++
 4 files changed, 72 insertions(+)

diff --git a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.C b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.C
index 31949694adb..a3217a073bf 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.C
+++ b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.C
@@ -267,6 +267,26 @@ Foam::tmp<Foam::scalarField> Foam::twoPhaseMixtureThermo::CpByCpv
 }
 
 
+Foam::tmp<Foam::volScalarField> Foam::twoPhaseMixtureThermo::nu() const
+{
+    return mu()/(alpha1()*thermo1_->rho() + alpha2()*thermo2_->rho());
+}
+
+
+Foam::tmp<Foam::scalarField> Foam::twoPhaseMixtureThermo::nu
+(
+    const label patchi
+) const
+{
+    return
+        mu(patchi)
+       /(
+            alpha1().boundaryField()[patchi]*thermo1_->rho(patchi)
+          + alpha2().boundaryField()[patchi]*thermo2_->rho(patchi)
+        );
+}
+
+
 Foam::tmp<Foam::volScalarField> Foam::twoPhaseMixtureThermo::kappa() const
 {
     return alpha1()*thermo1_->kappa() + alpha2()*thermo2_->kappa();
diff --git a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.H b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.H
index 1941c9e5991..3cde04bb46d 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.H
+++ b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.H
@@ -239,6 +239,12 @@ public:
 
         // Fields derived from transport state variables
 
+            //- Kinematic viscosity of mixture [m^2/s]
+            virtual tmp<volScalarField> nu() const;
+
+            //- Kinematic viscosity of mixture for patch [m^2/s]
+            virtual tmp<scalarField> nu(const label patchi) const;
+
             //- Thermal diffusivity for temperature of mixture [J/m/s/K]
             virtual tmp<volScalarField> kappa() const;
 
diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.C b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.C
index 04f76ae3415..c8857ce9f2b 100644
--- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.C
+++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.C
@@ -303,6 +303,28 @@ Foam::tmp<Foam::volScalarField> Foam::multiphaseMixtureThermo::rho() const
 }
 
 
+Foam::tmp<Foam::scalarField> Foam::multiphaseMixtureThermo::rho
+(
+    const label patchi
+) const
+{
+    PtrDictionary<phaseModel>::const_iterator phasei = phases_.begin();
+
+    tmp<scalarField> trho
+    (
+        phasei().boundaryField()[patchi]*phasei().thermo().rho(patchi)
+    );
+
+    for (++phasei; phasei != phases_.end(); ++phasei)
+    {
+        trho() +=
+            phasei().boundaryField()[patchi]*phasei().thermo().rho(patchi);
+    }
+
+    return trho;
+}
+
+
 Foam::tmp<Foam::volScalarField> Foam::multiphaseMixtureThermo::Cp() const
 {
     PtrDictionary<phaseModel>::const_iterator phasei = phases_.begin();
@@ -501,6 +523,21 @@ Foam::tmp<Foam::scalarField> Foam::multiphaseMixtureThermo::CpByCpv
 }
 
 
+Foam::tmp<Foam::volScalarField> Foam::multiphaseMixtureThermo::nu() const
+{
+    return mu()/rho();
+}
+
+
+Foam::tmp<Foam::scalarField> Foam::multiphaseMixtureThermo::nu
+(
+    const label patchi
+) const
+{
+    return mu(patchi)/rho(patchi);
+}
+
+
 Foam::tmp<Foam::volScalarField> Foam::multiphaseMixtureThermo::kappa() const
 {
     PtrDictionary<phaseModel>::const_iterator phasei = phases_.begin();
diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.H b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.H
index 83096d3634a..b62ea97f681 100644
--- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.H
+++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.H
@@ -315,6 +315,9 @@ public:
             //- Density [kg/m^3]
             virtual tmp<volScalarField> rho() const;
 
+            //- Density for patch [kg/m^3]
+            virtual tmp<scalarField> rho(const label patchi) const;
+
             //- Heat capacity at constant pressure [J/kg/K]
             virtual tmp<volScalarField> Cp() const;
 
@@ -373,6 +376,12 @@ public:
 
         // Fields derived from transport state variables
 
+            //- Kinematic viscosity of mixture [m^2/s]
+            virtual tmp<volScalarField> nu() const;
+
+            //- Kinematic viscosity of mixture for patch [m^2/s]
+            virtual tmp<scalarField> nu(const label patchi) const;
+
             //- Thermal diffusivity for temperature of mixture [J/m/s/K]
             virtual tmp<volScalarField> kappa() const;
 
-- 
GitLab


From 56eb67567934b728c8b755bf82529232bbfff031 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Thu, 5 Nov 2015 19:53:43 +0000
Subject: [PATCH 045/141] 
 reactingEulerFoam/phaseSystems/phasePair/orderedPhasePair: Correct lookup of
 the aspectRatio Resolves bug-report
 http://openfoam.org/mantisbt/view.php?id=1899

---
 .../constantAspectRatio/constantAspectRatio.C |  2 +-
 .../orderedPhasePair/orderedPhasePair.C       | 12 ++------
 .../orderedPhasePair/orderedPhasePair.H       | 13 --------
 .../phaseSystems/phaseSystem/phaseSystem.C    | 30 +++++++++++++++++++
 .../phaseSystems/phaseSystem/phaseSystem.H    |  3 ++
 5 files changed, 36 insertions(+), 24 deletions(-)

diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.C
index 386b06d6aa5..a670b67e44b 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.C
@@ -77,7 +77,7 @@ Foam::aspectRatioModels::constantAspectRatio::E() const
             (
                 IOobject
                 (
-                    "zero",
+                    aspectRatioModel::typeName + ":E",
                     mesh.time().timeName(),
                     mesh
                 ),
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/orderedPhasePair/orderedPhasePair.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/orderedPhasePair/orderedPhasePair.C
index 8c2bb470add..d6ea3da0b52 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/orderedPhasePair/orderedPhasePair.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/orderedPhasePair/orderedPhasePair.C
@@ -24,7 +24,7 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "orderedPhasePair.H"
-#include "aspectRatioModel.H"
+#include "phaseSystem.H"
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
@@ -73,15 +73,7 @@ Foam::word Foam::orderedPhasePair::name() const
 
 Foam::tmp<Foam::volScalarField> Foam::orderedPhasePair::E() const
 {
-    return
-        phase1().mesh().lookupObject<aspectRatioModel>
-        (
-            IOobject::groupName
-            (
-                aspectRatioModel::typeName,
-                orderedPhasePair::name()
-            )
-        ).E();
+    return phase1().fluid().E(*this);
 }
 
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/orderedPhasePair/orderedPhasePair.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/orderedPhasePair/orderedPhasePair.H
index 4779fd333d2..be4e23261d4 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/orderedPhasePair/orderedPhasePair.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/orderedPhasePair/orderedPhasePair.H
@@ -41,8 +41,6 @@ SourceFiles
 namespace Foam
 {
 
-class aspectRatioModel;
-
 /*---------------------------------------------------------------------------*\
                          Class orderedPhasePair Declaration
 \*---------------------------------------------------------------------------*/
@@ -51,17 +49,6 @@ class orderedPhasePair
 :
     public phasePair
 {
-    // Private data
-
-        //- Aspect ratio model
-        autoPtr<aspectRatioModel> aspectRatio_;
-
-
-    // Private member functions
-
-        //- Set the aspect ratio model, if there is one
-        void setAspectRatioModel(const dictTable aspectRatioTable);
-
 
 public:
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystem.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystem.C
index aa9380758d3..4efd86189bc 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystem.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystem.C
@@ -221,6 +221,36 @@ Foam::tmp<Foam::volVectorField> Foam::phaseSystem::U() const
 }
 
 
+Foam::tmp<Foam::volScalarField>
+Foam::phaseSystem::E(const phasePairKey& key) const
+{
+    if (aspectRatioModels_.found(key))
+    {
+        return aspectRatioModels_[key]->E();
+    }
+    else
+    {
+        return tmp<volScalarField>
+        (
+            new volScalarField
+            (
+                IOobject
+                (
+                    aspectRatioModel::typeName + ":E",
+                    this->mesh_.time().timeName(),
+                    this->mesh_,
+                    IOobject::NO_READ,
+                    IOobject::NO_WRITE,
+                    false
+                ),
+                this->mesh_,
+                dimensionedScalar("zero", dimless, 1)
+            )
+        );
+    }
+}
+
+
 Foam::tmp<Foam::volScalarField>
 Foam::phaseSystem::sigma(const phasePairKey& key) const
 {
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystem.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystem.H
index 001f1acdd34..ba446ef32a8 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystem.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystem.H
@@ -310,6 +310,9 @@ public:
         //- Access the rate of change of the pressure
         inline volScalarField& dpdt();
 
+        //- Return the aspect-ratio
+        tmp<volScalarField> E(const phasePairKey& key) const;
+
         //- Return the surface tension coefficient
         tmp<volScalarField> sigma(const phasePairKey& key) const;
 
-- 
GitLab


From 5459e8cdf50a7915321099a51fccade872237107 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 6 Nov 2015 15:35:50 +0000
Subject: [PATCH 046/141] reactingEulerFoam: Moved dilatation from
 AnisothermalPhaseModel to MovingPhaseModel to support phase volume fraction
 changes due to pressure

---
 .../AnisothermalPhaseModel.C                  | 20 -------------------
 .../AnisothermalPhaseModel.H                  |  9 ---------
 .../MovingPhaseModel/MovingPhaseModel.C       | 20 +++++++++++++++++++
 .../MovingPhaseModel/MovingPhaseModel.H       |  9 +++++++++
 4 files changed, 29 insertions(+), 29 deletions(-)

diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/AnisothermalPhaseModel/AnisothermalPhaseModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/AnisothermalPhaseModel/AnisothermalPhaseModel.C
index f74e8689fc1..b737cd03222 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/AnisothermalPhaseModel/AnisothermalPhaseModel.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/AnisothermalPhaseModel/AnisothermalPhaseModel.C
@@ -37,7 +37,6 @@ Foam::AnisothermalPhaseModel<BasePhaseModel>::AnisothermalPhaseModel
 )
 :
     BasePhaseModel(fluid, phaseName, index),
-    divU_(NULL),
     K_
     (
         IOobject
@@ -133,25 +132,6 @@ bool Foam::AnisothermalPhaseModel<BasePhaseModel>::compressible() const
 }
 
 
-template<class BasePhaseModel>
-const Foam::tmp<Foam::volScalarField>&
-Foam::AnisothermalPhaseModel<BasePhaseModel>::divU() const
-{
-    return divU_;
-}
-
-
-template<class BasePhaseModel>
-void
-Foam::AnisothermalPhaseModel<BasePhaseModel>::divU
-(
-    const tmp<volScalarField>& divU
-)
-{
-    divU_ = divU;
-}
-
-
 template<class BasePhaseModel>
 const Foam::volScalarField&
 Foam::AnisothermalPhaseModel<BasePhaseModel>::K() const
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/AnisothermalPhaseModel/AnisothermalPhaseModel.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/AnisothermalPhaseModel/AnisothermalPhaseModel.H
index a8c4be694a9..1b7ec2f615a 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/AnisothermalPhaseModel/AnisothermalPhaseModel.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/AnisothermalPhaseModel/AnisothermalPhaseModel.H
@@ -54,9 +54,6 @@ class AnisothermalPhaseModel
 {
     // Private data
 
-        //- Dilatation rate
-        tmp<volScalarField> divU_;
-
         //- Kinetic energy
         volScalarField K_;
 
@@ -94,12 +91,6 @@ public:
             //- Return true if the phase is compressible otherwise false
             virtual bool compressible() const;
 
-            //- Return the phase dilatation rate (d(alpha)/dt + div(alpha*phi))
-            virtual const tmp<volScalarField>& divU() const;
-
-            //- Set the phase dilatation rate (d(alpha)/dt + div(alpha*phi))
-            virtual void divU(const tmp<volScalarField>& divU);
-
             //- Return the phase kinetic energy
             virtual const volScalarField& K() const;
 };
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.C
index 85f31441ee8..74c6b7b46a7 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.C
@@ -174,6 +174,7 @@ Foam::MovingPhaseModel<BasePhaseModel>::MovingPhaseModel
         fluid.mesh(),
         dimensionedVector("0", dimAcceleration, vector::zero)
     ),
+    divU_(NULL),
     turbulence_
     (
         phaseCompressibleTurbulenceModel::New
@@ -317,6 +318,25 @@ Foam::MovingPhaseModel<BasePhaseModel>::DUDt() const
 }
 
 
+template<class BasePhaseModel>
+const Foam::tmp<Foam::volScalarField>&
+Foam::MovingPhaseModel<BasePhaseModel>::divU() const
+{
+    return divU_;
+}
+
+
+template<class BasePhaseModel>
+void
+Foam::MovingPhaseModel<BasePhaseModel>::divU
+(
+    const tmp<volScalarField>& divU
+)
+{
+    divU_ = divU;
+}
+
+
 template<class BasePhaseModel>
 Foam::tmp<Foam::volScalarField>
 Foam::MovingPhaseModel<BasePhaseModel>::continuityError() const
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.H
index 5b3b320b132..6c5da0bde9b 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.H
@@ -80,6 +80,9 @@ class MovingPhaseModel
         //- Lagrangian acceleration field (needed for virtual-mass)
         volVectorField DUDt_;
 
+        //- Dilatation rate
+        tmp<volScalarField> divU_;
+
         //- Turbulence model
         autoPtr<phaseCompressibleTurbulenceModel> turbulence_;
 
@@ -151,6 +154,12 @@ public:
             //- Return the substantive acceleration
             virtual tmp<volVectorField> DUDt() const;
 
+            //- Return the phase dilatation rate (d(alpha)/dt + div(alpha*phi))
+            virtual const tmp<volScalarField>& divU() const;
+
+            //- Set the phase dilatation rate (d(alpha)/dt + div(alpha*phi))
+            virtual void divU(const tmp<volScalarField>& divU);
+
             //- Constant access the continuity error
             virtual tmp<volScalarField> continuityError() const;
 
-- 
GitLab


From 4731fa5c4a50aad46d357af43b823d816e06391e Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 6 Nov 2015 17:36:58 +0000
Subject: [PATCH 047/141] sutherlandTransport: Add support for reading thermo
 and transport from separate dictionaries Based on patch provided by Daniel
 Jasinski See http://www.openfoam.org/mantisbt/view.php?id=1888

---
 .../sutherland/sutherlandTransport.C          | 41 +++++++++++++++----
 .../sutherland/sutherlandTransport.H          |  8 +++-
 2 files changed, 41 insertions(+), 8 deletions(-)

diff --git a/src/thermophysicalModels/specie/transport/sutherland/sutherlandTransport.C b/src/thermophysicalModels/specie/transport/sutherland/sutherlandTransport.C
index d23f60472e7..db8cc730268 100644
--- a/src/thermophysicalModels/specie/transport/sutherland/sutherlandTransport.C
+++ b/src/thermophysicalModels/specie/transport/sutherland/sutherlandTransport.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -26,6 +26,19 @@ License
 #include "sutherlandTransport.H"
 #include "IOstreams.H"
 
+// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
+
+template<class Thermo>
+Foam::scalar Foam::sutherlandTransport<Thermo>::readCoeff
+(
+    const word& coeffName,
+    const dictionary& dict
+)
+{
+    return readScalar(dict.subDict("transport").lookup(coeffName));
+}
+
+
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 template<class Thermo>
@@ -43,8 +56,21 @@ template<class Thermo>
 Foam::sutherlandTransport<Thermo>::sutherlandTransport(const dictionary& dict)
 :
     Thermo(dict),
-    As_(readScalar(dict.subDict("transport").lookup("As"))),
-    Ts_(readScalar(dict.subDict("transport").lookup("Ts")))
+    As_(readCoeff("As", dict)),
+    Ts_(readCoeff("Ts", dict))
+{}
+
+
+template<class Thermo>
+Foam::sutherlandTransport<Thermo>::sutherlandTransport
+(
+    const Thermo& t,
+    const dictionary& dict
+)
+:
+    Thermo(t),
+    As_(readCoeff("As", dict)),
+    Ts_(readCoeff("Ts", dict))
 {}
 
 
@@ -53,19 +79,20 @@ Foam::sutherlandTransport<Thermo>::sutherlandTransport(const dictionary& dict)
 template<class Thermo>
 void Foam::sutherlandTransport<Thermo>::write(Ostream& os) const
 {
-    os  << this->specie::name() << endl;
-    os  << token::BEGIN_BLOCK  << incrIndent << nl;
+    os  << this->specie::name() << endl
+        << token::BEGIN_BLOCK  << incrIndent << nl;
 
     Thermo::write(os);
 
     dictionary dict("transport");
     dict.add("As", As_);
     dict.add("Ts", Ts_);
-    os  << indent << dict.dictName() << dict;
 
-    os  << decrIndent << token::END_BLOCK << nl;
+    os  << indent << dict.dictName() << dict
+        << decrIndent << token::END_BLOCK << nl;
 }
 
+
 // * * * * * * * * * * * * * * * IOstream Operators  * * * * * * * * * * * * //
 
 template<class Thermo>
diff --git a/src/thermophysicalModels/specie/transport/sutherland/sutherlandTransport.H b/src/thermophysicalModels/specie/transport/sutherland/sutherlandTransport.H
index 25973ac1dae..e7da7b9a5ff 100644
--- a/src/thermophysicalModels/specie/transport/sutherland/sutherlandTransport.H
+++ b/src/thermophysicalModels/specie/transport/sutherland/sutherlandTransport.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -114,6 +114,9 @@ class sutherlandTransport
             const scalar mu2, const scalar T2
         );
 
+        //- Read coefficient from dictionary
+        scalar readCoeff(const word& coeffName, const dictionary& dict);
+
 
 public:
 
@@ -144,6 +147,9 @@ public:
         //- Construct from dictionary
         sutherlandTransport(const dictionary& dict);
 
+        //- Construct from base thermo and dictionary
+        sutherlandTransport(const Thermo& t,const dictionary& dict);
+
         //- Construct and return a clone
         inline autoPtr<sutherlandTransport> clone() const;
 
-- 
GitLab


From 4b0c0a5278ad7f335f8561d012d88cceb2abf7e6 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sat, 7 Nov 2015 16:28:13 +0000
Subject: [PATCH 048/141] Test-error: Updated to use test the new
 "...InFunction" macros

---
 applications/test/error/Test-error.C | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/applications/test/error/Test-error.C b/applications/test/error/Test-error.C
index a6789502c60..892c1356e54 100644
--- a/applications/test/error/Test-error.C
+++ b/applications/test/error/Test-error.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -40,15 +40,15 @@ int main(int argc, char *argv[])
 
     try
     {
-        WarningIn("main") << "warning 1" << endl;
-        IOWarningIn("main", Serr) << "warning 2" << endl;
+        WarningInFunction << "warning 1" << endl;
+        IOWarningInFunction(Serr) << "warning 2" << endl;
 
         dictionary dict;
 
         IOWarningIn("main", dict) << "warning 3" << endl;
 
-        FatalErrorIn("main") << "error 1" << endl;
-        FatalErrorIn("main") << "error 2" << exit(FatalError);
+        FatalErrorInFunction << "error 1" << endl;
+        FatalErrorInFunction << "error 2" << exit(FatalError);
     }
     catch (Foam::error& fErr)
     {
-- 
GitLab


From a4ab3f61dbefd05b9507844cee3dbfcd508dca2d Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sun, 8 Nov 2015 12:23:52 +0000
Subject: [PATCH 049/141] src/OpenFOAM: Update ...ErrorIn -> ...ErrorInFunction
 Avoids the clutter and maintenance effort associated with providing the
 function signature string.

---
 .../dynamicIndexedOctree.C                    |  54 ++++-----
 .../dynamicIndexedOctree.H                    |   6 +-
 .../algorithms/indexedOctree/indexedOctree.C  |  54 ++++-----
 .../algorithms/indexedOctree/indexedOctree.H  |   6 +-
 .../algorithms/indexedOctree/labelBits.H      |   8 +-
 .../Circulators/Circulator/CirculatorI.H      |   7 +-
 .../ConstCirculator/ConstCirculatorI.H        |   7 +-
 .../DictionaryBase/DictionaryBase.C           |  16 +--
 .../PtrListDictionary/PtrListDictionary.C     |  20 +---
 .../HashTables/HashPtrTable/HashPtrTable.C    |   9 +-
 .../HashTables/HashTable/HashTable.C          |   9 +-
 .../HashTables/HashTable/HashTableI.H         |   8 +-
 .../StaticHashTable/StaticHashTable.C         |  21 ++--
 .../StaticHashTable/StaticHashTableI.H        |  10 +-
 .../StaticHashTable/StaticHashTableIO.C       |  17 +--
 .../containers/Identifiers/Keyed/KeyedI.H     |   7 +-
 .../linkTypes/DLListBase/DLListBase.C         |   4 +-
 .../linkTypes/DLListBase/DLListBaseI.H        |  10 +-
 .../linkTypes/SLListBase/SLListBase.C         |   4 +-
 .../linkTypes/SLListBase/SLListBaseI.H        |  10 +-
 .../Lists/BiIndirectList/BiIndirectListI.H    |   4 +-
 .../Lists/CompactListList/CompactListList.C   |   8 +-
 .../Lists/CompactListList/CompactListListI.H  |   8 +-
 .../Lists/Distribution/Distribution.C         |   9 +-
 .../Lists/DynamicList/DynamicListI.H          |  22 ++--
 .../containers/Lists/FixedList/FixedListI.H   |   6 +-
 .../containers/Lists/Histogram/Histogram.C    |   4 +-
 src/OpenFOAM/containers/Lists/List/List.C     |   8 +-
 src/OpenFOAM/containers/Lists/List/ListI.H    |   8 +-
 .../containers/Lists/ListOps/ListOps.C        |   4 +-
 .../Lists/ListOps/ListOpsTemplates.C          |   6 +-
 .../containers/Lists/PackedList/PackedListI.H |  20 +---
 .../containers/Lists/PtrList/PtrList.C        |  14 +--
 .../containers/Lists/PtrList/PtrListI.H       |   4 +-
 .../Lists/UIndirectList/UIndirectListI.H      |   6 +-
 src/OpenFOAM/containers/Lists/UList/UList.C   |   4 +-
 src/OpenFOAM/containers/Lists/UList/UListI.H  |  10 +-
 .../containers/Lists/UPtrList/UPtrList.C      |   8 +-
 .../containers/Lists/UPtrList/UPtrListI.H     |   6 +-
 src/OpenFOAM/containers/NamedEnum/NamedEnum.C |  10 +-
 src/OpenFOAM/db/IOobject/IOobject.C           |  39 +------
 .../db/IOobjects/IOPtrList/IOPtrList.C        |   4 +-
 src/OpenFOAM/db/IOstreams/Fstreams/IFstream.C |   8 +-
 src/OpenFOAM/db/IOstreams/Fstreams/OFstream.C |   6 +-
 .../db/IOstreams/Pstreams/PstreamBuffers.C    |  10 +-
 .../db/IOstreams/Pstreams/UIPstream.C         |   2 +-
 .../db/IOstreams/Pstreams/UOPstream.C         |   4 +-
 src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C |   9 +-
 .../IOstreams/Pstreams/UPstreamCommsStruct.C  |   4 +-
 src/OpenFOAM/db/IOstreams/Pstreams/exchange.C |  16 +--
 .../db/IOstreams/Pstreams/gatherScatterList.C |  16 +--
 src/OpenFOAM/db/Time/findInstance.C           |  26 ++---
 src/OpenFOAM/db/dictionary/entry/entry.C      |   4 +-
 .../functionEntry/functionEntry.C             |  14 +--
 .../primitiveEntry/primitiveEntry.C           |  10 +-
 .../dynamicLibrary/dynamicCode/dynamicCode.C  |  71 ++++--------
 src/OpenFOAM/db/error/CocoParserErrors.H      |  10 +-
 src/OpenFOAM/db/error/messageStream.C         |   2 +-
 src/OpenFOAM/db/error/messageStream.H         |  26 ++---
 .../functionObject/functionObject.C           |  16 +--
 .../functionObjectFile/functionObjectFile.C   |  15 +--
 .../outputFilterOutputControl.C               |   4 +-
 .../objectRegistry/objectRegistryTemplates.C  |  14 +--
 src/OpenFOAM/db/regIOobject/regIOobject.C     |   6 +-
 src/OpenFOAM/db/regIOobject/regIOobjectI.H    |  10 +-
 src/OpenFOAM/db/regIOobject/regIOobjectRead.C |   8 +-
 src/OpenFOAM/db/typeInfo/typeInfo.H           |   6 +-
 src/OpenFOAM/dimensionSet/dimensionSet.C      |  24 ++--
 .../dimensionedScalar/dimensionedScalar.C     |   6 +-
 .../dimensionedType/dimensionedType.C         |   8 +-
 .../DimensionedField/DimensionedField.C       |  24 ++--
 .../DimensionedScalarField.C                  |  14 +--
 .../FieldFields/FieldField/FieldField.C       |  27 +----
 .../Fields/DynamicField/DynamicFieldI.H       |  22 ++--
 src/OpenFOAM/fields/Fields/Field/Field.C      |  30 ++---
 src/OpenFOAM/fields/Fields/Field/FieldM.H     |  15 +--
 .../fields/Fields/Field/FieldMapper.H         |   8 +-
 .../Fields/transformList/transformList.C      |  20 ++--
 .../GeometricField/GeometricBoundaryField.C   |  34 +-----
 .../GeometricField/GeometricField.C           |  45 +++-----
 .../GeometricScalarField.C                    |  14 +--
 src/OpenFOAM/fields/ReadFields/ReadFields.C   |  18 +--
 .../basic/value/valuePointPatchField.C        |  17 +--
 .../constraint/cyclic/cyclicPointPatchField.C |  22 +---
 .../constraint/empty/emptyPointPatchField.C   |  22 +---
 .../symmetry/symmetryPointPatchField.C        |  22 +---
 .../symmetryPlanePointPatchField.C            |  22 +---
 .../constraint/wedge/wedgePointPatchField.C   |  22 +---
 .../pointPatchField/pointPatchField.C         |  58 +++-------
 .../pointPatchField/pointPatchFieldNew.C      |  37 ++----
 src/OpenFOAM/global/JobInfo/JobInfo.C         |  10 +-
 src/OpenFOAM/graph/graph.C                    |  20 ++--
 .../interpolation2DTable.C                    | 103 ++++-------------
 .../interpolationLookUpTable.C                |  59 +++-------
 .../interpolationTable/interpolationTable.C   | 104 +++++------------
 .../tableReaders/csv/csvTableReader.C         |  14 +--
 .../tableReaders/tableReader.C                |   8 +-
 .../interpolationWeights.C                    |  11 +-
 .../linearInterpolationWeights.C              |   8 +-
 .../PatchToPatchInterpolate.C                 |  16 +--
 .../PatchToPatchInterpolation.H               |   8 +-
 .../PrimitivePatchInterpolation.C             |  35 ++----
 .../uniformInterpolationTable.C               |  22 ++--
 .../matrices/LUscalarMatrix/LUscalarMatrix.C  |   2 +-
 .../LUscalarMatrix/procLduInterface.C         |   9 +-
 .../matrices/LduMatrix/LduMatrix/LduMatrix.C  |  26 ++---
 .../LduMatrix/LduMatrix/LduMatrixOperations.C |  24 ++--
 .../LduMatrixUpdateMatrixInterfaces.C         |   6 +-
 src/OpenFOAM/matrices/Matrix/Matrix.C         |  49 +++-----
 src/OpenFOAM/matrices/Matrix/MatrixI.H        |  10 +-
 .../matrices/SquareMatrix/SquareMatrixI.H     |  15 +--
 .../SymmetricSquareMatrixI.H                  |  16 +--
 .../lduMatrix/lduAddressing/lduAddressing.C   |  14 +--
 .../processorLduInterfaceTemplates.C          |   8 +-
 .../matrices/lduMatrix/lduMatrix/lduMatrix.C  |   8 +-
 .../lduMatrix/lduMatrix/lduMatrixTemplates.C  |   2 +-
 .../lduMatrixUpdateMatrixInterfaces.C         |   6 +-
 .../GAMGAgglomerateLduAddressing.C            |  13 +--
 .../GAMGAgglomeration/GAMGAgglomeration.C     |  21 +---
 .../GAMGAgglomerationTemplates.C              |  18 +--
 .../GAMGProcAgglomeration.C                   |   9 +-
 .../manualGAMGProcAgglomeration.C             |  16 +--
 .../lduMatrix/solvers/GAMG/GAMGSolver.C       |  14 +--
 .../GAMG/GAMGSolverAgglomerateMatrix.C        |   4 +-
 .../GAMGInterfaceFieldNew.C                   |  17 +--
 .../interfaces/GAMGInterface/GAMGInterface.C  |  14 +--
 .../GAMGInterface/GAMGInterfaceNew.C          |  18 +--
 .../matrices/scalarMatrices/scalarMatrices.C  |  49 ++------
 .../scalarMatrices/scalarMatricesTemplates.C  |  11 +-
 .../matrices/simpleMatrix/simpleMatrix.C      |   8 +-
 src/OpenFOAM/memory/autoPtr/autoPtrI.H        |  10 +-
 src/OpenFOAM/memory/tmp/tmpI.H                |  22 ++--
 .../Identifiers/patch/coupleGroupIdentifier.C |  50 +++-----
 .../meshes/ProcessorTopology/commSchedule.C   |   9 +-
 .../meshes/lduMesh/lduPrimitiveMesh.C         |  72 ++++--------
 .../meshShapes/cellMatcher/cellMatcher.C      |  17 +--
 .../meshShapes/cellModeller/cellModeller.C    |   8 +-
 src/OpenFOAM/meshes/meshShapes/face/face.C    |   7 +-
 .../meshes/meshShapes/tetCell/tetCellI.H      |  27 ++---
 .../pointMesh/pointMeshMapper/MapPointField.H |  12 +-
 .../pointMesh/pointMeshMapper/pointMapper.C   |  24 ++--
 .../pointMeshMapper/pointPatchMapper.C        |  26 ++---
 .../facePointPatch/facePointPatchNew.C        |   9 +-
 .../polyMesh/globalMeshData/globalIndex.C     |  11 +-
 .../polyMesh/globalMeshData/globalIndexI.H    |   6 +-
 .../globalMeshData/globalIndexTemplates.C     |  10 +-
 .../polyMesh/globalMeshData/globalMeshData.C  |  12 +-
 .../globalMeshData/globalMeshDataTemplates.C  |   4 +-
 .../mapPolyMesh/cellMapper/cellMapper.C       |  32 +++--
 .../mapPolyMesh/faceMapper/faceMapper.C       |  28 ++---
 .../mapPolyMesh/mapDistribute/mapDistribute.C |  31 ++---
 .../mapDistribute/mapDistributePolyMesh.C     |   4 +-
 .../mapDistribute/mapDistributeTemplates.C    |  17 +--
 .../meshes/polyMesh/mapPolyMesh/mapPolyMesh.C |   7 +-
 .../meshes/polyMesh/mapPolyMesh/mapPolyMesh.H |   8 +-
 .../polyBoundaryMesh/polyBoundaryMesh.C       |  69 ++++-------
 src/OpenFOAM/meshes/polyMesh/polyMesh.C       | 109 ++++--------------
 .../polyMesh/polyMeshCheck/polyMeshCheck.C    |  30 ++---
 .../meshes/polyMesh/polyMeshFromShapeMesh.C   |  55 +++------
 src/OpenFOAM/meshes/polyMesh/polyMeshIO.C     |   7 +-
 .../meshes/polyMesh/polyMeshInitMesh.C        |   8 +-
 .../polyMeshTetDecomposition.C                |  39 ++-----
 .../constraint/cyclic/cyclicPolyPatch.C       |  67 ++++-------
 .../constraint/cyclic/cyclicPolyPatch.H       |   6 +-
 .../constraint/oldCyclic/oldCyclicPolyPatch.C |  33 ++----
 .../constraint/processor/processorPolyPatch.C |  33 ++----
 .../processorCyclicPolyPatch.C                |   4 +-
 .../processorCyclicPolyPatch.H                |   6 +-
 .../symmetryPlane/symmetryPlanePolyPatch.C    |   4 +-
 .../constraint/wedge/wedgePolyPatch.C         |  11 +-
 .../polyPatches/polyPatch/polyPatchNew.C      |  13 +--
 .../meshes/polyMesh/syncTools/syncTools.C     |   9 +-
 .../polyMesh/syncTools/syncToolsTemplates.C   | 106 +++++------------
 .../meshes/polyMesh/zones/ZoneMesh/ZoneMesh.C |  26 ++---
 .../meshes/polyMesh/zones/faceZone/faceZone.C |  15 +--
 .../meshes/polyMesh/zones/zone/zone.C         |  18 +--
 .../PatchTools/PatchToolsEdgeOwner.C          |   7 +-
 .../PatchTools/PatchToolsSearch.C             |  15 +--
 .../PrimitivePatch/PrimitivePatchAddressing.C |  16 +--
 .../PrimitivePatch/PrimitivePatchBdryPoints.C |   9 +-
 .../PrimitivePatch/PrimitivePatchCheck.C      |   7 +-
 .../PrimitivePatch/PrimitivePatchEdgeLoops.C  |   9 +-
 .../PrimitivePatchLocalPointOrder.C           |   9 +-
 .../PrimitivePatch/PrimitivePatchMeshData.C   |  44 +++----
 .../PrimitivePatchPointAddressing.C           |  16 +--
 .../PrimitivePatchProjectPoints.C             |  18 +--
 .../meshes/primitiveMesh/primitiveMesh.C      |   9 +-
 .../primitiveMeshCalcCellShapes.C             |   4 +-
 .../primitiveMesh/primitiveMeshCellCells.C    |   6 +-
 .../primitiveMeshCellCentresAndVols.C         |   4 +-
 .../primitiveMesh/primitiveMeshCellEdges.C    |   6 +-
 .../primitiveMesh/primitiveMeshCellPoints.C   |   4 +-
 .../meshes/primitiveMesh/primitiveMeshCells.C |   4 +-
 .../primitiveMeshCheck/primitiveMeshCheck.C   |  16 +--
 .../primitiveMesh/primitiveMeshEdgeCells.C    |   4 +-
 .../primitiveMesh/primitiveMeshEdgeFaces.C    |   4 +-
 .../meshes/primitiveMesh/primitiveMeshEdges.C |  15 +--
 .../primitiveMeshFaceCentresAndAreas.C        |   4 +-
 .../primitiveMesh/primitiveMeshPointCells.C   |   6 +-
 .../primitiveMesh/primitiveMeshPointPoints.C  |   8 +-
 .../primitiveMesh/primitivePatch/patchZones.C |   8 +-
 .../primitiveMesh/primitivePatch/walkPatch.C  |   6 +-
 .../primitiveShapes/objectHit/PointHit.H      |   6 +-
 .../primitiveShapes/objectHit/PointIndexHit.H |   4 +-
 .../meshes/primitiveShapes/plane/plane.C      |  36 ++----
 .../tetrahedron/tetrahedronI.H                |   6 +-
 .../primitiveShapes/triangle/intersection.H   |   7 +-
 .../meshes/treeBoundBox/treeBoundBox.C        |  21 ++--
 src/OpenFOAM/primitives/Pair/Pair.H           |   6 +-
 .../primitives/Tensor2D/tensor2D/tensor2D.C   |   4 +-
 .../primitives/VectorSpace/VectorSpaceI.H     |  29 ++---
 src/OpenFOAM/primitives/bools/Switch/Switch.C |   4 +-
 .../primitives/functions/DataEntry/CSV/CSV.C  |  10 +-
 .../DataEntry/DataEntry/DataEntryNew.C        |   2 +-
 .../PolynomialEntry/PolynomialEntry.C         |  28 ++---
 .../functions/DataEntry/Table/TableBase.C     |  46 ++------
 .../functions/Polynomial/Polynomial.C         |  20 ++--
 .../functions/Polynomial/polynomialFunction.C |  30 ++---
 .../globalIndexAndTransform.C                 |  28 ++---
 .../globalIndexAndTransformI.H                |  76 ++----------
 src/OpenFOAM/primitives/ints/label/label.C    |   4 +-
 src/OpenFOAM/primitives/ints/uLabel/uLabel.C  |   4 +-
 .../primitives/strings/stringOps/stringOps.C  |  26 +----
 223 files changed, 1269 insertions(+), 2689 deletions(-)

diff --git a/src/OpenFOAM/algorithms/dynamicIndexedOctree/dynamicIndexedOctree.C b/src/OpenFOAM/algorithms/dynamicIndexedOctree/dynamicIndexedOctree.C
index 92b29325104..922a62415f3 100644
--- a/src/OpenFOAM/algorithms/dynamicIndexedOctree/dynamicIndexedOctree.C
+++ b/src/OpenFOAM/algorithms/dynamicIndexedOctree/dynamicIndexedOctree.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -208,7 +208,7 @@ Foam::dynamicIndexedOctree<Type>::divide
      || bb.min()[2] >= bb.max()[2]
     )
     {
-        FatalErrorIn("dynamicIndexedOctree<Type>::divide(..)")
+        FatalErrorInFunction
             << "Badly formed bounding box:" << bb
             << abort(FatalError);
     }
@@ -436,11 +436,8 @@ Foam::volumeType Foam::dynamicIndexedOctree<Type>::getVolumeType
         {
             // Empty node. Cannot have 'mixed' as its type since not divided
             // up and has no items inside it.
-            FatalErrorIn
-            (
-                "dynamicIndexedOctree<Type>::getVolumeType"
-                "(const label, const point&)"
-            )   << "Sample:" << sample << " node:" << nodeI
+            FatalErrorInFunction
+                << "Sample:" << sample << " node:" << nodeI
                 << " with bb:" << nodes_[nodeI].bb_ << nl
                 << "Empty subnode has invalid volume type MIXED."
                 << abort(FatalError);
@@ -450,11 +447,8 @@ Foam::volumeType Foam::dynamicIndexedOctree<Type>::getVolumeType
     }
     else
     {
-        FatalErrorIn
-        (
-            "dynamicIndexedOctree<Type>::getVolumeType"
-            "(const label, const point&)"
-        )   << "Sample:" << sample << " at node:" << nodeI
+        FatalErrorInFunction
+            << "Sample:" << sample << " at node:" << nodeI
             << " octant:" << octant
             << " with bb:" << nod.bb_.subBbox(octant) << nl
             << "Node has invalid volume type " << octantType
@@ -708,7 +702,7 @@ Foam::point Foam::dynamicIndexedOctree<Type>::pushPoint
     {
         if (pushInside != bb.contains(perturbedPt))
         {
-            FatalErrorIn("dynamicIndexedOctree<Type>::pushPoint(..)")
+            FatalErrorInFunction
                 << "pushed point:" << pt
                 << " to:" << perturbedPt
                 << " wanted side:" << pushInside
@@ -743,7 +737,7 @@ Foam::point Foam::dynamicIndexedOctree<Type>::pushPoint
 
     if (faceID == 0)
     {
-        FatalErrorIn("dynamicIndexedOctree<Type>::pushPoint(..)")
+        FatalErrorInFunction
             << abort(FatalError);
     }
 
@@ -820,7 +814,7 @@ Foam::point Foam::dynamicIndexedOctree<Type>::pushPoint
     {
         if (pushInside != bb.contains(perturbedPt))
         {
-            FatalErrorIn("dynamicIndexedOctree<Type>::pushPoint(..)")
+            FatalErrorInFunction
                 << "pushed point:" << pt << " on face:" << faceString(faceID)
                 << " to:" << perturbedPt
                 << " wanted side:" << pushInside
@@ -849,7 +843,7 @@ Foam::point Foam::dynamicIndexedOctree<Type>::pushPointIntoFace
     {
         if (bb.posBits(pt) != 0)
         {
-            FatalErrorIn("dynamicIndexedOctree<Type>::pushPointIntoFace(..)")
+            FatalErrorInFunction
                 << " bb:" << bb << endl
                 << "does not contain point " << pt << abort(FatalError);
         }
@@ -971,7 +965,7 @@ Foam::point Foam::dynamicIndexedOctree<Type>::pushPointIntoFace
     {
         if (faceID != bb.faceBits(facePoint))
         {
-            FatalErrorIn("dynamicIndexedOctree<Type>::pushPointIntoFace(..)")
+            FatalErrorInFunction
                 << "Pushed point from " << pt
                 << " on face:" << ptFaceID << " of bb:" << bb << endl
                 << "onto " << facePoint
@@ -982,7 +976,7 @@ Foam::point Foam::dynamicIndexedOctree<Type>::pushPointIntoFace
         }
         if (bb.posBits(facePoint) != 0)
         {
-            FatalErrorIn("dynamicIndexedOctree<Type>::pushPointIntoFace(..)")
+            FatalErrorInFunction
                 << " bb:" << bb << endl
                 << "does not contain perturbed point "
                 << facePoint << abort(FatalError);
@@ -1086,7 +1080,7 @@ Foam::point Foam::dynamicIndexedOctree<Type>::pushPointIntoFace
 //
 //    if (nFaces == 0 || nFaces == 1 || nFaces > 3)
 //    {
-//        FatalErrorIn("dynamicIndexedOctree<Type>::checkMultipleFaces(..)")
+//        FatalErrorInFunction
 //            << "Problem : nFaces:" << nFaces << abort(FatalError);
 //    }
 //
@@ -1119,7 +1113,7 @@ Foam::point Foam::dynamicIndexedOctree<Type>::pushPointIntoFace
 //
 //    if (maxIndex == -1)
 //    {
-//        FatalErrorIn("dynamicIndexedOctree<Type>::checkMultipleFaces(..)")
+//        FatalErrorInFunction
 //            << "Problem maxIndex:" << maxIndex << " inproducts:" << inproducts
 //            << abort(FatalError);
 //    }
@@ -1179,7 +1173,7 @@ Foam::point Foam::dynamicIndexedOctree<Type>::pushPointIntoFace
 //    {
 //        if (faceID != bb.faceBits(faceHitInfo.rawPoint()))
 //        {
-//            FatalErrorIn("dynamicIndexedOctree<Type>::checkMultipleFaces(..)")
+//            FatalErrorInFunction
 //                << "Pushed point from " << oldPoint
 //                << " on face:" << oldFaceID << " of bb:" << bb << endl
 //                << "onto " << faceHitInfo.rawPoint()
@@ -1229,7 +1223,7 @@ bool Foam::dynamicIndexedOctree<Type>::walkToParent
 
     if (parentOctant == 255)
     {
-        FatalErrorIn("walkToParent(..)")
+        FatalErrorInFunction
             << "Problem: no parent found for octant:" << octant
             << " node:" << nodeI
             << abort(FatalError);
@@ -1426,7 +1420,7 @@ bool Foam::dynamicIndexedOctree<Type>::walkToNeighbour
 
         if (!subBb.contains(facePoint))
         {
-            FatalErrorIn("dynamicIndexedOctree<Type>::walkToNeighbour(..)")
+            FatalErrorInFunction
                 << "When searching for " << facePoint
                 << " ended up in node:" << nodeI
                 << " octant:" << octant
@@ -1455,7 +1449,7 @@ bool Foam::dynamicIndexedOctree<Type>::walkToNeighbour
 
         if (nodeI == oldNodeI && octant == oldOctant)
         {
-            FatalErrorIn("dynamicIndexedOctree<Type>::walkToNeighbour(..)")
+            FatalErrorInFunction
                 << "Did not go to neighbour when searching for " << facePoint
                 << endl
                 << "    starting from face:" << faceString(faceID)
@@ -1467,7 +1461,7 @@ bool Foam::dynamicIndexedOctree<Type>::walkToNeighbour
 
         if (!subBb.contains(facePoint))
         {
-            FatalErrorIn("dynamicIndexedOctree<Type>::walkToNeighbour(..)")
+            FatalErrorInFunction
                 << "When searching for " << facePoint
                 << " ended up in node:" << nodeI
                 << " octant:" << octant
@@ -1555,7 +1549,7 @@ void Foam::dynamicIndexedOctree<Type>::traverseNode
 
         if (octantBb.posBits(start) != 0)
         {
-            FatalErrorIn("dynamicIndexedOctree<Type>::traverseNode(..)")
+            FatalErrorInFunction
                 << "Node:" << nodeI << " octant:" << octant
                 << " bb:" << octantBb << endl
                 << "does not contain point " << start << abort(FatalError);
@@ -1863,7 +1857,7 @@ Foam::pointIndexHit Foam::dynamicIndexedOctree<Type>::findLine
         }
         if (debug)
         {
-            FatalErrorIn("dynamicIndexedOctree<Type>::findLine(..)")
+            FatalErrorInFunction
                 << "Got stuck in loop raytracing from:" << treeStart
                 << " to:" << treeEnd << endl
                 << "inside top box:" << subBbox(startNodeI, startOctant)
@@ -1871,7 +1865,7 @@ Foam::pointIndexHit Foam::dynamicIndexedOctree<Type>::findLine
         }
         else
         {
-            WarningIn("dynamicIndexedOctree<Type>::findLine(..)")
+            WarningInFunction
                 << "Got stuck in loop raytracing from:" << treeStart
                 << " to:" << treeEnd << endl
                 << "inside top box:" << subBbox(startNodeI, startOctant)
@@ -2493,7 +2487,7 @@ Foam::labelBits Foam::dynamicIndexedOctree<Type>::findNode
     {
         if (!nod.bb_.contains(sample))
         {
-            FatalErrorIn("findNode(..)")
+            FatalErrorInFunction
                 << "Cannot find " << sample << " in node " << nodeI
                 << abort(FatalError);
         }
@@ -2627,7 +2621,7 @@ Foam::volumeType Foam::dynamicIndexedOctree<Type>::getVolumeType
                 }
                 else
                 {
-                    FatalErrorIn("getVolumeType") << abort(FatalError);
+                    FatalErrorInFunction << abort(FatalError);
                 }
             }
 
diff --git a/src/OpenFOAM/algorithms/dynamicIndexedOctree/dynamicIndexedOctree.H b/src/OpenFOAM/algorithms/dynamicIndexedOctree/dynamicIndexedOctree.H
index ccb929f188f..3c1d969c46f 100644
--- a/src/OpenFOAM/algorithms/dynamicIndexedOctree/dynamicIndexedOctree.H
+++ b/src/OpenFOAM/algorithms/dynamicIndexedOctree/dynamicIndexedOctree.H
@@ -472,7 +472,7 @@ public:
             {
                 if (nodes_.empty())
                 {
-                    FatalErrorIn("dynamicIndexedOctree<Type>::bb() const")
+                    FatalErrorInFunction
                         << "Tree is empty" << abort(FatalError);
                 }
                 return nodes_[0].bb_;
@@ -500,7 +500,7 @@ public:
             {
                 if (!isContent(i))
                 {
-                    FatalErrorIn("getContent(const label)")
+                    FatalErrorInFunction
                         << abort(FatalError);
                 }
                 return -i.val()-1;
@@ -510,7 +510,7 @@ public:
             {
                 if (!isNode(i))
                 {
-                    FatalErrorIn("getNode(const label)")
+                    FatalErrorInFunction
                         << abort(FatalError);
                 }
                 return i.val() - 1;
diff --git a/src/OpenFOAM/algorithms/indexedOctree/indexedOctree.C b/src/OpenFOAM/algorithms/indexedOctree/indexedOctree.C
index 541a008d6ba..9706ffc52fc 100644
--- a/src/OpenFOAM/algorithms/indexedOctree/indexedOctree.C
+++ b/src/OpenFOAM/algorithms/indexedOctree/indexedOctree.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -182,7 +182,7 @@ Foam::indexedOctree<Type>::divide
      || bb.min()[2] >= bb.max()[2]
     )
     {
-        FatalErrorIn("indexedOctree<Type>::divide(..)")
+        FatalErrorInFunction
             << "Badly formed bounding box:" << bb
             << abort(FatalError);
     }
@@ -456,11 +456,8 @@ Foam::volumeType Foam::indexedOctree<Type>::getVolumeType
         {
             // Empty node. Cannot have 'mixed' as its type since not divided
             // up and has no items inside it.
-            FatalErrorIn
-            (
-                "indexedOctree<Type>::getVolumeType"
-                "(const label, const point&)"
-            )   << "Sample:" << sample << " node:" << nodeI
+            FatalErrorInFunction
+                << "Sample:" << sample << " node:" << nodeI
                 << " with bb:" << nodes_[nodeI].bb_ << nl
                 << "Empty subnode has invalid volume type MIXED."
                 << abort(FatalError);
@@ -470,11 +467,8 @@ Foam::volumeType Foam::indexedOctree<Type>::getVolumeType
     }
     else
     {
-        FatalErrorIn
-        (
-            "indexedOctree<Type>::getVolumeType"
-            "(const label, const point&)"
-        )   << "Sample:" << sample << " at node:" << nodeI
+        FatalErrorInFunction
+            << "Sample:" << sample << " at node:" << nodeI
             << " octant:" << octant
             << " with bb:" << nod.bb_.subBbox(octant) << nl
             << "Node has invalid volume type " << octantType
@@ -739,7 +733,7 @@ Foam::point Foam::indexedOctree<Type>::pushPoint
     {
         if (pushInside != bb.contains(perturbedPt))
         {
-            FatalErrorIn("indexedOctree<Type>::pushPoint(..)")
+            FatalErrorInFunction
                 << "pushed point:" << pt
                 << " to:" << perturbedPt
                 << " wanted side:" << pushInside
@@ -774,7 +768,7 @@ Foam::point Foam::indexedOctree<Type>::pushPoint
 
     if (faceID == 0)
     {
-        FatalErrorIn("indexedOctree<Type>::pushPoint(..)")
+        FatalErrorInFunction
             << abort(FatalError);
     }
 
@@ -851,7 +845,7 @@ Foam::point Foam::indexedOctree<Type>::pushPoint
     {
         if (pushInside != bb.contains(perturbedPt))
         {
-            FatalErrorIn("indexedOctree<Type>::pushPoint(..)")
+            FatalErrorInFunction
                 << "pushed point:" << pt << " on face:" << faceString(faceID)
                 << " to:" << perturbedPt
                 << " wanted side:" << pushInside
@@ -880,7 +874,7 @@ Foam::point Foam::indexedOctree<Type>::pushPointIntoFace
     {
         if (bb.posBits(pt) != 0)
         {
-            FatalErrorIn("indexedOctree<Type>::pushPointIntoFace(..)")
+            FatalErrorInFunction
                 << " bb:" << bb << endl
                 << "does not contain point " << pt << abort(FatalError);
         }
@@ -1002,7 +996,7 @@ Foam::point Foam::indexedOctree<Type>::pushPointIntoFace
     {
         if (faceID != bb.faceBits(facePoint))
         {
-            FatalErrorIn("indexedOctree<Type>::pushPointIntoFace(..)")
+            FatalErrorInFunction
                 << "Pushed point from " << pt
                 << " on face:" << ptFaceID << " of bb:" << bb << endl
                 << "onto " << facePoint
@@ -1013,7 +1007,7 @@ Foam::point Foam::indexedOctree<Type>::pushPointIntoFace
         }
         if (bb.posBits(facePoint) != 0)
         {
-            FatalErrorIn("indexedOctree<Type>::pushPointIntoFace(..)")
+            FatalErrorInFunction
                 << " bb:" << bb << endl
                 << "does not contain perturbed point "
                 << facePoint << abort(FatalError);
@@ -1117,7 +1111,7 @@ Foam::point Foam::indexedOctree<Type>::pushPointIntoFace
 //
 //    if (nFaces == 0 || nFaces == 1 || nFaces > 3)
 //    {
-//        FatalErrorIn("indexedOctree<Type>::checkMultipleFaces(..)")
+//        FatalErrorInFunction
 //            << "Problem : nFaces:" << nFaces << abort(FatalError);
 //    }
 //
@@ -1150,7 +1144,7 @@ Foam::point Foam::indexedOctree<Type>::pushPointIntoFace
 //
 //    if (maxIndex == -1)
 //    {
-//        FatalErrorIn("indexedOctree<Type>::checkMultipleFaces(..)")
+//        FatalErrorInFunction
 //            << "Problem maxIndex:" << maxIndex << " inproducts:" << inproducts
 //            << abort(FatalError);
 //    }
@@ -1210,7 +1204,7 @@ Foam::point Foam::indexedOctree<Type>::pushPointIntoFace
 //    {
 //        if (faceID != bb.faceBits(faceHitInfo.rawPoint()))
 //        {
-//            FatalErrorIn("indexedOctree<Type>::checkMultipleFaces(..)")
+//            FatalErrorInFunction
 //                << "Pushed point from " << oldPoint
 //                << " on face:" << oldFaceID << " of bb:" << bb << endl
 //                << "onto " << faceHitInfo.rawPoint()
@@ -1260,7 +1254,7 @@ bool Foam::indexedOctree<Type>::walkToParent
 
     if (parentOctant == 255)
     {
-        FatalErrorIn("walkToParent(..)")
+        FatalErrorInFunction
             << "Problem: no parent found for octant:" << octant
             << " node:" << nodeI
             << abort(FatalError);
@@ -1457,7 +1451,7 @@ bool Foam::indexedOctree<Type>::walkToNeighbour
 
         if (!subBb.contains(facePoint))
         {
-            FatalErrorIn("indexedOctree<Type>::walkToNeighbour(..)")
+            FatalErrorInFunction
                 << "When searching for " << facePoint
                 << " ended up in node:" << nodeI
                 << " octant:" << octant
@@ -1486,7 +1480,7 @@ bool Foam::indexedOctree<Type>::walkToNeighbour
 
         if (nodeI == oldNodeI && octant == oldOctant)
         {
-            FatalErrorIn("indexedOctree<Type>::walkToNeighbour(..)")
+            FatalErrorInFunction
                 << "Did not go to neighbour when searching for " << facePoint
                 << endl
                 << "    starting from face:" << faceString(faceID)
@@ -1498,7 +1492,7 @@ bool Foam::indexedOctree<Type>::walkToNeighbour
 
         if (!subBb.contains(facePoint))
         {
-            FatalErrorIn("indexedOctree<Type>::walkToNeighbour(..)")
+            FatalErrorInFunction
                 << "When searching for " << facePoint
                 << " ended up in node:" << nodeI
                 << " octant:" << octant
@@ -1589,7 +1583,7 @@ void Foam::indexedOctree<Type>::traverseNode
 
         if (octantBb.posBits(start) != 0)
         {
-            FatalErrorIn("indexedOctree<Type>::traverseNode(..)")
+            FatalErrorInFunction
                 << "Node:" << nodeI << " octant:" << octant
                 << " bb:" << octantBb << endl
                 << "does not contain point " << start << abort(FatalError);
@@ -1897,7 +1891,7 @@ Foam::pointIndexHit Foam::indexedOctree<Type>::findLine
         }
         if (debug)
         {
-            FatalErrorIn("indexedOctree<Type>::findLine(..)")
+            FatalErrorInFunction
                 << "Got stuck in loop raytracing from:" << treeStart
                 << " to:" << treeEnd << endl
                 << "inside top box:" << subBbox(startNodeI, startOctant)
@@ -1905,7 +1899,7 @@ Foam::pointIndexHit Foam::indexedOctree<Type>::findLine
         }
         else
         {
-            WarningIn("indexedOctree<Type>::findLine(..)")
+            WarningInFunction
                 << "Got stuck in loop raytracing from:" << treeStart
                 << " to:" << treeEnd << endl
                 << "inside top box:" << subBbox(startNodeI, startOctant)
@@ -2799,7 +2793,7 @@ Foam::labelBits Foam::indexedOctree<Type>::findNode
     {
         if (!nod.bb_.contains(sample))
         {
-            FatalErrorIn("findNode(..)")
+            FatalErrorInFunction
                 << "Cannot find " << sample << " in node " << nodeI
                 << abort(FatalError);
         }
@@ -2937,7 +2931,7 @@ Foam::volumeType Foam::indexedOctree<Type>::getVolumeType
                 }
                 else
                 {
-                    FatalErrorIn("getVolumeType") << abort(FatalError);
+                    FatalErrorInFunction << abort(FatalError);
                 }
             }
 
diff --git a/src/OpenFOAM/algorithms/indexedOctree/indexedOctree.H b/src/OpenFOAM/algorithms/indexedOctree/indexedOctree.H
index 96abc1a43fa..e111d4f4af7 100644
--- a/src/OpenFOAM/algorithms/indexedOctree/indexedOctree.H
+++ b/src/OpenFOAM/algorithms/indexedOctree/indexedOctree.H
@@ -470,7 +470,7 @@ public:
             {
                 if (nodes_.empty())
                 {
-                    FatalErrorIn("indexedOctree<Type>::bb() const")
+                    FatalErrorInFunction
                         << "Tree is empty" << abort(FatalError);
                 }
                 return nodes_[0].bb_;
@@ -498,7 +498,7 @@ public:
             {
                 if (!isContent(i))
                 {
-                    FatalErrorIn("getContent(const label)")
+                    FatalErrorInFunction
                         << abort(FatalError);
                 }
                 return -i.val()-1;
@@ -508,7 +508,7 @@ public:
             {
                 if (!isNode(i))
                 {
-                    FatalErrorIn("getNode(const label)")
+                    FatalErrorInFunction
                         << abort(FatalError);
                 }
                 return i.val() - 1;
diff --git a/src/OpenFOAM/algorithms/indexedOctree/labelBits.H b/src/OpenFOAM/algorithms/indexedOctree/labelBits.H
index 757fd73621e..b2a8907e3ce 100644
--- a/src/OpenFOAM/algorithms/indexedOctree/labelBits.H
+++ b/src/OpenFOAM/algorithms/indexedOctree/labelBits.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -60,10 +60,8 @@ class labelBits
 #           ifdef FULLDEBUG
             if (bits > 7 || (((val<<3)>>3) != val))
             {
-                FatalErrorIn
-                (
-                    "labelBits::pack(const label, const direction)"
-                )   << "Direction " << bits << " outside range 0..7"
+                FatalErrorInFunction
+                    << "Direction " << bits << " outside range 0..7"
                     << " or value " << val << " negative or larger than "
                     << label(8*sizeof(label)-3) << " bit representation"
                     << abort(FatalError);
diff --git a/src/OpenFOAM/containers/Circulators/Circulator/CirculatorI.H b/src/OpenFOAM/containers/Circulators/Circulator/CirculatorI.H
index aca31c0d631..65c6ce1deeb 100644
--- a/src/OpenFOAM/containers/Circulators/Circulator/CirculatorI.H
+++ b/src/OpenFOAM/containers/Circulators/Circulator/CirculatorI.H
@@ -171,11 +171,8 @@ void Foam::Circulator<ContainerType>::operator=
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn
-        (
-            "Foam::Circulator<ContainerType>::operator="
-            "(const Foam::Circulator<ContainerType>&)"
-        )   << "Attempted assignment to self"
+        FatalErrorInFunction
+            << "Attempted assignment to self"
             << abort(FatalError);
     }
 
diff --git a/src/OpenFOAM/containers/Circulators/ConstCirculator/ConstCirculatorI.H b/src/OpenFOAM/containers/Circulators/ConstCirculator/ConstCirculatorI.H
index 30d66bba2a8..bd51a2e4d56 100644
--- a/src/OpenFOAM/containers/Circulators/ConstCirculator/ConstCirculatorI.H
+++ b/src/OpenFOAM/containers/Circulators/ConstCirculator/ConstCirculatorI.H
@@ -174,11 +174,8 @@ void Foam::ConstCirculator<ContainerType>::operator=
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn
-        (
-            "Foam::ConstCirculator<ContainerType>::operator="
-            "(const Foam::ConstCirculator<ContainerType>&)"
-        )   << "Attempted assignment to self"
+        FatalErrorInFunction
+            << "Attempted assignment to self"
             << abort(FatalError);
     }
 
diff --git a/src/OpenFOAM/containers/Dictionaries/DictionaryBase/DictionaryBase.C b/src/OpenFOAM/containers/Dictionaries/DictionaryBase/DictionaryBase.C
index 3227e13b21d..8ddb9e062d4 100644
--- a/src/OpenFOAM/containers/Dictionaries/DictionaryBase/DictionaryBase.C
+++ b/src/OpenFOAM/containers/Dictionaries/DictionaryBase/DictionaryBase.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -141,10 +141,8 @@ const T* Foam::DictionaryBase<IDLListType, T>::lookup(const word& keyword) const
 
     if (iter == hashedTs_.end())
     {
-        FatalErrorIn
-        (
-            "DictionaryBase<IDLListType, T>::lookup(const word&) const"
-        )   << keyword << " is undefined"
+        FatalErrorInFunction
+            << keyword << " is undefined"
             << exit(FatalError);
     }
 
@@ -160,10 +158,8 @@ T* Foam::DictionaryBase<IDLListType, T>::lookup(const word& keyword)
 
     if (iter == hashedTs_.end())
     {
-        FatalErrorIn
-        (
-            "DictionaryBase<IDLListType, T>::lookup(const word&)"
-        )   << keyword << " is undefined"
+        FatalErrorInFunction
+            << keyword << " is undefined"
             << exit(FatalError);
     }
 
@@ -260,7 +256,7 @@ void Foam::DictionaryBase<IDLListType, T>::operator=
     // Check for assignment to self
     if (this == &dict)
     {
-        FatalErrorIn("DictionaryBase::operator=(const DictionaryBase&)")
+        FatalErrorInFunction
             << "attempted assignment to self"
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/containers/Dictionaries/PtrListDictionary/PtrListDictionary.C b/src/OpenFOAM/containers/Dictionaries/PtrListDictionary/PtrListDictionary.C
index dae34e82fe2..71c4abf52de 100644
--- a/src/OpenFOAM/containers/Dictionaries/PtrListDictionary/PtrListDictionary.C
+++ b/src/OpenFOAM/containers/Dictionaries/PtrListDictionary/PtrListDictionary.C
@@ -70,10 +70,8 @@ inline Foam::autoPtr<T> Foam::PtrListDictionary<T>::set
 {
     if (!DictionaryBase<PtrList<T>, T>::hashedTs_.insert(key, ptr))
     {
-        FatalErrorIn
-        (
-            "PtrListDictionary<T>::set(const label i, const word& key, T* ptr)"
-        )   << "Cannot insert with key '" << key << "' into hash-table"
+        FatalErrorInFunction
+            << "Cannot insert with key '" << key << "' into hash-table"
             << abort(FatalError);
     }
     return PtrList<T>::set(i, ptr);
@@ -91,11 +89,8 @@ inline Foam::autoPtr<T> Foam::PtrListDictionary<T>::set
     T* ptr = aptr.ptr();
     if (!DictionaryBase<PtrList<T>, T>::hashedTs_.insert(key, ptr))
     {
-        FatalErrorIn
-        (
-            "PtrListDictionary<T>::"
-            "set(const label i, const word& key, autoPtr<T>& aptr)"
-        )   << "Cannot insert with key '" << key << "' into hash-table"
+        FatalErrorInFunction
+            << "Cannot insert with key '" << key << "' into hash-table"
             << abort(FatalError);
     }
     return PtrList<T>::set(i, ptr);
@@ -113,11 +108,8 @@ inline Foam::autoPtr<T> Foam::PtrListDictionary<T>::set
     T* ptr = t.ptr();
     if (!DictionaryBase<PtrList<T>, T>::hashedTs_.insert(key, ptr))
     {
-        FatalErrorIn
-        (
-            "PtrListDictionary<T>::"
-            "set(const label i, const word& key, tmp<T>& t)"
-        )   << "Cannot insert with key '" << key << "' into hash-table"
+        FatalErrorInFunction
+            << "Cannot insert with key '" << key << "' into hash-table"
             << abort(FatalError);
     }
     return PtrList<T>::set(i, ptr);
diff --git a/src/OpenFOAM/containers/HashTables/HashPtrTable/HashPtrTable.C b/src/OpenFOAM/containers/HashTables/HashPtrTable/HashPtrTable.C
index 3b53b1dfa66..4f6ad375ab9 100644
--- a/src/OpenFOAM/containers/HashTables/HashPtrTable/HashPtrTable.C
+++ b/src/OpenFOAM/containers/HashTables/HashPtrTable/HashPtrTable.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -121,11 +121,8 @@ void Foam::HashPtrTable<T, Key, Hash>::operator=
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn
-        (
-            "HashPtrTable<T, Key, Hash>::operator="
-            "(const HashPtrTable<T, Key, Hash>&)"
-        )   << "attempted assignment to self"
+        FatalErrorInFunction
+            << "attempted assignment to self"
             << abort(FatalError);
     }
 
diff --git a/src/OpenFOAM/containers/HashTables/HashTable/HashTable.C b/src/OpenFOAM/containers/HashTables/HashTable/HashTable.C
index 87457c15f78..2ebab1e3a9d 100644
--- a/src/OpenFOAM/containers/HashTables/HashTable/HashTable.C
+++ b/src/OpenFOAM/containers/HashTables/HashTable/HashTable.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -546,11 +546,8 @@ void Foam::HashTable<T, Key, Hash>::operator=
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn
-        (
-            "HashTable<T, Key, Hash>::operator="
-            "(const HashTable<T, Key, Hash>&)"
-        )   << "attempted assignment to self"
+        FatalErrorInFunction
+            << "attempted assignment to self"
             << abort(FatalError);
     }
 
diff --git a/src/OpenFOAM/containers/HashTables/HashTable/HashTableI.H b/src/OpenFOAM/containers/HashTables/HashTable/HashTableI.H
index 9fb7041f0f0..9839015f02a 100644
--- a/src/OpenFOAM/containers/HashTables/HashTable/HashTableI.H
+++ b/src/OpenFOAM/containers/HashTables/HashTable/HashTableI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -114,8 +114,7 @@ inline T& Foam::HashTable<T, Key, Hash>::operator[](const Key& key)
 
     if (iter == this->end())
     {
-        FatalErrorIn("HashTable<T, Key, Hash>::operator[](const Key&)")
-            << key << " not found in table.  Valid entries: "
+        FatalErrorInFunction
             << toc()
             << exit(FatalError);
     }
@@ -131,8 +130,7 @@ inline const T& Foam::HashTable<T, Key, Hash>::operator[](const Key& key) const
 
     if (iter == this->cend())
     {
-        FatalErrorIn("HashTable<T, Key, Hash>::operator[](const Key&) const")
-            << key << " not found in table.  Valid entries: "
+        FatalErrorInFunction
             << toc()
             << exit(FatalError);
     }
diff --git a/src/OpenFOAM/containers/HashTables/StaticHashTable/StaticHashTable.C b/src/OpenFOAM/containers/HashTables/StaticHashTable/StaticHashTable.C
index da859652eb0..2b1dacbc39c 100644
--- a/src/OpenFOAM/containers/HashTables/StaticHashTable/StaticHashTable.C
+++ b/src/OpenFOAM/containers/HashTables/StaticHashTable/StaticHashTable.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -71,10 +71,8 @@ Foam::StaticHashTable<T, Key, Hash>::StaticHashTable(const label size)
 {
     if (size < 1)
     {
-        FatalErrorIn
-        (
-            "StaticHashTable<T, Key, Hash>::StaticHashTable(const label size)"
-        )   << "Illegal size " << size << " for StaticHashTable."
+        FatalErrorInFunction
+            << "Illegal size " << size << " for StaticHashTable."
             << " Minimum size is 1" << abort(FatalError);
     }
 }
@@ -406,10 +404,8 @@ void Foam::StaticHashTable<T, Key, Hash>::resize(const label sz)
 
     if (newSize < 1)
     {
-        FatalErrorIn
-        (
-            "StaticHashTable<T, Key, Hash>::resize(const label)"
-        )   << "Illegal size " << newSize << " for StaticHashTable."
+        FatalErrorInFunction
+            << "Illegal size " << newSize << " for StaticHashTable."
             << " Minimum size is 1" << abort(FatalError);
     }
 
@@ -486,11 +482,8 @@ void Foam::StaticHashTable<T, Key, Hash>::operator=
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn
-        (
-            "StaticHashTable<T, Key, Hash>::operator="
-            "(const StaticHashTable<T, Key, Hash>&)"
-        )   << "attempted assignment to self"
+        FatalErrorInFunction
+            << "attempted assignment to self"
             << abort(FatalError);
     }
 
diff --git a/src/OpenFOAM/containers/HashTables/StaticHashTable/StaticHashTableI.H b/src/OpenFOAM/containers/HashTables/StaticHashTable/StaticHashTableI.H
index a7b7af46794..49f84be2b48 100644
--- a/src/OpenFOAM/containers/HashTables/StaticHashTable/StaticHashTableI.H
+++ b/src/OpenFOAM/containers/HashTables/StaticHashTable/StaticHashTableI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -94,8 +94,7 @@ inline T& Foam::StaticHashTable<T, Key, Hash>::operator[](const Key& key)
 
     if (iter == end())
     {
-        FatalErrorIn("StaticHashTable<T, Key, Hash>::operator[](const Key&)")
-            << key << " not found in table.  Valid entries: "
+        FatalErrorInFunction
             << toc()
             << exit(FatalError);
     }
@@ -114,10 +113,7 @@ inline const T& Foam::StaticHashTable<T, Key, Hash>::operator[]
 
     if (iter == cend())
     {
-        FatalErrorIn
-        (
-            "StaticHashTable<T, Key, Hash>::operator[](const Key&) const"
-        )   << key << " not found in table.  Valid entries: "
+        FatalErrorInFunction
             << toc()
             << exit(FatalError);
     }
diff --git a/src/OpenFOAM/containers/HashTables/StaticHashTable/StaticHashTableIO.C b/src/OpenFOAM/containers/HashTables/StaticHashTable/StaticHashTableIO.C
index 1164214dfec..7e4b3832611 100644
--- a/src/OpenFOAM/containers/HashTables/StaticHashTable/StaticHashTableIO.C
+++ b/src/OpenFOAM/containers/HashTables/StaticHashTable/StaticHashTableIO.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -45,10 +45,8 @@ Foam::StaticHashTable<T, Key, Hash>::StaticHashTable
 {
     if (size < 1)
     {
-        FatalErrorIn
-        (
-            "StaticHashTable<T, Key, Hash>::StaticHashTable(const label size)"
-        )   << "Illegal size " << size << " for StaticHashTable."
+        FatalErrorInFunction
+            << "Illegal size " << size << " for StaticHashTable."
             << " Minimum size is 1" << abort(FatalError);
     }
 
@@ -142,9 +140,8 @@ Foam::Istream& Foam::operator>>(Istream& is, StaticHashTable<T, Key, Hash>& L)
             }
             else
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "operator>>(Istream&, StaticHashTable<T, Key, Hash>&)",
                     is
                 )   << "incorrect first token, '(', found " << firstToken.info()
                     << exit(FatalIOError);
@@ -158,9 +155,8 @@ Foam::Istream& Foam::operator>>(Istream& is, StaticHashTable<T, Key, Hash>& L)
     {
         if (firstToken.pToken() != token::BEGIN_LIST)
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "operator>>(Istream&, StaticHashTable<T, Key, Hash>&)",
                 is
             )   << "incorrect first token, '(', found " << firstToken.info()
                 << exit(FatalIOError);
@@ -196,9 +192,8 @@ Foam::Istream& Foam::operator>>(Istream& is, StaticHashTable<T, Key, Hash>& L)
     }
     else
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "operator>>(Istream&, StaticHashTable<T, Key, Hash>&)",
             is
         )   << "incorrect first token, expected <int> or '(', found "
             << firstToken.info()
diff --git a/src/OpenFOAM/containers/Identifiers/Keyed/KeyedI.H b/src/OpenFOAM/containers/Identifiers/Keyed/KeyedI.H
index f7b74ec8a60..ed5edf6c8f9 100644
--- a/src/OpenFOAM/containers/Identifiers/Keyed/KeyedI.H
+++ b/src/OpenFOAM/containers/Identifiers/Keyed/KeyedI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -94,10 +94,7 @@ Foam::Keyed<T>::createList(const List<T>& lst, const labelUList& keys)
 {
     if (lst.size() != keys.size())
     {
-        FatalErrorIn
-        (
-            "Foam::Keyed<T>::createList(const List<T>&, const labelUList&)"
-        )
+        FatalErrorInFunction
             << "size mismatch adding keys to a list:" << nl
             << "List has size " << lst.size()
             << " and keys has size " << keys.size() << nl
diff --git a/src/OpenFOAM/containers/LinkedLists/linkTypes/DLListBase/DLListBase.C b/src/OpenFOAM/containers/LinkedLists/linkTypes/DLListBase/DLListBase.C
index 9d9b50904b6..e8e6b721c3f 100644
--- a/src/OpenFOAM/containers/LinkedLists/linkTypes/DLListBase/DLListBase.C
+++ b/src/OpenFOAM/containers/LinkedLists/linkTypes/DLListBase/DLListBase.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -178,7 +178,7 @@ Foam::DLListBase::link* Foam::DLListBase::removeHead()
 
     if (!first_)
     {
-        FatalErrorIn("void DLListBase::removeHead()")
+        FatalErrorInFunction
             << "remove from empty list"
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/containers/LinkedLists/linkTypes/DLListBase/DLListBaseI.H b/src/OpenFOAM/containers/LinkedLists/linkTypes/DLListBase/DLListBaseI.H
index fd33c5efacf..c13482d30a2 100644
--- a/src/OpenFOAM/containers/LinkedLists/linkTypes/DLListBase/DLListBaseI.H
+++ b/src/OpenFOAM/containers/LinkedLists/linkTypes/DLListBase/DLListBaseI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -91,7 +91,7 @@ Foam::DLListBase::first()
 {
     if (!nElmts_)
     {
-        FatalErrorIn("DLListBase::first()")
+        FatalErrorInFunction
             << "list is empty"
             << abort(FatalError);
     }
@@ -104,7 +104,7 @@ Foam::DLListBase::first() const
 {
     if (!nElmts_)
     {
-        FatalErrorIn("DLListBase::first() const")
+        FatalErrorInFunction
             << "list is empty"
             << abort(FatalError);
     }
@@ -117,7 +117,7 @@ Foam::DLListBase::last()
 {
     if (!nElmts_)
     {
-        FatalErrorIn("DLListBase::last()")
+        FatalErrorInFunction
             << "list is empty"
             << abort(FatalError);
     }
@@ -130,7 +130,7 @@ Foam::DLListBase::last() const
 {
     if (!nElmts_)
     {
-        FatalErrorIn("DLListBase::last() const")
+        FatalErrorInFunction
             << "list is empty"
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/containers/LinkedLists/linkTypes/SLListBase/SLListBase.C b/src/OpenFOAM/containers/LinkedLists/linkTypes/SLListBase/SLListBase.C
index f2302413550..c314cdc7528 100644
--- a/src/OpenFOAM/containers/LinkedLists/linkTypes/SLListBase/SLListBase.C
+++ b/src/OpenFOAM/containers/LinkedLists/linkTypes/SLListBase/SLListBase.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -81,7 +81,7 @@ Foam::SLListBase::link* Foam::SLListBase::removeHead()
 
     if (last_ == 0)
     {
-        FatalErrorIn("SLListBase::remove()")
+        FatalErrorInFunction
             << "remove from empty list"
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/containers/LinkedLists/linkTypes/SLListBase/SLListBaseI.H b/src/OpenFOAM/containers/LinkedLists/linkTypes/SLListBase/SLListBaseI.H
index 432b183253b..21a2fa020cd 100644
--- a/src/OpenFOAM/containers/LinkedLists/linkTypes/SLListBase/SLListBaseI.H
+++ b/src/OpenFOAM/containers/LinkedLists/linkTypes/SLListBase/SLListBaseI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -81,7 +81,7 @@ Foam::SLListBase::first()
 {
     if (!nElmts_)
     {
-        FatalErrorIn("SLListBase::first()")
+        FatalErrorInFunction
             << "list is empty"
             << abort(FatalError);
     }
@@ -94,7 +94,7 @@ Foam::SLListBase::first() const
 {
     if (!nElmts_)
     {
-        FatalErrorIn("SLListBase::first() const")
+        FatalErrorInFunction
             << "list is empty"
             << abort(FatalError);
     }
@@ -107,7 +107,7 @@ Foam::SLListBase::last()
 {
     if (!nElmts_)
     {
-        FatalErrorIn("SLListBase::last()")
+        FatalErrorInFunction
             << "list is empty"
             << abort(FatalError);
     }
@@ -120,7 +120,7 @@ Foam::SLListBase::last() const
 {
     if (!nElmts_)
     {
-        FatalErrorIn("SLListBase::last() const")
+        FatalErrorInFunction
             << "list is empty"
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/containers/Lists/BiIndirectList/BiIndirectListI.H b/src/OpenFOAM/containers/Lists/BiIndirectList/BiIndirectListI.H
index 88eae210a59..dcf70d41a5a 100644
--- a/src/OpenFOAM/containers/Lists/BiIndirectList/BiIndirectListI.H
+++ b/src/OpenFOAM/containers/Lists/BiIndirectList/BiIndirectListI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -178,7 +178,7 @@ inline void Foam::BiIndirectList<T>::operator=(const UList<T>& ae)
 {
     if (addressing_.size() != ae.size())
     {
-        FatalErrorIn("BiIndirectList<T>::operator=(const UList<T>&)")
+        FatalErrorInFunction
             << "Addressing and list of addressed elements "
                "have different sizes: "
             << addressing_.size() << " " << ae.size()
diff --git a/src/OpenFOAM/containers/Lists/CompactListList/CompactListList.C b/src/OpenFOAM/containers/Lists/CompactListList/CompactListList.C
index 258aaae9da2..4e18ee61761 100644
--- a/src/OpenFOAM/containers/Lists/CompactListList/CompactListList.C
+++ b/src/OpenFOAM/containers/Lists/CompactListList/CompactListList.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -139,10 +139,8 @@ void Foam::CompactListList<T, Container>::setSize(const label nRows)
     }
     else if (nRows > size())
     {
-        FatalErrorIn
-        (
-            "CompactListList<T, Container>::setSize(const label nRows)"
-        )   << "Cannot be used to extend the list from " << offsets_.size()
+        FatalErrorInFunction
+            << "Cannot be used to extend the list from " << offsets_.size()
             << " to " << nRows << nl
             << "    Please use one of the other setSize member functions"
             << abort(FatalError);
diff --git a/src/OpenFOAM/containers/Lists/CompactListList/CompactListListI.H b/src/OpenFOAM/containers/Lists/CompactListList/CompactListListI.H
index 346aba37c86..c426fd151cc 100644
--- a/src/OpenFOAM/containers/Lists/CompactListList/CompactListListI.H
+++ b/src/OpenFOAM/containers/Lists/CompactListList/CompactListListI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -144,10 +144,8 @@ const
 {
     if (i < 0 || i >= m_.size())
     {
-        FatalErrorIn
-        (
-            "CompactListList<T, Container>::whichRow(const label) const"
-        )   << "Index " << i << " outside 0.." << m_.size()
+        FatalErrorInFunction
+            << "Index " << i << " outside 0.." << m_.size()
             << abort(FatalError);
     }
 
diff --git a/src/OpenFOAM/containers/Lists/Distribution/Distribution.C b/src/OpenFOAM/containers/Lists/Distribution/Distribution.C
index 89f0969826a..7e8e1715562 100644
--- a/src/OpenFOAM/containers/Lists/Distribution/Distribution.C
+++ b/src/OpenFOAM/containers/Lists/Distribution/Distribution.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -565,11 +565,8 @@ void Foam::Distribution<Type>::operator=
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn
-        (
-            "Foam::Distribution<Type>::operator="
-            "(const Foam::Distribution<Type>&)"
-        )   << "Attempted assignment to self"
+        FatalErrorInFunction
+            << "Attempted assignment to self"
             << abort(FatalError);
     }
 
diff --git a/src/OpenFOAM/containers/Lists/DynamicList/DynamicListI.H b/src/OpenFOAM/containers/Lists/DynamicList/DynamicListI.H
index 25dfb0ad99c..c6ed4d1569a 100644
--- a/src/OpenFOAM/containers/Lists/DynamicList/DynamicListI.H
+++ b/src/OpenFOAM/containers/Lists/DynamicList/DynamicListI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -328,11 +328,8 @@ Foam::DynamicList<T, SizeInc, SizeMult, SizeDiv>::append
 {
     if (this == &lst)
     {
-        FatalErrorIn
-        (
-            "DynamicList<T, SizeInc, SizeMult, SizeDiv>::append"
-            "(const UList<T>&)"
-        )   << "attempted appending to self" << abort(FatalError);
+        FatalErrorInFunction
+            << "attempted appending to self" << abort(FatalError);
     }
 
     label nextFree = List<T>::size();
@@ -371,10 +368,8 @@ inline T Foam::DynamicList<T, SizeInc, SizeMult, SizeDiv>::remove()
 
     if (elemI < 0)
     {
-        FatalErrorIn
-        (
-            "Foam::DynamicList<T, SizeInc, SizeMult, SizeDiv>::remove()"
-        )   << "List is empty" << abort(FatalError);
+        FatalErrorInFunction
+            << "List is empty" << abort(FatalError);
     }
 
     const T& val = List<T>::operator[](elemI);
@@ -420,11 +415,8 @@ inline void Foam::DynamicList<T, SizeInc, SizeMult, SizeDiv>::operator=
 {
     if (this == &lst)
     {
-        FatalErrorIn
-        (
-            "DynamicList<T, SizeInc, SizeMult, SizeDiv>::operator="
-            "(const DynamicList<T, SizeInc, SizeMult, SizeDiv>&)"
-        )   << "attempted assignment to self" << abort(FatalError);
+        FatalErrorInFunction
+            << "attempted assignment to self" << abort(FatalError);
     }
 
     if (capacity_ >= lst.size())
diff --git a/src/OpenFOAM/containers/Lists/FixedList/FixedListI.H b/src/OpenFOAM/containers/Lists/FixedList/FixedListI.H
index 87bd7b856a4..053a4e4e6d5 100644
--- a/src/OpenFOAM/containers/Lists/FixedList/FixedListI.H
+++ b/src/OpenFOAM/containers/Lists/FixedList/FixedListI.H
@@ -131,7 +131,7 @@ inline void Foam::FixedList<T, Size>::checkStart(const label start) const
 {
     if (start < 0 || (start && unsigned(start) >= Size))
     {
-        FatalErrorIn("FixedList<T, Size>::checkStart(const label)")
+        FatalErrorInFunction
             << "start " << start << " out of range 0 ... " << (Size-1)
             << abort(FatalError);
     }
@@ -144,7 +144,7 @@ inline void Foam::FixedList<T, Size>::checkSize(const label size) const
 {
     if (size < 0 || unsigned(size) > Size)
     {
-        FatalErrorIn("FixedList<T, Size>::checkSize(const label)")
+        FatalErrorInFunction
             << "size " << size << " out of range 0 ... " << (Size)
             << abort(FatalError);
     }
@@ -158,7 +158,7 @@ inline void Foam::FixedList<T, Size>::checkIndex(const label i) const
 {
     if (i < 0 || unsigned(i) >= Size)
     {
-        FatalErrorIn("FixedList<T, Size>::checkIndex(const label)")
+        FatalErrorInFunction
             << "index " << i << " out of range 0 ... " << (Size-1)
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/containers/Lists/Histogram/Histogram.C b/src/OpenFOAM/containers/Lists/Histogram/Histogram.C
index 12d3fbb076e..d5c13760692 100644
--- a/src/OpenFOAM/containers/Lists/Histogram/Histogram.C
+++ b/src/OpenFOAM/containers/Lists/Histogram/Histogram.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -34,7 +34,7 @@ void Foam::Histogram<List>::count(const List& bins, const List& l)
 {
     if (bins.size() < 2)
     {
-        FatalErrorIn("Histogram<List>::count(const List&, const List&)")
+        FatalErrorInFunction
             << "Should have at least two values in bins. Now:" << bins
             << exit(FatalError);
     }
diff --git a/src/OpenFOAM/containers/Lists/List/List.C b/src/OpenFOAM/containers/Lists/List/List.C
index 0ba40cc10f4..e184284d823 100644
--- a/src/OpenFOAM/containers/Lists/List/List.C
+++ b/src/OpenFOAM/containers/Lists/List/List.C
@@ -46,7 +46,7 @@ Foam::List<T>::List(const label s)
 {
     if (this->size_ < 0)
     {
-        FatalErrorIn("List<T>::List(const label size)")
+        FatalErrorInFunction
             << "bad size " << this->size_
             << abort(FatalError);
     }
@@ -66,7 +66,7 @@ Foam::List<T>::List(const label s, const T& a)
 {
     if (this->size_ < 0)
     {
-        FatalErrorIn("List<T>::List(const label size, const T&)")
+        FatalErrorInFunction
             << "bad size " << this->size_
             << abort(FatalError);
     }
@@ -319,7 +319,7 @@ void Foam::List<T>::setSize(const label newSize)
 {
     if (newSize < 0)
     {
-        FatalErrorIn("List<T>::setSize(const label)")
+        FatalErrorInFunction
             << "bad set size " << newSize
             << abort(FatalError);
     }
@@ -462,7 +462,7 @@ void Foam::List<T>::operator=(const List<T>& a)
 {
     if (this == &a)
     {
-        FatalErrorIn("List<T>::operator=(const List<T>&)")
+        FatalErrorInFunction
             << "attempted assignment to self"
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/containers/Lists/List/ListI.H b/src/OpenFOAM/containers/Lists/List/ListI.H
index 12201169134..f304da6e218 100644
--- a/src/OpenFOAM/containers/Lists/List/ListI.H
+++ b/src/OpenFOAM/containers/Lists/List/ListI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -105,10 +105,8 @@ inline void Foam::List<T>::append(const UList<T>& lst)
 {
     if (this == &lst)
     {
-        FatalErrorIn
-        (
-            "List<T>::append(const UList<T>&)"
-        )   << "attempted appending to self" << abort(FatalError);
+        FatalErrorInFunction
+            << "attempted appending to self" << abort(FatalError);
     }
 
     label nextFree = this->size();
diff --git a/src/OpenFOAM/containers/Lists/ListOps/ListOps.C b/src/OpenFOAM/containers/Lists/ListOps/ListOps.C
index 18c086f6f0e..78c9cbbf3ee 100644
--- a/src/OpenFOAM/containers/Lists/ListOps/ListOps.C
+++ b/src/OpenFOAM/containers/Lists/ListOps/ListOps.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -49,7 +49,7 @@ Foam::labelList Foam::invert
         {
             if (inverse[newPos] >= 0)
             {
-                FatalErrorIn("invert(const label, const labelUList&)")
+                FatalErrorInFunction
                     << "Map is not one-to-one. At index " << i
                     << " element " << newPos << " has already occurred before"
                     << nl << "Please use invertOneToMany instead"
diff --git a/src/OpenFOAM/containers/Lists/ListOps/ListOpsTemplates.C b/src/OpenFOAM/containers/Lists/ListOps/ListOpsTemplates.C
index 29ea6505512..7421eabbce3 100644
--- a/src/OpenFOAM/containers/Lists/ListOps/ListOpsTemplates.C
+++ b/src/OpenFOAM/containers/Lists/ListOps/ListOpsTemplates.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -296,7 +296,7 @@ ListType Foam::subset
     // select must at least cover the list range
     if (select.size() < lst.size())
     {
-        FatalErrorIn("subset(const UList<T>&, const T&, const ListType&)")
+        FatalErrorInFunction
             << "select is of size " << select.size()
             << "; but it must index a list of size " << lst.size()
             << abort(FatalError);
@@ -332,7 +332,7 @@ void Foam::inplaceSubset
     // select must at least cover the list range
     if (select.size() < lst.size())
     {
-        FatalErrorIn("inplaceSubset(const UList<T>&, const T&, ListType&)")
+        FatalErrorInFunction
             << "select is of size " << select.size()
             << "; but it must index a list of size " << lst.size()
             << abort(FatalError);
diff --git a/src/OpenFOAM/containers/Lists/PackedList/PackedListI.H b/src/OpenFOAM/containers/Lists/PackedList/PackedListI.H
index 303b3125be6..01f21e37adf 100644
--- a/src/OpenFOAM/containers/Lists/PackedList/PackedListI.H
+++ b/src/OpenFOAM/containers/Lists/PackedList/PackedListI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -107,11 +107,7 @@ inline unsigned int Foam::PackedList<nBits>::readValue(Istream& is)
 
     if (val > max_value())
     {
-        FatalIOErrorIn
-        (
-            "PackedList<nBits>::readValue(Istream&)",
-            is
-        )
+        FatalIOErrorInFunction(is)
             << "Out-of-range value " << val << " for PackedList<" << nBits
             << ">. Maximum permitted value is " << max_value() << "."
             << exit(FatalIOError);
@@ -133,11 +129,7 @@ inline void Foam::PackedList<nBits>::setPair(Istream& is)
 
     if (val > max_value())
     {
-        FatalIOErrorIn
-        (
-            "PackedList<nBits>::setPair(Istream&)",
-            is
-        )
+        FatalIOErrorInFunction(is)
             << "Out-of-range value " << val << " for PackedList<" << nBits
             << "> at index " << ind
             << ". Maximum permitted value is " << max_value() << "."
@@ -1053,10 +1045,8 @@ inline unsigned int Foam::PackedList<nBits>::remove()
 {
     if (!size_)
     {
-        FatalErrorIn
-        (
-            "Foam::PackedList<nBits>::remove()"
-        )   << "List is empty" << abort(FatalError);
+        FatalErrorInFunction
+            << "List is empty" << abort(FatalError);
     }
 
     label elemI = size_ - 1;
diff --git a/src/OpenFOAM/containers/Lists/PtrList/PtrList.C b/src/OpenFOAM/containers/Lists/PtrList/PtrList.C
index ab4eb844a44..db29382769a 100644
--- a/src/OpenFOAM/containers/Lists/PtrList/PtrList.C
+++ b/src/OpenFOAM/containers/Lists/PtrList/PtrList.C
@@ -143,7 +143,7 @@ void Foam::PtrList<T>::setSize(const label newSize)
 {
     if (newSize < 0)
     {
-        FatalErrorIn("PtrList<T>::setSize(const label)")
+        FatalErrorInFunction
             << "bad set size " << newSize
             << " for type " << typeid(T).name()
             << abort(FatalError);
@@ -209,7 +209,7 @@ void Foam::PtrList<T>::reorder(const labelUList& oldToNew)
 {
     if (oldToNew.size() != size())
     {
-        FatalErrorIn("PtrList<T>::reorder(const labelUList&)")
+        FatalErrorInFunction
             << "Size of map (" << oldToNew.size()
             << ") not equal to list size (" << size()
             << ") for type " << typeid(T).name()
@@ -224,7 +224,7 @@ void Foam::PtrList<T>::reorder(const labelUList& oldToNew)
 
         if (newI < 0 || newI >= size())
         {
-            FatalErrorIn("PtrList<T>::reorder(const labelUList&)")
+            FatalErrorInFunction
                 << "Illegal index " << newI << nl
                 << "Valid indices are 0.." << size()-1
                 << " for type " << typeid(T).name()
@@ -233,7 +233,7 @@ void Foam::PtrList<T>::reorder(const labelUList& oldToNew)
 
         if (newPtrs_[newI])
         {
-            FatalErrorIn("PtrList<T>::reorder(const labelUList&)")
+            FatalErrorInFunction
                 << "reorder map is not unique; element " << newI
                 << " already set for type " << typeid(T).name()
                 << abort(FatalError);
@@ -245,7 +245,7 @@ void Foam::PtrList<T>::reorder(const labelUList& oldToNew)
     {
         if (!newPtrs_[i])
         {
-            FatalErrorIn("PtrList<T>::reorder(const labelUList&)")
+            FatalErrorInFunction
                 << "Element " << i << " not set after reordering with type "
                 << typeid(T).name() << nl << abort(FatalError);
         }
@@ -262,7 +262,7 @@ Foam::PtrList<T>& Foam::PtrList<T>::operator=(const PtrList<T>& a)
 {
     if (this == &a)
     {
-        FatalErrorIn("PtrList<T>::operator=(const PtrList<T>&)")
+        FatalErrorInFunction
             << "attempted assignment to self for type " << typeid(T).name()
             << abort(FatalError);
     }
@@ -285,7 +285,7 @@ Foam::PtrList<T>& Foam::PtrList<T>::operator=(const PtrList<T>& a)
     }
     else
     {
-        FatalErrorIn("PtrList::operator=(const PtrList<T>&)")
+        FatalErrorInFunction
             << "bad size: " << a.size()
             << " for type " << typeid(T).name()
             << abort(FatalError);
diff --git a/src/OpenFOAM/containers/Lists/PtrList/PtrListI.H b/src/OpenFOAM/containers/Lists/PtrList/PtrListI.H
index a2970eb3614..c9065e8c46b 100644
--- a/src/OpenFOAM/containers/Lists/PtrList/PtrListI.H
+++ b/src/OpenFOAM/containers/Lists/PtrList/PtrListI.H
@@ -155,7 +155,7 @@ inline const T& Foam::PtrList<T>::operator[](const label i) const
 {
     if (!ptrs_[i])
     {
-        FatalErrorIn("PtrList::operator[] const")
+        FatalErrorInFunction
             << "hanging pointer of type " << typeid(T).name()
             << " at index " << i
             << " (size " << size()
@@ -172,7 +172,7 @@ inline T& Foam::PtrList<T>::operator[](const label i)
 {
     if (!ptrs_[i])
     {
-        FatalErrorIn("PtrList::operator[]")
+        FatalErrorInFunction
             << "hanging pointer of type " << typeid(T).name()
             << " at index " << i
             << " (size " << size()
diff --git a/src/OpenFOAM/containers/Lists/UIndirectList/UIndirectListI.H b/src/OpenFOAM/containers/Lists/UIndirectList/UIndirectListI.H
index 62276afd42d..c26efd9ac74 100644
--- a/src/OpenFOAM/containers/Lists/UIndirectList/UIndirectListI.H
+++ b/src/OpenFOAM/containers/Lists/UIndirectList/UIndirectListI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -130,7 +130,7 @@ inline void Foam::UIndirectList<T>::operator=(const UList<T>& ae)
 {
     if (addressing_.size() != ae.size())
     {
-        FatalErrorIn("UIndirectList<T>::operator=(const UList<T>&)")
+        FatalErrorInFunction
             << "Addressing and list of addressed elements "
                "have different sizes: "
             << addressing_.size() << " " << ae.size()
@@ -149,7 +149,7 @@ inline void Foam::UIndirectList<T>::operator=(const UIndirectList<T>& ae)
 {
     if (addressing_.size() != ae.size())
     {
-        FatalErrorIn("UIndirectList<T>::operator=(const UIndirectList<T>&)")
+        FatalErrorInFunction
             << "Addressing and list of addressed elements "
                "have different sizes: "
             << addressing_.size() << " " << ae.size()
diff --git a/src/OpenFOAM/containers/Lists/UList/UList.C b/src/OpenFOAM/containers/Lists/UList/UList.C
index c22f774f9f1..2bbe09038ac 100644
--- a/src/OpenFOAM/containers/Lists/UList/UList.C
+++ b/src/OpenFOAM/containers/Lists/UList/UList.C
@@ -38,7 +38,7 @@ void Foam::UList<T>::assign(const UList<T>& a)
 {
     if (a.size_ != this->size_)
     {
-        FatalErrorIn("UList<T>::assign(const UList<T>&)")
+        FatalErrorInFunction
             << "ULists have different sizes: "
             << this->size_ << " " << a.size_
             << abort(FatalError);
@@ -93,7 +93,7 @@ std::streamsize Foam::UList<T>::byteSize() const
 {
     if (!contiguous<T>())
     {
-        FatalErrorIn("UList<T>::byteSize()")
+        FatalErrorInFunction
             << "Cannot return the binary size of a list of "
                "non-primitive elements"
             << abort(FatalError);
diff --git a/src/OpenFOAM/containers/Lists/UList/UListI.H b/src/OpenFOAM/containers/Lists/UList/UListI.H
index 815c9aafcdb..aaf526d636c 100644
--- a/src/OpenFOAM/containers/Lists/UList/UListI.H
+++ b/src/OpenFOAM/containers/Lists/UList/UListI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -74,7 +74,7 @@ inline void Foam::UList<T>::checkStart(const label start) const
 {
     if (start<0 || (start && start>=size_))
     {
-        FatalErrorIn("UList<T>::checkStart(const label)")
+        FatalErrorInFunction
             << "start " << start << " out of range 0 ... " << max(size_-1, 0)
             << abort(FatalError);
     }
@@ -87,7 +87,7 @@ inline void Foam::UList<T>::checkSize(const label size) const
 {
     if (size<0 || size>size_)
     {
-        FatalErrorIn("UList<T>::checkSize(const label)")
+        FatalErrorInFunction
             << "size " << size << " out of range 0 ... " << size_
             << abort(FatalError);
     }
@@ -100,13 +100,13 @@ inline void Foam::UList<T>::checkIndex(const label i) const
 {
     if (!size_)
     {
-        FatalErrorIn("UList<T>::checkIndex(const label)")
+        FatalErrorInFunction
             << "attempt to access element from zero sized list"
             << abort(FatalError);
     }
     else if (i<0 || i>=size_)
     {
-        FatalErrorIn("UList<T>::checkIndex(const label)")
+        FatalErrorInFunction
             << "index " << i << " out of range 0 ... " << size_-1
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/containers/Lists/UPtrList/UPtrList.C b/src/OpenFOAM/containers/Lists/UPtrList/UPtrList.C
index cc54117f8b9..139877c409e 100644
--- a/src/OpenFOAM/containers/Lists/UPtrList/UPtrList.C
+++ b/src/OpenFOAM/containers/Lists/UPtrList/UPtrList.C
@@ -104,7 +104,7 @@ void Foam::UPtrList<T>::reorder(const labelUList& oldToNew)
 {
     if (oldToNew.size() != size())
     {
-        FatalErrorIn("UPtrList<T>::reorder(const labelUList&)")
+        FatalErrorInFunction
             << "Size of map (" << oldToNew.size()
             << ") not equal to list size (" << size()
             << ")." << abort(FatalError);
@@ -118,7 +118,7 @@ void Foam::UPtrList<T>::reorder(const labelUList& oldToNew)
 
         if (newI < 0 || newI >= size())
         {
-            FatalErrorIn("UPtrList<T>::reorder(const labelUList&)")
+            FatalErrorInFunction
                 << "Illegal index " << newI << nl
                 << "Valid indices are 0.." << size()-1
                 << abort(FatalError);
@@ -126,7 +126,7 @@ void Foam::UPtrList<T>::reorder(const labelUList& oldToNew)
 
         if (newPtrs_[newI])
         {
-            FatalErrorIn("UPtrList<T>::reorder(const labelUList&)")
+            FatalErrorInFunction
                 << "reorder map is not unique; element " << newI
                 << " already set." << abort(FatalError);
         }
@@ -137,7 +137,7 @@ void Foam::UPtrList<T>::reorder(const labelUList& oldToNew)
     {
         if (!newPtrs_[i])
         {
-            FatalErrorIn("UPtrList<T>::reorder(const labelUList&)")
+            FatalErrorInFunction
                 << "Element " << i << " not set after reordering." << nl
                 << abort(FatalError);
         }
diff --git a/src/OpenFOAM/containers/Lists/UPtrList/UPtrListI.H b/src/OpenFOAM/containers/Lists/UPtrList/UPtrListI.H
index 38bb4309314..2f69d169299 100644
--- a/src/OpenFOAM/containers/Lists/UPtrList/UPtrListI.H
+++ b/src/OpenFOAM/containers/Lists/UPtrList/UPtrListI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -106,7 +106,7 @@ inline const T& Foam::UPtrList<T>::operator[](const label i) const
 {
     if (!ptrs_[i])
     {
-        FatalErrorIn("UPtrList::operator[] const")
+        FatalErrorInFunction
             << "hanging pointer at index " << i
             << " (size " << size()
             << "), cannot dereference"
@@ -122,7 +122,7 @@ inline T& Foam::UPtrList<T>::operator[](const label i)
 {
     if (!ptrs_[i])
     {
-        FatalErrorIn("UPtrList::operator[]")
+        FatalErrorInFunction
             << "hanging pointer at index " << i
             << " (size " << size()
             << "), cannot dereference"
diff --git a/src/OpenFOAM/containers/NamedEnum/NamedEnum.C b/src/OpenFOAM/containers/NamedEnum/NamedEnum.C
index 825ef0d6c87..ba5bd4999dc 100644
--- a/src/OpenFOAM/containers/NamedEnum/NamedEnum.C
+++ b/src/OpenFOAM/containers/NamedEnum/NamedEnum.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -43,7 +43,7 @@ Foam::NamedEnum<Enum, nEnum>::NamedEnum()
                 goodNames[i] = names[i];
             }
 
-            FatalErrorIn("NamedEnum<Enum, nEnum>::NamedEnum()")
+            FatalErrorInFunction
                 << "Illegal enumeration name at position " << enumI << endl
                 << "after entries " << goodNames << ".\n"
                 << "Possibly your NamedEnum<Enum, nEnum>::names array"
@@ -66,10 +66,8 @@ Enum Foam::NamedEnum<Enum, nEnum>::read(Istream& is) const
 
     if (iter == HashTable<int>::end())
     {
-        FatalIOErrorIn
-        (
-            "NamedEnum<Enum, nEnum>::read(Istream&) const", is
-        )   << name << " is not in enumeration: "
+        FatalIOErrorInFunction(is)
+            << name << " is not in enumeration: "
             << sortedToc() << exit(FatalIOError);
     }
 
diff --git a/src/OpenFOAM/db/IOobject/IOobject.C b/src/OpenFOAM/db/IOobject/IOobject.C
index 090aea0a017..7f4c315da4d 100644
--- a/src/OpenFOAM/db/IOobject/IOobject.C
+++ b/src/OpenFOAM/db/IOobject/IOobject.C
@@ -52,16 +52,8 @@ bool Foam::IOobject::fileNameComponents
     // called with directory
     if (isDir(path))
     {
-        WarningIn
-        (
-            "IOobject::fileNameComponents"
-            "("
-                "const fileName&, "
-                "fileName&, "
-                "fileName&, "
-                "word&"
-            ")"
-        )   << " called with directory: " << path << endl;
+        WarningInFunction
+            << " called with directory: " << path << endl;
 
         return false;
     }
@@ -105,16 +97,7 @@ bool Foam::IOobject::fileNameComponents
     // Check for valid (and stripped) name, regardless of the debug level
     if (name.empty() || string::stripInvalid<word>(name))
     {
-        WarningIn
-        (
-            "IOobject::fileNameComponents"
-            "("
-                "const fileName&, "
-                "fileName&, "
-                "fileName&, "
-                "word&"
-            ")"
-        )
+        WarningInFunction
             << "has invalid word for name: \"" << name
             << "\"\nwhile processing path: " << path << endl;
 
@@ -210,17 +193,7 @@ Foam::IOobject::IOobject
 {
     if (!fileNameComponents(path, instance_, local_, name_))
     {
-        FatalErrorIn
-        (
-            "IOobject::IOobject"
-            "("
-                "const fileName&, "
-                "const objectRegistry&, "
-                "readOption, "
-                "writeOption, "
-                "bool"
-            ")"
-        )
+        FatalErrorInFunction
             << " invalid path specification"
             << exit(FatalError);
     }
@@ -447,7 +420,7 @@ bool Foam::IOobject::headerOk()
         {
             if (objectRegistry::debug)
             {
-                IOWarningIn("IOobject::headerOk()", (*isPtr))
+                IOWarningInFunction((*isPtr))
                     << "failed to read header of file " << objectPath()
                     << endl;
             }
@@ -466,7 +439,7 @@ void Foam::IOobject::setBad(const string& s)
 {
     if (objState_ != GOOD)
     {
-        FatalErrorIn("IOobject::setBad(const string&)")
+        FatalErrorInFunction
             << "recurrent failure for object " << s
             << exit(FatalError);
     }
diff --git a/src/OpenFOAM/db/IOobjects/IOPtrList/IOPtrList.C b/src/OpenFOAM/db/IOobjects/IOPtrList/IOPtrList.C
index 651684f4370..a002e62b2b6 100644
--- a/src/OpenFOAM/db/IOobjects/IOPtrList/IOPtrList.C
+++ b/src/OpenFOAM/db/IOobjects/IOPtrList/IOPtrList.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -76,7 +76,7 @@ Foam::IOPtrList<T>::IOPtrList(const IOobject& io, const label s)
 {
     if (io.readOpt() != IOobject::NO_READ)
     {
-        FatalErrorIn("IOPtrList<T>::IOPtrList(const IOobject&, const label)")
+        FatalErrorInFunction
             << "NO_READ must be set if specifying size" << nl
             << exit(FatalError);
     }
diff --git a/src/OpenFOAM/db/IOstreams/Fstreams/IFstream.C b/src/OpenFOAM/db/IOstreams/Fstreams/IFstream.C
index 3c62255d97a..cb78b012891 100644
--- a/src/OpenFOAM/db/IOstreams/Fstreams/IFstream.C
+++ b/src/OpenFOAM/db/IOstreams/Fstreams/IFstream.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -138,7 +138,7 @@ std::istream& Foam::IFstream::stdStream()
 {
     if (!ifPtr_)
     {
-        FatalErrorIn("IFstream::stdStream()")
+        FatalErrorInFunction
             << "No stream allocated" << abort(FatalError);
     }
     return *ifPtr_;
@@ -149,7 +149,7 @@ const std::istream& Foam::IFstream::stdStream() const
 {
     if (!ifPtr_)
     {
-        FatalErrorIn("IFstream::stdStream() const")
+        FatalErrorInFunction
             << "No stream allocated" << abort(FatalError);
     }
     return *ifPtr_;
@@ -178,7 +178,7 @@ Foam::IFstream& Foam::IFstream::operator()() const
         }
         else
         {
-            FatalIOErrorIn("IFstream::operator()", *this)
+            FatalIOErrorInFunction(*this)
                 << "file " << pathname_ << " does not exist"
                 << exit(FatalIOError);
         }
diff --git a/src/OpenFOAM/db/IOstreams/Fstreams/OFstream.C b/src/OpenFOAM/db/IOstreams/Fstreams/OFstream.C
index 1a09b7f4739..5e9734d9156 100644
--- a/src/OpenFOAM/db/IOstreams/Fstreams/OFstream.C
+++ b/src/OpenFOAM/db/IOstreams/Fstreams/OFstream.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -134,7 +134,7 @@ std::ostream& Foam::OFstream::stdStream()
 {
     if (!ofPtr_)
     {
-        FatalErrorIn("OFstream::stdStream()")
+        FatalErrorInFunction
             << "No stream allocated." << abort(FatalError);
     }
     return *ofPtr_;
@@ -145,7 +145,7 @@ const std::ostream& Foam::OFstream::stdStream() const
 {
     if (!ofPtr_)
     {
-        FatalErrorIn("OFstreamAllocator::stdStream() const")
+        FatalErrorInFunction
             << "No stream allocated." << abort(FatalError);
     }
     return *ofPtr_;
diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamBuffers.C b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamBuffers.C
index dfb60891d6c..f6ab958e7c1 100644
--- a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamBuffers.C
+++ b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamBuffers.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -66,7 +66,7 @@ Foam::PstreamBuffers::~PstreamBuffers()
     {
         if (recvBufPos_[procI] < recvBuf_[procI].size())
         {
-            FatalErrorIn("PstreamBuffers::~PstreamBuffers()")
+            FatalErrorInFunction
                 << "Message from processor " << procI
                 << " not fully consumed. messageSize:" << recvBuf_[procI].size()
                 << " bytes of which only " << recvBufPos_[procI]
@@ -117,10 +117,8 @@ void Foam::PstreamBuffers::finishedSends(labelListList& sizes, const bool block)
     }
     else
     {
-        FatalErrorIn
-        (
-            "PstreamBuffers::finishedSends(labelListList&, const bool)"
-        )   << "Obtaining sizes not supported in "
+        FatalErrorInFunction
+            << "Obtaining sizes not supported in "
             << UPstream::commsTypeNames[commsType_] << endl
             << " since transfers already in progress. Use non-blocking instead."
             << exit(FatalError);
diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UIPstream.C b/src/OpenFOAM/db/IOstreams/Pstreams/UIPstream.C
index cd3fc4610f7..5707d2d5c96 100644
--- a/src/OpenFOAM/db/IOstreams/Pstreams/UIPstream.C
+++ b/src/OpenFOAM/db/IOstreams/Pstreams/UIPstream.C
@@ -317,7 +317,7 @@ Foam::Istream& Foam::UIPstream::read(char* data, std::streamsize count)
 {
     if (format() != BINARY)
     {
-        FatalErrorIn("UIPstream::read(char*, std::streamsize)")
+        FatalErrorInFunction
             << "stream format not binary"
             << Foam::abort(FatalError);
     }
diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UOPstream.C b/src/OpenFOAM/db/IOstreams/Pstreams/UOPstream.C
index e0aaf02bcba..0671d69eca1 100644
--- a/src/OpenFOAM/db/IOstreams/Pstreams/UOPstream.C
+++ b/src/OpenFOAM/db/IOstreams/Pstreams/UOPstream.C
@@ -144,7 +144,7 @@ Foam::UOPstream::~UOPstream()
             )
         )
         {
-            FatalErrorIn("UOPstream::~UOPstream()")
+            FatalErrorInFunction
                 << "Failed sending outgoing message of size " << sendBuf_.size()
                 << " to processor " << toProcNo_
                 << Foam::abort(FatalError);
@@ -290,7 +290,7 @@ Foam::Ostream& Foam::UOPstream::write(const char* data, std::streamsize count)
 {
     if (format() != BINARY)
     {
-        FatalErrorIn("Ostream::write(const char*, std::streamsize)")
+        FatalErrorInFunction
             << "stream format not binary"
             << Foam::abort(FatalError);
     }
diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C b/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C
index a721eb2a055..7249823d02e 100644
--- a/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C
+++ b/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C
@@ -65,7 +65,7 @@ void Foam::UPstream::setParRun(const label nProcs)
     label comm = allocateCommunicator(-1, identity(nProcs), true);
     if (comm != UPstream::worldComm)
     {
-        FatalErrorIn("UPstream::setParRun(const label)")
+        FatalErrorInFunction
             << "problem : comm:" << comm
             << "  UPstream::worldComm:" << UPstream::worldComm
             << Foam::exit(FatalError);
@@ -269,11 +269,8 @@ Foam::label Foam::UPstream::allocateCommunicator
         // Enforce incremental order (so index is rank in next communicator)
         if (i >= 1 && subRanks[i] <= subRanks[i-1])
         {
-            FatalErrorIn
-            (
-                "UPstream::allocateCommunicator"
-                "(const label, const labelList&, const bool)"
-            )   << "subranks not sorted : " << subRanks
+            FatalErrorInFunction
+                << "subranks not sorted : " << subRanks
                 << " when allocating subcommunicator from parent "
                 << parentIndex
                 << Foam::abort(FatalError);
diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UPstreamCommsStruct.C b/src/OpenFOAM/db/IOstreams/Pstreams/UPstreamCommsStruct.C
index b2686ef947a..e5412a4ae7b 100644
--- a/src/OpenFOAM/db/IOstreams/Pstreams/UPstreamCommsStruct.C
+++ b/src/OpenFOAM/db/IOstreams/Pstreams/UPstreamCommsStruct.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -83,7 +83,7 @@ Foam::UPstream::commsStruct::commsStruct
     }
     if (notI != allNotBelow_.size())
     {
-        FatalErrorIn("commsStruct") << "problem!" << Foam::abort(FatalError);
+        FatalErrorInFunction << "problem!" << Foam::abort(FatalError);
     }
 }
 
diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/exchange.C b/src/OpenFOAM/db/IOstreams/Pstreams/exchange.C
index ddc39244f6f..a3aff129811 100644
--- a/src/OpenFOAM/db/IOstreams/Pstreams/exchange.C
+++ b/src/OpenFOAM/db/IOstreams/Pstreams/exchange.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -46,18 +46,14 @@ void Foam::Pstream::exchange
 {
     if (!contiguous<T>())
     {
-        FatalErrorIn
-        (
-            "Pstream::exchange(..)"
-        )   << "Continuous data only." << sizeof(T) << Foam::abort(FatalError);
+        FatalErrorInFunction
+            << "Continuous data only." << sizeof(T) << Foam::abort(FatalError);
     }
 
     if (sendBufs.size() != UPstream::nProcs(comm))
     {
-        FatalErrorIn
-        (
-            "Pstream::exchange(..)"
-        )   << "Size of list:" << sendBufs.size()
+        FatalErrorInFunction
+            << "Size of list:" << sendBufs.size()
             << " does not equal the number of processors:"
             << UPstream::nProcs(comm)
             << Foam::abort(FatalError);
@@ -123,7 +119,7 @@ void Foam::Pstream::exchange
                     )
                 )
                 {
-                    FatalErrorIn("Pstream::exchange(..)")
+                    FatalErrorInFunction
                         << "Cannot send outgoing message. "
                         << "to:" << procI << " nBytes:"
                         << label(sendBufs[procI].size()*sizeof(T))
diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/gatherScatterList.C b/src/OpenFOAM/db/IOstreams/Pstreams/gatherScatterList.C
index 3b3133b4951..a016eee530f 100644
--- a/src/OpenFOAM/db/IOstreams/Pstreams/gatherScatterList.C
+++ b/src/OpenFOAM/db/IOstreams/Pstreams/gatherScatterList.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -57,11 +57,8 @@ void Pstream::gatherList
     {
         if (Values.size() != UPstream::nProcs(comm))
         {
-            FatalErrorIn
-            (
-                "UPstream::gatherList(const List<UPstream::commsStruct>&"
-                ", List<T>)"
-            )   << "Size of list:" << Values.size()
+            FatalErrorInFunction
+                << "Size of list:" << Values.size()
                 << " does not equal the number of processors:"
                 << UPstream::nProcs(comm)
                 << Foam::abort(FatalError);
@@ -216,11 +213,8 @@ void Pstream::scatterList
     {
         if (Values.size() != UPstream::nProcs(comm))
         {
-            FatalErrorIn
-            (
-                "UPstream::scatterList(const List<UPstream::commsStruct>&"
-                ", List<T>)"
-            )   << "Size of list:" << Values.size()
+            FatalErrorInFunction
+                << "Size of list:" << Values.size()
                 << " does not equal the number of processors:"
                 << UPstream::nProcs(comm)
                 << Foam::abort(FatalError);
diff --git a/src/OpenFOAM/db/Time/findInstance.C b/src/OpenFOAM/db/Time/findInstance.C
index 556de4c98b5..e12b9beca2f 100644
--- a/src/OpenFOAM/db/Time/findInstance.C
+++ b/src/OpenFOAM/db/Time/findInstance.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -134,24 +134,16 @@ Foam::word Foam::Time::findInstance
             {
                 if (name.empty())
                 {
-                    FatalErrorIn
-                    (
-                        "Time::findInstance"
-                        "(const fileName&, const word&"
-                        ", const IOobject::readOption, const word&)"
-                    )   << "Cannot find directory "
+                    FatalErrorInFunction
+                        << "Cannot find directory "
                         << dir << " in times " << timeName()
                         << " down to " << stopInstance
                         << exit(FatalError);
                 }
                 else
                 {
-                    FatalErrorIn
-                    (
-                        "Time::findInstance"
-                        "(const fileName&, const word&"
-                        ", const IOobject::readOption, const word&)"
-                    )   << "Cannot find file \"" << name << "\" in directory "
+                    FatalErrorInFunction
+                        << "Cannot find file \"" << name << "\" in directory "
                         << dir << " in times " << timeName()
                         << " down to " << stopInstance
                         << exit(FatalError);
@@ -195,12 +187,8 @@ Foam::word Foam::Time::findInstance
 
     if (rOpt == IOobject::MUST_READ || rOpt == IOobject::MUST_READ_IF_MODIFIED)
     {
-        FatalErrorIn
-        (
-            "Time::findInstance"
-            "(const fileName&, const word&"
-            ", const IOobject::readOption, const word&)"
-        )   << "Cannot find file \"" << name << "\" in directory "
+        FatalErrorInFunction
+            << "Cannot find file \"" << name << "\" in directory "
             << dir << " in times " << timeName()
             << " down to " << constant()
             << exit(FatalError);
diff --git a/src/OpenFOAM/db/dictionary/entry/entry.C b/src/OpenFOAM/db/dictionary/entry/entry.C
index 5c12f922317..991a51f1a10 100644
--- a/src/OpenFOAM/db/dictionary/entry/entry.C
+++ b/src/OpenFOAM/db/dictionary/entry/entry.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -64,7 +64,7 @@ void Foam::entry::operator=(const entry& e)
     // check for assignment to self
     if (this == &e)
     {
-        FatalErrorIn("entry::operator=(const entry&)")
+        FatalErrorInFunction
             << "attempted assignment to self"
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/db/dictionary/functionEntries/functionEntry/functionEntry.C b/src/OpenFOAM/db/dictionary/functionEntries/functionEntry/functionEntry.C
index a5378601e75..a758de39a4c 100644
--- a/src/OpenFOAM/db/dictionary/functionEntries/functionEntry/functionEntry.C
+++ b/src/OpenFOAM/db/dictionary/functionEntries/functionEntry/functionEntry.C
@@ -76,11 +76,8 @@ bool Foam::functionEntry::execute
 
     if (mfIter == executedictionaryIstreamMemberFunctionTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "functionEntry::execute"
-            "(const word& functionName, dictionary& parentDict, Istream&)"
-        )   << "Unknown functionEntry '" << functionName
+        FatalErrorInFunction
+            << "Unknown functionEntry '" << functionName
             << "' in " << is.name() << " near line " << is.lineNumber()
             << nl << nl
             << "Valid functionEntries are :" << endl
@@ -122,11 +119,8 @@ bool Foam::functionEntry::execute
 
     if (mfIter == executeprimitiveEntryIstreamMemberFunctionTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "functionEntry::execute"
-            "(const word&, const dictionary&, primitiveEntry&, Istream&)"
-        )   << "Unknown functionEntry '" << functionName
+        FatalErrorInFunction
+            << "Unknown functionEntry '" << functionName
             << "' in " << is.name() << " near line " << is.lineNumber()
             << nl << nl
             << "Valid functionEntries are :" << endl
diff --git a/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntry.C b/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntry.C
index d605ddc0010..5e4d15eb089 100644
--- a/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntry.C
+++ b/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntry.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -88,10 +88,8 @@ bool Foam::primitiveEntry::expandVariable
 
             if (envStr.empty())
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "primitiveEntry::expandVariable"
-                    "(const string&, const dictionary&",
                     dict
                 )   << "Illegal dictionary entry or environment variable name "
                     << varName << endl << "Valid dictionary entries are "
@@ -188,7 +186,7 @@ Foam::ITstream& Foam::primitiveEntry::stream() const
 
 const Foam::dictionary& Foam::primitiveEntry::dict() const
 {
-    FatalErrorIn("const dictionary& primitiveEntry::dict() const")
+    FatalErrorInFunction
         << "Attempt to return primitive entry " << info()
         << " as a sub-dictionary"
         << abort(FatalError);
@@ -199,7 +197,7 @@ const Foam::dictionary& Foam::primitiveEntry::dict() const
 
 Foam::dictionary& Foam::primitiveEntry::dict()
 {
-    FatalErrorIn("const dictionary& primitiveEntry::dict()")
+    FatalErrorInFunction
         << "Attempt to return primitive entry " << info()
         << " as a sub-dictionary"
         << abort(FatalError);
diff --git a/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCode.C b/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCode.C
index 2f975771b89..04932fceea3 100644
--- a/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCode.C
+++ b/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCode.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -61,11 +61,8 @@ void Foam::dynamicCode::checkSecurity
 {
     if (isAdministrator())
     {
-        FatalIOErrorIn
-        (
-            title,
-            dict
-        )   << "This code should not be executed by someone with administrator"
+        FatalIOErrorInFunction(dict)
+            << "This code should not be executed by someone with administrator"
             << " rights due to security reasons." << nl
             << "(it writes a shared library which then gets loaded "
             << "using dlopen)"
@@ -74,11 +71,8 @@ void Foam::dynamicCode::checkSecurity
 
     if (!allowSystemOperations)
     {
-        FatalIOErrorIn
-        (
-            title,
-            dict
-        )   << "Loading a shared library using case-supplied code is not"
+        FatalIOErrorInFunction(dict)
+            << "Loading a shared library using case-supplied code is not"
             << " enabled by default" << nl
             << "because of security issues. If you trust the code you can"
             << " enable this" << nl
@@ -115,21 +109,15 @@ void Foam::dynamicCode::copyAndFilter
 {
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "dynamicCode::copyAndFilter()"
-            " const"
-        )   << "Failed opening for reading " << is.name()
+        FatalErrorInFunction
+            << "Failed opening for reading " << is.name()
             << exit(FatalError);
     }
 
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "dynamicCode::copyAndFilter()"
-            " const"
-        )   << "Failed writing " << os.name()
+        FatalErrorInFunction
+            << "Failed writing " << os.name()
             << exit(FatalError);
     }
 
@@ -226,11 +214,8 @@ bool Foam::dynamicCode::createMakeFiles() const
     //Info<< "Writing to " << dstFile << endl;
     if (!os.good())
     {
-        FatalErrorIn
-            (
-                "dynamicCode::createMakeFiles()"
-                " const"
-            )   << "Failed writing " << dstFile
+        FatalErrorInFunction
+                << "Failed writing " << dstFile
                 << exit(FatalError);
     }
 
@@ -266,11 +251,8 @@ bool Foam::dynamicCode::createMakeOptions() const
     //Info<< "Writing to " << dstFile << endl;
     if (!os.good())
     {
-        FatalErrorIn
-            (
-                "dynamicCode::createMakeOptions()"
-                " const"
-            )   << "Failed writing " << dstFile
+        FatalErrorInFunction
+                << "Failed writing " << dstFile
                 << exit(FatalError);
     }
 
@@ -432,10 +414,8 @@ bool Foam::dynamicCode::copyOrCreateFiles(const bool verbose) const
 
     if (!badFiles.empty())
     {
-        FatalErrorIn
-        (
-            "dynamicCode::copyFilesContents(..)"
-        )   << "Could not find the code template(s): "
+        FatalErrorInFunction
+            << "Could not find the code template(s): "
             << badFiles << nl
             << "Under the $" << codeTemplateEnvName
             << " directory or via via the ~OpenFOAM/"
@@ -461,11 +441,8 @@ bool Foam::dynamicCode::copyOrCreateFiles(const bool verbose) const
         //Info<< "Reading from " << is.name() << endl;
         if (!is.good())
         {
-            FatalErrorIn
-            (
-                "dynamicCode::copyFilesContents(const fileName&)"
-                " const"
-            )   << "Failed opening " << srcFile
+            FatalErrorInFunction
+                << "Failed opening " << srcFile
                 << exit(FatalError);
         }
 
@@ -473,11 +450,8 @@ bool Foam::dynamicCode::copyOrCreateFiles(const bool verbose) const
         //Info<< "Writing to " << dstFile.name() << endl;
         if (!os.good())
         {
-            FatalErrorIn
-            (
-                "dynamicCode::copyFilesContents(const fileName&)"
-                " const"
-            )   << "Failed writing " << dstFile
+            FatalErrorInFunction
+                << "Failed writing " << dstFile
                 << exit(FatalError);
         }
 
@@ -499,11 +473,8 @@ bool Foam::dynamicCode::copyOrCreateFiles(const bool verbose) const
         //Info<< "Writing to " << createFiles_[fileI].first() << endl;
         if (!os.good())
         {
-            FatalErrorIn
-            (
-                "dynamicCode::copyOrCreateFiles()"
-                " const"
-            )   << "Failed writing " << dstFile
+            FatalErrorInFunction
+                << "Failed writing " << dstFile
                 << exit(FatalError);
         }
         os.writeQuoted(createFiles_[fileI].second(), false) << nl;
diff --git a/src/OpenFOAM/db/error/CocoParserErrors.H b/src/OpenFOAM/db/error/CocoParserErrors.H
index 7f41672075f..d693f4efdee 100644
--- a/src/OpenFOAM/db/error/CocoParserErrors.H
+++ b/src/OpenFOAM/db/error/CocoParserErrors.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -91,14 +91,14 @@ public:
         //- Handle a general warning 'msg'
         virtual void Warning(const StringClass& msg)
         {
-            WarningIn(name_)
+            WarningInFunction
                 << msg << endl;
         }
 
         //- Handle a general warning 'msg'
         virtual void Warning(int line, int col, const StringClass& msg)
         {
-            WarningIn(name_)
+            WarningInFunction
                 <<"line " << line << " col " << col << ": "
                 << msg << endl;
         }
@@ -106,7 +106,7 @@ public:
         //- Handle general error 'msg' (eg, a semantic error)
         virtual void Error(int line, int col, const StringClass& msg)
         {
-            FatalErrorIn(name_)
+            FatalErrorInFunction
                 << "line " << line << " col " << col <<": " << msg << endl
                 << exit(FatalError);
         }
@@ -114,7 +114,7 @@ public:
         //- Handle general error 'msg' (eg, a semantic error)
         virtual void Error(const StringClass& msg)
         {
-            FatalErrorIn(name_)
+            FatalErrorInFunction
                 << msg << endl
                 << exit(FatalError);
         }
diff --git a/src/OpenFOAM/db/error/messageStream.C b/src/OpenFOAM/db/error/messageStream.C
index 3f738e42809..90d196ac6ef 100644
--- a/src/OpenFOAM/db/error/messageStream.C
+++ b/src/OpenFOAM/db/error/messageStream.C
@@ -217,7 +217,7 @@ Foam::messageStream::operator Foam::OSstream&()
 
                 if (errorCount_ >= maxErrors_)
                 {
-                    FatalErrorIn("messageStream::operator OSstream&()")
+                    FatalErrorInFunction
                         << "Too many errors"
                         << abort(FatalError);
                 }
diff --git a/src/OpenFOAM/db/error/messageStream.H b/src/OpenFOAM/db/error/messageStream.H
index b3e42f1ca85..c16e811d480 100644
--- a/src/OpenFOAM/db/error/messageStream.H
+++ b/src/OpenFOAM/db/error/messageStream.H
@@ -230,19 +230,19 @@ extern messageStream Info;
 
 //- Report an error message using Foam::SeriousError
 //  for functionName in file __FILE__ at line __LINE__
-#define SeriousErrorIn(fn)                                                     \
-    ::Foam::SeriousError((fn), __FILE__, __LINE__)
+#define SeriousErrorIn(functionName)                                           \
+    ::Foam::SeriousError((functionName), __FILE__, __LINE__)
 
 //- Report an error message using Foam::SeriousError
 //  for FUNCTION_NAME in file __FILE__ at line __LINE__
-#define SeriousErrorInFunction(fn) SeriousErrorIn(FUNCTION_NAME)
+#define SeriousErrorInFunction SeriousErrorIn(FUNCTION_NAME)
 
 
 //- Report an IO error message using Foam::SeriousError
 //  for functionName in file __FILE__ at line __LINE__
 //  for a particular IOstream
-#define SeriousIOErrorIn(fn, ios)                                              \
-    ::Foam::SeriousError((fn), __FILE__, __LINE__, ios)
+#define SeriousIOErrorIn(functionName, ios)                                    \
+    ::Foam::SeriousError((functionName), __FILE__, __LINE__, ios)
 
 //- Report an IO error message using Foam::SeriousError
 //  for FUNCTION_NAME in file __FILE__ at line __LINE__
@@ -252,8 +252,8 @@ extern messageStream Info;
 
 //- Report a warning using Foam::Warning
 //  for functionName in file __FILE__ at line __LINE__
-#define WarningIn(fn)                                                          \
-    ::Foam::Warning((fn), __FILE__, __LINE__)
+#define WarningIn(functionName)                                                \
+    ::Foam::Warning((functionName), __FILE__, __LINE__)
 
 //- Report a warning using Foam::Warning
 //  for FUNCTION_NAME in file __FILE__ at line __LINE__
@@ -263,8 +263,8 @@ extern messageStream Info;
 //- Report an IO warning using Foam::Warning
 //  for functionName in file __FILE__ at line __LINE__
 //  for a particular IOstream
-#define IOWarningIn(fn, ios)                                                   \
-    ::Foam::Warning((fn), __FILE__, __LINE__, (ios))
+#define IOWarningIn(functionName, ios)                                         \
+    ::Foam::Warning((functionName), __FILE__, __LINE__, (ios))
 
 //- Report an IO warning using Foam::Warning
 //  for FUNCTION_NAME in file __FILE__ at line __LINE__
@@ -274,8 +274,8 @@ extern messageStream Info;
 
 //- Report a information message using Foam::Info
 //  for functionName in file __FILE__ at line __LINE__
-#define InfoIn(fn)                                                             \
-    ::Foam::Info((fn), __FILE__, __LINE__)
+#define InfoIn(functionName)                                                   \
+    ::Foam::Info((functionName), __FILE__, __LINE__)
 
 //- Report a information message using Foam::Info
 //  for FUNCTION_NAME in file __FILE__ at line __LINE__
@@ -285,8 +285,8 @@ extern messageStream Info;
 //- Report an IO information message using Foam::Info
 //  for functionName in file __FILE__ at line __LINE__
 //  for a particular IOstream
-#define IOInfoIn(fn, ios)                                                      \
-    ::Foam::Info((fn), __FILE__, __LINE__, (ios))
+#define IOInfoIn(functionName, ios)                                            \
+    ::Foam::Info((functionName), __FILE__, __LINE__, (ios))
 
 //- Report an IO information message using Foam::Info
 //  for FUNCTION_NAME in file __FILE__ at line __LINE__
diff --git a/src/OpenFOAM/db/functionObjects/functionObject/functionObject.C b/src/OpenFOAM/db/functionObjects/functionObject/functionObject.C
index 2cb5bd0cd19..b6a2a8b192a 100644
--- a/src/OpenFOAM/db/functionObjects/functionObject/functionObject.C
+++ b/src/OpenFOAM/db/functionObjects/functionObject/functionObject.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -70,11 +70,8 @@ Foam::autoPtr<Foam::functionObject> Foam::functionObject::New
 
     if (!dictionaryConstructorTablePtr_)
     {
-        FatalErrorIn
-        (
-            "functionObject::New"
-            "(const word& name, const Time&, const dictionary&)"
-        )   << "Unknown function type "
+        FatalErrorInFunction
+            << "Unknown function type "
             << functionType << nl << nl
             << "Table of functionObjects is empty" << endl
             << exit(FatalError);
@@ -85,11 +82,8 @@ Foam::autoPtr<Foam::functionObject> Foam::functionObject::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "functionObject::New"
-            "(const word& name, const Time&, const dictionary&)"
-        )   << "Unknown function type "
+        FatalErrorInFunction
+            << "Unknown function type "
             << functionType << nl << nl
             << "Valid functions are : " << nl
             << dictionaryConstructorTablePtr_->sortedToc() << endl
diff --git a/src/OpenFOAM/db/functionObjects/functionObjectFile/functionObjectFile.C b/src/OpenFOAM/db/functionObjects/functionObjectFile/functionObjectFile.C
index 847747964d6..d7806ab7532 100644
--- a/src/OpenFOAM/db/functionObjects/functionObjectFile/functionObjectFile.C
+++ b/src/OpenFOAM/db/functionObjects/functionObjectFile/functionObjectFile.C
@@ -240,21 +240,21 @@ Foam::OFstream& Foam::functionObjectFile::file()
 {
     if (!Pstream::master())
     {
-        FatalErrorIn("Foam::OFstream& Foam::functionObjectFile::file()")
+        FatalErrorInFunction
             << "Request for file() can only be done by the master process"
             << abort(FatalError);
     }
 
     if (filePtrs_.size() != 1)
     {
-        WarningIn("Foam::Ostream& Foam::functionObjectFile::file()")
+        WarningInFunction
             << "Requested single file, but multiple files are present"
             << endl;
     }
 
     if (!filePtrs_.set(0))
     {
-        FatalErrorIn("Foam::OFstream& Foam::functionObjectFile::file()")
+        FatalErrorInFunction
             << "File pointer at index " << 0 << " not allocated"
             << abort(FatalError);
     }
@@ -267,7 +267,7 @@ Foam::PtrList<Foam::OFstream>& Foam::functionObjectFile::files()
 {
     if (!Pstream::master())
     {
-        FatalErrorIn("Foam::OFstream& Foam::functionObjectFile::files()")
+        FatalErrorInFunction
             << "Request for files() can only be done by the master process"
             << abort(FatalError);
     }
@@ -280,17 +280,14 @@ Foam::OFstream& Foam::functionObjectFile::file(const label i)
 {
     if (!Pstream::master())
     {
-        FatalErrorIn
-        (
-            "Foam::OFstream& Foam::functionObjectFile::file(const label)"
-        )
+        FatalErrorInFunction
             << "Request for file(i) can only be done by the master process"
             << abort(FatalError);
     }
 
     if (!filePtrs_.set(i))
     {
-        FatalErrorIn("Foam::OFstream& Foam::functionObjectFile::file()")
+        FatalErrorInFunction
             << "File pointer at index " << i << " not allocated"
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/db/functionObjects/outputFilterOutputControl/outputFilterOutputControl.C b/src/OpenFOAM/db/functionObjects/outputFilterOutputControl/outputFilterOutputControl.C
index 5ddb9d564ba..aca9841ebcc 100644
--- a/src/OpenFOAM/db/functionObjects/outputFilterOutputControl/outputFilterOutputControl.C
+++ b/src/OpenFOAM/db/functionObjects/outputFilterOutputControl/outputFilterOutputControl.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -204,7 +204,7 @@ bool Foam::outputFilterOutputControl::output()
         default:
         {
             // this error should not actually be possible
-            FatalErrorIn("bool Foam::outputFilterOutputControl::output()")
+            FatalErrorInFunction
                 << "Undefined output control: "
                 << outputControlNames_[outputControl_] << nl
                 << abort(FatalError);
diff --git a/src/OpenFOAM/db/objectRegistry/objectRegistryTemplates.C b/src/OpenFOAM/db/objectRegistry/objectRegistryTemplates.C
index 4123c643ad1..0c26009482e 100644
--- a/src/OpenFOAM/db/objectRegistry/objectRegistryTemplates.C
+++ b/src/OpenFOAM/db/objectRegistry/objectRegistryTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -175,10 +175,8 @@ const Type& Foam::objectRegistry::lookupObject(const word& name) const
             return *vpsiPtr_;
         }
 
-        FatalErrorIn
-        (
-            "objectRegistry::lookupObject<Type>(const word&) const"
-        )   << nl
+        FatalErrorInFunction
+            << nl
             << "    lookup of " << name << " from objectRegistry "
             << this->name()
             << " successful\n    but it is not a " << Type::typeName
@@ -192,10 +190,8 @@ const Type& Foam::objectRegistry::lookupObject(const word& name) const
             return parent_.lookupObject<Type>(name);
         }
 
-        FatalErrorIn
-        (
-            "objectRegistry::lookupObject<Type>(const word&) const"
-        )   << nl
+        FatalErrorInFunction
+            << nl
             << "    request for " << Type::typeName
             << " " << name << " from objectRegistry " << this->name()
             << " failed\n    available objects of type " << Type::typeName
diff --git a/src/OpenFOAM/db/regIOobject/regIOobject.C b/src/OpenFOAM/db/regIOobject/regIOobject.C
index 3a14d5968ec..c3f86da318f 100644
--- a/src/OpenFOAM/db/regIOobject/regIOobject.C
+++ b/src/OpenFOAM/db/regIOobject/regIOobject.C
@@ -261,7 +261,7 @@ bool Foam::regIOobject::checkIn()
         {
             if (watchIndex_ != -1)
             {
-                FatalErrorIn("regIOobject::checkIn()")
+                FatalErrorInFunction
                     << "Object " << objectPath()
                     << " already watched with index " << watchIndex_
                     << abort(FatalError);
@@ -285,7 +285,7 @@ bool Foam::regIOobject::checkIn()
             {
                 // for ease of finding where attempted duplicate check-in
                 // originated
-                FatalErrorIn("regIOobject::checkIn()")
+                FatalErrorInFunction
                     << "failed to register object " << objectPath()
                     << " the name already exists in the objectRegistry" << endl
                     << "Contents:" << db().sortedToc()
@@ -293,7 +293,7 @@ bool Foam::regIOobject::checkIn()
             }
             else
             {
-                WarningIn("regIOobject::checkIn()")
+                WarningInFunction
                     << "failed to register object " << objectPath()
                     << " the name already exists in the objectRegistry"
                     << endl;
diff --git a/src/OpenFOAM/db/regIOobject/regIOobjectI.H b/src/OpenFOAM/db/regIOobject/regIOobjectI.H
index 2808763aeb0..ced5ee48657 100644
--- a/src/OpenFOAM/db/regIOobject/regIOobjectI.H
+++ b/src/OpenFOAM/db/regIOobject/regIOobjectI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -42,7 +42,7 @@ inline Type& Foam::regIOobject::store(Type* tPtr)
 {
     if (!tPtr)
     {
-        FatalErrorIn("Type& regIOobject::store(Type*)")
+        FatalErrorInFunction
             << "object deallocated"
             << abort(FatalError);
     }
@@ -60,10 +60,8 @@ inline Type& Foam::regIOobject::store(autoPtr<Type>& atPtr)
 
     if (!tPtr)
     {
-        FatalErrorIn
-            (
-                "Type& regIOobject::store(autoPtr<Type>&)"
-            )   << "object deallocated"
+        FatalErrorInFunction
+                << "object deallocated"
                 << abort(FatalError);
     }
 
diff --git a/src/OpenFOAM/db/regIOobject/regIOobjectRead.C b/src/OpenFOAM/db/regIOobject/regIOobjectRead.C
index bc950e518f2..10ec6269747 100644
--- a/src/OpenFOAM/db/regIOobject/regIOobjectRead.C
+++ b/src/OpenFOAM/db/regIOobject/regIOobjectRead.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -43,7 +43,7 @@ Foam::Istream& Foam::regIOobject::readStream()
 
     if (readOpt() == NO_READ)
     {
-        FatalErrorIn("regIOobject::readStream()")
+        FatalErrorInFunction
             << "NO_READ specified for read-constructor of object " << name()
             << " of class " << headerClassName()
             << abort(FatalError);
@@ -92,7 +92,7 @@ Foam::Istream& Foam::regIOobject::readStream()
         }
         else if (!readHeader(*isPtr_))
         {
-            FatalIOErrorIn("regIOobject::readStream()", *isPtr_)
+            FatalIOErrorInFunction(*isPtr_)
                 << "problem while reading header for object " << name()
                 << exit(FatalIOError);
         }
@@ -133,7 +133,7 @@ Foam::Istream& Foam::regIOobject::readStream(const word& expectName)
          && headerClassName() != "dictionary"
         )
         {
-            FatalIOErrorIn("regIOobject::readStream(const word&)", *isPtr_)
+            FatalIOErrorInFunction(*isPtr_)
                 << "unexpected class name " << headerClassName()
                 << " expected " << expectName << endl
                 << "    while reading object " << name()
diff --git a/src/OpenFOAM/db/typeInfo/typeInfo.H b/src/OpenFOAM/db/typeInfo/typeInfo.H
index 00981e36057..bd437b4d799 100644
--- a/src/OpenFOAM/db/typeInfo/typeInfo.H
+++ b/src/OpenFOAM/db/typeInfo/typeInfo.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -90,7 +90,7 @@ inline To& dynamicCast(From& r)
     }
     catch (std::bad_cast)
     {
-        FatalErrorIn("dynamicCast<To>(From&)")
+        FatalErrorInFunction
             << "Attempt to cast type " << typeid(r).name()
             << " to type " << typeid(To).name()
             << abort(FatalError);
@@ -111,7 +111,7 @@ inline To& refCast(From& r)
     }
     catch (std::bad_cast)
     {
-        FatalErrorIn("refCast<To>(From&)")
+        FatalErrorInFunction
             << "Attempt to cast type " << r.type()
             << " to type " << To::typeName
             << abort(FatalError);
diff --git a/src/OpenFOAM/dimensionSet/dimensionSet.C b/src/OpenFOAM/dimensionSet/dimensionSet.C
index c289689ce97..11279746aa2 100644
--- a/src/OpenFOAM/dimensionSet/dimensionSet.C
+++ b/src/OpenFOAM/dimensionSet/dimensionSet.C
@@ -168,7 +168,7 @@ bool Foam::dimensionSet::operator=(const dimensionSet& ds) const
 {
     if (dimensionSet::debug && *this != ds)
     {
-        FatalErrorIn("dimensionSet::operator=(const dimensionSet&) const")
+        FatalErrorInFunction
             << "Different dimensions for =" << endl
             << "     dimensions : " << *this << " = " << ds << endl
             << abort(FatalError);
@@ -182,7 +182,7 @@ bool Foam::dimensionSet::operator+=(const dimensionSet& ds) const
 {
     if (dimensionSet::debug && *this != ds)
     {
-        FatalErrorIn("dimensionSet::operator+=(const dimensionSet&) const")
+        FatalErrorInFunction
             << "Different dimensions for +=" << endl
             << "     dimensions : " << *this << " = " << ds << endl
             << abort(FatalError);
@@ -196,7 +196,7 @@ bool Foam::dimensionSet::operator-=(const dimensionSet& ds) const
 {
     if (dimensionSet::debug && *this != ds)
     {
-        FatalErrorIn("dimensionSet::operator-=(const dimensionSet&) const")
+        FatalErrorInFunction
             << "Different dimensions for -=" << endl
             << "     dimensions : " << *this << " = " << ds << endl
             << abort(FatalError);
@@ -228,7 +228,7 @@ Foam::dimensionSet Foam::max(const dimensionSet& ds1, const dimensionSet& ds2)
 {
     if (dimensionSet::debug && ds1 != ds2)
     {
-        FatalErrorIn("max(const dimensionSet&, const dimensionSet&)")
+        FatalErrorInFunction
             << "Arguments of max have different dimensions" << endl
             << "     dimensions : " << ds1 << " and " << ds2 << endl
             << abort(FatalError);
@@ -242,7 +242,7 @@ Foam::dimensionSet Foam::min(const dimensionSet& ds1, const dimensionSet& ds2)
 {
     if (dimensionSet::debug && ds1 != ds2)
     {
-        FatalErrorIn("min(const dimensionSet&, const dimensionSet&)")
+        FatalErrorInFunction
             << "Arguments of min have different dimensions" << endl
             << "     dimensions : " << ds1 << " and " << ds2 << endl
             << abort(FatalError);
@@ -297,7 +297,7 @@ Foam::dimensionSet Foam::pow
 {
     if (dimensionSet::debug && !dS.dimensions().dimensionless())
     {
-        FatalErrorIn("pow(const dimensionSet&, const dimensionedScalar&)")
+        FatalErrorInFunction
             << "Exponent of pow is not dimensionless"
             << abort(FatalError);
     }
@@ -330,7 +330,7 @@ Foam::dimensionSet Foam::pow
      && !ds.dimensionless()
     )
     {
-        FatalErrorIn("pow(const dimensionedScalar&, const dimensionSet&)")
+        FatalErrorInFunction
             << "Argument or exponent of pow not dimensionless" << endl
             << abort(FatalError);
     }
@@ -439,7 +439,7 @@ Foam::dimensionSet Foam::trans(const dimensionSet& ds)
 {
     if (dimensionSet::debug && !ds.dimensionless())
     {
-        FatalErrorIn("trans(const dimensionSet&)")
+        FatalErrorInFunction
             << "Argument of trancendental function not dimensionless"
             << abort(FatalError);
     }
@@ -452,7 +452,7 @@ Foam::dimensionSet Foam::atan2(const dimensionSet& ds1, const dimensionSet& ds2)
 {
     if (dimensionSet::debug && ds1 != ds2)
     {
-        FatalErrorIn("atan2(const dimensionSet&, const dimensionSet&)")
+        FatalErrorInFunction
             << "Arguments of atan2 have different dimensions" << endl
             << "     dimensions : " << ds1 << " and " << ds2 << endl
             << abort(FatalError);
@@ -486,8 +486,7 @@ Foam::dimensionSet Foam::operator+
 
     if (dimensionSet::debug && ds1 != ds2)
     {
-        FatalErrorIn
-            ("operator+(const dimensionSet&, const dimensionSet&)")
+        FatalErrorInFunction
             << "LHS and RHS of + have different dimensions" << endl
             << "     dimensions : " << ds1 << " + " << ds2 << endl
             << abort(FatalError);
@@ -507,8 +506,7 @@ Foam::dimensionSet Foam::operator-
 
     if (dimensionSet::debug && ds1 != ds2)
     {
-        FatalErrorIn
-            ("operator-(const dimensionSet&, const dimensionSet&)")
+        FatalErrorInFunction
             << "LHS and RHS of - have different dimensions" << endl
             << "     dimensions : " << ds1 << " - " << ds2 << endl
             << abort(FatalError);
diff --git a/src/OpenFOAM/dimensionedTypes/dimensionedScalar/dimensionedScalar.C b/src/OpenFOAM/dimensionedTypes/dimensionedScalar/dimensionedScalar.C
index fee971a8e85..57d9e6c450b 100644
--- a/src/OpenFOAM/dimensionedTypes/dimensionedScalar/dimensionedScalar.C
+++ b/src/OpenFOAM/dimensionedTypes/dimensionedScalar/dimensionedScalar.C
@@ -236,7 +236,7 @@ dimensionedScalar func(const dimensionedScalar& ds)                        \
 {                                                                          \
     if (!ds.dimensions().dimensionless())                                  \
     {                                                                      \
-        FatalErrorIn(#func "(const dimensionedScalar& ds)")                \
+        FatalErrorInFunction                                               \
             << "ds not dimensionless"                                      \
             << abort(FatalError);                                          \
     }                                                                      \
@@ -280,14 +280,14 @@ dimensionedScalar func(const int n, const dimensionedScalar& ds)           \
 {                                                                          \
     if (!ds.dimensions().dimensionless())                                  \
     {                                                                      \
-        FatalErrorIn(#func "(const int n, const dimensionedScalar& ds)")   \
+        FatalErrorInFunction                                               \
             << "ds not dimensionless"                                      \
             << abort(FatalError);                                          \
     }                                                                      \
                                                                            \
     return dimensionedScalar                                               \
     (                                                                      \
-        #func "(" + name(n) + ',' + ds.name() + ')',                      \
+        #func "(" + name(n) + ',' + ds.name() + ')',                       \
         dimless,                                                           \
         ::func(n, ds.value())                                              \
     );                                                                     \
diff --git a/src/OpenFOAM/dimensionedTypes/dimensionedType/dimensionedType.C b/src/OpenFOAM/dimensionedTypes/dimensionedType/dimensionedType.C
index fdb38737a5b..03ee76d7c98 100644
--- a/src/OpenFOAM/dimensionedTypes/dimensionedType/dimensionedType.C
+++ b/src/OpenFOAM/dimensionedTypes/dimensionedType/dimensionedType.C
@@ -54,10 +54,8 @@ void Foam::dimensioned<Type>::initialize(Istream& is)
 
         if (dims != dimensions_)
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "dimensioned<Type>::dimensioned"
-                "(const word&, const dimensionSet&, Istream&)",
                 is
             ) << "The dimensions " << dims
               << " provided do not match the required dimensions "
@@ -537,7 +535,7 @@ Foam::dimensioned<Type> Foam::max
 {
     if (dt1.dimensions() != dt2.dimensions())
     {
-        FatalErrorIn("max(const dimensioned<Type>&, const dimensioned<Type>&)")
+        FatalErrorInFunction
             << "dimensions of arguments are not equal"
             << abort(FatalError);
     }
@@ -560,7 +558,7 @@ Foam::dimensioned<Type> Foam::min
 {
     if (dt1.dimensions() != dt2.dimensions())
     {
-        FatalErrorIn("min(const dimensioned<Type>&, const dimensioned<Type>&)")
+        FatalErrorInFunction
             << "dimensions of arguments are not equal"
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.C b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.C
index a33942e9b9d..3c3abf215d9 100644
--- a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.C
+++ b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.C
@@ -37,7 +37,7 @@ namespace Foam
 #define checkField(df1, df2, op)                                    \
 if (&(df1).mesh() != &(df2).mesh())                                 \
 {                                                                   \
-    FatalErrorIn("checkField(df1, df2, op)")                        \
+    FatalErrorInFunction                                            \
         << "different mesh for fields "                             \
         << (df1).name() << " and " << (df2).name()                  \
         << " during operatrion " <<  op                             \
@@ -63,12 +63,8 @@ DimensionedField<Type, GeoMesh>::DimensionedField
 {
     if (field.size() && field.size() != GeoMesh::size(mesh))
     {
-        FatalErrorIn
-        (
-            "DimensionedField<Type, GeoMesh>::DimensionedField"
-            "(const IOobject& io,const Mesh& mesh, "
-            "const dimensionSet& dims, const Field<Type>& field)"
-        )   << "size of field = " << field.size()
+        FatalErrorInFunction
+            << "size of field = " << field.size()
             << " is not the same as the size of mesh = "
             << GeoMesh::size(mesh)
             << abort(FatalError);
@@ -433,11 +429,8 @@ void DimensionedField<Type, GeoMesh>::operator=
     // Check for assignment to self
     if (this == &df)
     {
-        FatalErrorIn
-        (
-            "DimensionedField<Type, GeoMesh>::operator="
-            "(const DimensionedField<Type, GeoMesh>&)"
-        )   << "attempted assignment to self"
+        FatalErrorInFunction
+            << "attempted assignment to self"
             << abort(FatalError);
     }
 
@@ -459,11 +452,8 @@ void DimensionedField<Type, GeoMesh>::operator=
     // Check for assignment to self
     if (this == &df)
     {
-        FatalErrorIn
-        (
-            "DimensionedField<Type, GeoMesh>::operator="
-            "(const tmp<DimensionedField<Type, GeoMesh> >&)"
-        )   << "attempted assignment to self"
+        FatalErrorInFunction
+            << "attempted assignment to self"
             << abort(FatalError);
     }
 
diff --git a/src/OpenFOAM/fields/DimensionedFields/DimensionedScalarField/DimensionedScalarField.C b/src/OpenFOAM/fields/DimensionedFields/DimensionedScalarField/DimensionedScalarField.C
index 019991ea994..8d1429f5005 100644
--- a/src/OpenFOAM/fields/DimensionedFields/DimensionedScalarField/DimensionedScalarField.C
+++ b/src/OpenFOAM/fields/DimensionedFields/DimensionedScalarField/DimensionedScalarField.C
@@ -678,11 +678,8 @@ tmp<DimensionedField<scalar, GeoMesh> > func                                \
 {                                                                           \
     if (!dsf.dimensions().dimensionless())                                  \
     {                                                                       \
-        FatalErrorIn                                                        \
-        (                                                                   \
-            #func"(const int n, "                                           \
-            "const DimensionedField<scalar, GeoMesh>& dsf)"                 \
-        )   << "dsf not dimensionless"                                      \
+        FatalErrorInFunction                                                \
+            << "dsf not dimensionless"                                      \
             << abort(FatalError);                                           \
     }                                                                       \
                                                                             \
@@ -717,11 +714,8 @@ tmp<DimensionedField<scalar, GeoMesh> > func                                \
                                                                             \
     if (!dsf.dimensions().dimensionless())                                  \
     {                                                                       \
-        FatalErrorIn                                                        \
-        (                                                                   \
-            #func"(const int n, "                                           \
-            "const tmp<DimensionedField<scalar, GeoMesh> >& dsf)"           \
-        )   << " : dsf not dimensionless"                                   \
+        FatalErrorInFunction                                                \
+            << " : dsf not dimensionless"                                   \
             << abort(FatalError);                                           \
     }                                                                       \
                                                                             \
diff --git a/src/OpenFOAM/fields/FieldFields/FieldField/FieldField.C b/src/OpenFOAM/fields/FieldFields/FieldField/FieldField.C
index c6faf4a7da8..6042b204488 100644
--- a/src/OpenFOAM/fields/FieldFields/FieldField/FieldField.C
+++ b/src/OpenFOAM/fields/FieldFields/FieldField/FieldField.C
@@ -45,11 +45,7 @@ void checkFields
 {
     if (f1.size() != f2.size())
     {
-        FatalErrorIn
-        (
-            "checkFields(const FieldField<Field, Type1>&, "
-            "const FieldField<Field, Type2>&, const char* op)"
-        )   << "    incompatible fields"
+        FatalErrorInFunction
             << " FieldField<" << pTraits<Type1>::typeName
             << "> f1(" << f1.size() << ')'
             << " and FieldField<" << pTraits<Type2>::typeName
@@ -70,13 +66,7 @@ void checkFields
 {
     if (f1.size() != f2.size() || f1.size() != f3.size())
     {
-        FatalErrorIn
-        (
-            "checkFields(const FieldField<Field, Type1>&, "
-            "const FieldField<Field, Type2>&, "
-            "const FieldField<Field, Type3>&, "
-            "const char* op)"
-        )   << "    incompatible fields"
+        FatalErrorInFunction
             << " FieldField<" << pTraits<Type1>::typeName
             << "> f1(" << f1.size() << ')'
             << ", FieldField<" <<pTraits<Type2>::typeName
@@ -297,11 +287,8 @@ void FieldField<Field, Type>::operator=(const FieldField<Field, Type>& f)
 {
     if (this == &f)
     {
-        FatalErrorIn
-        (
-            "FieldField<Field, Type>::"
-            "operator=(const FieldField<Field, Type>&)"
-        )   << "attempted assignment to self"
+        FatalErrorInFunction
+            << "attempted assignment to self"
             << abort(FatalError);
     }
 
@@ -317,10 +304,8 @@ void FieldField<Field, Type>::operator=(const tmp<FieldField>& tf)
 {
     if (this == &(tf()))
     {
-        FatalErrorIn
-        (
-            "FieldField<Field, Type>::operator=(const tmp<FieldField>&)"
-        )   << "attempted assignment to self"
+        FatalErrorInFunction
+            << "attempted assignment to self"
             << abort(FatalError);
     }
 
diff --git a/src/OpenFOAM/fields/Fields/DynamicField/DynamicFieldI.H b/src/OpenFOAM/fields/Fields/DynamicField/DynamicFieldI.H
index b028cc6d977..f185163e3a8 100644
--- a/src/OpenFOAM/fields/Fields/DynamicField/DynamicFieldI.H
+++ b/src/OpenFOAM/fields/Fields/DynamicField/DynamicFieldI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -339,11 +339,8 @@ Foam::DynamicField<T, SizeInc, SizeMult, SizeDiv>::append
 {
     if (this == &lst)
     {
-        FatalErrorIn
-        (
-            "DynamicField<T, SizeInc, SizeMult, SizeDiv>::append"
-            "(const UList<T>&)"
-        )   << "attempted appending to self" << abort(FatalError);
+        FatalErrorInFunction
+            << "attempted appending to self" << abort(FatalError);
     }
 
     label nextFree = List<T>::size();
@@ -364,10 +361,8 @@ inline T Foam::DynamicField<T, SizeInc, SizeMult, SizeDiv>::remove()
 
     if (elemI < 0)
     {
-        FatalErrorIn
-        (
-            "Foam::DynamicField<T, SizeInc, SizeMult, SizeDiv>::remove()"
-        )   << "List is empty" << abort(FatalError);
+        FatalErrorInFunction
+            << "List is empty" << abort(FatalError);
     }
 
     const T& val = List<T>::operator[](elemI);
@@ -413,11 +408,8 @@ inline void Foam::DynamicField<T, SizeInc, SizeMult, SizeDiv>::operator=
 {
     if (this == &lst)
     {
-        FatalErrorIn
-        (
-            "DynamicField<T, SizeInc, SizeMult, SizeDiv>::operator="
-            "(const DynamicField<T, SizeInc, SizeMult, SizeDiv>&)"
-        )   << "attempted assignment to self" << abort(FatalError);
+        FatalErrorInFunction
+            << "attempted assignment to self" << abort(FatalError);
     }
 
     if (capacity_ >= lst.size())
diff --git a/src/OpenFOAM/fields/Fields/Field/Field.C b/src/OpenFOAM/fields/Fields/Field/Field.C
index 48fcaacac07..f629bc4187e 100644
--- a/src/OpenFOAM/fields/Fields/Field/Field.C
+++ b/src/OpenFOAM/fields/Fields/Field/Field.C
@@ -275,10 +275,8 @@ Foam::Field<Type>::Field
                 is >> static_cast<List<Type>&>(*this);
                 if (this->size() != s)
                 {
-                    FatalIOErrorIn
+                    FatalIOErrorInFunction
                     (
-                        "Field<Type>::Field"
-                        "(const word& keyword, const dictionary&, const label)",
                         dict
                     )   << "size " << this->size()
                         << " is not equal to the given value of " << s
@@ -287,10 +285,8 @@ Foam::Field<Type>::Field
             }
             else
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "Field<Type>::Field"
-                    "(const word& keyword, const dictionary&, const label)",
                     dict
                 )   << "expected keyword 'uniform' or 'nonuniform', found "
                     << firstToken.wordToken()
@@ -301,10 +297,8 @@ Foam::Field<Type>::Field
         {
             if (is.version() == 2.0)
             {
-                IOWarningIn
+                IOWarningInFunction
                 (
-                    "Field<Type>::Field"
-                    "(const word& keyword, const dictionary&, const label)",
                     dict
                 )   << "expected keyword 'uniform' or 'nonuniform', "
                        "assuming deprecated Field format from "
@@ -317,10 +311,8 @@ Foam::Field<Type>::Field
             }
             else
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "Field<Type>::Field"
-                    "(const word& keyword, const dictionary&, const label)",
                     dict
                 )   << "expected keyword 'uniform' or 'nonuniform', found "
                     << firstToken.info()
@@ -398,15 +390,7 @@ void Foam::Field<Type>::map
 
     if (mapWeights.size() != mapAddressing.size())
     {
-        FatalErrorIn
-        (
-            "void Field<Type>::map\n"
-            "(\n"
-            "    const UList<Type>& mapF,\n"
-            "    const labelListList& mapAddressing,\n"
-            "    const scalarListList& mapWeights\n"
-            ")"
-        ) << "Weights and addressing map have different sizes.  Weights size: "
+        FatalErrorInFunction
             << mapWeights.size() << " map size: " << mapAddressing.size()
             << abort(FatalError);
     }
@@ -673,7 +657,7 @@ void Foam::Field<Type>::operator=(const Field<Type>& rhs)
 {
     if (this == &rhs)
     {
-        FatalErrorIn("Field<Type>::operator=(const Field<Type>&)")
+        FatalErrorInFunction
             << "attempted assignment to self"
             << abort(FatalError);
     }
@@ -701,7 +685,7 @@ void Foam::Field<Type>::operator=(const tmp<Field>& rhs)
 {
     if (this == &(rhs()))
     {
-        FatalErrorIn("Field<Type>::operator=(const tmp<Field>&)")
+        FatalErrorInFunction
             << "attempted assignment to self"
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/fields/Fields/Field/FieldM.H b/src/OpenFOAM/fields/Fields/Field/FieldM.H
index d44d72506af..ff3861d4e7c 100644
--- a/src/OpenFOAM/fields/Fields/Field/FieldM.H
+++ b/src/OpenFOAM/fields/Fields/Field/FieldM.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -53,11 +53,7 @@ void checkFields
 {
     if (f1.size() != f2.size())
     {
-        FatalErrorIn
-        (
-            "checkFields(const UList<Type1>&, "
-            "const UList<Type2>&, const char*)"
-        )   << "    incompatible fields"
+        FatalErrorInFunction
             << " Field<"<<pTraits<Type1>::typeName<<"> f1("<<f1.size()<<')'
             << " and Field<"<<pTraits<Type2>::typeName<<"> f2("<<f2.size()<<')'
             << endl << " for operation " << op
@@ -76,12 +72,7 @@ void checkFields
 {
     if (f1.size() != f2.size() || f1.size() != f3.size())
     {
-        FatalErrorIn
-        (
-            "checkFields(const UList<Type1>&, "
-            "const UList<Type2>&, const UList<Type3>&, "
-            "const char*)"
-        )   << "    incompatible fields"
+        FatalErrorInFunction
             << " Field<"<<pTraits<Type1>::typeName<<"> f1("<<f1.size()<<')'
             << ", Field<"<<pTraits<Type2>::typeName<<"> f2("<<f2.size()<<')'
             << " and Field<"<<pTraits<Type3>::typeName<<"> f3("<<f3.size()<<')'
diff --git a/src/OpenFOAM/fields/Fields/Field/FieldMapper.H b/src/OpenFOAM/fields/Fields/Field/FieldMapper.H
index f463f97c576..69414c5b3e9 100644
--- a/src/OpenFOAM/fields/Fields/Field/FieldMapper.H
+++ b/src/OpenFOAM/fields/Fields/Field/FieldMapper.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -70,7 +70,7 @@ public:
 
         virtual const labelUList& directAddressing() const
         {
-            FatalErrorIn("FieldMapper::directAddressing() const")
+            FatalErrorInFunction
                 << "attempt to access null direct addressing"
                 << abort(FatalError);
 
@@ -79,7 +79,7 @@ public:
 
         virtual const labelListList& addressing() const
         {
-            FatalErrorIn("FieldMapper::addressing() const")
+            FatalErrorInFunction
                 << "attempt to access null interpolation addressing"
                 << abort(FatalError);
 
@@ -88,7 +88,7 @@ public:
 
         virtual const scalarListList& weights() const
         {
-            FatalErrorIn("FieldMapper::weights() const")
+            FatalErrorInFunction
                 << "attempt to access null interpolation weights"
                 << abort(FatalError);
 
diff --git a/src/OpenFOAM/fields/Fields/transformList/transformList.C b/src/OpenFOAM/fields/Fields/transformList/transformList.C
index f962d68990b..87f8c05cc12 100644
--- a/src/OpenFOAM/fields/Fields/transformList/transformList.C
+++ b/src/OpenFOAM/fields/Fields/transformList/transformList.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -74,10 +74,8 @@ void Foam::transformList(const tensorField& rotTensor, UList<T>& field)
     }
     else
     {
-        FatalErrorIn
-        (
-            "transformList(const tensorField&, UList<T>&)"
-        )   << "Sizes of field and transformation not equal. field:"
+        FatalErrorInFunction
+            << "Sizes of field and transformation not equal. field:"
             << field.size() << " transformation:" << rotTensor.size()
             << abort(FatalError);
     }
@@ -106,10 +104,8 @@ void Foam::transformList(const tensorField& rotTensor, Map<T>& field)
     }
     else
     {
-        FatalErrorIn
-        (
-            "transformList(const tensorField&, Map<T>&)"
-        )   << "Multiple transformation tensors not supported. field:"
+        FatalErrorInFunction
+            << "Multiple transformation tensors not supported. field:"
             << field.size() << " transformation:" << rotTensor.size()
             << abort(FatalError);
     }
@@ -138,10 +134,8 @@ void Foam::transformList(const tensorField& rotTensor, EdgeMap<T>& field)
     }
     else
     {
-        FatalErrorIn
-        (
-            "transformList(const tensorField&, EdgeMap<T>&)"
-        )   << "Multiple transformation tensors not supported. field:"
+        FatalErrorInFunction
+            << "Multiple transformation tensors not supported. field:"
             << field.size() << " transformation:" << rotTensor.size()
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.C b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.C
index e331062c4da..da522ae4264 100644
--- a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.C
+++ b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -180,14 +180,8 @@ readField
         {
             if (bmesh_[patchi].type() == cyclicPolyPatch::typeName)
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "GeometricField<Type, PatchField, GeoMesh>::"
-                    "GeometricBoundaryField::readField"
-                    "("
-                        "const DimensionedField<Type, GeoMesh>&, "
-                        "const dictionary&"
-                    ")",
                     dict
                 )   << "Cannot find patchField entry for cyclic "
                     << bmesh_[patchi].name() << endl
@@ -197,14 +191,8 @@ readField
             }
             else
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "GeometricField<Type, PatchField, GeoMesh>::"
-                    "GeometricBoundaryField::readField"
-                    "("
-                        "const DimensionedField<Type, GeoMesh>&, "
-                        "const dictionary&"
-                    ")",
                     dict
                 )   << "Cannot find patchField entry for "
                     << bmesh_[patchi].name() << exit(FatalIOError);
@@ -298,18 +286,8 @@ GeometricBoundaryField
      || (constraintTypes.size() && (constraintTypes.size() != this->size()))
     )
     {
-        FatalErrorIn
-        (
-            "GeometricField<Type, PatchField, GeoMesh>::"
-            "GeometricBoundaryField::"
-            "GeometricBoundaryField"
-            "("
-                "const BoundaryMesh&, "
-                "const DimensionedField<Type>&, "
-                "const wordList&, "
-                "const wordList&"
-            ")"
-        )   << "Incorrect number of patch type specifications given" << nl
+        FatalErrorInFunction
+            << "Incorrect number of patch type specifications given" << nl
             << "    Number of patches in mesh = " << bmesh.size()
             << " number of patch type specifications = "
             << patchFieldTypes.size()
@@ -542,7 +520,7 @@ evaluate()
     }
     else
     {
-        FatalErrorIn("GeometricBoundaryField::evaluate()")
+        FatalErrorInFunction
             << "Unsuported communications type "
             << Pstream::commsTypeNames[Pstream::defaultCommsType]
             << exit(FatalError);
diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C
index d18f24e19fb..b516b8ba7b5 100644
--- a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C
+++ b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C
@@ -34,7 +34,7 @@ License
 #define checkField(gf1, gf2, op)                                    \
 if ((gf1).mesh() != (gf2).mesh())                                   \
 {                                                                   \
-    FatalErrorIn("checkField(gf1, gf2, op)")                        \
+    FatalErrorInFunction                                            \
         << "different mesh for fields "                             \
         << (gf1).name() << " and " << (gf2).name()                  \
         << " during operatrion " <<  op                             \
@@ -114,12 +114,8 @@ bool Foam::GeometricField<Type, PatchField, GeoMesh>::readIfPresent()
         // Check compatibility between field and mesh
         if (this->size() != GeoMesh::size(this->mesh()))
         {
-            FatalIOErrorIn
-            (
-                "GeometricField<Type, PatchField, GeoMesh>::"
-                "readIfPresent()",
-                this->readStream(typeName)
-            )   << "   number of field elements = " << this->size()
+            FatalIOErrorInFunction(this->readStream(typeName))
+                << "   number of field elements = " << this->size()
                 << " number of mesh elements = "
                 << GeoMesh::size(this->mesh())
                 << exit(FatalIOError);
@@ -334,12 +330,8 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField
 
     if (this->size() != GeoMesh::size(this->mesh()))
     {
-        FatalIOErrorIn
-        (
-            "GeometricField<Type, PatchField, GeoMesh>::GeometricField"
-            "(const IOobject&, const Mesh&)",
-            this->readStream(typeName)
-        )   << "   number of field elements = " << this->size()
+        FatalIOErrorInFunction(this->readStream(typeName))
+            << "   number of field elements = " << this->size()
             << " number of mesh elements = " << GeoMesh::size(this->mesh())
             << exit(FatalIOError);
     }
@@ -375,11 +367,8 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField
 
     if (this->size() != GeoMesh::size(this->mesh()))
     {
-        FatalErrorIn
-        (
-            "GeometricField<Type, PatchField, GeoMesh>::GeometricField"
-            "(const IOobject&, const Mesh&, const dictionary&)"
-        )   << "   number of field elements = " << this->size()
+        FatalErrorInFunction
+            << "   number of field elements = " << this->size()
             << " number of mesh elements = " << GeoMesh::size(this->mesh())
             << exit(FatalIOError);
     }
@@ -833,10 +822,8 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::prevIter() const
 {
     if (!fieldPrevIterPtr_)
     {
-        FatalErrorIn
-        (
-            "GeometricField<Type, PatchField, GeoMesh>::prevIter() const"
-        )   << "previous iteration field" << endl << this->info() << endl
+        FatalErrorInFunction
+            << "previous iteration field" << endl << this->info() << endl
             << "  not stored."
             << "  Use field.storePrevIter() at start of iteration."
             << abort(FatalError);
@@ -1092,11 +1079,8 @@ void Foam::GeometricField<Type, PatchField, GeoMesh>::operator=
 {
     if (this == &gf)
     {
-        FatalErrorIn
-        (
-            "GeometricField<Type, PatchField, GeoMesh>::operator="
-            "(const GeometricField<Type, PatchField, GeoMesh>&)"
-        )   << "attempted assignment to self"
+        FatalErrorInFunction
+            << "attempted assignment to self"
             << abort(FatalError);
     }
 
@@ -1117,11 +1101,8 @@ void Foam::GeometricField<Type, PatchField, GeoMesh>::operator=
 {
     if (this == &(tgf()))
     {
-        FatalErrorIn
-        (
-            "GeometricField<Type, PatchField, GeoMesh>::operator="
-            "(const tmp<GeometricField<Type, PatchField, GeoMesh> >&)"
-        )   << "attempted assignment to self"
+        FatalErrorInFunction
+            << "attempted assignment to self"
             << abort(FatalError);
     }
 
diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricScalarField/GeometricScalarField.C b/src/OpenFOAM/fields/GeometricFields/GeometricScalarField/GeometricScalarField.C
index eb160c0e74c..cb34740ca3e 100644
--- a/src/OpenFOAM/fields/GeometricFields/GeometricScalarField/GeometricScalarField.C
+++ b/src/OpenFOAM/fields/GeometricFields/GeometricScalarField/GeometricScalarField.C
@@ -814,11 +814,8 @@ tmp<GeometricField<scalar, PatchField, GeoMesh> > func                      \
 {                                                                           \
     if (!gsf.dimensions().dimensionless())                                  \
     {                                                                       \
-        FatalErrorIn                                                        \
-        (                                                                   \
-            #func"(const int n, "                                           \
-            "const GeometricField<scalar, PatchField, GeoMesh>& gsf)"       \
-        )   << "gsf not dimensionless"                                      \
+        FatalErrorInFunction                                                \
+            << "gsf not dimensionless"                                      \
             << abort(FatalError);                                           \
     }                                                                       \
                                                                             \
@@ -855,11 +852,8 @@ tmp<GeometricField<scalar, PatchField, GeoMesh> > func                      \
                                                                             \
     if (!gsf.dimensions().dimensionless())                                  \
     {                                                                       \
-        FatalErrorIn                                                        \
-        (                                                                   \
-            #func"(const int n, "                                           \
-            "const tmp<GeometricField<scalar, PatchField, GeoMesh> >& gsf)" \
-        )   << " : gsf not dimensionless"                                   \
+        FatalErrorInFunction                                                \
+            << " : gsf not dimensionless"                                   \
             << abort(FatalError);                                           \
     }                                                                       \
                                                                             \
diff --git a/src/OpenFOAM/fields/ReadFields/ReadFields.C b/src/OpenFOAM/fields/ReadFields/ReadFields.C
index a679082b417..ab7779f28a4 100644
--- a/src/OpenFOAM/fields/ReadFields/ReadFields.C
+++ b/src/OpenFOAM/fields/ReadFields/ReadFields.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -62,12 +62,8 @@ Foam::wordList Foam::ReadFields
 
             if (iter == localNamesSet.end())
             {
-                FatalErrorIn
-                (
-                    "ReadFields<class GeoField, class Mesh>"
-                    "(const Mesh&, const IOobjectList&, PtrList<GeoField>&"
-                    ", const bool)"
-                )   << "Fields not synchronised across processors." << endl
+                FatalErrorInFunction
+                    << "Fields not synchronised across processors." << endl
                     << "Master has fields " << masterNames
                     << "  processor " << Pstream::myProcNo()
                     << " has fields " << localNames << exit(FatalError);
@@ -80,12 +76,8 @@ Foam::wordList Foam::ReadFields
 
         forAllConstIter(HashSet<word>, localNamesSet, iter)
         {
-            FatalErrorIn
-            (
-                "ReadFields<class GeoField, class Mesh>"
-                "(const Mesh&, const IOobjectList&, PtrList<GeoField>&"
-                ", const bool)"
-            )   << "Fields not synchronised across processors." << endl
+            FatalErrorInFunction
+                << "Fields not synchronised across processors." << endl
                 << "Master has fields " << masterNames
                 << "  processor " << Pstream::myProcNo()
                 << " has fields " << localNames << exit(FatalError);
diff --git a/src/OpenFOAM/fields/pointPatchFields/basic/value/valuePointPatchField.C b/src/OpenFOAM/fields/pointPatchFields/basic/value/valuePointPatchField.C
index 6f5c7ef2673..747e3daa7f5 100644
--- a/src/OpenFOAM/fields/pointPatchFields/basic/value/valuePointPatchField.C
+++ b/src/OpenFOAM/fields/pointPatchFields/basic/value/valuePointPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -33,10 +33,8 @@ void Foam::valuePointPatchField<Type>::checkFieldSize() const
 {
     if (this->size() != this->patch().size())
     {
-        FatalErrorIn
-        (
-            "void valuePointPatchField<Type>::checkField() const"
-        )   << "field does not correspond to patch. " << endl
+        FatalErrorInFunction
+            << "field does not correspond to patch. " << endl
             << "Field size: " << size() << " patch size: "
             << this->patch().size()
             << abort(FatalError);
@@ -83,15 +81,8 @@ Foam::valuePointPatchField<Type>::valuePointPatchField
     }
     else
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "pointPatchField<Type>::pointPatchField"
-            "("
-            "const fvPatch& p,"
-            "const DimensionedField<Type, pointMesh>& iF,"
-            "const dictionary& dict,"
-            "const bool valueRequired"
-            ")",
             dict
         )   << "Essential entry 'value' missing"
             << exit(FatalIOError);
diff --git a/src/OpenFOAM/fields/pointPatchFields/constraint/cyclic/cyclicPointPatchField.C b/src/OpenFOAM/fields/pointPatchFields/constraint/cyclic/cyclicPointPatchField.C
index 4bc09945265..1ebadbb40cb 100644
--- a/src/OpenFOAM/fields/pointPatchFields/constraint/cyclic/cyclicPointPatchField.C
+++ b/src/OpenFOAM/fields/pointPatchFields/constraint/cyclic/cyclicPointPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -55,14 +55,8 @@ Foam::cyclicPointPatchField<Type>::cyclicPointPatchField
 {
     if (!isType<cyclicPointPatch>(p))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "cyclicPointPatchField<Type>::cyclicPointPatchField\n"
-            "(\n"
-            "    const pointPatch& p,\n"
-            "    const Field<Type>& field,\n"
-            "    const dictionary& dict\n"
-            ")\n",
             dict
         )   << "patch " << this->patch().index() << " not cyclic type. "
             << "Patch type = " << p.type()
@@ -85,16 +79,8 @@ Foam::cyclicPointPatchField<Type>::cyclicPointPatchField
 {
     if (!isType<cyclicPointPatch>(this->patch()))
     {
-        FatalErrorIn
-        (
-            "cyclicPointPatchField<Type>::cyclicPointPatchField\n"
-            "(\n"
-            "    const cyclicPointPatchField<Type>& ptf,\n"
-            "    const pointPatch& p,\n"
-            "    const DimensionedField<Type, pointMesh>& iF,\n"
-            "    const pointPatchFieldMapper& mapper\n"
-            ")\n"
-        )   << "Field type does not correspond to patch type for patch "
+        FatalErrorInFunction
+            << "Field type does not correspond to patch type for patch "
             << this->patch().index() << "." << endl
             << "Field type: " << typeName << endl
             << "Patch type: " << this->patch().type()
diff --git a/src/OpenFOAM/fields/pointPatchFields/constraint/empty/emptyPointPatchField.C b/src/OpenFOAM/fields/pointPatchFields/constraint/empty/emptyPointPatchField.C
index 41f97055aea..6435a72c12d 100644
--- a/src/OpenFOAM/fields/pointPatchFields/constraint/empty/emptyPointPatchField.C
+++ b/src/OpenFOAM/fields/pointPatchFields/constraint/empty/emptyPointPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -55,14 +55,8 @@ emptyPointPatchField<Type>::emptyPointPatchField
 {
     if (!isType<emptyPointPatch>(p))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "emptyPointPatchField<Type>::emptyPointPatchField\n"
-            "(\n"
-            "    const pointPatch& p,\n"
-            "    const Field<Type>& field,\n"
-            "    const dictionary& dict\n"
-            ")\n",
             dict
         )   << "patch " << this->patch().index() << " not empty type. "
             << "Patch type = " << p.type()
@@ -84,16 +78,8 @@ emptyPointPatchField<Type>::emptyPointPatchField
 {
     if (!isType<emptyPointPatch>(this->patch()))
     {
-        FatalErrorIn
-        (
-            "emptyPointPatchField<Type>::emptyPointPatchField\n"
-            "(\n"
-            "    const emptyPointPatchField<Type>& ptf,\n"
-            "    const pointPatch& p,\n"
-            "    const DimensionedField<Type, pointMesh>& iF,\n"
-            "    const pointPatchFieldMapper& mapper\n"
-            ")\n"
-        )   << "Field type does not correspond to patch type for patch "
+        FatalErrorInFunction
+            << "Field type does not correspond to patch type for patch "
             << this->patch().index() << "." << endl
             << "Field type: " << typeName << endl
             << "Patch type: " << this->patch().type()
diff --git a/src/OpenFOAM/fields/pointPatchFields/constraint/symmetry/symmetryPointPatchField.C b/src/OpenFOAM/fields/pointPatchFields/constraint/symmetry/symmetryPointPatchField.C
index 8e321d65486..4e11109261e 100644
--- a/src/OpenFOAM/fields/pointPatchFields/constraint/symmetry/symmetryPointPatchField.C
+++ b/src/OpenFOAM/fields/pointPatchFields/constraint/symmetry/symmetryPointPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -55,14 +55,8 @@ symmetryPointPatchField<Type>::symmetryPointPatchField
 {
     if (!isType<symmetryPointPatch>(p))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "symmetryPointPatchField<Type>::symmetryPointPatchField\n"
-            "(\n"
-            "    const pointPatch& p,\n"
-            "    const Field<Type>& field,\n"
-            "    const dictionary& dict\n"
-            ")\n",
             dict
         )   << "patch " << this->patch().index() << " not symmetry type. "
             << "Patch type = " << p.type()
@@ -84,16 +78,8 @@ symmetryPointPatchField<Type>::symmetryPointPatchField
 {
     if (!isType<symmetryPointPatch>(this->patch()))
     {
-        FatalErrorIn
-        (
-            "symmetryPointPatchField<Type>::symmetryPointPatchField\n"
-            "(\n"
-            "    const symmetryPointPatchField<Type>& ptf,\n"
-            "    const pointPatch& p,\n"
-            "    const DimensionedField<Type, pointMesh>& iF,\n"
-            "    const pointPatchFieldMapper& mapper\n"
-            ")\n"
-        )   << "Field type does not correspond to patch type for patch "
+        FatalErrorInFunction
+            << "Field type does not correspond to patch type for patch "
             << this->patch().index() << "." << endl
             << "Field type: " << typeName << endl
             << "Patch type: " << this->patch().type()
diff --git a/src/OpenFOAM/fields/pointPatchFields/constraint/symmetryPlane/symmetryPlanePointPatchField.C b/src/OpenFOAM/fields/pointPatchFields/constraint/symmetryPlane/symmetryPlanePointPatchField.C
index b91c965e92e..c988248e2ea 100644
--- a/src/OpenFOAM/fields/pointPatchFields/constraint/symmetryPlane/symmetryPlanePointPatchField.C
+++ b/src/OpenFOAM/fields/pointPatchFields/constraint/symmetryPlane/symmetryPlanePointPatchField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -57,14 +57,8 @@ symmetryPlanePointPatchField<Type>::symmetryPlanePointPatchField
 {
     if (!isType<symmetryPlanePointPatch>(p))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "symmetryPlanePointPatchField<Type>::symmetryPlanePointPatchField\n"
-            "(\n"
-            "    const pointPatch& p,\n"
-            "    const Field<Type>& field,\n"
-            "    const dictionary& dict\n"
-            ")\n",
             dict
         )   << "patch " << this->patch().index() << " not symmetry type. "
             << "Patch type = " << p.type()
@@ -87,16 +81,8 @@ symmetryPlanePointPatchField<Type>::symmetryPlanePointPatchField
 {
     if (!isType<symmetryPlanePointPatch>(this->patch()))
     {
-        FatalErrorIn
-        (
-            "symmetryPlanePointPatchField<Type>::symmetryPlanePointPatchField\n"
-            "(\n"
-            "    const symmetryPlanePointPatchField<Type>& ptf,\n"
-            "    const pointPatch& p,\n"
-            "    const DimensionedField<Type, pointMesh>& iF,\n"
-            "    const pointPatchFieldMapper& mapper\n"
-            ")\n"
-        )   << "Field type does not correspond to patch type for patch "
+        FatalErrorInFunction
+            << "Field type does not correspond to patch type for patch "
             << this->patch().index() << "." << endl
             << "Field type: " << typeName << endl
             << "Patch type: " << this->patch().type()
diff --git a/src/OpenFOAM/fields/pointPatchFields/constraint/wedge/wedgePointPatchField.C b/src/OpenFOAM/fields/pointPatchFields/constraint/wedge/wedgePointPatchField.C
index 447c7771cd3..52e55ef0ccf 100644
--- a/src/OpenFOAM/fields/pointPatchFields/constraint/wedge/wedgePointPatchField.C
+++ b/src/OpenFOAM/fields/pointPatchFields/constraint/wedge/wedgePointPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -52,14 +52,8 @@ Foam::wedgePointPatchField<Type>::wedgePointPatchField
 {
     if (!isType<wedgePointPatch>(p))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "wedgePointPatchField<Type>::wedgePointPatchField\n"
-            "(\n"
-            "    const pointPatch& p,\n"
-            "    const Field<Type>& field,\n"
-            "    const dictionary& dict\n"
-            ")\n",
             dict
         )   << "patch " << this->patch().index() << " not wedge type. "
             << "Patch type = " << p.type()
@@ -81,16 +75,8 @@ Foam::wedgePointPatchField<Type>::wedgePointPatchField
 {
     if (!isType<wedgePointPatch>(this->patch()))
     {
-        FatalErrorIn
-        (
-            "wedgePointPatchField<Type>::wedgePointPatchField\n"
-            "(\n"
-            "    const wedgePointPatchField<Type>& ptf,\n"
-            "    const pointPatch& p,\n"
-            "    const DimensionedField<Type, pointMesh>& iF,\n"
-            "    const pointPatchFieldMapper& mapper\n"
-            ")\n"
-        )   << "Field type does not correspond to patch type for patch "
+        FatalErrorInFunction
+            << "Field type does not correspond to patch type for patch "
             << this->patch().index() << "." << endl
             << "Field type: " << typeName << endl
             << "Patch type: " << this->patch().type()
diff --git a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.C b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.C
index be4b10dfd8f..64daf799fd1 100644
--- a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.C
+++ b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -146,12 +146,8 @@ tmp<Field<Type1> > pointPatchField<Type>::patchInternalField
     // Check size
     if (iF.size() != internalField().size())
     {
-        FatalErrorIn
-        (
-            "tmp<Field<Type1> > pointPatchField<"
-            "Type>::"
-            "patchInternalField(const Field<Type1>& iF) const"
-        )   << "given internal field does not correspond to the mesh. "
+        FatalErrorInFunction
+            << "given internal field does not correspond to the mesh. "
             << "Field size: " << iF.size()
             << " mesh size: " << internalField().size()
             << abort(FatalError);
@@ -183,12 +179,8 @@ void pointPatchField<Type>::addToInternalField
     // Check size
     if (iF.size() != internalField().size())
     {
-        FatalErrorIn
-        (
-            "void pointPatchField<Type>::"
-            "addToInternalField("
-            "Field<Type1>& iF, const Field<Type1>& iF) const"
-        )   << "given internal field does not correspond to the mesh. "
+        FatalErrorInFunction
+            << "given internal field does not correspond to the mesh. "
             << "Field size: " << iF.size()
             << " mesh size: " << internalField().size()
             << abort(FatalError);
@@ -196,12 +188,8 @@ void pointPatchField<Type>::addToInternalField
 
     if (pF.size() != size())
     {
-        FatalErrorIn
-        (
-            "void pointPatchField<Type>::"
-            "addToInternalField("
-            "Field<Type1>& iF, const Field<Type1>& iF) const"
-        )   << "given patch field does not correspond to the mesh. "
+        FatalErrorInFunction
+            << "given patch field does not correspond to the mesh. "
             << "Field size: " << pF.size()
             << " mesh size: " << size()
             << abort(FatalError);
@@ -229,12 +217,8 @@ void pointPatchField<Type>::addToInternalField
     // Check size
     if (iF.size() != internalField().size())
     {
-        FatalErrorIn
-        (
-            "void pointPatchField<Type>::"
-            "addToInternalField("
-            "Field<Type1>& iF, const Field<Type1>& iF, const labelList&) const"
-        )   << "given internal field does not correspond to the mesh. "
+        FatalErrorInFunction
+            << "given internal field does not correspond to the mesh. "
             << "Field size: " << iF.size()
             << " mesh size: " << internalField().size()
             << abort(FatalError);
@@ -242,12 +226,8 @@ void pointPatchField<Type>::addToInternalField
 
     if (pF.size() != size())
     {
-        FatalErrorIn
-        (
-            "void pointPatchField<Type>::"
-            "addToInternalField("
-            "Field<Type1>& iF, const Field<Type1>& iF, const labelList&) const"
-        )   << "given patch field does not correspond to the mesh. "
+        FatalErrorInFunction
+            << "given patch field does not correspond to the mesh. "
             << "Field size: " << pF.size()
             << " mesh size: " << size()
             << abort(FatalError);
@@ -276,12 +256,8 @@ void pointPatchField<Type>::setInInternalField
     // Check size
     if (iF.size() != internalField().size())
     {
-        FatalErrorIn
-        (
-            "void pointPatchField<Type>::"
-            "setInInternalField("
-            "Field<Type1>& iF, const Field<Type1>& iF) const"
-        )   << "given internal field does not correspond to the mesh. "
+        FatalErrorInFunction
+            << "given internal field does not correspond to the mesh. "
             << "Field size: " << iF.size()
             << " mesh size: " << internalField().size()
             << abort(FatalError);
@@ -289,12 +265,8 @@ void pointPatchField<Type>::setInInternalField
 
     if (pF.size() != meshPoints.size())
     {
-        FatalErrorIn
-        (
-            "void pointPatchField<Type>::"
-            "setInInternalField("
-            "Field<Type1>& iF, const Field<Type1>& iF) const"
-        )   << "given patch field does not correspond to the meshPoints. "
+        FatalErrorInFunction
+            << "given patch field does not correspond to the meshPoints. "
             << "Field size: " << pF.size()
             << " meshPoints size: " << size()
             << abort(FatalError);
diff --git a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchFieldNew.C b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchFieldNew.C
index 50a2105deed..25f955bbcea 100644
--- a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchFieldNew.C
+++ b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchFieldNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         |2011 OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -48,11 +48,8 @@ Foam::autoPtr<Foam::pointPatchField<Type> > Foam::pointPatchField<Type>::New
 
     if (cstrIter == pointPatchConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "PointPatchField<Type>::New"
-            "(const word&, const word&, const pointPatch&, const Field<Type>&)"
-        )   << "Unknown patchFieldType type "
+        FatalErrorInFunction
+            << "Unknown patchFieldType type "
             << patchFieldType << nl << nl
             << "Valid patchField types are :" << endl
             << pointPatchConstructorTablePtr_->sortedToc()
@@ -75,12 +72,8 @@ Foam::autoPtr<Foam::pointPatchField<Type> > Foam::pointPatchField<Type>::New
 
             if (patchTypeCstrIter == pointPatchConstructorTablePtr_->end())
             {
-                FatalErrorIn
-                (
-                    "PointPatchField<Type>::New"
-                    "(const word&, const word&"
-                    ", const pointPatch&, const Field<Type>&)"
-                )   << "inconsistent patch and patchField types for \n"
+                FatalErrorInFunction
+                    << "inconsistent patch and patchField types for \n"
                     << "    patch type " << p.type()
                     << " and patchField type " << patchFieldType
                     << exit(FatalError);
@@ -143,10 +136,8 @@ Foam::autoPtr<Foam::pointPatchField<Type> > Foam::pointPatchField<Type>::New
 
         if (cstrIter == dictionaryConstructorTablePtr_->end())
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "PointPatchField<Type>::"
-                "New(const pointPatch&, const Field<Type>&, const dictionary&)",
                 dict
             )   << "Unknown patchField type " << patchFieldType
                 << " for patch type " << p.type() << nl << nl
@@ -178,10 +169,8 @@ Foam::autoPtr<Foam::pointPatchField<Type> > Foam::pointPatchField<Type>::New
 
             if (patchTypeCstrIter == dictionaryConstructorTablePtr_->end())
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "PointPatchField<Type>const pointPatch&, "
-                    "const Field<Type>&, const dictionary&)",
                     dict
                 )   << "inconsistent patch and patchField types for \n"
                     << "    patch type " << p.type()
@@ -223,16 +212,8 @@ Foam::autoPtr<Foam::pointPatchField<Type> > Foam::pointPatchField<Type>::New
 
     if (cstrIter == patchMapperConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "PointPatchField<Type>::New"
-            "("
-            "const pointPatchField<Type>&, "
-            "const pointPatch&, "
-            "const DimensionedField<Type, pointMesh>&, "
-            "const pointPatchFieldMapper&"
-            ")"
-        )   << "Unknown patchField type "
+        FatalErrorInFunction
+            << "Unknown patchField type "
             << ptf.type() << nl << nl
             << "Valid patchField types are :" << endl
             << patchMapperConstructorTablePtr_->sortedToc()
diff --git a/src/OpenFOAM/global/JobInfo/JobInfo.C b/src/OpenFOAM/global/JobInfo/JobInfo.C
index 1857d92c8d9..a37ae7613af 100644
--- a/src/OpenFOAM/global/JobInfo/JobInfo.C
+++ b/src/OpenFOAM/global/JobInfo/JobInfo.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -59,21 +59,21 @@ Foam::JobInfo::JobInfo()
 
         if (baseDir.empty())
         {
-            FatalErrorIn("JobInfo::JobInfo()")
+            FatalErrorInFunction
                 << "Cannot get JobInfo directory $FOAM_JOB_DIR"
                 << Foam::exit(FatalError);
         }
 
         if (!isDir(runningDir) && !mkDir(runningDir))
         {
-            FatalErrorIn("JobInfo::JobInfo()")
+            FatalErrorInFunction
                 << "Cannot make JobInfo directory " << runningDir
                 << Foam::exit(FatalError);
         }
 
         if (!isDir(finishedDir) && !mkDir(finishedDir))
         {
-            FatalErrorIn("JobInfo::JobInfo()")
+            FatalErrorInFunction
                 << "Cannot make JobInfo directory " << finishedDir
                 << Foam::exit(FatalError);
         }
@@ -125,7 +125,7 @@ void Foam::JobInfo::write() const
     {
         if (!write(OFstream(runningJobPath_)()))
         {
-            FatalErrorIn("JobInfo::write() const")
+            FatalErrorInFunction
                 << "Failed to write to JobInfo file "
                 << runningJobPath_
                 << Foam::exit(FatalError);
diff --git a/src/OpenFOAM/graph/graph.C b/src/OpenFOAM/graph/graph.C
index 0ec122dcc32..a7698a20f45 100644
--- a/src/OpenFOAM/graph/graph.C
+++ b/src/OpenFOAM/graph/graph.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -138,7 +138,7 @@ const Foam::scalarField& Foam::graph::y() const
 {
     if (size() != 1)
     {
-        FatalErrorIn("const scalarField& graph::y() const")
+        FatalErrorInFunction
             << "y field requested for graph containing " << size()
             << "ys" << exit(FatalError);
     }
@@ -151,7 +151,7 @@ Foam::scalarField& Foam::graph::y()
 {
     if (size() != 1)
     {
-        FatalErrorIn("scalarField& graph::y()")
+        FatalErrorInFunction
             << "y field requested for graph containing " << size()
             << "ys" << exit(FatalError);
     }
@@ -167,10 +167,8 @@ Foam::autoPtr<Foam::graph::writer> Foam::graph::writer::New
 {
     if (!wordConstructorTablePtr_)
     {
-        FatalErrorIn
-        (
-            "graph::writer::New(const word&)"
-        )   << "Graph writer table is empty"
+        FatalErrorInFunction
+            << "Graph writer table is empty"
             << exit(FatalError);
     }
 
@@ -179,10 +177,8 @@ Foam::autoPtr<Foam::graph::writer> Foam::graph::writer::New
 
     if (cstrIter == wordConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "graph::writer::New(const word&)"
-        )   << "Unknown graph format " << graphFormat
+        FatalErrorInFunction
+            << "Unknown graph format " << graphFormat
             << endl << endl
             << "Valid graph formats are : " << endl
             << wordConstructorTablePtr_->sortedToc()
@@ -240,7 +236,7 @@ void Foam::graph::write(const fileName& pName, const word& format) const
     }
     else
     {
-        WarningIn("graph::write(const word& format, const fileName& dir)")
+        WarningInFunction
             << "Could not open graph file " << graphFile.name()
             << endl;
     }
diff --git a/src/OpenFOAM/interpolations/interpolation2DTable/interpolation2DTable.C b/src/OpenFOAM/interpolations/interpolation2DTable/interpolation2DTable.C
index 98dd6f524a6..cfe912888bc 100644
--- a/src/OpenFOAM/interpolations/interpolation2DTable/interpolation2DTable.C
+++ b/src/OpenFOAM/interpolations/interpolation2DTable/interpolation2DTable.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -39,10 +39,8 @@ void Foam::interpolation2DTable<Type>::readTable()
 
     if (this->empty())
     {
-        FatalErrorIn
-        (
-            "Foam::interpolation2DTable<Type>::readTable()"
-        )   << "table read from " << fName << " is empty" << nl
+        FatalErrorInFunction
+            << "table read from " << fName << " is empty" << nl
             << exit(FatalError);
     }
 
@@ -136,28 +134,16 @@ Type Foam::interpolation2DTable<Type>::interpolateValue
         {
             case interpolation2DTable::ERROR:
             {
-                FatalErrorIn
-                (
-                    "Foam::interpolation2DTable<Type>::interpolateValue"
-                    "("
-                        "List<Tuple2<scalar, Type> >&, "
-                        "const scalar"
-                    ")"
-                )   << "value (" << lookupValue << ") less than lower "
+                FatalErrorInFunction
+                    << "value (" << lookupValue << ") less than lower "
                     << "bound (" << minLimit << ")" << nl
                     << exit(FatalError);
                 break;
             }
             case interpolation2DTable::WARN:
             {
-                WarningIn
-                (
-                    "Foam::interpolation2DTable<Type>::interpolateValue"
-                    "("
-                        "List<Tuple2<scalar, Type> >&, "
-                        "const scalar"
-                    ")"
-                )   << "value (" << lookupValue << ") less than lower "
+                WarningInFunction
+                    << "value (" << lookupValue << ") less than lower "
                     << "bound (" << minLimit << ")" << nl
                     << "    Continuing with the first entry"
                     << endl;
@@ -176,28 +162,16 @@ Type Foam::interpolation2DTable<Type>::interpolateValue
         {
             case interpolation2DTable::ERROR:
             {
-                FatalErrorIn
-                (
-                    "Foam::interpolation2DTable<Type>::interpolateValue"
-                    "("
-                        "List<Tuple2<scalar, Type> >&, "
-                        "const scalar"
-                    ")"
-                )   << "value (" << lookupValue << ") greater than upper "
+                FatalErrorInFunction
+                    << "value (" << lookupValue << ") greater than upper "
                     << "bound (" << maxLimit << ")" << nl
                     << exit(FatalError);
                 break;
             }
             case interpolation2DTable::WARN:
             {
-                WarningIn
-                (
-                    "Foam::interpolation2DTable<Type>::interpolateValue"
-                    "("
-                        "List<Tuple2<scalar, Type> >&, "
-                        "const scalar"
-                    ")"
-                )   << "value (" << lookupValue << ") greater than upper "
+                WarningInFunction
+                    << "value (" << lookupValue << ") greater than upper "
                     << "bound (" << maxLimit << ")" << nl
                     << "    Continuing with the last entry"
                     << endl;
@@ -267,28 +241,15 @@ Foam::label Foam::interpolation2DTable<Type>::Xi
         {
             case interpolation2DTable::ERROR:
             {
-                FatalErrorIn
-                (
-                    "Foam::label Foam::interpolation2DTable<Type>::Xi"
-                    "("
-                        "const BinaryOp&, "
-                        "const scalar, "
-                        "const bool"
-                    ") const"
-                )   << "value (" << valueX << ") out of bounds"
+                FatalErrorInFunction
+                    << "value (" << valueX << ") out of bounds"
                     << exit(FatalError);
                 break;
             }
             case interpolation2DTable::WARN:
             {
-                WarningIn
-                (
-                    "Foam::label Foam::interpolation2DTable<Type>::Xi"
-                    "("
-                        "const BinaryOp&, "
-                        "const scalar, "
-                        "const bool"
-                )   << "value (" << valueX << ") out of bounds"
+                WarningInFunction
+                    << "value (" << valueX << ") out of bounds"
                     << endl;
                 // fall-through to 'CLAMP'
             }
@@ -298,15 +259,7 @@ Foam::label Foam::interpolation2DTable<Type>::Xi
             }
             default:
             {
-                FatalErrorIn
-                (
-                    "Foam::label Foam::interpolation2DTable<Type>::Xi"
-                    "("
-                        "const BinaryOp&, "
-                        "const scalar, "
-                        "const bool"
-                    ") const"
-                )
+                FatalErrorInFunction
                     << "Un-handled enumeration " << boundsHandling_
                     << abort(FatalError);
             }
@@ -352,14 +305,7 @@ Type Foam::interpolation2DTable<Type>::operator()
 
     if (nX == 0)
     {
-        WarningIn
-        (
-            "Type Foam::interpolation2DTable<Type>::operator()"
-            "("
-                "const scalar, "
-                "const scalar"
-            ") const"
-        )
+        WarningInFunction
             << "cannot interpolate a zero-sized table - returning zero" << endl;
 
         return pTraits<Type>::zero;
@@ -450,13 +396,8 @@ Foam::interpolation2DTable<Type>::wordToBoundsHandling
     }
     else
     {
-        WarningIn
-        (
-            "Foam::interpolation2DTable<Type>::wordToBoundsHandling"
-            "("
-            "    const word&"
-            ")"
-        )   << "bad outOfBounds specifier " << bound << " using 'warn'" << endl;
+        WarningInFunction
+            << "bad outOfBounds specifier " << bound << " using 'warn'" << endl;
 
         return interpolation2DTable::WARN;
     }
@@ -491,10 +432,8 @@ void Foam::interpolation2DTable<Type>::checkOrder() const
         // avoid duplicate values (divide-by-zero error)
         if (currValue <= prevValue)
         {
-            FatalErrorIn
-            (
-                "Foam::interpolation2DTable<Type>::checkOrder() const"
-            )   << "out-of-order value: "
+            FatalErrorInFunction
+                << "out-of-order value: "
                 << currValue << " at index " << i << nl
                 << exit(FatalError);
         }
diff --git a/src/OpenFOAM/interpolations/interpolationLookUpTable/interpolationLookUpTable.C b/src/OpenFOAM/interpolations/interpolationLookUpTable/interpolationLookUpTable.C
index 8159b62c9e8..a0ee1691880 100644
--- a/src/OpenFOAM/interpolations/interpolationLookUpTable/interpolationLookUpTable.C
+++ b/src/OpenFOAM/interpolations/interpolationLookUpTable/interpolationLookUpTable.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -217,10 +217,8 @@ void Foam::interpolationLookUpTable<Type>::readTable
 
     if (this->size() == 0)
     {
-        FatalErrorIn
-        (
-            "Foam::interpolationLookUpTable<Type>::readTable()"
-        )   << "table is empty" << nl << exit(FatalError);
+        FatalErrorInFunction
+            << "table is empty" << nl << exit(FatalError);
     }
 }
 
@@ -324,10 +322,8 @@ void Foam::interpolationLookUpTable<Type>::check() const
         // avoid duplicate values (divide-by-zero error)
         if (currValue <= prevValue)
         {
-            FatalErrorIn
-            (
-                "Foam::interpolationLookUpTable<Type>::checkOrder() const"
-            )   << "out-of-order value: " << currValue
+            FatalErrorInFunction
+                << "out-of-order value: " << currValue
                 << " at index " << index << nl << exit(FatalError);
         }
         prevValue = currValue;
@@ -366,10 +362,8 @@ void Foam::interpolationLookUpTable<Type>::write
 
     if (this->size() == 0)
     {
-        FatalErrorIn
-        (
-            "Foam::interpolationTable<Type>::write()"
-        )   << "table is empty" << nl << exit(FatalError);
+        FatalErrorInFunction
+            << "table is empty" << nl << exit(FatalError);
     }
     os.writeKeyword("values")
         << *this << token::END_STATEMENT << nl;
@@ -386,24 +380,18 @@ Foam::interpolationLookUpTable<Type>::operator[](const label i)
 
     if (n <= 1)
     {
-        FatalErrorIn
-        (
-            "Foam::interpolationLookUpTable<Type>::operator[](const label)"
-        )   << "table has (" << n << ") columns" << nl << exit(FatalError);
+        FatalErrorInFunction
+            << "table has (" << n << ") columns" << nl << exit(FatalError);
     }
     else if (i < 0)
     {
-        FatalErrorIn
-        (
-            "Foam::interpolationLookUpTable<Type>::operator[](const label)"
-        )   << "index (" << i << ") underflow" << nl << exit(FatalError);
+        FatalErrorInFunction
+            << "index (" << i << ") underflow" << nl << exit(FatalError);
     }
     else if (i >= n)
     {
-        FatalErrorIn
-        (
-            "Foam::interpolationLookUpTable<Type>::operator[](const label)"
-        )   << "index (" << i << ") overflow" << nl << exit(FatalError);
+        FatalErrorInFunction
+            << "index (" << i << ") overflow" << nl << exit(FatalError);
     }
 
     return List<scalarField>::operator[](i);
@@ -418,27 +406,18 @@ Foam::interpolationLookUpTable<Type>::operator[](const label i) const
 
     if (n <= 1)
     {
-        FatalErrorIn
-        (
-            "Foam::interpolationLookUpTable<Type>::operator[]"
-            "(const label) const"
-        )   << "table has (" << n << ") columns" << nl << exit(FatalError);
+        FatalErrorInFunction
+            << "table has (" << n << ") columns" << nl << exit(FatalError);
     }
     else if (i < 0)
     {
-        FatalErrorIn
-        (
-            "Foam::interpolationLookUpTable<Type>::operator[]"
-            "(const label) const"
-        )   << "index (" << i << ") underflow" << nl << exit(FatalError);
+        FatalErrorInFunction
+            << "index (" << i << ") underflow" << nl << exit(FatalError);
     }
     else if (i >= n)
     {
-        FatalErrorIn
-        (
-            "Foam::interpolationLookUpTable<Type>::operator[]"
-            "(const label) const"
-        )   << "index (" << i << ") overflow" << nl
+        FatalErrorInFunction
+            << "index (" << i << ") overflow" << nl
             << exit(FatalError);
     }
 
diff --git a/src/OpenFOAM/interpolations/interpolationTable/interpolationTable.C b/src/OpenFOAM/interpolations/interpolationTable/interpolationTable.C
index 5e890954981..4fd0b074832 100644
--- a/src/OpenFOAM/interpolations/interpolationTable/interpolationTable.C
+++ b/src/OpenFOAM/interpolations/interpolationTable/interpolationTable.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -43,10 +43,8 @@ void Foam::interpolationTable<Type>::readTable()
 
     if (this->empty())
     {
-        FatalErrorIn
-        (
-            "Foam::interpolationTable<Type>::readTable()"
-        )   << "table read from " << fName << " is empty" << nl
+        FatalErrorInFunction
+            << "table read from " << fName << " is empty" << nl
             << exit(FatalError);
     }
 
@@ -183,10 +181,8 @@ Foam::interpolationTable<Type>::wordToBoundsHandling
     }
     else
     {
-        WarningIn
-        (
-            "Foam::interpolationTable<Type>::wordToBoundsHandling(const word&)"
-        )   << "bad outOfBounds specifier " << bound << " using 'warn'" << endl;
+        WarningInFunction
+            << "bad outOfBounds specifier " << bound << " using 'warn'" << endl;
 
         return interpolationTable::WARN;
     }
@@ -220,10 +216,8 @@ void Foam::interpolationTable<Type>::check() const
         // avoid duplicate values (divide-by-zero error)
         if (currValue <= prevValue)
         {
-            FatalErrorIn
-            (
-                "Foam::interpolationTable<Type>::checkOrder() const"
-            )   << "out-of-order value: "
+            FatalErrorInFunction
+                << "out-of-order value: "
                 << currValue << " at index " << i << nl
                 << exit(FatalError);
         }
@@ -267,21 +261,15 @@ Type Foam::interpolationTable<Type>::rateOfChange(const scalar value) const
         {
             case interpolationTable::ERROR:
             {
-                FatalErrorIn
-                (
-                    "Foam::interpolationTable<Type>::operator[]"
-                    "(const scalar) const"
-                )   << "value (" << lookupValue << ") underflow" << nl
+                FatalErrorInFunction
+                    << "value (" << lookupValue << ") underflow" << nl
                     << exit(FatalError);
                 break;
             }
             case interpolationTable::WARN:
             {
-                WarningIn
-                (
-                    "Foam::interpolationTable<Type>::operator[]"
-                    "(const scalar) const"
-                )   << "value (" << lookupValue << ") underflow" << nl
+                WarningInFunction
+                    << "value (" << lookupValue << ") underflow" << nl
                     << "    Zero rate of change."
                     << endl;
                 // fall-through to 'CLAMP'
@@ -306,21 +294,15 @@ Type Foam::interpolationTable<Type>::rateOfChange(const scalar value) const
         {
             case interpolationTable::ERROR:
             {
-                FatalErrorIn
-                (
-                    "Foam::interpolationTable<Type>::operator[]"
-                    "(const label) const"
-                )   << "value (" << lookupValue << ") overflow" << nl
+                FatalErrorInFunction
+                    << "value (" << lookupValue << ") overflow" << nl
                     << exit(FatalError);
                 break;
             }
             case interpolationTable::WARN:
             {
-                WarningIn
-                (
-                    "Foam::interpolationTable<Type>::operator[]"
-                    "(const label) const"
-                )   << "value (" << lookupValue << ") overflow" << nl
+                WarningInFunction
+                    << "value (" << lookupValue << ") overflow" << nl
                     << "    Zero rate of change."
                     << endl;
                 // fall-through to 'CLAMP'
@@ -421,21 +403,15 @@ Foam::interpolationTable<Type>::operator[](const label i) const
         {
             case interpolationTable::ERROR:
             {
-                FatalErrorIn
-                (
-                    "Foam::interpolationTable<Type>::operator[]"
-                    "(const label) const"
-                )   << "index (" << ii << ") underflow" << nl
+                FatalErrorInFunction
+                    << "index (" << ii << ") underflow" << nl
                     << exit(FatalError);
                 break;
             }
             case interpolationTable::WARN:
             {
-                WarningIn
-                (
-                    "Foam::interpolationTable<Type>::operator[]"
-                    "(const label) const"
-                )   << "index (" << ii << ") underflow" << nl
+                WarningInFunction
+                    << "index (" << ii << ") underflow" << nl
                     << "    Continuing with the first entry"
                     << endl;
                 // fall-through to 'CLAMP'
@@ -461,21 +437,15 @@ Foam::interpolationTable<Type>::operator[](const label i) const
         {
             case interpolationTable::ERROR:
             {
-                FatalErrorIn
-                (
-                    "Foam::interpolationTable<Type>::operator[]"
-                    "(const label) const"
-                )   << "index (" << ii << ") overflow" << nl
+                FatalErrorInFunction
+                    << "index (" << ii << ") overflow" << nl
                     << exit(FatalError);
                 break;
             }
             case interpolationTable::WARN:
             {
-                WarningIn
-                (
-                    "Foam::interpolationTable<Type>::operator[]"
-                    "(const label) const"
-                )   << "index (" << ii << ") overflow" << nl
+                WarningInFunction
+                    << "index (" << ii << ") overflow" << nl
                     << "    Continuing with the last entry"
                     << endl;
                 // fall-through to 'CLAMP'
@@ -520,21 +490,15 @@ Type Foam::interpolationTable<Type>::operator()(const scalar value) const
         {
             case interpolationTable::ERROR:
             {
-                FatalErrorIn
-                (
-                    "Foam::interpolationTable<Type>::operator[]"
-                    "(const scalar) const"
-                )   << "value (" << lookupValue << ") underflow" << nl
+                FatalErrorInFunction
+                    << "value (" << lookupValue << ") underflow" << nl
                     << exit(FatalError);
                 break;
             }
             case interpolationTable::WARN:
             {
-                WarningIn
-                (
-                    "Foam::interpolationTable<Type>::operator[]"
-                    "(const scalar) const"
-                )   << "value (" << lookupValue << ") underflow" << nl
+                WarningInFunction
+                    << "value (" << lookupValue << ") underflow" << nl
                     << "    Continuing with the first entry"
                     << endl;
                 // fall-through to 'CLAMP'
@@ -559,21 +523,15 @@ Type Foam::interpolationTable<Type>::operator()(const scalar value) const
         {
             case interpolationTable::ERROR:
             {
-                FatalErrorIn
-                (
-                    "Foam::interpolationTable<Type>::operator[]"
-                    "(const label) const"
-                )   << "value (" << lookupValue << ") overflow" << nl
+                FatalErrorInFunction
+                    << "value (" << lookupValue << ") overflow" << nl
                     << exit(FatalError);
                 break;
             }
             case interpolationTable::WARN:
             {
-                WarningIn
-                (
-                    "Foam::interpolationTable<Type>::operator[]"
-                    "(const label) const"
-                )   << "value (" << lookupValue << ") overflow" << nl
+                WarningInFunction
+                    << "value (" << lookupValue << ") overflow" << nl
                     << "    Continuing with the last entry"
                     << endl;
                 // fall-through to 'CLAMP'
diff --git a/src/OpenFOAM/interpolations/interpolationTable/tableReaders/csv/csvTableReader.C b/src/OpenFOAM/interpolations/interpolationTable/tableReaders/csv/csvTableReader.C
index dff79beefd3..8f544c0709b 100644
--- a/src/OpenFOAM/interpolations/interpolationTable/tableReaders/csv/csvTableReader.C
+++ b/src/OpenFOAM/interpolations/interpolationTable/tableReaders/csv/csvTableReader.C
@@ -40,7 +40,7 @@ Foam::csvTableReader<Type>::csvTableReader(const dictionary& dict)
 {
     if (componentColumns_.size() != pTraits<Type>::nComponents)
     {
-        FatalErrorIn("csvTableReader<Type>::csvTableReader(const dictionary&)")
+        FatalErrorInFunction
             << componentColumns_ << " does not have the expected length "
             << pTraits<Type>::nComponents << endl
             << exit(FatalError);
@@ -65,10 +65,8 @@ namespace Foam
     {
         if (componentColumns_[0] >= splitted.size())
         {
-            FatalErrorIn
-            (
-                "csvTableReader<scalar>::readValue(const List<string>&)"
-            )   << "No column " << componentColumns_[0] << " in "
+            FatalErrorInFunction
+                << "No column " << componentColumns_[0] << " in "
                 << splitted << endl
                 << exit(FatalError);
         }
@@ -86,10 +84,8 @@ namespace Foam
         {
             if (componentColumns_[i] >= splitted.size())
             {
-                FatalErrorIn
-                (
-                    "csvTableReader<Type>::readValue(const List<string>&)"
-                )   << "No column " << componentColumns_[i] << " in "
+                FatalErrorInFunction
+                    << "No column " << componentColumns_[i] << " in "
                     << splitted << endl
                     << exit(FatalError);
             }
diff --git a/src/OpenFOAM/interpolations/interpolationTable/tableReaders/tableReader.C b/src/OpenFOAM/interpolations/interpolationTable/tableReaders/tableReader.C
index b33ee3eae2c..cd27159ec64 100644
--- a/src/OpenFOAM/interpolations/interpolationTable/tableReaders/tableReader.C
+++ b/src/OpenFOAM/interpolations/interpolationTable/tableReaders/tableReader.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -45,10 +45,8 @@ Foam::autoPtr<Foam::tableReader<Type> > Foam::tableReader<Type>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "tableReader::New(const dictionary&)"
-        )   << "Unknown reader type " << readerType
+        FatalErrorInFunction
+            << "Unknown reader type " << readerType
             << nl << nl
             << "Valid reader types : " << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/OpenFOAM/interpolations/interpolationWeights/interpolationWeights/interpolationWeights.C b/src/OpenFOAM/interpolations/interpolationWeights/interpolationWeights/interpolationWeights.C
index 779f134de37..39bfb0bcc3f 100644
--- a/src/OpenFOAM/interpolations/interpolationWeights/interpolationWeights/interpolationWeights.C
+++ b/src/OpenFOAM/interpolations/interpolationWeights/interpolationWeights/interpolationWeights.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -59,7 +59,7 @@ autoPtr<interpolationWeights> interpolationWeights::New
 {
     if (debug)
     {
-        InfoIn("interpolationWeights::New")
+        InfoInFunction
             << "Selecting interpolationWeights "
             << type << endl;
     }
@@ -69,11 +69,8 @@ autoPtr<interpolationWeights> interpolationWeights::New
 
     if (cstrIter == wordConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "interpolationWeights::New(const word&, "
-            "const scalarField&)"
-        )   << "Unknown interpolationWeights type "
+        FatalErrorInFunction
+            << "Unknown interpolationWeights type "
             << type
             << endl << endl
             << "Valid interpolationWeights types are :" << endl
diff --git a/src/OpenFOAM/interpolations/interpolationWeights/linearInterpolationWeights/linearInterpolationWeights.C b/src/OpenFOAM/interpolations/interpolationWeights/linearInterpolationWeights/linearInterpolationWeights.C
index 89497fba376..0e40660fd8e 100644
--- a/src/OpenFOAM/interpolations/interpolationWeights/linearInterpolationWeights/linearInterpolationWeights.C
+++ b/src/OpenFOAM/interpolations/interpolationWeights/linearInterpolationWeights/linearInterpolationWeights.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -58,7 +58,7 @@ Foam::Pair<Foam::scalar> linearInterpolationWeights::integrationWeights
 
     if (s < -SMALL || s > 1+SMALL)
     {
-        FatalErrorIn("linearInterpolationWeights::integrationWeights(..)")
+        FatalErrorInFunction
             << "Value " << t << " outside range " << samples_[i]
             << " .. " << samples_[i+1]
             << exit(FatalError);
@@ -161,7 +161,7 @@ bool linearInterpolationWeights::integrationWeights
 {
     if (t2 < t1-VSMALL)
     {
-        FatalErrorIn("linearInterpolationWeights::integrationWeights(..)")
+        FatalErrorInFunction
             << "Integration should be in positive direction."
             <<  " t1:" << t1 << " t2:" << t2
             << exit(FatalError);
@@ -177,7 +177,7 @@ bool linearInterpolationWeights::integrationWeights
     // For now just fail if any outside table
     if (i1 == -1 || i2 == samples_.size()-1)
     {
-        FatalErrorIn("linearInterpolationWeights::integrationWeights(..)")
+        FatalErrorInFunction
             << "Integrating outside table " << samples_[0] << ".."
             << samples_.last() << " not implemented."
             << " t1:" << t1 << " t2:" << t2 << exit(FatalError);
diff --git a/src/OpenFOAM/interpolations/patchToPatchInterpolation/PatchToPatchInterpolate.C b/src/OpenFOAM/interpolations/patchToPatchInterpolation/PatchToPatchInterpolate.C
index 8431a2ec0e0..b4242b23056 100644
--- a/src/OpenFOAM/interpolations/patchToPatchInterpolation/PatchToPatchInterpolate.C
+++ b/src/OpenFOAM/interpolations/patchToPatchInterpolation/PatchToPatchInterpolate.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,11 +44,8 @@ PatchToPatchInterpolation<FromPatch, ToPatch>::pointInterpolate
 {
     if (pf.size() != fromPatch_.nPoints())
     {
-        FatalErrorIn
-        (
-            "PatchToPatchInterpolation::pointInterpolate"
-            "(const Field<Type> pf)"
-        )   << "given field does not correspond to patch. Patch size: "
+        FatalErrorInFunction
+            << "given field does not correspond to patch. Patch size: "
             << fromPatch_.nPoints() << " field size: " << pf.size()
             << abort(FatalError);
     }
@@ -116,11 +113,8 @@ PatchToPatchInterpolation<FromPatch, ToPatch>::faceInterpolate
 {
     if (ff.size() != fromPatch_.size())
     {
-        FatalErrorIn
-        (
-            "PatchToPatchInterpolation::faceInterpolate"
-            "(const Field<Type> ff)"
-        )   << "given field does not correspond to patch. Patch size: "
+        FatalErrorInFunction
+            << "given field does not correspond to patch. Patch size: "
             << fromPatch_.size() << " field size: " << ff.size()
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/interpolations/patchToPatchInterpolation/PatchToPatchInterpolation.H b/src/OpenFOAM/interpolations/patchToPatchInterpolation/PatchToPatchInterpolation.H
index 4da75b1d198..b8b282fa826 100644
--- a/src/OpenFOAM/interpolations/patchToPatchInterpolation/PatchToPatchInterpolation.H
+++ b/src/OpenFOAM/interpolations/patchToPatchInterpolation/PatchToPatchInterpolation.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -174,11 +174,7 @@ public:
         {
             if (t < -VSMALL)
             {
-                FatalErrorIn
-                (
-                    "scalar PatchToPatchInterpolation::"
-                    "setProjectionTol(const scalar t)"
-                )   << "Negative projection tolerance.  This is not allowed."
+                FatalErrorInFunction
                     << abort(FatalError);
             }
 
diff --git a/src/OpenFOAM/interpolations/primitivePatchInterpolation/PrimitivePatchInterpolation.C b/src/OpenFOAM/interpolations/primitivePatchInterpolation/PrimitivePatchInterpolation.C
index 6f09c755d04..bfd3b4a6d6d 100644
--- a/src/OpenFOAM/interpolations/primitivePatchInterpolation/PrimitivePatchInterpolation.C
+++ b/src/OpenFOAM/interpolations/primitivePatchInterpolation/PrimitivePatchInterpolation.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -52,10 +52,8 @@ void PrimitivePatchInterpolation<Patch>::makeFaceToPointWeights() const
 {
     if (faceToPointWeightsPtr_)
     {
-        FatalErrorIn
-        (
-            "PrimitivePatchInterpolation<Patch>::makeFaceToPointWeights() const"
-        )   << "Face-to-edge weights already calculated"
+        FatalErrorInFunction
+            << "Face-to-edge weights already calculated"
             << abort(FatalError);
     }
 
@@ -110,10 +108,8 @@ void PrimitivePatchInterpolation<Patch>::makeFaceToEdgeWeights() const
 {
     if (faceToEdgeWeightsPtr_)
     {
-        FatalErrorIn
-        (
-            "PrimitivePatchInterpolation<Patch>::makeFaceToEdgeWeights() const"
-        )   << "Face-to-edge weights already calculated"
+        FatalErrorInFunction
+            << "Face-to-edge weights already calculated"
             << abort(FatalError);
     }
 
@@ -182,11 +178,8 @@ tmp<Field<Type> > PrimitivePatchInterpolation<Patch>::faceToPointInterpolate
     // Check size of the given field
     if (ff.size() != patch_.size())
     {
-        FatalErrorIn
-        (
-            "tmp<Field<Type> > PrimitivePatchInterpolation::"
-            "faceToPointInterpolate(const Field<Type> ff)"
-        )   << "given field does not correspond to patch. Patch size: "
+        FatalErrorInFunction
+            << "given field does not correspond to patch. Patch size: "
             << patch_.size() << " field size: " << ff.size()
             << abort(FatalError);
     }
@@ -241,11 +234,8 @@ tmp<Field<Type> > PrimitivePatchInterpolation<Patch>::pointToFaceInterpolate
 {
     if (pf.size() != patch_.nPoints())
     {
-        FatalErrorIn
-        (
-            "tmp<Field<Type> > PrimitivePatchInterpolation::"
-            "pointToFaceInterpolate(const Field<Type> pf)"
-        )   << "given field does not correspond to patch. Patch size: "
+        FatalErrorInFunction
+            << "given field does not correspond to patch. Patch size: "
             << patch_.nPoints() << " field size: " << pf.size()
             << abort(FatalError);
     }
@@ -302,11 +292,8 @@ tmp<Field<Type> > PrimitivePatchInterpolation<Patch>::faceToEdgeInterpolate
     // Check size of the given field
     if (pf.size() != patch_.size())
     {
-        FatalErrorIn
-        (
-            "tmp<Field<Type> > PrimitivePatchInterpolation::"
-            "faceToEdgeInterpolate(const Field<Type> ff)"
-        )   << "given field does not correspond to patch. Patch size: "
+        FatalErrorInFunction
+            << "given field does not correspond to patch. Patch size: "
             << patch_.size() << " field size: " << pf.size()
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/interpolations/uniformInterpolationTable/uniformInterpolationTable.C b/src/OpenFOAM/interpolations/uniformInterpolationTable/uniformInterpolationTable.C
index e150c64c6a0..3ceb1a19ed1 100644
--- a/src/OpenFOAM/interpolations/uniformInterpolationTable/uniformInterpolationTable.C
+++ b/src/OpenFOAM/interpolations/uniformInterpolationTable/uniformInterpolationTable.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -33,7 +33,7 @@ void Foam::uniformInterpolationTable<Type>::checkTable() const
 {
     if (size() < 2)
     {
-        FatalErrorIn("uniformInterpolationTable<Type>::checkTable()")
+        FatalErrorInFunction
             << "Table " << name() << ": must have at least 2 values." << nl
             << "Table size = " << size() << nl
             << "    min, interval width = " << x0_ << ", " << dx_ << nl
@@ -149,20 +149,16 @@ Type Foam::uniformInterpolationTable<Type>::interpolate(scalar x) const
     {
         if (x < x0_)
         {
-            FatalErrorIn
-            (
-                "uniformInterpolationTable<Type>::interpolate(scalar x)"
-            )   << "Supplied value is less than minimum table value:" << nl
+            FatalErrorInFunction
+                << "Supplied value is less than minimum table value:" << nl
                 << "xMin=" << x0_ << ", xMax=" << xMax() << ", x=" << x << nl
                 << exit(FatalError);
         }
 
         if (x > xMax())
         {
-            FatalErrorIn
-            (
-                "uniformInterpolationTable<Type>::interpolate(scalar x)"
-            )   << "Supplied value is greater than maximum table value:" << nl
+            FatalErrorInFunction
+                << "Supplied value is greater than maximum table value:" << nl
                 << "xMin=" << x0_ << ", xMax=" << xMax() << ", x=" << x << nl
                 << exit(FatalError);
         }
@@ -204,10 +200,8 @@ Type Foam::uniformInterpolationTable<Type>::interpolateLog10
         }
         else
         {
-            FatalErrorIn
-            (
-                "uniformInterpolationTable<Type>::interpolateLog10(scalar x)"
-            )   << "Table " << name() << nl
+            FatalErrorInFunction
+                << "Table " << name() << nl
                 << "Supplied value must be greater than 0 when in log10 mode"
                 << nl << "x=" << x << nl << exit(FatalError);
         }
diff --git a/src/OpenFOAM/matrices/LUscalarMatrix/LUscalarMatrix.C b/src/OpenFOAM/matrices/LUscalarMatrix/LUscalarMatrix.C
index 5179b5ca3c0..b5e37d441ba 100644
--- a/src/OpenFOAM/matrices/LUscalarMatrix/LUscalarMatrix.C
+++ b/src/OpenFOAM/matrices/LUscalarMatrix/LUscalarMatrix.C
@@ -352,7 +352,7 @@ void Foam::LUscalarMatrix::convert
 
                 if (neiInterfacei == -1)
                 {
-                    FatalErrorIn("LUscalarMatrix::convert") << exit(FatalError);
+                    FatalErrorInFunction << exit(FatalError);
                 }
 
                 const procLduInterface& neiInterface =
diff --git a/src/OpenFOAM/matrices/LUscalarMatrix/procLduInterface.C b/src/OpenFOAM/matrices/LUscalarMatrix/procLduInterface.C
index 23ee38b3924..32fabd34291 100644
--- a/src/OpenFOAM/matrices/LUscalarMatrix/procLduInterface.C
+++ b/src/OpenFOAM/matrices/LUscalarMatrix/procLduInterface.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -58,11 +58,8 @@ Foam::procLduInterface::procLduInterface
     }
     else
     {
-        FatalErrorIn
-        (
-            "procLduInterface::procLduInterface"
-            "(const lduInterfaceField&, const scalarField&"
-        )   << "Unknown lduInterface type "
+        FatalErrorInFunction
+            << "Unknown lduInterface type "
             << interface.interface().type()
             << exit(FatalError);
     }
diff --git a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.C b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.C
index fb131308b37..8c3d6a79c2a 100644
--- a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.C
+++ b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -261,10 +261,8 @@ const Foam::Field<DType>& Foam::LduMatrix<Type, DType, LUType>::diag() const
 {
     if (!diagPtr_)
     {
-        FatalErrorIn
-        (
-            "const Field<DType>& LduMatrix<Type, DType, LUType>::diag() const"
-        )   << "diagPtr_ unallocated"
+        FatalErrorInFunction
+            << "diagPtr_ unallocated"
             << abort(FatalError);
     }
 
@@ -277,10 +275,8 @@ const Foam::Field<LUType>& Foam::LduMatrix<Type, DType, LUType>::upper() const
 {
     if (!lowerPtr_ && !upperPtr_)
     {
-        FatalErrorIn
-        (
-            "const Field<LUType>& LduMatrix<Type, DType, LUType>::upper() const"
-        )   << "lowerPtr_ or upperPtr_ unallocated"
+        FatalErrorInFunction
+            << "lowerPtr_ or upperPtr_ unallocated"
             << abort(FatalError);
     }
 
@@ -300,10 +296,8 @@ const Foam::Field<LUType>& Foam::LduMatrix<Type, DType, LUType>::lower() const
 {
     if (!lowerPtr_ && !upperPtr_)
     {
-        FatalErrorIn
-        (
-            "const Field<LUType>& LduMatrix<Type, DType, LUType>::lower() const"
-        )   << "lowerPtr_ or upperPtr_ unallocated"
+        FatalErrorInFunction
+            << "lowerPtr_ or upperPtr_ unallocated"
             << abort(FatalError);
     }
 
@@ -323,10 +317,8 @@ const Foam::Field<Type>& Foam::LduMatrix<Type, DType, LUType>::source() const
 {
     if (!sourcePtr_)
     {
-        FatalErrorIn
-        (
-            "const Field<Type>& LduMatrix<Type, DType, LUType>::source() const"
-        )   << "sourcePtr_ unallocated"
+        FatalErrorInFunction
+            << "sourcePtr_ unallocated"
             << abort(FatalError);
     }
 
diff --git a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixOperations.C b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixOperations.C
index 321f1f71f86..3685bbe20d2 100644
--- a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixOperations.C
+++ b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixOperations.C
@@ -168,10 +168,8 @@ void Foam::LduMatrix<Type, DType, LUType>::operator=(const LduMatrix& A)
 {
     if (this == &A)
     {
-        FatalErrorIn
-        (
-            "LduMatrix<Type, DType, LUType>::operator=(const LduMatrix&)"
-        )   << "attempted assignment to self"
+        FatalErrorInFunction
+            << "attempted assignment to self"
             << abort(FatalError);
     }
 
@@ -305,10 +303,8 @@ void Foam::LduMatrix<Type, DType, LUType>::operator+=(const LduMatrix& A)
     }
     else
     {
-        FatalErrorIn
-        (
-            "LduMatrix<Type, DType, LUType>::operator+=(const LduMatrix& A)"
-        )   << "Unknown matrix type combination"
+        FatalErrorInFunction
+            << "Unknown matrix type combination"
             << abort(FatalError);
     }
 
@@ -384,10 +380,8 @@ void Foam::LduMatrix<Type, DType, LUType>::operator-=(const LduMatrix& A)
     }
     else
     {
-        FatalErrorIn
-        (
-            "LduMatrix<Type, DType, LUType>::operator-=(const LduMatrix& A)"
-        )   << "Unknown matrix type combination"
+        FatalErrorInFunction
+            << "Unknown matrix type combination"
             << abort(FatalError);
     }
 
@@ -433,10 +427,8 @@ void Foam::LduMatrix<Type, DType, LUType>::operator*=
         }
     }
 
-    FatalErrorIn
-    (
-        "LduMatrix<Type, DType, LUType>::operator*=(const scalarField& sf)"
-    )   << "Scaling a matrix by scalarField is not currently supported\n"
+    FatalErrorInFunction
+        << "Scaling a matrix by scalarField is not currently supported\n"
            "because scaling interfacesUpper_ and interfacesLower_ "
            "require special transfers"
         << abort(FatalError);
diff --git a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixUpdateMatrixInterfaces.C b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixUpdateMatrixInterfaces.C
index d3d8de20a01..b068e474815 100644
--- a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixUpdateMatrixInterfaces.C
+++ b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixUpdateMatrixInterfaces.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -85,7 +85,7 @@ void Foam::LduMatrix<Type, DType, LUType>::initMatrixInterfaces
     }
     else
     {
-        FatalErrorIn("LduMatrix<Type, DType, LUType>::initMatrixInterfaces")
+        FatalErrorInFunction
             << "Unsuported communications type "
             << Pstream::commsTypeNames[Pstream::defaultCommsType]
             << exit(FatalError);
@@ -189,7 +189,7 @@ void Foam::LduMatrix<Type, DType, LUType>::updateMatrixInterfaces
     }
     else
     {
-        FatalErrorIn("LduMatrix<Type, DType, LUType>::updateMatrixInterfaces")
+        FatalErrorInFunction
             << "Unsuported communications type "
             << Pstream::commsTypeNames[Pstream::defaultCommsType]
             << exit(FatalError);
diff --git a/src/OpenFOAM/matrices/Matrix/Matrix.C b/src/OpenFOAM/matrices/Matrix/Matrix.C
index 0f4abf36984..ec6aba8a09a 100644
--- a/src/OpenFOAM/matrices/Matrix/Matrix.C
+++ b/src/OpenFOAM/matrices/Matrix/Matrix.C
@@ -67,7 +67,7 @@ Foam::Matrix<Form, Type>::Matrix(const label n, const label m)
 {
     if (n_ < 0 || m_ < 0)
     {
-        FatalErrorIn("Matrix<Form, Type>::Matrix(const label n, const label m)")
+        FatalErrorInFunction
             << "bad n, m " << n_ << ", " << m_
             << abort(FatalError);
     }
@@ -85,10 +85,8 @@ Foam::Matrix<Form, Type>::Matrix(const label n, const label m, const Type& a)
 {
     if (n_ < 0 || m_ < 0)
     {
-        FatalErrorIn
-        (
-            "Matrix<Form, Type>::Matrix(const label n, const label m, const T&)"
-        )   << "bad n, m " << n_ << ", " << m_
+        FatalErrorInFunction
+            << "bad n, m " << n_ << ", " << m_
             << abort(FatalError);
     }
 
@@ -202,7 +200,7 @@ void Foam::Matrix<Form, Type>::operator=(const Matrix<Form, Type>& a)
 {
     if (this == &a)
     {
-        FatalErrorIn("Matrix<Form, Type>::operator=(const Matrix<Form, Type>&)")
+        FatalErrorInFunction
             << "attempted assignment to self"
             << abort(FatalError);
     }
@@ -253,7 +251,7 @@ const Type& Foam::max(const Matrix<Form, Type>& a)
     }
     else
     {
-        FatalErrorIn("max(const Matrix<Form, Type>&)")
+        FatalErrorInFunction
             << "matrix is empty"
             << abort(FatalError);
 
@@ -285,7 +283,7 @@ const Type& Foam::min(const Matrix<Form, Type>& a)
     }
     else
     {
-        FatalErrorIn("min(const Matrix<Form, Type>&)")
+        FatalErrorInFunction
             << "matrix is empty"
             << abort(FatalError);
 
@@ -323,22 +321,16 @@ Form Foam::operator+(const Matrix<Form, Type>& a, const Matrix<Form, Type>& b)
 {
     if (a.n() != b.n())
     {
-        FatalErrorIn
-        (
-            "Matrix<Form, Type>::operator+"
-            "(const Matrix<Form, Type>&, const Matrix<Form, Type>&)"
-        )   << "attempted add matrices with different number of rows: "
+        FatalErrorInFunction
+            << "attempted add matrices with different number of rows: "
             << a.n() << ", " << b.n()
             << abort(FatalError);
     }
 
     if (a.m() != b.m())
     {
-        FatalErrorIn
-        (
-            "Matrix<Form, Type>::operator+"
-            "(const Matrix<Form, Type>&, const Matrix<Form, Type>&)"
-        )   << "attempted add matrices with different number of columns: "
+        FatalErrorInFunction
+            << "attempted add matrices with different number of columns: "
             << a.m() << ", " << b.m()
             << abort(FatalError);
     }
@@ -364,22 +356,16 @@ Form Foam::operator-(const Matrix<Form, Type>& a, const Matrix<Form, Type>& b)
 {
     if (a.n() != b.n())
     {
-        FatalErrorIn
-        (
-            "Matrix<Form, Type>::operator-"
-            "(const Matrix<Form, Type>&, const Matrix<Form, Type>&)"
-        )   << "attempted add matrices with different number of rows: "
+        FatalErrorInFunction
+            << "attempted add matrices with different number of rows: "
             << a.n() << ", " << b.n()
             << abort(FatalError);
     }
 
     if (a.m() != b.m())
     {
-        FatalErrorIn
-        (
-            "Matrix<Form, Type>::operator-"
-            "(const Matrix<Form, Type>&, const Matrix<Form, Type>&)"
-        )   << "attempted add matrices with different number of columns: "
+        FatalErrorInFunction
+            << "attempted add matrices with different number of columns: "
             << a.m() << ", " << b.m()
             << abort(FatalError);
     }
@@ -426,11 +412,8 @@ Form Foam::operator*(const Matrix<Form, Type>& a, const Matrix<Form, Type>& b)
 {
     if (a.m() != b.n())
     {
-        FatalErrorIn
-        (
-            "Matrix<Form, Type>::operator*"
-            "(const Matrix<Form, Type>&, const Matrix<Form, Type>&)"
-        )   << "attempted to multiply incompatible matrices:" << nl
+        FatalErrorInFunction
+            << "attempted to multiply incompatible matrices:" << nl
             << "Matrix A : " << a.n() << " rows, " << a.m() << " columns" << nl
             << "Matrix B : " << b.n() << " rows, " << b.m() << " columns" << nl
             << "In order to multiply matrices, columns of A must equal "
diff --git a/src/OpenFOAM/matrices/Matrix/MatrixI.H b/src/OpenFOAM/matrices/Matrix/MatrixI.H
index 5b99b0d094a..ccffa5c3db5 100644
--- a/src/OpenFOAM/matrices/Matrix/MatrixI.H
+++ b/src/OpenFOAM/matrices/Matrix/MatrixI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -78,13 +78,13 @@ inline void Foam::Matrix<Form, Type>::checki(const label i) const
 {
     if (!n_)
     {
-        FatalErrorIn("Matrix<Form, Type>::checki(const label)")
+        FatalErrorInFunction
             << "attempt to access element from zero sized row"
             << abort(FatalError);
     }
     else if (i<0 || i>=n_)
     {
-        FatalErrorIn("Matrix<Form, Type>::checki(const label)")
+        FatalErrorInFunction
             << "index " << i << " out of range 0 ... " << n_-1
             << abort(FatalError);
     }
@@ -96,13 +96,13 @@ inline void Foam::Matrix<Form, Type>::checkj(const label j) const
 {
     if (!m_)
     {
-        FatalErrorIn("Matrix<Form, Type>::checkj(const label)")
+        FatalErrorInFunction
             << "attempt to access element from zero sized column"
             << abort(FatalError);
     }
     else if (j<0 || j>=m_)
     {
-        FatalErrorIn("Matrix<Form, Type>::checkj(const label)")
+        FatalErrorInFunction
             << "index " << j << " out of range 0 ... " << m_-1
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/matrices/SquareMatrix/SquareMatrixI.H b/src/OpenFOAM/matrices/SquareMatrix/SquareMatrixI.H
index aed773e4646..243d31904e3 100644
--- a/src/OpenFOAM/matrices/SquareMatrix/SquareMatrixI.H
+++ b/src/OpenFOAM/matrices/SquareMatrix/SquareMatrixI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,10 +44,8 @@ inline Foam::SquareMatrix<Type>::SquareMatrix(const label m, const label n)
 {
     if (m != n)
     {
-        FatalErrorIn
-        (
-            "SquareMatrix<Type>::SquareMatrix(const label m, const label n)"
-        ) << "m != n for constructing a square matrix" << exit(FatalError);
+        FatalErrorInFunction
+          << "m != n for constructing a square matrix" << exit(FatalError);
     }
 }
 
@@ -63,11 +61,8 @@ inline Foam::SquareMatrix<Type>::SquareMatrix
 {
     if (m != n)
     {
-        FatalErrorIn
-        (
-            "SquareMatrix<Type>::SquareMatrix"
-            "(const label m, const label n, const Type&)"
-        ) << "m != n for constructing a square matrix" << exit(FatalError);
+        FatalErrorInFunction
+          << "m != n for constructing a square matrix" << exit(FatalError);
     }
 }
 
diff --git a/src/OpenFOAM/matrices/SymmetricSquareMatrix/SymmetricSquareMatrixI.H b/src/OpenFOAM/matrices/SymmetricSquareMatrix/SymmetricSquareMatrixI.H
index 1dee0ab9d08..b067cc2669b 100644
--- a/src/OpenFOAM/matrices/SymmetricSquareMatrix/SymmetricSquareMatrixI.H
+++ b/src/OpenFOAM/matrices/SymmetricSquareMatrix/SymmetricSquareMatrixI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -50,11 +50,8 @@ inline Foam::SymmetricSquareMatrix<Type>::SymmetricSquareMatrix
 {
     if (m != n)
     {
-        FatalErrorIn
-        (
-            "SymmetricSquareMatrix<Type>::SymmetricSquareMatrix"
-            "(const label m, const label n)"
-        )   << "m != n for constructing a symmetric square matrix"
+        FatalErrorInFunction
+            << "m != n for constructing a symmetric square matrix"
             << exit(FatalError);
     }
 }
@@ -72,11 +69,8 @@ inline Foam::SymmetricSquareMatrix<Type>::SymmetricSquareMatrix
 {
     if (m != n)
     {
-        FatalErrorIn
-        (
-            "SymmetricSquareMatrix<Type>::SymmetricSquareMatrix"
-            "(const label m, const label n, const Type&)"
-        )   << "m != n for constructing a symmetric square matrix"
+        FatalErrorInFunction
+            << "m != n for constructing a symmetric square matrix"
             << exit(FatalError);
     }
 }
diff --git a/src/OpenFOAM/matrices/lduMatrix/lduAddressing/lduAddressing.C b/src/OpenFOAM/matrices/lduMatrix/lduAddressing/lduAddressing.C
index 401a3cfa760..b7cb0153c50 100644
--- a/src/OpenFOAM/matrices/lduMatrix/lduAddressing/lduAddressing.C
+++ b/src/OpenFOAM/matrices/lduMatrix/lduAddressing/lduAddressing.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -33,7 +33,7 @@ void Foam::lduAddressing::calcLosort() const
 {
     if (losortPtr_)
     {
-        FatalErrorIn("lduAddressing::calcLosort() const")
+        FatalErrorInFunction
             << "losort already calculated"
             << abort(FatalError);
     }
@@ -94,7 +94,7 @@ void Foam::lduAddressing::calcOwnerStart() const
 {
     if (ownerStartPtr_)
     {
-        FatalErrorIn("lduAddressing::calcOwnerStart() const")
+        FatalErrorInFunction
             << "owner start already calculated"
             << abort(FatalError);
     }
@@ -131,7 +131,7 @@ void Foam::lduAddressing::calcLosortStart() const
 {
     if (losortStartPtr_)
     {
-        FatalErrorIn("lduAddressing::calcLosortStart() const")
+        FatalErrorInFunction
             << "losort start already calculated"
             << abort(FatalError);
     }
@@ -238,10 +238,8 @@ Foam::label Foam::lduAddressing::triIndex(const label a, const label b) const
 
     // If neighbour has not been found, something has gone seriously
     // wrong with the addressing mechanism
-    FatalErrorIn
-    (
-        "lduAddressing::triIndex(const label owner, const label nbr) const"
-    )   << "neighbour " << nbr << " not found for owner " << own << ". "
+    FatalErrorInFunction
+        << "neighbour " << nbr << " not found for owner " << own << ". "
         << "Problem with addressing"
         << abort(FatalError);
 
diff --git a/src/OpenFOAM/matrices/lduMatrix/lduAddressing/lduInterface/processorLduInterfaceTemplates.C b/src/OpenFOAM/matrices/lduMatrix/lduAddressing/lduInterface/processorLduInterfaceTemplates.C
index c0ca614a131..645c1de157e 100644
--- a/src/OpenFOAM/matrices/lduMatrix/lduAddressing/lduInterface/processorLduInterfaceTemplates.C
+++ b/src/OpenFOAM/matrices/lduMatrix/lduAddressing/lduInterface/processorLduInterfaceTemplates.C
@@ -79,7 +79,7 @@ void Foam::processorLduInterface::send
     }
     else
     {
-        FatalErrorIn("processorLduInterface::send")
+        FatalErrorInFunction
             << "Unsupported communications type " << commsType
             << exit(FatalError);
     }
@@ -111,7 +111,7 @@ void Foam::processorLduInterface::receive
     }
     else
     {
-        FatalErrorIn("processorLduInterface::receive")
+        FatalErrorInFunction
             << "Unsupported communications type " << commsType
             << exit(FatalError);
     }
@@ -196,7 +196,7 @@ void Foam::processorLduInterface::compressedSend
         }
         else
         {
-            FatalErrorIn("processorLduInterface::compressedSend")
+            FatalErrorInFunction
                 << "Unsupported communications type " << commsType
                 << exit(FatalError);
         }
@@ -238,7 +238,7 @@ void Foam::processorLduInterface::compressedReceive
         }
         else if (commsType != Pstream::nonBlocking)
         {
-            FatalErrorIn("processorLduInterface::compressedReceive")
+            FatalErrorInFunction
                 << "Unsupported communications type " << commsType
                 << exit(FatalError);
         }
diff --git a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.C b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.C
index b8bc5c930c5..1f22e238e0b 100644
--- a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.C
+++ b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -260,7 +260,7 @@ const Foam::scalarField& Foam::lduMatrix::lower() const
 {
     if (!lowerPtr_ && !upperPtr_)
     {
-        FatalErrorIn("lduMatrix::lower() const")
+        FatalErrorInFunction
             << "lowerPtr_ or upperPtr_ unallocated"
             << abort(FatalError);
     }
@@ -280,7 +280,7 @@ const Foam::scalarField& Foam::lduMatrix::diag() const
 {
     if (!diagPtr_)
     {
-        FatalErrorIn("const scalarField& lduMatrix::diag() const")
+        FatalErrorInFunction
             << "diagPtr_ unallocated"
             << abort(FatalError);
     }
@@ -293,7 +293,7 @@ const Foam::scalarField& Foam::lduMatrix::upper() const
 {
     if (!lowerPtr_ && !upperPtr_)
     {
-        FatalErrorIn("lduMatrix::upper() const")
+        FatalErrorInFunction
             << "lowerPtr_ or upperPtr_ unallocated"
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixTemplates.C b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixTemplates.C
index afa02c02314..a473b2d6371 100644
--- a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixTemplates.C
+++ b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixTemplates.C
@@ -100,7 +100,7 @@ Foam::lduMatrix::faceH(const Field<Type>& psi) const
     }
     else
     {
-        FatalErrorIn("lduMatrix::faceH(const Field<Type>& psi) const")
+        FatalErrorInFunction
             << "Cannot calculate faceH"
                " the matrix does not have any off-diagonal coefficients."
             << exit(FatalError);
diff --git a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixUpdateMatrixInterfaces.C b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixUpdateMatrixInterfaces.C
index f40b23dc873..36db4b5f0fc 100644
--- a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixUpdateMatrixInterfaces.C
+++ b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixUpdateMatrixInterfaces.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -85,7 +85,7 @@ void Foam::lduMatrix::initMatrixInterfaces
     }
     else
     {
-        FatalErrorIn("lduMatrix::initMatrixInterfaces(..)")
+        FatalErrorInFunction
             << "Unsuported communications type "
             << Pstream::commsTypeNames[Pstream::defaultCommsType]
             << exit(FatalError);
@@ -258,7 +258,7 @@ void Foam::lduMatrix::updateMatrixInterfaces
     }
     else
     {
-        FatalErrorIn("lduMatrix::updateMatrixInterfaces(..)")
+        FatalErrorInFunction
             << "Unsuported communications type "
             << Pstream::commsTypeNames[Pstream::defaultCommsType]
             << exit(FatalError);
diff --git a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomerateLduAddressing.C b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomerateLduAddressing.C
index ce076177ed8..eb640e20100 100644
--- a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomerateLduAddressing.C
+++ b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomerateLduAddressing.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -47,17 +47,14 @@ void Foam::GAMGAgglomeration::agglomerateLduAddressing
 
     if (min(restrictMap) == -1)
     {
-        FatalErrorIn("GAMGAgglomeration::agglomerateLduAddressing")
+        FatalErrorInFunction
             << "min(restrictMap) == -1" << exit(FatalError);
     }
 
     if (restrictMap.size() != fineMeshAddr.size())
     {
-        FatalErrorIn
-        (
-            "GAMGAgglomeration::agglomerateLduAddressing"
-            "(const label fineLevelIndex)"
-        )   << "restrict map does not correspond to fine level. " << endl
+        FatalErrorInFunction
+            << "restrict map does not correspond to fine level. " << endl
             << " Sizes: restrictMap: " << restrictMap.size()
             << " nEqns: " << fineMeshAddr.size()
             << abort(FatalError);
@@ -232,7 +229,7 @@ void Foam::GAMGAgglomeration::agglomerateLduAddressing
             }
             else
             {
-                FatalErrorIn("GAMGAgglomeration::agglomerateLduAddressing(..)")
+                FatalErrorInFunction
                     << "problem."
                     << " fineFacei:" << fineFacei
                     << " rmUpperAddr:" << rmUpperAddr
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 6f5e4649afd..076bca07df7 100644
--- a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomeration.C
+++ b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomeration.C
@@ -302,11 +302,8 @@ const Foam::GAMGAgglomeration& Foam::GAMGAgglomeration::New
 
         if (cstrIter == lduMeshConstructorTablePtr_->end())
         {
-            FatalErrorIn
-            (
-                "GAMGAgglomeration::New"
-                "(const lduMesh& mesh, const dictionary& controlDict)"
-            )   << "Unknown GAMGAgglomeration type "
+            FatalErrorInFunction
+                << "Unknown GAMGAgglomeration type "
                 << agglomeratorType << ".\n"
                 << "Valid matrix GAMGAgglomeration types are :"
                 << lduMatrixConstructorTablePtr_->sortedToc() << endl
@@ -406,12 +403,8 @@ Foam::autoPtr<Foam::GAMGAgglomeration> Foam::GAMGAgglomeration::New
 
     if (cstrIter == geometryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "GAMGAgglomeration::New"
-            "(const lduMesh& mesh, const scalarField&"
-            ", const vectorField&, const dictionary& controlDict)"
-        )   << "Unknown GAMGAgglomeration type "
+        FatalErrorInFunction
+            << "Unknown GAMGAgglomeration type "
             << agglomeratorType << ".\n"
             << "Valid geometric GAMGAgglomeration types are :"
             << geometryConstructorTablePtr_->sortedToc()
@@ -581,10 +574,8 @@ bool Foam::GAMGAgglomeration::checkRestriction
 {
     if (fineAddressing.size() != restrict.size())
     {
-        FatalErrorIn
-        (
-            "checkRestriction(..)"
-        )   << "nCells:" << fineAddressing.size()
+        FatalErrorInFunction
+            << "nCells:" << fineAddressing.size()
             << " agglom:" << restrict.size()
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomerationTemplates.C b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomerationTemplates.C
index e5d45cf24a6..645fee617d2 100644
--- a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomerationTemplates.C
+++ b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomerationTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -103,12 +103,8 @@ void Foam::GAMGAgglomeration::restrictField
 
     if (!procAgglom && ff.size() != fineToCoarse.size())
     {
-        FatalErrorIn
-        (
-            "void GAMGAgglomeration::restrictField"
-            "(Field<Type>& cf, const Field<Type>& ff, "
-            "const label fineLevelIndex) const"
-        )   << "field does not correspond to level " << fineLevelIndex
+        FatalErrorInFunction
+            << "field does not correspond to level " << fineLevelIndex
             << " sizes: field = " << ff.size()
             << " level = " << fineToCoarse.size()
             << abort(FatalError);
@@ -150,12 +146,8 @@ void Foam::GAMGAgglomeration::restrictFaceField
 
     if (ff.size() != fineToCoarse.size())
     {
-        FatalErrorIn
-        (
-            "void GAMGAgglomeration::restrictFaceField"
-            "(Field<Type>& cf, const Field<Type>& ff, "
-            "const label fineLevelIndex) const"
-        )   << "field does not correspond to level " << fineLevelIndex
+        FatalErrorInFunction
+            << "field does not correspond to level " << fineLevelIndex
             << " sizes: field = " << ff.size()
             << " level = " << fineToCoarse.size()
             << abort(FatalError);
diff --git a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGProcAgglomerations/GAMGProcAgglomeration/GAMGProcAgglomeration.C b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGProcAgglomerations/GAMGProcAgglomeration/GAMGProcAgglomeration.C
index 1e34da34b3d..9233d11cfc3 100644
--- a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGProcAgglomerations/GAMGProcAgglomeration/GAMGProcAgglomeration.C
+++ b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGProcAgglomerations/GAMGProcAgglomeration/GAMGProcAgglomeration.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -369,11 +369,8 @@ Foam::autoPtr<Foam::GAMGProcAgglomeration> Foam::GAMGProcAgglomeration::New
 
     if (cstrIter == GAMGAgglomerationConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "GAMGProcAgglomeration::New(const word&, GAMGAgglomeration&"
-            ", const dictionary&) "
-        )   << "Unknown GAMGProcAgglomeration type "
+        FatalErrorInFunction
+            << "Unknown GAMGProcAgglomeration type "
             << type << " for GAMGAgglomeration " << agglom.type() << nl << nl
             << "Valid GAMGProcAgglomeration types are :" << endl
             << GAMGAgglomerationConstructorTablePtr_->sortedToc()
diff --git a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGProcAgglomerations/manualGAMGProcAgglomeration/manualGAMGProcAgglomeration.C b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGProcAgglomerations/manualGAMGProcAgglomeration/manualGAMGProcAgglomeration.C
index c67ce2b18b9..4c64f2dbfae 100644
--- a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGProcAgglomerations/manualGAMGProcAgglomeration/manualGAMGProcAgglomeration.C
+++ b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGProcAgglomerations/manualGAMGProcAgglomeration/manualGAMGProcAgglomeration.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -91,7 +91,7 @@ bool Foam::manualGAMGProcAgglomeration::agglomerate()
 
             if (fineLevelIndex >= agglom_.size())
             {
-                WarningIn("manualGAMGProcAgglomeration::agglomerate()")
+                WarningInFunction
                     << "Ignoring specification for level " << fineLevelIndex
                     << " since outside agglomeration." << endl;
 
@@ -141,10 +141,8 @@ bool Foam::manualGAMGProcAgglomeration::agglomerate()
 
                         if (masterIndex == -1)
                         {
-                            FatalErrorIn
-                            (
-                                "manualGAMGProcAgglomeration::agglomerate()"
-                            )   << "At level " << fineLevelIndex
+                            FatalErrorInFunction
+                                << "At level " << fineLevelIndex
                                 << " the master processor "
                                 << coarseToMaster[coarseI]
                                 << " is not in the cluster "
@@ -165,10 +163,8 @@ bool Foam::manualGAMGProcAgglomeration::agglomerate()
                     // Check that we've done all processors
                     if (findIndex(procAgglomMap, -1) != -1)
                     {
-                        FatalErrorIn
-                        (
-                            "manualGAMGProcAgglomeration::agglomerate()"
-                        )   << "At level " << fineLevelIndex
+                        FatalErrorInFunction
+                            << "At level " << fineLevelIndex
                             << " processor "
                             << findIndex(procAgglomMap, -1)
                             << " is not in any cluster"
diff --git a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolver.C b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolver.C
index 6538689b267..a30b67c76a9 100644
--- a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolver.C
+++ b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolver.C
@@ -276,18 +276,8 @@ Foam::GAMGSolver::GAMGSolver
     }
     else
     {
-        FatalErrorIn
-        (
-            "GAMGSolver::GAMGSolver"
-            "("
-            "const word& fieldName,"
-            "const lduMatrix& matrix,"
-            "const FieldField<Field, scalar>& interfaceBouCoeffs,"
-            "const FieldField<Field, scalar>& interfaceIntCoeffs,"
-            "const lduInterfaceFieldPtrsList& interfaces,"
-            "const dictionary& solverControls"
-            ")"
-        )   << "No coarse levels created, either matrix too small for GAMG"
+        FatalErrorInFunction
+            << "No coarse levels created, either matrix too small for GAMG"
                " or nCellsInCoarsestLevel too large.\n"
                "    Either choose another solver of reduce "
                "nCellsInCoarsestLevel."
diff --git a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolverAgglomerateMatrix.C b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolverAgglomerateMatrix.C
index 1e096b2958e..d848394675c 100644
--- a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolverAgglomerateMatrix.C
+++ b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolverAgglomerateMatrix.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -664,7 +664,7 @@ void Foam::GAMGSolver::procAgglomerateMatrix
                         label allFaceI = map[i];
                         if (allFaceI < 0)
                         {
-                            FatalErrorIn("GAMGSolver::GAMGSolver()")
+                            FatalErrorInFunction
                                 << "problem." << abort(FatalError);
                         }
                         allBou[allFaceI] = procBou[i];
diff --git a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/interfaceFields/GAMGInterfaceField/GAMGInterfaceFieldNew.C b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/interfaceFields/GAMGInterfaceField/GAMGInterfaceFieldNew.C
index 0407aa6051f..2a69e4dd00e 100644
--- a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/interfaceFields/GAMGInterfaceField/GAMGInterfaceFieldNew.C
+++ b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/interfaceFields/GAMGInterfaceField/GAMGInterfaceFieldNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -40,12 +40,8 @@ Foam::autoPtr<Foam::GAMGInterfaceField> Foam::GAMGInterfaceField::New
 
     if (cstrIter == lduInterfaceFieldConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "GAMGInterfaceField::New"
-            "(const GAMGInterface& GAMGCp, "
-            "const lduInterfaceField& fineInterface)"
-        )   << "Unknown GAMGInterfaceField type "
+        FatalErrorInFunction
+            << "Unknown GAMGInterfaceField type "
             << coupleType << nl
             << "Valid GAMGInterfaceField types are :"
             << lduInterfaceFieldConstructorTablePtr_->sortedToc()
@@ -70,11 +66,8 @@ Foam::autoPtr<Foam::GAMGInterfaceField> Foam::GAMGInterfaceField::New
 
     if (cstrIter == lduInterfaceConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "GAMGInterfaceField::New"
-            "(const word&, const GAMGInterface&, const bool, const int)"
-        )   << "Unknown GAMGInterfaceField type "
+        FatalErrorInFunction
+            << "Unknown GAMGInterfaceField type "
             << coupleType << nl
             << "Valid GAMGInterfaceField types are :"
             << lduInterfaceConstructorTablePtr_->sortedToc()
diff --git a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/interfaces/GAMGInterface/GAMGInterface.C b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/interfaces/GAMGInterface/GAMGInterface.C
index 5e4065fcf3d..cd30d03c75d 100644
--- a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/interfaces/GAMGInterface/GAMGInterface.C
+++ b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/interfaces/GAMGInterface/GAMGInterface.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -85,20 +85,16 @@ Foam::tmp<Foam::scalarField> Foam::GAMGInterface::agglomerateCoeffs
 
     if (fineCoeffs.size() != faceRestrictAddressing_.size())
     {
-        FatalErrorIn
-        (
-            "GAMGInterface::agglomerateCoeffs(const scalarField&) const"
-        )   << "Size of coefficients " << fineCoeffs.size()
+        FatalErrorInFunction
+            << "Size of coefficients " << fineCoeffs.size()
             << " does not correspond to the size of the restriction "
             << faceRestrictAddressing_.size()
             << abort(FatalError);
     }
     if (debug && max(faceRestrictAddressing_) > size())
     {
-        FatalErrorIn
-        (
-            "GAMGInterface::agglomerateCoeffs(const scalarField&) const"
-        )   << "Face restrict addressing addresses outside of coarse interface"
+        FatalErrorInFunction
+            << "Face restrict addressing addresses outside of coarse interface"
             << " size. Max addressing:" << max(faceRestrictAddressing_)
             << " coarse size:" << size()
             << abort(FatalError);
diff --git a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/interfaces/GAMGInterface/GAMGInterfaceNew.C b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/interfaces/GAMGInterface/GAMGInterfaceNew.C
index db7a362419c..5130ad12f84 100644
--- a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/interfaces/GAMGInterface/GAMGInterfaceNew.C
+++ b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/interfaces/GAMGInterface/GAMGInterfaceNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -48,13 +48,8 @@ Foam::autoPtr<Foam::GAMGInterface> Foam::GAMGInterface::New
 
     if (cstrIter == lduInterfaceConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "GAMGInterface::New"
-            "(const lduInterface& fineInterface, "
-            "const labelField& localRestrictAddressing, "
-            "const labelField& neighbourRestrictAddressing)"
-        )   << "Unknown GAMGInterface type " << coupleType << ".\n"
+        FatalErrorInFunction
+            << "Unknown GAMGInterface type " << coupleType << ".\n"
             << "Valid GAMGInterface types are :"
             << lduInterfaceConstructorTablePtr_->sortedToc()
             << exit(FatalError);
@@ -89,11 +84,8 @@ Foam::autoPtr<Foam::GAMGInterface> Foam::GAMGInterface::New
 
     if (cstrIter == IstreamConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "GAMGInterface::New"
-            "(const word&, const label, const lduInterfacePtrsList&, Istream&)"
-        )   << "Unknown GAMGInterface type " << coupleType << ".\n"
+        FatalErrorInFunction
+            << "Unknown GAMGInterface type " << coupleType << ".\n"
             << "Valid GAMGInterface types are :"
             << IstreamConstructorTablePtr_->sortedToc()
             << exit(FatalError);
diff --git a/src/OpenFOAM/matrices/scalarMatrices/scalarMatrices.C b/src/OpenFOAM/matrices/scalarMatrices/scalarMatrices.C
index 6db54a50da1..46f4a3ee1d6 100644
--- a/src/OpenFOAM/matrices/scalarMatrices/scalarMatrices.C
+++ b/src/OpenFOAM/matrices/scalarMatrices/scalarMatrices.C
@@ -66,11 +66,8 @@ void Foam::LUDecompose
 
         if (largestCoeff == 0.0)
         {
-            FatalErrorIn
-            (
-                "LUdecompose"
-                "(scalarSquareMatrix& matrix, labelList& rowIndices)"
-            )   << "Singular matrix" << exit(FatalError);
+            FatalErrorInFunction
+                << "Singular matrix" << exit(FatalError);
         }
 
         vv[i] = 1.0/largestCoeff;
@@ -187,7 +184,7 @@ void Foam::LUDecompose(scalarSymmetricSquareMatrix& matrix)
 
         if (d < 0.0)
         {
-            FatalErrorIn("Foam::LUDecompose(scalarSymmetricSquareMatrix&)")
+            FatalErrorInFunction
                 << "Matrix is not symmetric positive-definite. Unable to "
                 << "decompose."
                 << abort(FatalError);
@@ -210,28 +207,16 @@ void Foam::multiply
 {
     if (A.m() != B.n())
     {
-        FatalErrorIn
-        (
-            "multiply("
-            "const scalarRectangularMatrix& A, "
-            "const scalarRectangularMatrix& B, "
-            "const scalarRectangularMatrix& C, "
-            "scalarRectangularMatrix& answer)"
-        )   << "A and B must have identical inner dimensions but A.m = "
+        FatalErrorInFunction
+            << "A and B must have identical inner dimensions but A.m = "
             << A.m() << " and B.n = " << B.n()
             << abort(FatalError);
     }
 
     if (B.m() != C.n())
     {
-        FatalErrorIn
-        (
-            "multiply("
-            "const scalarRectangularMatrix& A, "
-            "const scalarRectangularMatrix& B, "
-            "const scalarRectangularMatrix& C, "
-            "scalarRectangularMatrix& answer)"
-        )   << "B and C must have identical inner dimensions but B.m = "
+        FatalErrorInFunction
+            << "B and C must have identical inner dimensions but B.m = "
             << B.m() << " and C.n = " << C.n()
             << abort(FatalError);
     }
@@ -266,28 +251,16 @@ void Foam::multiply
 {
     if (A.m() != B.size())
     {
-        FatalErrorIn
-        (
-            "multiply("
-            "const scalarRectangularMatrix& A, "
-            "const DiagonalMatrix<scalar>& B, "
-            "const scalarRectangularMatrix& C, "
-            "scalarRectangularMatrix& answer)"
-        )   << "A and B must have identical inner dimensions but A.m = "
+        FatalErrorInFunction
+            << "A and B must have identical inner dimensions but A.m = "
             << A.m() << " and B.n = " << B.size()
             << abort(FatalError);
     }
 
     if (B.size() != C.n())
     {
-        FatalErrorIn
-        (
-            "multiply("
-            "const scalarRectangularMatrix& A, "
-            "const DiagonalMatrix<scalar>& B, "
-            "const scalarRectangularMatrix& C, "
-            "scalarRectangularMatrix& answer)"
-        )   << "B and C must have identical inner dimensions but B.m = "
+        FatalErrorInFunction
+            << "B and C must have identical inner dimensions but B.m = "
             << B.size() << " and C.n = " << C.n()
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/matrices/scalarMatrices/scalarMatricesTemplates.C b/src/OpenFOAM/matrices/scalarMatrices/scalarMatricesTemplates.C
index fbf8db2685a..5f70c83b91e 100644
--- a/src/OpenFOAM/matrices/scalarMatrices/scalarMatricesTemplates.C
+++ b/src/OpenFOAM/matrices/scalarMatrices/scalarMatricesTemplates.C
@@ -68,7 +68,7 @@ void Foam::solve
         // Check that the system of equations isn't singular
         if (mag(tmpMatrix[i][i]) < 1e-20)
         {
-            FatalErrorIn("solve(scalarSquareMatrix&, Field<Type>& sourceSol)")
+            FatalErrorInFunction
                 << "Singular Matrix"
                 << exit(FatalError);
         }
@@ -245,13 +245,8 @@ void Foam::multiply
 {
     if (A.m() != B.n())
     {
-        FatalErrorIn
-        (
-            "multiply("
-            "Matrix<Form, Type>& answer "
-            "const Matrix<Form, Type>& A, "
-            "const Matrix<Form, Type>& B)"
-        )   << "A and B must have identical inner dimensions but A.m = "
+        FatalErrorInFunction
+            << "A and B must have identical inner dimensions but A.m = "
             << A.m() << " and B.n = " << B.n()
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/matrices/simpleMatrix/simpleMatrix.C b/src/OpenFOAM/matrices/simpleMatrix/simpleMatrix.C
index e9cb483fdd3..727db535d5b 100644
--- a/src/OpenFOAM/matrices/simpleMatrix/simpleMatrix.C
+++ b/src/OpenFOAM/matrices/simpleMatrix/simpleMatrix.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -101,21 +101,21 @@ void Foam::simpleMatrix<Type>::operator=(const simpleMatrix<Type>& m)
 {
     if (this == &m)
     {
-        FatalErrorIn("simpleMatrix<Type>::operator=(const simpleMatrix<Type>&)")
+        FatalErrorInFunction
             << "Attempted assignment to self"
             << abort(FatalError);
     }
 
     if (n() != m.n())
     {
-        FatalErrorIn("simpleMatrix<Type>::operator=(const simpleMatrix<Type>&)")
+        FatalErrorInFunction
             << "Different size matrices"
             << abort(FatalError);
     }
 
     if (source_.size() != m.source_.size())
     {
-        FatalErrorIn("simpleMatrix<Type>::operator=(const simpleMatrix<Type>&)")
+        FatalErrorInFunction
             << "Different size source vectors"
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/memory/autoPtr/autoPtrI.H b/src/OpenFOAM/memory/autoPtr/autoPtrI.H
index 3557ffc49b2..961456e5b89 100644
--- a/src/OpenFOAM/memory/autoPtr/autoPtrI.H
+++ b/src/OpenFOAM/memory/autoPtr/autoPtrI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -100,7 +100,7 @@ inline void Foam::autoPtr<T>::set(T* p)
 {
     if (ptr_)
     {
-        FatalErrorIn("void Foam::autoPtr<T>::set(T*)")
+        FatalErrorInFunction
             << "object of type " << typeid(T).name()
             << " already allocated"
             << abort(FatalError);
@@ -136,7 +136,7 @@ inline T& Foam::autoPtr<T>::operator()()
 {
     if (!ptr_)
     {
-        FatalErrorIn("T& Foam::autoPtr<T>::operator()()")
+        FatalErrorInFunction
             << "object of type " << typeid(T).name()
             << " is not allocated"
             << abort(FatalError);
@@ -151,7 +151,7 @@ inline const T& Foam::autoPtr<T>::operator()() const
 {
     if (!ptr_)
     {
-        FatalErrorIn("const T& Foam::autoPtr<T>::operator()() const")
+        FatalErrorInFunction
             << "object of type " << typeid(T).name()
             << " is not allocated"
             << abort(FatalError);
@@ -173,7 +173,7 @@ inline T* Foam::autoPtr<T>::operator->()
 {
     if (!ptr_)
     {
-        FatalErrorIn("Foam::autoPtr<T>::operator->()")
+        FatalErrorInFunction
             << "object of type " << typeid(T).name()
             << " is not allocated"
             << abort(FatalError);
diff --git a/src/OpenFOAM/memory/tmp/tmpI.H b/src/OpenFOAM/memory/tmp/tmpI.H
index ad34bb4b17f..e289a06ca02 100644
--- a/src/OpenFOAM/memory/tmp/tmpI.H
+++ b/src/OpenFOAM/memory/tmp/tmpI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -61,7 +61,7 @@ inline Foam::tmp<T>::tmp(const tmp<T>& t)
         }
         else
         {
-            FatalErrorIn("Foam::tmp<T>::tmp(const tmp<T>&)")
+            FatalErrorInFunction
                 << "attempted copy of a deallocated temporary"
                 << " of type " << typeid(T).name()
                 << abort(FatalError);
@@ -91,10 +91,8 @@ inline Foam::tmp<T>::tmp(const tmp<T>& t, bool allowTransfer)
             }
             else
             {
-                FatalErrorIn
-                (
-                    "Foam::tmp<T>::tmp(const tmp<T>&, bool allowTransfer)"
-                )   << "attempted copy of a deallocated temporary"
+                FatalErrorInFunction
+                    << "attempted copy of a deallocated temporary"
                     << " of type " << typeid(T).name()
                     << abort(FatalError);
             }
@@ -151,7 +149,7 @@ inline T* Foam::tmp<T>::ptr() const
     {
          if (!ptr_)
          {
-             FatalErrorIn("Foam::tmp<T>::ptr() const")
+             FatalErrorInFunction
                  << "temporary of type " << typeid(T).name() << " deallocated"
                  << abort(FatalError);
          }
@@ -190,7 +188,7 @@ inline T& Foam::tmp<T>::operator()()
     {
         if (!ptr_)
         {
-            FatalErrorIn("T& Foam::tmp<T>::operator()()")
+            FatalErrorInFunction
                 << "temporary of type " << typeid(T).name() << " deallocated"
                 << abort(FatalError);
         }
@@ -219,7 +217,7 @@ inline const T& Foam::tmp<T>::operator()() const
     {
         if (!ptr_)
         {
-            FatalErrorIn("const T& Foam::tmp<T>::operator()() const")
+            FatalErrorInFunction
                 << "temporary of type " << typeid(T).name() << " deallocated"
                 << abort(FatalError);
         }
@@ -247,7 +245,7 @@ inline T* Foam::tmp<T>::operator->()
     {
          if (!ptr_)
          {
-             FatalErrorIn("Foam::tmp<T>::operator->()")
+             FatalErrorInFunction
                  << "temporary of type " << typeid(T).name() << " deallocated"
                  << abort(FatalError);
          }
@@ -295,7 +293,7 @@ inline void Foam::tmp<T>::operator=(const tmp<T>& t)
         }
         else
         {
-            FatalErrorIn("Foam::tmp<T>::operator=(const tmp<T>&)")
+            FatalErrorInFunction
                 << "attempted copy of a deallocated temporary"
                 << " of type " << typeid(T).name()
                 << abort(FatalError);
@@ -303,7 +301,7 @@ inline void Foam::tmp<T>::operator=(const tmp<T>& t)
     }
     else
     {
-        FatalErrorIn("Foam::tmp<T>::operator=(const tmp<T>&)")
+        FatalErrorInFunction
             << "attempted to assign to a const reference to constant object"
             << " of type " << typeid(T).name()
             << abort(FatalError);
diff --git a/src/OpenFOAM/meshes/Identifiers/patch/coupleGroupIdentifier.C b/src/OpenFOAM/meshes/Identifiers/patch/coupleGroupIdentifier.C
index e520c539616..bf01fe7be95 100644
--- a/src/OpenFOAM/meshes/Identifiers/patch/coupleGroupIdentifier.C
+++ b/src/OpenFOAM/meshes/Identifiers/patch/coupleGroupIdentifier.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -39,10 +39,8 @@ Foam::label Foam::coupleGroupIdentifier::findOtherPatchID
 
     if (!valid())
     {
-        FatalErrorIn
-        (
-            "coupleGroupIdentifier::findOtherPatchID(const polyPatch&) const"
-        )   << "Invalid coupleGroup patch group"
+        FatalErrorInFunction
+            << "Invalid coupleGroup patch group"
             << " on patch " << thisPatch.name()
             << " in region " << pbm.mesh().name()
             << exit(FatalError);
@@ -56,11 +54,8 @@ Foam::label Foam::coupleGroupIdentifier::findOtherPatchID
         if (&mesh == &thisPatch.boundaryMesh().mesh())
         {
             // thisPatch should be in patchGroup
-            FatalErrorIn
-            (
-                "coupleGroupIdentifier::findOtherPatchID"
-                "(const polyMesh&, const polyPatch&) const"
-            )   << "Patch " << thisPatch.name()
+            FatalErrorInFunction
+                << "Patch " << thisPatch.name()
                 << " should be in patchGroup " << name()
                 << " in region " << pbm.mesh().name()
                 << exit(FatalError);
@@ -76,11 +71,8 @@ Foam::label Foam::coupleGroupIdentifier::findOtherPatchID
     {
         if (patchIDs.size() > 2 || patchIDs.size() == 0)
         {
-            FatalErrorIn
-            (
-                "coupleGroupIdentifier::findOtherPatchID"
-                "(const polyMesh&, const polyPatch&) const"
-            )   << "Couple patchGroup " << name()
+            FatalErrorInFunction
+                << "Couple patchGroup " << name()
                 << " with contents " << patchIDs
                 << " not of size < 2"
                 << " on patch " << thisPatch.name()
@@ -94,11 +86,8 @@ Foam::label Foam::coupleGroupIdentifier::findOtherPatchID
 
         if (index == -1)
         {
-            FatalErrorIn
-            (
-                "coupleGroupIdentifier::findOtherPatchID"
-                "(const polyMesh&, const polyPatch&) const"
-            )   << "Couple patchGroup " << name()
+            FatalErrorInFunction
+                << "Couple patchGroup " << name()
                 << " with contents " << patchIDs
                 << " does not contain patch " << thisPatch.name()
                 << " in region " << pbm.mesh().name()
@@ -122,11 +111,8 @@ Foam::label Foam::coupleGroupIdentifier::findOtherPatchID
     {
         if (patchIDs.size() != 1)
         {
-            FatalErrorIn
-            (
-                "coupleGroupIdentifier::findOtherPatchID"
-                "(const polyMesh&, const polyPatch&) const"
-            )   << "Couple patchGroup " << name()
+            FatalErrorInFunction
+                << "Couple patchGroup " << name()
                 << " with contents " << patchIDs
                 << " in region " << mesh.name()
                 << " should only contain a single patch"
@@ -199,11 +185,8 @@ Foam::label Foam::coupleGroupIdentifier::findOtherPatchID
         {
             if (otherPatchID != -1)
             {
-                FatalErrorIn
-                (
-                    "coupleGroupIdentifier::findOtherPatchID"
-                    "(const polyPatch&, word&) const"
-                )   << "Couple patchGroup " << name()
+                FatalErrorInFunction
+                    << "Couple patchGroup " << name()
                     << " should be present on only two patches"
                     << " in any of the meshes in " << meshSet.sortedToc()
                     << endl
@@ -223,11 +206,8 @@ Foam::label Foam::coupleGroupIdentifier::findOtherPatchID
 
     if (otherPatchID == -1)
     {
-        FatalErrorIn
-        (
-            "coupleGroupIdentifier::findOtherPatchID"
-            "(const polyPatch&, word&) const"
-        )   << "Couple patchGroup " << name()
+        FatalErrorInFunction
+            << "Couple patchGroup " << name()
             << " not found in any of the other meshes " << meshSet.sortedToc()
             << " on patch " << thisPatch.name()
             << " region " << thisMesh.name()
diff --git a/src/OpenFOAM/meshes/ProcessorTopology/commSchedule.C b/src/OpenFOAM/meshes/ProcessorTopology/commSchedule.C
index d285ca5ae4e..ca625a2a882 100644
--- a/src/OpenFOAM/meshes/ProcessorTopology/commSchedule.C
+++ b/src/OpenFOAM/meshes/ProcessorTopology/commSchedule.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -82,11 +82,8 @@ Foam::commSchedule::commSchedule
 
         if (proc0 < 0 || proc0 >= nProcs || proc1 < 0 || proc1 >= nProcs)
         {
-            FatalErrorIn
-            (
-                "commSchedule::commSchedule"
-                "(const label, const List<labelPair>&)"
-            )   << "Illegal processor " << comms[commI] << abort(FatalError);
+            FatalErrorInFunction
+                << "Illegal processor " << comms[commI] << abort(FatalError);
         }
 
         procToComms[proc0].append(commI);
diff --git a/src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.C b/src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.C
index 2563ff14bbb..13731a858b4 100644
--- a/src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.C
+++ b/src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -68,21 +68,15 @@ void Foam::lduPrimitiveMesh::checkUpperTriangular
     {
         if (u[faceI] < l[faceI])
         {
-            FatalErrorIn
-            (
-                "checkUpperTriangular"
-                "(const label, const labelUList&, const labelUList&)"
-            )   << "Reversed face. Problem at face " << faceI
+            FatalErrorInFunction
+                << "Reversed face. Problem at face " << faceI
                 << " l:" << l[faceI] << " u:" << u[faceI]
                 << abort(FatalError);
         }
         if (l[faceI] < 0 || u[faceI] < 0 || u[faceI] >= size)
         {
-            FatalErrorIn
-            (
-                "checkUpperTriangular"
-                "(const label, const labelUList&, const labelUList&)"
-            )   << "Illegal cell label. Problem at face " << faceI
+            FatalErrorInFunction
+                << "Illegal cell label. Problem at face " << faceI
                 << " l:" << l[faceI] << " u:" << u[faceI]
                 << abort(FatalError);
         }
@@ -92,11 +86,8 @@ void Foam::lduPrimitiveMesh::checkUpperTriangular
     {
         if (l[faceI-1] > l[faceI])
         {
-            FatalErrorIn
-            (
-                "checkUpperTriangular"
-                "(const label, const labelUList&, const labelUList&)"
-            )   << "Lower not in incremental cell order."
+            FatalErrorInFunction
+                << "Lower not in incremental cell order."
                 << " Problem at face " << faceI
                 << " l:" << l[faceI] << " u:" << u[faceI]
                 << " previous l:" << l[faceI-1]
@@ -107,11 +98,8 @@ void Foam::lduPrimitiveMesh::checkUpperTriangular
             // Same cell.
             if (u[faceI-1] > u[faceI])
             {
-                FatalErrorIn
-                (
-                    "checkUpperTriangular"
-                    "(const label, const labelUList&, const labelUList&)"
-                )   << "Upper not in incremental cell order."
+                FatalErrorInFunction
+                    << "Upper not in incremental cell order."
                     << " Problem at face " << faceI
                     << " l:" << l[faceI] << " u:" << u[faceI]
                     << " previous u:" << u[faceI-1]
@@ -151,7 +139,7 @@ Foam::labelList Foam::lduPrimitiveMesh::upperTriOrder
     {
         if (upper[faceI] < lower[faceI])
         {
-            FatalErrorIn("lduPrimitiveMesh::upperTriOrder(..)")
+            FatalErrorInFunction
                 << "Problem at face:" << faceI
                 << " lower:" << lower[faceI]
                 << " upper:" << upper[faceI]
@@ -309,10 +297,8 @@ Foam::lduPrimitiveMesh::lduPrimitiveMesh
     {
         if (otherMeshes[i].comm() != currentComm)
         {
-            WarningIn
-            (
-                "lduPrimitiveMesh::lduPrimitiveMesh(..)"
-            )   << "Communicator " << otherMeshes[i].comm()
+            WarningInFunction
+                << "Communicator " << otherMeshes[i].comm()
                 << " at index " << i
                 << " differs from that of predecessor "
                 << currentComm
@@ -337,10 +323,8 @@ Foam::lduPrimitiveMesh::lduPrimitiveMesh
     {
         if (procAgglomMap[procIDs[i]] != procAgglomMap[procIDs[0]])
         {
-            FatalErrorIn
-            (
-                "lduPrimitiveMesh::lduPrimitiveMesh(..)"
-            )   << "Processor " << procIDs[i]
+            FatalErrorInFunction
+                << "Processor " << procIDs[i]
                 << " agglomerates to " << procAgglomMap[procIDs[i]]
                 << " whereas other processors " << procIDs
                 << " agglomerate to "
@@ -423,7 +407,7 @@ Foam::lduPrimitiveMesh::lduPrimitiveMesh
 
                     if (agglom0 != myAgglom && agglom1 != myAgglom)
                     {
-                        FatalErrorIn("lduPrimitiveMesh::lduPrimitiveMesh(..)")
+                        FatalErrorInFunction
                             << "At mesh from processor " << procIDs[procMeshI]
                             << " have interface " << intI
                             << " with myProcNo:" << pldui.myProcNo()
@@ -501,7 +485,7 @@ Foam::lduPrimitiveMesh::lduPrimitiveMesh
                 else
                 {
                     // Still external (non proc) interface
-                    FatalErrorIn("lduPrimitiveMesh::lduPrimitiveMesh(..)")
+                    FatalErrorInFunction
                         << "At mesh from processor " << procIDs[procMeshI]
                         << " have interface " << intI
                         << " of unhandled type " << interfaces[intI].type()
@@ -691,10 +675,8 @@ Foam::lduPrimitiveMesh::lduPrimitiveMesh
 
                             if (nbrIntI == -1)
                             {
-                                FatalErrorIn
-                                (
-                                    "lduPrimitiveMesh::lduPrimitiveMesh(..)"
-                                )   << "elems:" << elems << abort(FatalError);
+                                FatalErrorInFunction
+                                    << "elems:" << elems << abort(FatalError);
                             }
 
 
@@ -713,10 +695,8 @@ Foam::lduPrimitiveMesh::lduPrimitiveMesh
 
                             if (faceCells.size() != nbrFaceCells.size())
                             {
-                                FatalErrorIn
-                                (
-                                    "lduPrimitiveMesh::lduPrimitiveMesh(..)"
-                                )   << "faceCells:" << faceCells
+                                FatalErrorInFunction
+                                    << "faceCells:" << faceCells
                                     << " nbrFaceCells:" << nbrFaceCells
                                     << abort(FatalError);
                             }
@@ -915,10 +895,8 @@ Foam::lduPrimitiveMesh::lduPrimitiveMesh
         {
             if (iter.key()[1] == myAgglom)
             {
-                FatalErrorIn
-                (
-                    "lduPrimitiveMesh::lduPrimitiveMesh(..)"
-                )   << "problem procEdge:" << iter.key()
+                FatalErrorInFunction
+                    << "problem procEdge:" << iter.key()
                     << exit(FatalError);
             }
 
@@ -928,10 +906,8 @@ Foam::lduPrimitiveMesh::lduPrimitiveMesh
         {
             if (iter.key()[1] != myAgglom)
             {
-                FatalErrorIn
-                (
-                    "lduPrimitiveMesh::lduPrimitiveMesh(..)"
-                )   << "problem procEdge:" << iter.key()
+                FatalErrorInFunction
+                    << "problem procEdge:" << iter.key()
                     << exit(FatalError);
             }
 
diff --git a/src/OpenFOAM/meshes/meshShapes/cellMatcher/cellMatcher.C b/src/OpenFOAM/meshes/meshShapes/cellMatcher/cellMatcher.C
index f94aef37f99..5d7ff59ba89 100644
--- a/src/OpenFOAM/meshes/meshShapes/cellMatcher/cellMatcher.C
+++ b/src/OpenFOAM/meshes/meshShapes/cellMatcher/cellMatcher.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -174,11 +174,8 @@ void Foam::cellMatcher::calcEdgeAddressing(const label numVert)
             }
             else
             {
-                FatalErrorIn
-                (
-                    "calcEdgeAddressing"
-                    "(const faceList&, const label)"
-                )   << "edgeFaces_ full at entry:" << key1
+                FatalErrorInFunction
+                    << "edgeFaces_ full at entry:" << key1
                     << " for edge " << start << " " << end
                     << abort(FatalError);
             }
@@ -239,12 +236,8 @@ Foam::label Foam::cellMatcher::otherFace
     }
     else
     {
-        FatalErrorIn
-        (
-            "otherFace"
-            "(const label, const labelList&, const label, const label, "
-            "const label)"
-        )   << "edgeFaces_ does not contain:" << localFaceI
+        FatalErrorInFunction
+            << "edgeFaces_ does not contain:" << localFaceI
             << " for edge " << v0 << " " << v1 << " at key " << key
             << " edgeFaces_[key, key+1]:" <<  edgeFaces_[key]
             << " , " << edgeFaces_[key+1]
diff --git a/src/OpenFOAM/meshes/meshShapes/cellModeller/cellModeller.C b/src/OpenFOAM/meshes/meshShapes/cellModeller/cellModeller.C
index b3c1f1eaad4..c43aa0abaf6 100644
--- a/src/OpenFOAM/meshes/meshShapes/cellModeller/cellModeller.C
+++ b/src/OpenFOAM/meshes/meshShapes/cellModeller/cellModeller.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -34,7 +34,7 @@ Foam::cellModeller::cellModeller()
 {
     if (modelPtrs_.size())
     {
-        FatalErrorIn("cellModeller::cellModeller(const fileName&)")
+        FatalErrorInFunction
             << "attempt to re-construct cellModeller when it already exists"
             << exit(FatalError);
     }
@@ -56,7 +56,7 @@ Foam::cellModeller::cellModeller()
     {
         if (modelPtrs_[models_[i].index()])
         {
-            FatalErrorIn("cellModeller::cellModeller(const fileName&)")
+            FatalErrorInFunction
                 << "more than one model share the index "
                 << models_[i].index()
                 << exit(FatalError);
@@ -66,7 +66,7 @@ Foam::cellModeller::cellModeller()
 
         if (modelDictionary_.found(models_[i].name()))
         {
-            FatalErrorIn("cellModeller::cellModeller(const fileName&)")
+            FatalErrorInFunction
                 << "more than one model share the name "
                 << models_[i].name()
                 << exit(FatalError);
diff --git a/src/OpenFOAM/meshes/meshShapes/face/face.C b/src/OpenFOAM/meshes/meshShapes/face/face.C
index 30847ce3ca6..b4dd451c90b 100644
--- a/src/OpenFOAM/meshes/meshShapes/face/face.C
+++ b/src/OpenFOAM/meshes/meshShapes/face/face.C
@@ -135,12 +135,7 @@ Foam::label Foam::face::split
 
     if (size() <= 2)
     {
-        FatalErrorIn
-        (
-            "face::split"
-            "(const face::splitMode, const pointField&, label&, label&"
-            ", faceList&, faceList&)"
-        )
+        FatalErrorInFunction
             << "Serious problem: asked to split a face with < 3 vertices"
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/meshes/meshShapes/tetCell/tetCellI.H b/src/OpenFOAM/meshes/meshShapes/tetCell/tetCellI.H
index d777156ee3b..218fa12e9b8 100644
--- a/src/OpenFOAM/meshes/meshShapes/tetCell/tetCellI.H
+++ b/src/OpenFOAM/meshes/meshShapes/tetCell/tetCellI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -73,7 +73,7 @@ inline Foam::triFace Foam::tetCell::face(const label faceI) const
 #   ifdef FULLDEBUG
     if (faceI >= 4)
     {
-        FatalErrorIn("tetCell::face(const label faceI) const")
+        FatalErrorInFunction
             << "index out of range 0 -> 3. faceI = " << faceI
             << abort(FatalError);
     }
@@ -98,11 +98,8 @@ inline Foam::label Foam::tetCell::edgeFace(const label edgeI) const
 #   ifdef FULLDEBUG
     if (edgeI >= 6)
     {
-        FatalErrorIn
-        (
-            "tetCell::edgeFace(const label edgeI)"
-            "const"
-        )   << "edge index out of range 0 -> 5. edgeI = " << edgeI
+        FatalErrorInFunction
+            << "edge index out of range 0 -> 5. edgeI = " << edgeI
             << abort(FatalError);
     }
 #   endif
@@ -132,21 +129,15 @@ inline Foam::label Foam::tetCell::edgeAdjacentFace
 #   ifdef FULLDEBUG
     if (faceI >= 4)
     {
-        FatalErrorIn
-        (
-            "tetCell::edgeAdjacentFace(const label edgeI, const label faceI)"
-            "const"
-        )   << "face index out of range 0 -> 3. faceI = " << faceI
+        FatalErrorInFunction
+            << "face index out of range 0 -> 3. faceI = " << faceI
             << abort(FatalError);
     }
 
     if (edgeI >= 6)
     {
-        FatalErrorIn
-        (
-            "tetCell::edgeAdjacentFace(const label edgeI, const label faceI)"
-            "const"
-        )   << "edge index out of range 0 -> 5. edgeI = " << edgeI
+        FatalErrorInFunction
+            << "edge index out of range 0 -> 5. edgeI = " << edgeI
             << abort(FatalError);
     }
 #   endif
@@ -166,7 +157,7 @@ inline Foam::edge Foam::tetCell::tetEdge(const label edgeI) const
 #   ifdef FULLDEBUG
     if (edgeI >= 6)
     {
-        FatalErrorIn("tetCell::tetEdge(const label edgeI) const")
+        FatalErrorInFunction
             << "index out of range 0 -> 5. edgeI = " << edgeI
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/MapPointField.H b/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/MapPointField.H
index bb824c0f57c..8248e5e09cb 100644
--- a/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/MapPointField.H
+++ b/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/MapPointField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -69,14 +69,8 @@ void MapInternalField<Type, MeshMapper, pointMesh>::operator()
 {
     if (field.size() != mapper.pointMap().sizeBeforeMapping())
     {
-        FatalErrorIn
-        (
-            "void MapInternalField<Type, MeshMapper, pointMesh>::operator()\n"
-            "(\n"
-            "    Field<Type>& field,\n"
-            "    const MeshMapper& mapper\n"
-            ") const"
-        )  << "Incompatible size before mapping.  Field size: " << field.size()
+        FatalErrorInFunction
+           << "Incompatible size before mapping.  Field size: " << field.size()
            << " map size: " << mapper.pointMap().sizeBeforeMapping()
            << abort(FatalError);
     }
diff --git a/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointMapper.C b/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointMapper.C
index b598acf072c..51eaab0d25b 100644
--- a/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointMapper.C
+++ b/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointMapper.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -43,7 +43,7 @@ void Foam::pointMapper::calcAddressing() const
      || insertedPointLabelsPtr_
     )
     {
-        FatalErrorIn("void pointMapper::calcAddressing() const")
+        FatalErrorInFunction
             << "Addressing already calculated."
             << abort(FatalError);
     }
@@ -98,7 +98,7 @@ void Foam::pointMapper::calcAddressing() const
 
             if (addr[pointI].size())
             {
-                FatalErrorIn("void pointMapper::calcAddressing() const")
+                FatalErrorInFunction
                     << "Master point " << pointI
                     << " mapped from points " << mo
                     << " already destination of mapping." << abort(FatalError);
@@ -237,10 +237,8 @@ const Foam::labelUList& Foam::pointMapper::directAddressing() const
 {
     if (!direct())
     {
-        FatalErrorIn
-        (
-            "const labelUList& pointMapper::directAddressing() const"
-        )   << "Requested direct addressing for an interpolative mapper."
+        FatalErrorInFunction
+            << "Requested direct addressing for an interpolative mapper."
             << abort(FatalError);
     }
 
@@ -265,10 +263,8 @@ const Foam::labelListList& Foam::pointMapper::addressing() const
 {
     if (direct())
     {
-        FatalErrorIn
-        (
-            "const labelListList& pointMapper::addressing() const"
-        )   << "Requested interpolative addressing for a direct mapper."
+        FatalErrorInFunction
+            << "Requested interpolative addressing for a direct mapper."
             << abort(FatalError);
     }
 
@@ -285,10 +281,8 @@ const Foam::scalarListList& Foam::pointMapper::weights() const
 {
     if (direct())
     {
-        FatalErrorIn
-        (
-            "const scalarListList& pointMapper::weights() const"
-        )   << "Requested interpolative weights for a direct mapper."
+        FatalErrorInFunction
+            << "Requested interpolative weights for a direct mapper."
             << abort(FatalError);
     }
 
diff --git a/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointPatchMapper.C b/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointPatchMapper.C
index 624897bc098..1732a7ba0c0 100644
--- a/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointPatchMapper.C
+++ b/src/OpenFOAM/meshes/pointMesh/pointMeshMapper/pointPatchMapper.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -40,10 +40,8 @@ void Foam::pointPatchMapper::calcAddressing() const
      || weightsPtr_
     )
     {
-        FatalErrorIn
-        (
-            "void pointPatchMapper::calcAddressing() const"
-        )   << "Addressing already calculated"
+        FatalErrorInFunction
+            << "Addressing already calculated"
             << abort(FatalError);
     }
 
@@ -150,10 +148,8 @@ const Foam::labelUList& Foam::pointPatchMapper::directAddressing() const
 {
     if (!direct())
     {
-        FatalErrorIn
-        (
-            "const labelUList& pointPatchMapper::directAddressing() const"
-        )   << "Requested direct addressing for an interpolative mapper."
+        FatalErrorInFunction
+            << "Requested direct addressing for an interpolative mapper."
             << abort(FatalError);
     }
 
@@ -170,10 +166,8 @@ const Foam::labelListList& Foam::pointPatchMapper::addressing() const
 {
     if (direct())
     {
-        FatalErrorIn
-        (
-            "const labelListList& pointPatchMapper::addressing() const"
-        )   << "Requested interpolative addressing for a direct mapper."
+        FatalErrorInFunction
+            << "Requested interpolative addressing for a direct mapper."
             << abort(FatalError);
     }
 
@@ -190,10 +184,8 @@ const Foam::scalarListList& Foam::pointPatchMapper::weights() const
 {
     if (direct())
     {
-        FatalErrorIn
-        (
-            "const scalarListList& pointPatchMapper::weights() const"
-        )   << "Requested interpolative weights for a direct mapper."
+        FatalErrorInFunction
+            << "Requested interpolative weights for a direct mapper."
             << abort(FatalError);
     }
 
diff --git a/src/OpenFOAM/meshes/pointMesh/pointPatches/facePointPatch/facePointPatchNew.C b/src/OpenFOAM/meshes/pointMesh/pointPatches/facePointPatch/facePointPatchNew.C
index 073733e5f6f..b5a1b29dc9a 100644
--- a/src/OpenFOAM/meshes/pointMesh/pointPatches/facePointPatch/facePointPatchNew.C
+++ b/src/OpenFOAM/meshes/pointMesh/pointPatches/facePointPatch/facePointPatchNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -46,11 +46,8 @@ Foam::autoPtr<Foam::facePointPatch> Foam::facePointPatch::New
 
     if (cstrIter == polyPatchConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "facePointPatch::New(const polyPatch&, "
-            "const pointBoundaryMesh&) : "
-        )   << "Unknown facePointPatch type "
+        FatalErrorInFunction
+            << "Unknown facePointPatch type "
             << patch.type()
             << nl << nl
             << "Valid facePointPatch types are :" << endl
diff --git a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndex.C b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndex.C
index 3d6a6fc025c..b8dc8896ca3 100644
--- a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndex.C
+++ b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndex.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -54,11 +54,8 @@ Foam::globalIndex::globalIndex
 
         if (offset < oldOffset)
         {
-            FatalErrorIn
-            (
-                "globalIndex::globalIndex"
-                "(const label, const int, const label, const bool)"
-            )   << "Overflow : sum of sizes " << localSizes
+            FatalErrorInFunction
+                << "Overflow : sum of sizes " << localSizes
                 << " exceeds capability of label (" << labelMax
                 << "). Please recompile with larger datatype for label."
                 << exit(FatalError);
@@ -86,7 +83,7 @@ Foam::globalIndex::globalIndex(const label localSize)
 
         if (offset < oldOffset)
         {
-            FatalErrorIn("globalIndex::globalIndex(const label)")
+            FatalErrorInFunction
                 << "Overflow : sum of sizes " << localSizes
                 << " exceeds capability of label (" << labelMax
                 << "). Please recompile with larger datatype for label."
diff --git a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndexI.H b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndexI.H
index e194d995a86..bd71c2c9470 100644
--- a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndexI.H
+++ b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndexI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -105,7 +105,7 @@ const
 
     if (localI < 0 || i >= offsets_[procI+1])
     {
-        FatalErrorIn("globalIndex::toLocal(const label, const label)")
+        FatalErrorInFunction
             << "Global " << i << " does not belong on processor "
             << procI << endl << "Offsets:" << offsets_
             << abort(FatalError);
@@ -124,7 +124,7 @@ inline Foam::label Foam::globalIndex::whichProcID(const label i) const
 {
     if (i < 0 || i >= size())
     {
-        FatalErrorIn("globalIndex::whichProcID(const label)")
+        FatalErrorInFunction
             << "Global " << i << " does not belong on any processor."
             << " Offsets:" << offsets_
             << abort(FatalError);
diff --git a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndexTemplates.C b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndexTemplates.C
index 08435991eeb..5532969f369 100644
--- a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndexTemplates.C
+++ b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndexTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -84,7 +84,7 @@ void Foam::globalIndex::gather
 
             if (!contiguous<Type>())
             {
-                FatalErrorIn("globalIndex::gather(..)")
+                FatalErrorInFunction
                     << "nonBlocking not supported for non-contiguous data"
                     << exit(FatalError);
             }
@@ -146,7 +146,7 @@ void Foam::globalIndex::gather
 
             if (!contiguous<Type>())
             {
-                FatalErrorIn("globalIndex::gather(..)")
+                FatalErrorInFunction
                     << "nonBlocking not supported for non-contiguous data"
                     << exit(FatalError);
             }
@@ -252,7 +252,7 @@ void Foam::globalIndex::scatter
 
             if (!contiguous<Type>())
             {
-                FatalErrorIn("globalIndex::scatter(..)")
+                FatalErrorInFunction
                     << "nonBlocking not supported for non-contiguous data"
                     << exit(FatalError);
             }
@@ -319,7 +319,7 @@ void Foam::globalIndex::scatter
 
             if (!contiguous<Type>())
             {
-                FatalErrorIn("globalIndex::scatter(..)")
+                FatalErrorInFunction
                     << "nonBlocking not supported for non-contiguous data"
                     << exit(FatalError);
             }
diff --git a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C
index 5cf963fff3c..6db74800937 100644
--- a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C
+++ b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C
@@ -140,7 +140,7 @@ void Foam::globalMeshData::calcSharedPoints() const
      || sharedPointAddrPtr_.valid()
     )
     {
-        FatalErrorIn("globalMeshData::calcSharedPoints()")
+        FatalErrorInFunction
             << "Shared point addressing already done" << abort(FatalError);
     }
 
@@ -307,7 +307,7 @@ void Foam::globalMeshData::calcSharedEdges() const
      || sharedEdgeAddrPtr_.valid()
     )
     {
-        FatalErrorIn("globalMeshData::calcSharedEdges()")
+        FatalErrorInFunction
             << "Shared edge addressing already done" << abort(FatalError);
     }
 
@@ -845,7 +845,7 @@ Foam::label Foam::globalMeshData::findTransform
 
     if (remoteTransformI == -1 || localTransformI == -1)
     {
-        FatalErrorIn("globalMeshData::findTransform(..)")
+        FatalErrorInFunction
             << "Problem. Cannot find " << remotePoint
             << " or " << localPoint  << " "
             << coupledPatch().localPoints()[localPoint]
@@ -1177,10 +1177,8 @@ void Foam::globalMeshData::calcGlobalEdgeOrientation() const
             );
             if (stat == 0)
             {
-                FatalErrorIn
-                (
-                    "globalMeshData::calcGlobalEdgeOrientation() const"
-                )   << "problem : my edge:" << e
+                FatalErrorInFunction
+                    << "problem : my edge:" << e
                     << " in master points:" << masterE
                     << " v.s. masterEdgeVerts:" << masterEdgeVerts[edgeI]
                     << exit(FatalError);
diff --git a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshDataTemplates.C b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshDataTemplates.C
index 664dffd55f4..01ed808f25f 100644
--- a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshDataTemplates.C
+++ b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshDataTemplates.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -177,7 +177,7 @@ void Foam::globalMeshData::syncPointData
 {
     if (pointData.size() != mesh_.nPoints())
     {
-        FatalErrorIn("globalMeshData::syncPointData(..)")
+        FatalErrorInFunction
             << "Number of elements in data:" << pointData.size()
             << " differs from number of points in mesh:" << mesh_.nPoints()
             << abort(FatalError);
diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/cellMapper/cellMapper.C b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/cellMapper/cellMapper.C
index 84dfacf47c5..ed8f78c259c 100644
--- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/cellMapper/cellMapper.C
+++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/cellMapper/cellMapper.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -40,7 +40,7 @@ void Foam::cellMapper::calcAddressing() const
      || insertedCellLabelsPtr_
     )
     {
-        FatalErrorIn("void cellMapper::calcAddressing() const")
+        FatalErrorInFunction
             << "Addressing already calculated."
             << abort(FatalError);
     }
@@ -94,7 +94,7 @@ void Foam::cellMapper::calcAddressing() const
 
             if (addr[cellI].size())
             {
-                FatalErrorIn("void cellMapper::calcAddressing() const")
+                FatalErrorInFunction
                     << "Master cell " << cellI
                     << " mapped from point cells " << mo
                     << " already destination of mapping." << abort(FatalError);
@@ -116,7 +116,7 @@ void Foam::cellMapper::calcAddressing() const
 
             if (addr[cellI].size())
             {
-                FatalErrorIn("void cellMapper::calcAddressing() const")
+                FatalErrorInFunction
                     << "Master cell " << cellI
                     << " mapped from edge cells " << mo
                     << " already destination of mapping." << abort(FatalError);
@@ -138,7 +138,7 @@ void Foam::cellMapper::calcAddressing() const
 
             if (addr[cellI].size())
             {
-                FatalErrorIn("void cellMapper::calcAddressing() const")
+                FatalErrorInFunction
                     << "Master cell " << cellI
                     << " mapped from face cells " << mo
                     << " already destination of mapping." << abort(FatalError);
@@ -162,7 +162,7 @@ void Foam::cellMapper::calcAddressing() const
 
             if (addr[cellI].size())
             {
-                FatalErrorIn("void cellMapper::calcAddressing() const")
+                FatalErrorInFunction
                     << "Master cell " << cellI
                     << " mapped from cell cells " << mo
                     << " already destination of mapping."
@@ -181,7 +181,7 @@ void Foam::cellMapper::calcAddressing() const
 
             if (V.size() != sizeBeforeMapping())
             {
-                FatalErrorIn("void cellMapper::calcAddressing() const")
+                FatalErrorInFunction
                     << "cellVolumes size " << V.size()
                     << " is not the old number of cells " << sizeBeforeMapping()
                     << ". Are your cellVolumes already mapped?"
@@ -390,10 +390,8 @@ const Foam::labelUList& Foam::cellMapper::directAddressing() const
 {
     if (!direct())
     {
-        FatalErrorIn
-        (
-            "const labelUList& cellMapper::directAddressing() const"
-        )   << "Requested direct addressing for an interpolative mapper."
+        FatalErrorInFunction
+            << "Requested direct addressing for an interpolative mapper."
             << abort(FatalError);
     }
 
@@ -418,10 +416,8 @@ const Foam::labelListList& Foam::cellMapper::addressing() const
 {
     if (direct())
     {
-        FatalErrorIn
-        (
-            "const labelListList& cellMapper::addressing() const"
-        )   << "Requested interpolative addressing for a direct mapper."
+        FatalErrorInFunction
+            << "Requested interpolative addressing for a direct mapper."
             << abort(FatalError);
     }
 
@@ -438,10 +434,8 @@ const Foam::scalarListList& Foam::cellMapper::weights() const
 {
     if (direct())
     {
-        FatalErrorIn
-        (
-            "const scalarListList& cellMapper::weights() const"
-        )   << "Requested interpolative weights for a direct mapper."
+        FatalErrorInFunction
+            << "Requested interpolative weights for a direct mapper."
             << abort(FatalError);
     }
 
diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/faceMapper/faceMapper.C b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/faceMapper/faceMapper.C
index 803e523d41d..71ca27fa851 100644
--- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/faceMapper/faceMapper.C
+++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/faceMapper/faceMapper.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -40,7 +40,7 @@ void Foam::faceMapper::calcAddressing() const
      || insertedFaceLabelsPtr_
     )
     {
-        FatalErrorIn("void faceMapper::calcAddressing() const")
+        FatalErrorInFunction
             << "Addressing already calculated."
             << abort(FatalError);
     }
@@ -94,7 +94,7 @@ void Foam::faceMapper::calcAddressing() const
 
             if (addr[faceI].size())
             {
-                FatalErrorIn("void faceMapper::calcAddressing() const")
+                FatalErrorInFunction
                     << "Master face " << faceI
                     << " mapped from point faces " << mo
                     << " already destination of mapping." << abort(FatalError);
@@ -116,7 +116,7 @@ void Foam::faceMapper::calcAddressing() const
 
             if (addr[faceI].size())
             {
-                FatalErrorIn("void faceMapper::calcAddressing() const")
+                FatalErrorInFunction
                     << "Master face " << faceI
                     << " mapped from edge faces " << mo
                     << " already destination of mapping." << abort(FatalError);
@@ -138,7 +138,7 @@ void Foam::faceMapper::calcAddressing() const
 
             if (addr[faceI].size())
             {
-                FatalErrorIn("void faceMapper::calcAddressing() const")
+                FatalErrorInFunction
                     << "Master face " << faceI
                     << " mapped from face faces " << mo
                     << " already destination of mapping." << abort(FatalError);
@@ -303,10 +303,8 @@ const Foam::labelUList& Foam::faceMapper::directAddressing() const
 {
     if (!direct())
     {
-        FatalErrorIn
-        (
-            "const labelUList& faceMapper::directAddressing() const"
-        )   << "Requested direct addressing for an interpolative mapper."
+        FatalErrorInFunction
+            << "Requested direct addressing for an interpolative mapper."
             << abort(FatalError);
     }
 
@@ -331,10 +329,8 @@ const Foam::labelListList& Foam::faceMapper::addressing() const
 {
     if (direct())
     {
-        FatalErrorIn
-        (
-            "const labelListList& faceMapper::addressing() const"
-        )   << "Requested interpolative addressing for a direct mapper."
+        FatalErrorInFunction
+            << "Requested interpolative addressing for a direct mapper."
             << abort(FatalError);
     }
 
@@ -351,10 +347,8 @@ const Foam::scalarListList& Foam::faceMapper::weights() const
 {
     if (direct())
     {
-        FatalErrorIn
-        (
-            "const scalarListList& faceMapper::weights() const"
-        )   << "Requested interpolative weights for a direct mapper."
+        FatalErrorInFunction
+            << "Requested interpolative weights for a direct mapper."
             << abort(FatalError);
     }
 
diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistribute.C b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistribute.C
index 8feeefcffe2..c7d93e6d9c0 100644
--- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistribute.C
+++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistribute.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -285,19 +285,8 @@ void Foam::mapDistribute::checkReceivedSize
 {
     if (receivedSize != expectedSize)
     {
-        FatalErrorIn
-        (
-            "template<class T>\n"
-            "void mapDistribute::distribute\n"
-            "(\n"
-            "    const Pstream::commsTypes commsType,\n"
-            "    const List<labelPair>& schedule,\n"
-            "    const label constructSize,\n"
-            "    const labelListList& subMap,\n"
-            "    const labelListList& constructMap,\n"
-            "    List<T>& field\n"
-            ")\n"
-        )   << "Expected from processor " << procI
+        FatalErrorInFunction
+            << "Expected from processor " << procI
             << " " << expectedSize << " but received "
             << receivedSize << " elements."
             << abort(FatalError);
@@ -341,7 +330,7 @@ void Foam::mapDistribute::printLayout(Ostream& os) const
             {
                 if (minIndex[procI] != offset)
                 {
-                    FatalErrorIn("mapDistribute::printLayout(..)")
+                    FatalErrorInFunction
                         << "offset:" << offset
                         << " procI:" << procI
                         << " minIndex:" << minIndex[procI]
@@ -700,10 +689,8 @@ Foam::mapDistribute::mapDistribute
 {
     if (sendProcs.size() != recvProcs.size())
     {
-        FatalErrorIn
-        (
-            "mapDistribute::mapDistribute(const labelList&, const labelList&)"
-        )   << "The send and receive data is not the same length. sendProcs:"
+        FatalErrorInFunction
+            << "The send and receive data is not the same length. sendProcs:"
             << sendProcs.size() << " recvProcs:" << recvProcs.size()
             << abort(FatalError);
     }
@@ -1326,10 +1313,8 @@ void Foam::mapDistribute::operator=(const mapDistribute& rhs)
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn
-        (
-            "Foam::mapDistribute::operator=(const Foam::mapDistribute&)"
-        )   << "Attempted assignment to self"
+        FatalErrorInFunction
+            << "Attempted assignment to self"
             << abort(FatalError);
     }
     constructSize_ = rhs.constructSize_;
diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributePolyMesh.C b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributePolyMesh.C
index 0dc63bdb577..8df3c0a211a 100644
--- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributePolyMesh.C
+++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributePolyMesh.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -47,7 +47,7 @@ void Foam::mapDistributePolyMesh::calcPatchSizes()
 
     if (min(oldPatchSizes_) < 0)
     {
-        FatalErrorIn("mapDistributePolyMesh::calcPatchSizes()")
+        FatalErrorInFunction
             << "Calculated negative old patch size:" << oldPatchSizes_ << nl
             << "Error in mapping data" << abort(FatalError);
     }
diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeTemplates.C b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeTemplates.C
index 577af21ed12..becc4a77ce9 100644
--- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeTemplates.C
+++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeTemplates.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -374,7 +374,7 @@ void Foam::mapDistribute::distribute
     }
     else
     {
-        FatalErrorIn("mapDistribute::distribute(..)")
+        FatalErrorInFunction
             << "Unknown communication schedule " << commsType
             << abort(FatalError);
     }
@@ -721,7 +721,7 @@ void Foam::mapDistribute::distribute
     }
     else
     {
-        FatalErrorIn("mapDistribute::distribute(..)")
+        FatalErrorInFunction
             << "Unknown communication schedule " << commsType
             << abort(FatalError);
     }
@@ -767,15 +767,8 @@ void Foam::mapDistribute::receive(PstreamBuffers& pBufs, List<T>& field) const
 
             if (recvField.size() != map.size())
             {
-                FatalErrorIn
-                (
-                    "template<class T>\n"
-                    "void mapDistribute::receive\n"
-                    "(\n"
-                    "    PstreamBuffers&,\n"
-                    "    List<T>&\n"
-                    ")\n"
-                )   << "Expected from processor " << domain
+                FatalErrorInFunction
+                    << "Expected from processor " << domain
                     << " " << map.size() << " but received "
                     << recvField.size() << " elements."
                     << abort(FatalError);
diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapPolyMesh.C b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapPolyMesh.C
index 85e69b02dc3..ddf90970ff7 100644
--- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapPolyMesh.C
+++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapPolyMesh.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -106,8 +106,7 @@ Foam::mapPolyMesh::mapPolyMesh
     {
         if (min(oldPatchSizes_) < 0)
         {
-            FatalErrorIn("mapPolyMesh::mapPolyMesh(...)")
-                << "Calculated negative old patch size.  Error in mapping data"
+            FatalErrorInFunction
                 << abort(FatalError);
         }
     }
@@ -195,7 +194,7 @@ Foam::mapPolyMesh::mapPolyMesh
         {
             if (min(oldPatchSizes_) < 0)
             {
-                FatalErrorIn("mapPolyMesh::mapPolyMesh(...)")
+                FatalErrorInFunction
                     << "Calculated negative old patch size."
                     << "  Error in mapping data"
                     << abort(FatalError);
diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapPolyMesh.H b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapPolyMesh.H
index e21ff4c736c..e81de98eb79 100644
--- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapPolyMesh.H
+++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapPolyMesh.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -484,7 +484,7 @@ public:
                     }
                     else
                     {
-                        FatalErrorIn("mergedPoint(const label) const")
+                        FatalErrorInFunction
                             << "old point label " << oldPointI
                             << " has reverseMap " << i << endl
                             << "Only call mergedPoint for removed points."
@@ -515,7 +515,7 @@ public:
                     }
                     else
                     {
-                        FatalErrorIn("mergedFace(const label) const")
+                        FatalErrorInFunction
                             << "old face label " << oldFaceI
                             << " has reverseMap " << i << endl
                             << "Only call mergedFace for removed faces."
@@ -546,7 +546,7 @@ public:
                     }
                     else
                     {
-                        FatalErrorIn("mergedCell(const label) const")
+                        FatalErrorInFunction
                             << "old cell label " << oldCellI
                             << " has reverseMap " << i << endl
                             << "Only call mergedCell for removed cells."
diff --git a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C
index 1e104b4602e..f3311f26e4b 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C
+++ b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -61,14 +61,8 @@ Foam::polyBoundaryMesh::polyBoundaryMesh
     {
         if (readOpt() == IOobject::MUST_READ_IF_MODIFIED)
         {
-            WarningIn
-            (
-                "polyBoundaryMesh::polyBoundaryMesh\n"
-                "(\n"
-                "    const IOobject&,\n"
-                "    const polyMesh&\n"
-                ")"
-            )   << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
+            WarningInFunction
+                << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
                 << " does not support automatic rereading."
                 << endl;
         }
@@ -143,15 +137,8 @@ Foam::polyBoundaryMesh::polyBoundaryMesh
 
         if (readOpt() == IOobject::MUST_READ_IF_MODIFIED)
         {
-            WarningIn
-            (
-                "polyBoundaryMesh::polyBoundaryMesh\n"
-                "(\n"
-                "    const IOobject&,\n"
-                "    const polyMesh&\n"
-                "    const polyPatchList&\n"
-                ")"
-            )   << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
+            WarningInFunction
+                << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
                 << " does not support automatic rereading."
                 << endl;
         }
@@ -281,7 +268,7 @@ Foam::polyBoundaryMesh::neighbourEdges() const
 {
     if (Pstream::parRun())
     {
-        WarningIn("polyBoundaryMesh::neighbourEdges() const")
+        WarningInFunction
             << "Neighbour edge addressing not correct across parallel"
             << " boundaries." << endl;
     }
@@ -371,7 +358,7 @@ Foam::polyBoundaryMesh::neighbourEdges() const
 
         if (pointsToEdge.size())
         {
-            FatalErrorIn("polyBoundaryMesh::neighbourEdges() const")
+            FatalErrorInFunction
                 << "Not all boundary edges of patches match up." << nl
                 << "Is the outside of your mesh multiply connected?"
                 << abort(FatalError);
@@ -392,7 +379,7 @@ Foam::polyBoundaryMesh::neighbourEdges() const
                     label edgeI = pp.nInternalEdges() + i;
                     const edge& e = pp.edges()[edgeI];
 
-                    FatalErrorIn("polyBoundaryMesh::neighbourEdges() const")
+                    FatalErrorInFunction
                         << "Not all boundary edges of patches match up." << nl
                         << "Edge " << edgeI << " on patch " << pp.name()
                         << " end points " << pp.localPoints()[e[0]] << ' '
@@ -458,7 +445,7 @@ Foam::polyBoundaryMesh::groupPatchIDs() const
 
                 if (findPatchID(name) != -1)
                 {
-                    WarningIn("polyBoundaryMesh::groupPatchIDs() const")
+                    WarningInFunction
                         << "Patch " << bm[patchI].name()
                         << " specifies a group " << name
                         << " which is also a patch name."
@@ -725,10 +712,8 @@ Foam::label Foam::polyBoundaryMesh::whichPatch(const label faceIndex) const
     }
     else if (faceIndex >= mesh().nFaces())
     {
-        FatalErrorIn
-        (
-            "polyBoundaryMesh::whichPatch(const label faceIndex) const"
-        )   << "given label " << faceIndex
+        FatalErrorInFunction
+            << "given label " << faceIndex
             << " greater than the number of geometric faces " << mesh().nFaces()
             << abort(FatalError);
     }
@@ -749,10 +734,8 @@ Foam::label Foam::polyBoundaryMesh::whichPatch(const label faceIndex) const
     }
 
     // If not in any of above, it is trouble!
-    FatalErrorIn
-    (
-        "label polyBoundaryMesh::whichPatch(const label faceIndex) const"
-    )   << "Cannot find face " << faceIndex << " in any of the patches "
+    FatalErrorInFunction
+        << "Cannot find face " << faceIndex << " in any of the patches "
         << names() << nl
         << "It seems your patches are not consistent with the mesh :"
         << " internalFaces:" << mesh().nInternalFaces()
@@ -808,22 +791,16 @@ Foam::labelHashSet Foam::polyBoundaryMesh::patchSet
 
                 if (groupIDs.empty() && warnNotFound)
                 {
-                    WarningIn
-                    (
-                        "polyBoundaryMesh::patchSet"
-                        "(const wordReList&, const bool, const bool) const"
-                    )   << "Cannot find any patch or group names matching "
+                    WarningInFunction
+                        << "Cannot find any patch or group names matching "
                         << patchName
                         << endl;
                 }
             }
             else if (warnNotFound)
             {
-                WarningIn
-                (
-                    "polyBoundaryMesh::patchSet"
-                    "(const wordReList&, const bool, const bool) const"
-                )   << "Cannot find any patch names matching " << patchName
+                WarningInFunction
+                    << "Cannot find any patch names matching " << patchName
                     << endl;
             }
         }
@@ -1187,10 +1164,8 @@ const Foam::polyPatch& Foam::polyBoundaryMesh::operator[]
 
     if (patchI < 0)
     {
-        FatalErrorIn
-        (
-            "polyBoundaryMesh::operator[](const word&) const"
-        )   << "Patch named " << patchName << " not found." << nl
+        FatalErrorInFunction
+            << "Patch named " << patchName << " not found." << nl
             << "Available patch names: " << names() << endl
             << abort(FatalError);
     }
@@ -1208,10 +1183,8 @@ Foam::polyPatch& Foam::polyBoundaryMesh::operator[]
 
     if (patchI < 0)
     {
-        FatalErrorIn
-        (
-            "polyBoundaryMesh::operator[](const word&)"
-        )   << "Patch named " << patchName << " not found." << nl
+        FatalErrorInFunction
+            << "Patch named " << patchName << " not found." << nl
             << "Available patch names: " << names() << endl
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/meshes/polyMesh/polyMesh.C b/src/OpenFOAM/meshes/polyMesh/polyMesh.C
index 67ae5db9b34..5df8ef5fd7e 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyMesh.C
+++ b/src/OpenFOAM/meshes/polyMesh/polyMesh.C
@@ -304,12 +304,12 @@ Foam::polyMesh::polyMesh(const IOobject& io)
     // Warn if global empty mesh
     if (returnReduce(nPoints(), sumOp<label>()) == 0)
     {
-        WarningIn("polyMesh(const IOobject&)")
+        WarningInFunction
             << "no points in mesh" << endl;
     }
     if (returnReduce(nCells(), sumOp<label>()) == 0)
     {
-        WarningIn("polyMesh(const IOobject&)")
+        WarningInFunction
             << "no cells in mesh" << endl;
     }
 
@@ -458,16 +458,8 @@ Foam::polyMesh::polyMesh
 
         if (min(curFace) < 0 || max(curFace) > points_.size())
         {
-            FatalErrorIn
-            (
-                "polyMesh::polyMesh\n"
-                "(\n"
-                "    const IOobject& io,\n"
-                "    const pointField& points,\n"
-                "    const faceList& faces,\n"
-                "    const cellList& cells\n"
-                ")\n"
-            )   << "Face " << facei << "contains vertex labels out of range: "
+            FatalErrorInFunction
+                << "Face " << facei << "contains vertex labels out of range: "
                 << curFace << " Max point index = " << points_.size()
                 << abort(FatalError);
         }
@@ -617,16 +609,8 @@ Foam::polyMesh::polyMesh
 
         if (min(curFace) < 0 || max(curFace) > points_.size())
         {
-            FatalErrorIn
-            (
-                "polyMesh::polyMesh\n"
-                "(\n"
-                "    const IOobject&,\n"
-                "    const Xfer<pointField>&,\n"
-                "    const Xfer<faceList>&,\n"
-                "    const Xfer<cellList>&\n"
-                ")\n"
-            )   << "Face " << facei << "contains vertex labels out of range: "
+            FatalErrorInFunction
+                << "Face " << facei << "contains vertex labels out of range: "
                 << curFace << " Max point index = " << points_.size()
                 << abort(FatalError);
         }
@@ -642,16 +626,8 @@ Foam::polyMesh::polyMesh
 
         if (min(curCell) < 0 || max(curCell) > faces_.size())
         {
-            FatalErrorIn
-            (
-                "polyMesh::polyMesh\n"
-                "(\n"
-                "    const IOobject&,\n"
-                "    const Xfer<pointField>&,\n"
-                "    const Xfer<faceList>&,\n"
-                "    const Xfer<cellList>&\n"
-                ")\n"
-            )   << "Cell " << celli << "contains face labels out of range: "
+            FatalErrorInFunction
+                << "Cell " << celli << "contains face labels out of range: "
                 << curCell << " Max face index = " << faces_.size()
                 << abort(FatalError);
         }
@@ -724,19 +700,8 @@ void Foam::polyMesh::resetPrimitives
 
         if (min(curFace) < 0 || max(curFace) > points_.size())
         {
-            FatalErrorIn
-            (
-                "polyMesh::polyMesh::resetPrimitives\n"
-                "(\n"
-                "    const Xfer<pointField>&,\n"
-                "    const Xfer<faceList>&,\n"
-                "    const Xfer<labelList>& owner,\n"
-                "    const Xfer<labelList>& neighbour,\n"
-                "    const labelList& patchSizes,\n"
-                "    const labelList& patchStarts\n"
-                "    const bool validBoundary\n"
-                ")\n"
-            )   << "Face " << facei << " contains vertex labels out of range: "
+            FatalErrorInFunction
+                << "Face " << facei << " contains vertex labels out of range: "
                 << curFace << " Max point index = " << points_.size()
                 << abort(FatalError);
         }
@@ -767,19 +732,8 @@ void Foam::polyMesh::resetPrimitives
          || (returnReduce(nCells(), sumOp<label>()) == 0)
         )
         {
-            FatalErrorIn
-            (
-                "polyMesh::polyMesh::resetPrimitives\n"
-                "(\n"
-                "    const Xfer<pointField>&,\n"
-                "    const Xfer<faceList>&,\n"
-                "    const Xfer<labelList>& owner,\n"
-                "    const Xfer<labelList>& neighbour,\n"
-                "    const labelList& patchSizes,\n"
-                "    const labelList& patchStarts\n"
-                "    const bool validBoundary\n"
-                ")\n"
-            )   << "no points or no cells in mesh" << endl;
+            FatalErrorInFunction
+                << "no points or no cells in mesh" << endl;
         }
     }
 }
@@ -867,8 +821,7 @@ const Foam::labelList& Foam::polyMesh::tetBasePtIs() const
     {
         if (debug)
         {
-            WarningIn("const labelList& polyMesh::tetBasePtIs() const")
-                << "Tet base point indices not available.  "
+            WarningInFunction
                 << "Forcing storage of base points."
                 << endl;
         }
@@ -929,10 +882,8 @@ void Foam::polyMesh::addPatches
 {
     if (boundaryMesh().size())
     {
-        FatalErrorIn
-        (
-            "void polyMesh::addPatches(const List<polyPatch*>&, const bool)"
-        )   << "boundary already exists"
+        FatalErrorInFunction
+            << "boundary already exists"
             << abort(FatalError);
     }
 
@@ -976,15 +927,8 @@ void Foam::polyMesh::addZones
 {
     if (pointZones().size() || faceZones().size() || cellZones().size())
     {
-        FatalErrorIn
-        (
-            "void addZones\n"
-            "(\n"
-            "    const List<pointZone*>&,\n"
-            "    const List<faceZone*>&,\n"
-            "    const List<cellZone*>&\n"
-            ")"
-        )   << "point, face or cell zone already exists"
+        FatalErrorInFunction
+            << "point, face or cell zone already exists"
             << abort(FatalError);
     }
 
@@ -1036,7 +980,7 @@ const Foam::pointField& Foam::polyMesh::points() const
 {
     if (clearedPrimitives_)
     {
-        FatalErrorIn("const pointField& polyMesh::points() const")
+        FatalErrorInFunction
             << "points deallocated"
             << abort(FatalError);
     }
@@ -1061,7 +1005,7 @@ const Foam::faceList& Foam::polyMesh::faces() const
 {
     if (clearedPrimitives_)
     {
-        FatalErrorIn("const faceList& polyMesh::faces() const")
+        FatalErrorInFunction
             << "faces deallocated"
             << abort(FatalError);
     }
@@ -1088,8 +1032,7 @@ const Foam::pointField& Foam::polyMesh::oldPoints() const
     {
         if (debug)
         {
-            WarningIn("const pointField& polyMesh::oldPoints() const")
-                << "Old points not available.  Forcing storage of old points"
+            WarningInFunction
                 << endl;
         }
 
@@ -1322,16 +1265,8 @@ void Foam::polyMesh::findCellFacePt
     }
     else
     {
-        FatalErrorIn
-        (
-            "void Foam::polyMesh::findCellFacePt"
-            "("
-                "const point& p, "
-                "label& celli, "
-                "label& tetFacei, "
-                "label& tetPti"
-            ") const"
-        )   << "Did not find nearest cell in search tree."
+        FatalErrorInFunction
+            << "Did not find nearest cell in search tree."
             << abort(FatalError);
     }
 }
diff --git a/src/OpenFOAM/meshes/polyMesh/polyMeshCheck/polyMeshCheck.C b/src/OpenFOAM/meshes/polyMesh/polyMeshCheck/polyMeshCheck.C
index 576655b74a1..14835981ab8 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyMeshCheck/polyMeshCheck.C
+++ b/src/OpenFOAM/meshes/polyMesh/polyMeshCheck/polyMeshCheck.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -97,11 +97,8 @@ bool Foam::polyMesh::checkFaceOrthogonality
                 if (detailedReport && errorNonOrth == 0)
                 {
                     // Non-orthogonality greater than 90 deg
-                    WarningIn
-                    (
-                        "polyMesh::checkFaceOrthogonality"
-                        "(const pointField&, const bool) const"
-                    )   << "Severe non-orthogonality for face "
+                    WarningInFunction
+                        << "Severe non-orthogonality for face "
                         << faceI
                         << " between cells " << own[faceI]
                         << " and " << nei[faceI]
@@ -227,22 +224,16 @@ bool Foam::polyMesh::checkFaceSkewness
                 // Non-orthogonality greater than 90 deg
                 if (isInternalFace(faceI))
                 {
-                    WarningIn
-                    (
-                        "polyMesh::checkFaceSkewnesss"
-                        "(const pointField&, const bool) const"
-                    )   << "Severe skewness " << skew[faceI]
+                    WarningInFunction
+                        << "Severe skewness " << skew[faceI]
                         << " for face " << faceI
                         << " between cells " << own[faceI]
                         << " and " << nei[faceI];
                 }
                 else
                 {
-                    WarningIn
-                    (
-                        "polyMesh::checkFaceSkewnesss"
-                        "(const pointField&, const bool) const"
-                    )   << "Severe skewness " << skew[faceI]
+                    WarningInFunction
+                        << "Severe skewness " << skew[faceI]
                         << " for boundary face " << faceI
                         << " on cell " << own[faceI];
                 }
@@ -312,11 +303,8 @@ bool Foam::polyMesh::checkEdgeAlignment
         }
         else if (directions[cmpt] != 0)
         {
-            FatalErrorIn
-            (
-                "polyMesh::checkEdgeAlignment"
-                "(const bool, const Vector<label>&, labelHashSet*)"
-            )   << "directions should contain 0 or 1 but is now " << directions
+            FatalErrorInFunction
+                << "directions should contain 0 or 1 but is now " << directions
                 << exit(FatalError);
         }
     }
diff --git a/src/OpenFOAM/meshes/polyMesh/polyMeshFromShapeMesh.C b/src/OpenFOAM/meshes/polyMesh/polyMeshFromShapeMesh.C
index 62c1877fc16..bd778285200 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyMeshFromShapeMesh.C
+++ b/src/OpenFOAM/meshes/polyMesh/polyMeshFromShapeMesh.C
@@ -115,13 +115,8 @@ Foam::labelList Foam::polyMesh::facePatchFaceCells
 
         if (!found)
         {
-            FatalErrorIn
-            (
-                "polyMesh::facePatchFaceCells(const faceList& patchFaces,"
-                "const labelListList& pointCells,"
-                "const faceListList& cellsFaceShapes,"
-                "const label patchID)"
-            )   << "face " << fI << " in patch " << patchID
+            FatalErrorInFunction
+                << "face " << fI << " in patch " << patchID
                 << " does not have neighbour cell"
                 << " face: " << patchFaces[fI]
                 << abort(FatalError);
@@ -282,20 +277,8 @@ void Foam::polyMesh::setTopology
             }
             else
             {
-                FatalErrorIn
-                (
-                    "polyMesh::setTopology\n"
-                    "(\n"
-                    "    const cellShapeList& cellsAsShapes,\n"
-                    "    const faceListList& boundaryFaces,\n"
-                    "    const wordList& boundaryPatchNames,\n"
-                    "    labelList& patchSizes,\n"
-                    "    labelList& patchStarts,\n"
-                    "    label& defaultPatchStart,\n"
-                    "    label& nFaces,\n"
-                    "    cellList& cells\n"
-                    ")"
-                )   << "Error in internal face insertion"
+                FatalErrorInFunction
+                    << "Error in internal face insertion"
                     << abort(FatalError);
             }
         }
@@ -339,20 +322,8 @@ void Foam::polyMesh::setTopology
                 {
                     if (cells[cellInside][cellFaceI] >= 0)
                     {
-                        FatalErrorIn
-                        (
-                            "polyMesh::setTopology\n"
-                            "(\n"
-                            "    const cellShapeList& cellsAsShapes,\n"
-                            "    const faceListList& boundaryFaces,\n"
-                            "    const wordList& boundaryPatchNames,\n"
-                            "    labelList& patchSizes,\n"
-                            "    labelList& patchStarts,\n"
-                            "    label& defaultPatchStart,\n"
-                            "    label& nFaces,\n"
-                            "    cellList& cells\n"
-                            ")"
-                        )   << "Trying to specify a boundary face " << curFace
+                        FatalErrorInFunction
+                            << "Trying to specify a boundary face " << curFace
                             << " on the face on cell " << cellInside
                             << " which is either an internal face or already "
                             << "belongs to some other patch.  This is face "
@@ -375,7 +346,7 @@ void Foam::polyMesh::setTopology
 
             if (!found)
             {
-                FatalErrorIn("polyMesh::polyMesh(... construct from shapes...)")
+                FatalErrorInFunction
                     << "face " << faceI << " of patch " << patchI
                     << " does not seem to belong to cell " << cellInside
                     << " which, according to the addressing, "
@@ -622,7 +593,7 @@ Foam::polyMesh::polyMesh
 
     if (nDefaultFaces > 0)
     {
-        WarningIn("polyMesh::polyMesh(... construct from shapes...)")
+        WarningInFunction
             << "Found " << nDefaultFaces
             << " undefined faces in mesh; adding to default patch." << endl;
 
@@ -634,13 +605,13 @@ Foam::polyMesh::polyMesh
         {
             if (patchI != boundaryFaces.size()-1 || boundary_[patchI].size())
             {
-                FatalErrorIn("polyMesh::polyMesh(... construct from shapes...)")
+                FatalErrorInFunction
                     << "Default patch " << boundary_[patchI].name()
                     << " already has faces in it or is not"
                     << " last in list of patches." << exit(FatalError);
             }
 
-            WarningIn("polyMesh::polyMesh(... construct from shapes...)")
+            WarningInFunction
                 << "Reusing existing patch " << patchI
                 << " for undefined faces." << endl;
 
@@ -898,7 +869,7 @@ Foam::polyMesh::polyMesh
 
     if (nDefaultFaces > 0)
     {
-        WarningIn("polyMesh::polyMesh(... construct from shapes...)")
+        WarningInFunction
             << "Found " << nDefaultFaces
             << " undefined faces in mesh; adding to default patch." << endl;
 
@@ -910,13 +881,13 @@ Foam::polyMesh::polyMesh
         {
             if (patchI != boundaryFaces.size()-1 || boundary_[patchI].size())
             {
-                FatalErrorIn("polyMesh::polyMesh(... construct from shapes...)")
+                FatalErrorInFunction
                     << "Default patch " << boundary_[patchI].name()
                     << " already has faces in it or is not"
                     << " last in list of patches." << exit(FatalError);
             }
 
-            WarningIn("polyMesh::polyMesh(... construct from shapes...)")
+            WarningInFunction
                 << "Reusing existing patch " << patchI
                 << " for undefined faces." << endl;
 
diff --git a/src/OpenFOAM/meshes/polyMesh/polyMeshIO.C b/src/OpenFOAM/meshes/polyMesh/polyMeshIO.C
index 6015f1167dd..f185c79a6f0 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyMeshIO.C
+++ b/src/OpenFOAM/meshes/polyMesh/polyMeshIO.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -204,8 +204,7 @@ Foam::polyMesh::readUpdateState Foam::polyMesh::readUpdate()
 
         if (boundaryChanged)
         {
-            WarningIn("polyMesh::readUpdateState polyMesh::readUpdate()")
-                << "Number of patches has changed.  This may have "
+            WarningInFunction
                 << "unexpected consequences.  Proceed with care." << endl;
 
             boundary_.clear();
@@ -432,7 +431,7 @@ Foam::polyMesh::readUpdateState Foam::polyMesh::readUpdate()
 
         if (nOldPoints != 0 && nOldPoints != newPoints.size())
         {
-            FatalErrorIn("polyMesh::readUpdate()")
+            FatalErrorInFunction
                 << "Point motion detected but number of points "
                 << newPoints.size() << " in "
                 << newPoints.objectPath() << " does not correspond to "
diff --git a/src/OpenFOAM/meshes/polyMesh/polyMeshInitMesh.C b/src/OpenFOAM/meshes/polyMesh/polyMeshInitMesh.C
index 33399d41d32..ef2c09e5b6b 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyMeshInitMesh.C
+++ b/src/OpenFOAM/meshes/polyMesh/polyMeshInitMesh.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -62,7 +62,7 @@ void Foam::polyMesh::initMesh()
     {
         if (owner_[facei] < 0)
         {
-            FatalErrorIn("polyMesh::initMesh()")
+            FatalErrorInFunction
                 << "Illegal cell label " << owner_[facei]
                 << " in neighbour addressing for face " << facei
                 << exit(FatalError);
@@ -75,7 +75,7 @@ void Foam::polyMesh::initMesh()
     {
         if (neighbour_[facei] < 0)
         {
-            FatalErrorIn("polyMesh::initMesh()")
+            FatalErrorInFunction
                 << "Illegal cell label " << neighbour_[facei]
                 << " in neighbour addressing for face " << facei
                 << exit(FatalError);
@@ -129,7 +129,7 @@ void Foam::polyMesh::initMesh(cellList& c)
         {
             if (cellfaces[faceI] < 0)
             {
-                FatalErrorIn("polyMesh::initMesh(cellList&)")
+                FatalErrorInFunction
                     << "Illegal face label " << cellfaces[faceI]
                     << " in cell " << cellI
                     << exit(FatalError);
diff --git a/src/OpenFOAM/meshes/polyMesh/polyMeshTetDecomposition/polyMeshTetDecomposition.C b/src/OpenFOAM/meshes/polyMesh/polyMeshTetDecomposition/polyMeshTetDecomposition.C
index 6c1d76d4aee..a38773d455e 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyMeshTetDecomposition/polyMeshTetDecomposition.C
+++ b/src/OpenFOAM/meshes/polyMesh/polyMeshTetDecomposition/polyMeshTetDecomposition.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -309,16 +309,8 @@ Foam::labelList Foam::polyMeshTetDecomposition::findFaceBasePts
 
         if (bFTetBasePtI == -2)
         {
-            FatalErrorIn
-            (
-                "labelList"
-                "polyMeshTetDecomposition::findFaceBasePts"
-                "("
-                    "const polyMesh& mesh, "
-                    "scalar tol, "
-                    "bool report"
-                ")"
-            )   << "Coupled face base point exchange failure for face "
+            FatalErrorInFunction
+                << "Coupled face base point exchange failure for face "
                 << fI
                 << abort(FatalError);
         }
@@ -558,16 +550,8 @@ Foam::List<Foam::tetIndices> Foam::polyMeshTetDecomposition::faceTetIndices
     {
         if (nWarnings < maxWarnings)
         {
-            WarningIn
-            (
-                "List<tetIndices> "
-                "polyMeshTetDecomposition::faceTetIndices"
-                "("
-                    "const polyMesh&, "
-                    "label, "
-                    "label"
-                ")"
-            )   << "No base point for face " << fI << ", " << f
+            WarningInFunction
+                << "No base point for face " << fI << ", " << f
                 << ", produces a valid tet decomposition."
                 << endl;
             nWarnings++;
@@ -630,17 +614,8 @@ Foam::tetIndices Foam::polyMeshTetDecomposition::triangleTetIndices
     {
         if (nWarnings < maxWarnings)
         {
-            WarningIn
-            (
-                "tetIndices "
-                "polyMeshTetDecomposition::triangleTetIndices"
-                "("
-                    "const polyMesh&, "
-                    "label, "
-                    "label, "
-                    "label"
-                ")"
-            )   << "No base point for face " << fI << ", " << f
+            WarningInFunction
+                << "No base point for face " << fI << ", " << f
                 << ", produces a valid tet decomposition."
                 << endl;
             nWarnings++;
diff --git a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C
index 05720e178f1..55a56ea38fd 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C
+++ b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -155,10 +155,8 @@ void Foam::cyclicPolyPatch::calcTransforms
 
     if (half0Ctrs.size() != half1Ctrs.size())
     {
-        FatalErrorIn
-        (
-            "cyclicPolyPatch::calcTransforms()"
-        )   << "For patch " << name()
+        FatalErrorInFunction
+            << "For patch " << name()
             << " there are " << half0Ctrs.size()
             << " face centres, for the neighbour patch " << neighbPatch().name()
             << " there are " << half1Ctrs.size()
@@ -167,10 +165,8 @@ void Foam::cyclicPolyPatch::calcTransforms
 
     if (transform() != neighbPatch().transform())
     {
-        FatalErrorIn
-        (
-            "cyclicPolyPatch::calcTransforms()"
-        )   << "Patch " << name()
+        FatalErrorInFunction
+            << "Patch " << name()
             << " has transform type " << transformTypeNames[transform()]
             << ", neighbour patch " << neighbPatchName()
             << " has transform type "
@@ -215,10 +211,8 @@ void Foam::cyclicPolyPatch::calcTransforms
 
                 if (areaDiff > matchTolerance())
                 {
-                    FatalErrorIn
-                    (
-                        "cyclicPolyPatch::calcTransforms()"
-                    )   << "face " << facei
+                    FatalErrorInFunction
+                        << "face " << facei
                         << " area does not match neighbour by "
                         << 100*areaDiff
                         << "% -- possible face ordering problem." << endl
@@ -347,10 +341,8 @@ void Foam::cyclicPolyPatch::calcTransforms
                   > avgTol
                 )
                 {
-                    WarningIn
-                    (
-                        "cyclicPolyPatch::calcTransforms()"
-                    )   << "Specified separation vector " << separationVector_
+                    WarningInFunction
+                        << "Specified separation vector " << separationVector_
                         << " differs by that of neighbouring patch "
                         << neighbPatch().separationVector_
                         << " by more than tolerance " << avgTol << endl
@@ -367,10 +359,8 @@ void Foam::cyclicPolyPatch::calcTransforms
                  || mag(separation()[0] - separationVector_) > avgTol
                 )
                 {
-                    WarningIn
-                    (
-                        "cyclicPolyPatch::calcTransforms()"
-                    )   << "Specified separationVector " << separationVector_
+                    WarningInFunction
+                        << "Specified separationVector " << separationVector_
                         << " differs from computed separation vector "
                         << separation() << endl
                         << "This probably means your geometry is not consistent"
@@ -677,15 +667,8 @@ Foam::cyclicPolyPatch::cyclicPolyPatch
 {
     if (neighbPatchName_ == word::null && !coupleGroup_.valid())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "cyclicPolyPatch::cyclicPolyPatch\n"
-            "(\n"
-            "    const word& name,\n"
-            "    const dictionary& dict,\n"
-            "    const label index,\n"
-            "    const polyBoundaryMesh& bm\n"
-            ")",
             dict
         )   << "No \"neighbourPatch\" provided." << endl
             << "Is your mesh uptodate with split cyclics?" << endl
@@ -695,7 +678,7 @@ Foam::cyclicPolyPatch::cyclicPolyPatch
 
     if (neighbPatchName_ == name)
     {
-        FatalIOErrorIn("cyclicPolyPatch::cyclicPolyPatch(..)", dict)
+        FatalIOErrorInFunction(dict)
             << "Neighbour patch name " << neighbPatchName_
             << " cannot be the same as this patch " << name
             << exit(FatalIOError);
@@ -711,7 +694,7 @@ Foam::cyclicPolyPatch::cyclicPolyPatch
             scalar magRot = mag(rotationAxis_);
             if (magRot < SMALL)
             {
-                FatalIOErrorIn("cyclicPolyPatch::cyclicPolyPatch(..)", dict)
+                FatalIOErrorInFunction(dict)
                     << "Illegal rotationAxis " << rotationAxis_ << endl
                     << "Please supply a non-zero vector."
                     << exit(FatalIOError);
@@ -779,7 +762,7 @@ Foam::cyclicPolyPatch::cyclicPolyPatch
 {
     if (neighbName == name())
     {
-        FatalErrorIn("cyclicPolyPatch::cyclicPolyPatch(..)")
+        FatalErrorInFunction
             << "Neighbour patch name " << neighbName
             << " cannot be the same as this patch " << name()
             << exit(FatalError);
@@ -843,7 +826,7 @@ Foam::label Foam::cyclicPolyPatch::neighbPatchID() const
 
         if (neighbPatchID_ == -1)
         {
-            FatalErrorIn("cyclicPolyPatch::neighbPatchID() const")
+            FatalErrorInFunction
                 << "Illegal neighbourPatch name " << neighbPatchName()
                 << endl << "Valid patch names are "
                 << this->boundaryMesh().names()
@@ -858,7 +841,7 @@ Foam::label Foam::cyclicPolyPatch::neighbPatchID() const
 
         if (nbrPatch.neighbPatchName() != name())
         {
-            WarningIn("cyclicPolyPatch::neighbPatchID() const")
+            WarningInFunction
                 << "Patch " << name()
                 << " specifies neighbour patch " << neighbPatchName()
                 << endl << " but that in return specifies "
@@ -1207,7 +1190,7 @@ const Foam::edgeList& Foam::cyclicPolyPatch::coupledEdges() const
 
             if (e[0] < 0 || e[1] < 0)
             {
-                FatalErrorIn("cyclicPolyPatch::coupledEdges() const")
+                FatalErrorInFunction
                     << "Problem : at position " << i
                     << " illegal couple:" << e
                     << abort(FatalError);
@@ -1395,11 +1378,8 @@ bool Foam::cyclicPolyPatch::order
 
         if (!matchedAll)
         {
-            SeriousErrorIn
-            (
-                "cyclicPolyPatch::order"
-                "(const primitivePatch&, labelList&, labelList&) const"
-            )   << "Patch:" << name() << " : "
+            SeriousErrorInFunction
+                << "Patch:" << name() << " : "
                 << "Cannot match vectors to faces on both sides of patch"
                 << endl
                 << "    Perhaps your faces do not match?"
@@ -1432,11 +1412,8 @@ bool Foam::cyclicPolyPatch::order
 
             if (rotation[newFaceI] == -1)
             {
-                SeriousErrorIn
-                (
-                    "cyclicPolyPatch::order(const primitivePatch&"
-                    ", labelList&, labelList&) const"
-                )   << "in patch " << name()
+                SeriousErrorInFunction
+                    << "in patch " << name()
                     << " : "
                     << "Cannot find point on face " << pp[oldFaceI]
                     << " with vertices "
diff --git a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.H b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.H
index 88352668261..5ef37b30224 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.H
+++ b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.H
@@ -362,10 +362,8 @@ public:
             }
             else
             {
-                FatalErrorIn
-                (
-                    "cyclicPolyPatch::transformGlobalFace(const label) const"
-                )   << "Face " << facei << " not in patch " << name()
+                FatalErrorInFunction
+                    << "Face " << facei << " not in patch " << name()
                     << exit(FatalError);
                 return -1;
             }
diff --git a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/oldCyclic/oldCyclicPolyPatch.C b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/oldCyclic/oldCyclicPolyPatch.C
index 2c8383c4072..efc2c8adafd 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/oldCyclic/oldCyclicPolyPatch.C
+++ b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/oldCyclic/oldCyclicPolyPatch.C
@@ -263,11 +263,8 @@ bool Foam::oldCyclicPolyPatch::getGeometricHalves
             }
         }
 
-        SeriousErrorIn
-        (
-            "oldCyclicPolyPatch::getGeometricHalves"
-            "(const primitivePatch&, labelList&, labelList&) const"
-        )   << "Patch " << name() << " gets decomposed in two zones of"
+        SeriousErrorInFunction
+            << "Patch " << name() << " gets decomposed in two zones of"
             << "inequal size: " << half0ToPatch.size()
             << " and " << half1ToPatch.size() << endl
             << "This means that the patch is either not two separate regions"
@@ -499,10 +496,8 @@ bool Foam::oldCyclicPolyPatch::matchAnchors
             if (report)
             {
                 const face& f = half1Faces[half1FaceI];
-                SeriousErrorIn
-                (
-                    "oldCyclicPolyPatch::matchAnchors(..)"
-                )   << "Patch:" << name() << " : "
+                SeriousErrorInFunction
+                    << "Patch:" << name() << " : "
                     << "Cannot find point on face " << f
                     << " with vertices:"
                     << UIndirectList<point>(pp.points(), f)()
@@ -602,15 +597,8 @@ Foam::oldCyclicPolyPatch::oldCyclicPolyPatch
 {
     if (dict.found("neighbourPatch"))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "oldCyclicPolyPatch::oldCyclicPolyPatch\n"
-            "(\n"
-            "    const word& name,\n"
-            "    const dictionary& dict,\n"
-            "    const label index,\n"
-            "    const polyBoundaryMesh& bm\n"
-            ")",
             dict
         )   << "Found \"neighbourPatch\" entry when reading cyclic patch "
             << name << endl
@@ -771,7 +759,7 @@ bool Foam::oldCyclicPolyPatch::order
 
     if (pp.size()&1)
     {
-        FatalErrorIn("oldCyclicPolyPatch::order(..)")
+        FatalErrorInFunction
             << "Size of cyclic " << name() << " should be a multiple of 2"
             << ". It is " << pp.size() << abort(FatalError);
     }
@@ -1191,11 +1179,8 @@ bool Foam::oldCyclicPolyPatch::order
 
     if (!matchedAll)
     {
-        SeriousErrorIn
-        (
-            "oldCyclicPolyPatch::order"
-            "(const primitivePatch&, labelList&, labelList&) const"
-        )   << "Patch:" << name() << " : "
+        SeriousErrorInFunction
+            << "Patch:" << name() << " : "
             << "Cannot match vectors to faces on both sides of patch" << endl
             << "    Perhaps your faces do not match?"
             << " The obj files written contain the current match." << endl
@@ -1269,7 +1254,7 @@ void Foam::oldCyclicPolyPatch::write(Ostream& os) const
         }
     }
 
-    WarningIn("oldCyclicPolyPatch::write(Ostream& os) const")
+    WarningInFunction
         << "Please run foamUpgradeCyclics to convert these old-style"
         << " cyclics into two separate cyclics patches."
         << endl;
diff --git a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processor/processorPolyPatch.C b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processor/processorPolyPatch.C
index 5b2a4332fdc..50f3ff9b49d 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processor/processorPolyPatch.C
+++ b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processor/processorPolyPatch.C
@@ -237,10 +237,8 @@ void Foam::processorPolyPatch::calcGeometry(PstreamBuffers& pBufs)
                     writeOBJ(ccStr, c0, c1, vertI);
                 }
 
-                FatalErrorIn
-                (
-                    "processorPolyPatch::calcGeometry()"
-                )   << "face " << facei << " area does not match neighbour by "
+                FatalErrorInFunction
+                    << "face " << facei << " area does not match neighbour by "
                     << 100*mag(magSf - nbrMagSf)/avSf
                     << "% -- possible face ordering problem." << endl
                     << "patch:" << name()
@@ -465,7 +463,7 @@ const Foam::labelList& Foam::processorPolyPatch::neighbPoints() const
 {
     if (!neighbPointsPtr_.valid())
     {
-        FatalErrorIn("processorPolyPatch::neighbPoints() const")
+        FatalErrorInFunction
             << "No extended addressing calculated for patch " << name()
             << abort(FatalError);
     }
@@ -477,7 +475,7 @@ const Foam::labelList& Foam::processorPolyPatch::neighbEdges() const
 {
     if (!neighbEdgesPtr_.valid())
     {
-        FatalErrorIn("processorPolyPatch::neighbEdges() const")
+        FatalErrorInFunction
             << "No extended addressing calculated for patch " << name()
             << abort(FatalError);
     }
@@ -838,7 +836,7 @@ bool Foam::processorPolyPatch::order
                         pts[pI] = localPts[localPtI];
                     }
 
-                    FatalErrorIn("Foam::processorPolyPatch::order(...) const")
+                    FatalErrorInFunction
                         << "No match for face " << localFace << nl << pts
                         << abort(FatalError);
                 }
@@ -885,11 +883,8 @@ bool Foam::processorPolyPatch::order
 
                 if (masterCtrs.size() != pp.size())
                 {
-                    FatalErrorIn
-                    (
-                        "processorPolyPatch::order(const primitivePatch&"
-                        ", labelList&, labelList&) const"
-                    )   << "in patch:" << name() << " : "
+                    FatalErrorInFunction
+                        << "in patch:" << name() << " : "
                         << "Local size of patch is " << pp.size() << " (faces)."
                         << endl
                         << "Received from neighbour " << masterCtrs.size()
@@ -1008,11 +1003,8 @@ bool Foam::processorPolyPatch::order
 
             if (!matchedAll)
             {
-                SeriousErrorIn
-                (
-                    "processorPolyPatch::order(const primitivePatch&"
-                    ", labelList&, labelList&) const"
-                )   << "in patch:" << name() << " : "
+                SeriousErrorInFunction
+                    << "in patch:" << name() << " : "
                     << "Cannot match vectors to faces on both sides of patch"
                     << endl
                     << "    masterCtrs[0]:" << masterCtrs[0] << endl
@@ -1047,11 +1039,8 @@ bool Foam::processorPolyPatch::order
 
                 if (rotation[newFaceI] == -1)
                 {
-                    SeriousErrorIn
-                    (
-                        "processorPolyPatch::order(const primitivePatch&"
-                        ", labelList&, labelList&) const"
-                    )   << "in patch " << name()
+                    SeriousErrorInFunction
+                        << "in patch " << name()
                         << " : "
                         << "Cannot find point on face " << pp[oldFaceI]
                         << " with vertices "
diff --git a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processorCyclic/processorCyclicPolyPatch.C b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processorCyclic/processorCyclicPolyPatch.C
index e2d86a4977b..8bd031532a6 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processorCyclic/processorCyclicPolyPatch.C
+++ b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processorCyclic/processorCyclicPolyPatch.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -179,7 +179,7 @@ int Foam::processorCyclicPolyPatch::tag() const
 
         if (tag_ == Pstream::msgType() || tag_ == -1)
         {
-            FatalErrorIn("processorCyclicPolyPatch::tag() const")
+            FatalErrorInFunction
                 << "Tag calculated from cyclic patch name " << tag_
                 << " is the same as the current message type "
                 << Pstream::msgType() << " or -1" << nl
diff --git a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processorCyclic/processorCyclicPolyPatch.H b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processorCyclic/processorCyclicPolyPatch.H
index c4ccc58ea49..1f98b30bcab 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processorCyclic/processorCyclicPolyPatch.H
+++ b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processorCyclic/processorCyclicPolyPatch.H
@@ -277,10 +277,8 @@ public:
                 );
                 if (referPatchID_ == -1)
                 {
-                    FatalErrorIn
-                    (
-                        "processorCyclicPolyPatch::referPatchID() const"
-                    )   << "Illegal referPatch name " << referPatchName_
+                    FatalErrorInFunction
+                        << "Illegal referPatch name " << referPatchName_
                         << endl << "Valid patch names are "
                         << this->boundaryMesh().names()
                         << exit(FatalError);
diff --git a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/symmetryPlane/symmetryPlanePolyPatch.C b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/symmetryPlane/symmetryPlanePolyPatch.C
index 63268e68321..4888ff22700 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/symmetryPlane/symmetryPlanePolyPatch.C
+++ b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/symmetryPlane/symmetryPlanePolyPatch.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -61,7 +61,7 @@ void Foam::symmetryPlanePolyPatch::calcGeometry(PstreamBuffers&)
             {
                 if (magSqr(n_ - nf[facei]) > SMALL)
                 {
-                    FatalErrorIn("symmetryPlanePolyPatch::n()")
+                    FatalErrorInFunction
                         << "Symmetry plane '" << name() << "' is not planar."
                         << endl
                         << "At local face at "
diff --git a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/wedge/wedgePolyPatch.C b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/wedge/wedgePolyPatch.C
index e12d22e5a5c..e8fd99e786a 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/wedge/wedgePolyPatch.C
+++ b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/wedge/wedgePolyPatch.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -66,10 +66,7 @@ void Foam::wedgePolyPatch::calcGeometry(PstreamBuffers&)
             {
                 // only issue warning instead of error so that the case can
                 // still be read for post-processing
-                WarningIn
-                (
-                    "wedgePolyPatch::calcGeometry(PstreamBuffers&)"
-                )
+                WarningInFunction
                     << "Wedge patch '" << name() << "' is not planar." << nl
                     << "At local face at "
                     << primitivePatch::faceCentres()[faceI]
@@ -97,7 +94,7 @@ void Foam::wedgePolyPatch::calcGeometry(PstreamBuffers&)
 
         if (mag(cnCmptSum) < (1 - SMALL))
         {
-            FatalErrorIn("wedgePolyPatch::calcGeometry(PstreamBuffers&)")
+            FatalErrorInFunction
                 << "wedge " << name()
                 << " centre plane does not align with a coordinate plane by "
                 << 1 - mag(cnCmptSum)
@@ -109,7 +106,7 @@ void Foam::wedgePolyPatch::calcGeometry(PstreamBuffers&)
 
         if (magAxis < SMALL)
         {
-            FatalErrorIn("wedgePolyPatch::calcGeometry(PstreamBuffers&)")
+            FatalErrorInFunction
                 << "wedge " << name()
                 << " plane aligns with a coordinate plane." << nl
                 << "    The wedge plane should make a small angle (~2.5deg)"
diff --git a/src/OpenFOAM/meshes/polyMesh/polyPatches/polyPatch/polyPatchNew.C b/src/OpenFOAM/meshes/polyMesh/polyPatches/polyPatch/polyPatchNew.C
index 055fea4f7c7..b161194fc3b 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyPatches/polyPatch/polyPatchNew.C
+++ b/src/OpenFOAM/meshes/polyMesh/polyPatches/polyPatch/polyPatchNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -51,11 +51,8 @@ Foam::autoPtr<Foam::polyPatch> Foam::polyPatch::New
 
     if (cstrIter == wordConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "polyPatch::New(const word&, const word&, const label, "
-            "const label, const label, const polyBoundaryMesh&) "
-        )   << "Unknown polyPatch type "
+        FatalErrorInFunction
+            << "Unknown polyPatch type "
             << patchType << " for patch " << name << nl << nl
             << "Valid polyPatch types are :" << endl
             << wordConstructorTablePtr_->sortedToc()
@@ -127,10 +124,8 @@ Foam::autoPtr<Foam::polyPatch> Foam::polyPatch::New
 
         if (cstrIter == dictionaryConstructorTablePtr_->end())
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "polyPatch::New(const word&, const dictionary&, "
-                "const label, const polyBoundaryMesh&)",
                 dict
             )   << "Unknown polyPatch type "
                 << patchType << " for patch " << name << nl << nl
diff --git a/src/OpenFOAM/meshes/polyMesh/syncTools/syncTools.C b/src/OpenFOAM/meshes/polyMesh/syncTools/syncTools.C
index 4326d43f38f..9855309451a 100644
--- a/src/OpenFOAM/meshes/polyMesh/syncTools/syncTools.C
+++ b/src/OpenFOAM/meshes/polyMesh/syncTools/syncTools.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -36,11 +36,8 @@ void Foam::syncTools::swapBoundaryCellPositions
 {
     if (cellData.size() != mesh.nCells())
     {
-        FatalErrorIn
-        (
-            "syncTools<class T>::swapBoundaryCellPositions"
-            "(const polyMesh&, const UList<T>&, List<T>&)"
-        )   << "Number of cell values " << cellData.size()
+        FatalErrorInFunction
+            << "Number of cell values " << cellData.size()
             << " is not equal to the number of cells in the mesh "
             << mesh.nCells() << abort(FatalError);
     }
diff --git a/src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C b/src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C
index f9b90ae0a12..a1e2b2dc597 100644
--- a/src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C
+++ b/src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -773,12 +773,8 @@ void Foam::syncTools::syncEdgeMap
 //{
 //    if (pointValues.size() != mesh.nPoints())
 //    {
-//        FatalErrorIn
-//        (
-//            "syncTools<class T, class CombineOp>::syncPointList"
-//            "(const polyMesh&, List<T>&, const CombineOp&, const T&"
-//            ", const bool)"
-//        )   << "Number of values " << pointValues.size()
+//        FatalErrorInFunction
+//            << "Number of values " << pointValues.size()
 //            << " is not equal to the number of points in the mesh "
 //            << mesh.nPoints() << abort(FatalError);
 //    }
@@ -950,12 +946,8 @@ void Foam::syncTools::syncEdgeMap
 //{
 //    if (pointValues.size() != meshPoints.size())
 //    {
-//        FatalErrorIn
-//        (
-//            "syncTools<class T, class CombineOp>::syncPointList"
-//            "(const polyMesh&, const labelList&, List<T>&, const CombineOp&"
-//            ", const T&, const bool)"
-//        )   << "Number of values " << pointValues.size()
+//        FatalErrorInFunction
+//            << "Number of values " << pointValues.size()
 //            << " is not equal to the number of points "
 //            << meshPoints.size() << abort(FatalError);
 //    }
@@ -999,12 +991,8 @@ void Foam::syncTools::syncPointList
 {
     if (pointValues.size() != mesh.nPoints())
     {
-        FatalErrorIn
-        (
-            "syncTools<class T, class CombineOp>::syncPointList"
-            "(const polyMesh&, List<T>&, const CombineOp&, const T&"
-            ", const bool)"
-        )   << "Number of values " << pointValues.size()
+        FatalErrorInFunction
+            << "Number of values " << pointValues.size()
             << " is not equal to the number of points in the mesh "
             << mesh.nPoints() << abort(FatalError);
     }
@@ -1024,11 +1012,8 @@ void Foam::syncTools::syncPointList
 //{
 //    if (pointValues.size() != mesh.nPoints())
 //    {
-//        FatalErrorIn
-//        (
-//            "syncTools<class CombineOp>::syncPointPositions"
-//            "(const polyMesh&, List<point>&, const CombineOp&, const point&)"
-//        )   << "Number of values " << pointValues.size()
+//        FatalErrorInFunction
+//            << "Number of values " << pointValues.size()
 //            << " is not equal to the number of points in the mesh "
 //            << mesh.nPoints() << abort(FatalError);
 //    }
@@ -1050,11 +1035,8 @@ void Foam::syncTools::syncPointList
 {
     if (pointValues.size() != meshPoints.size())
     {
-        FatalErrorIn
-        (
-            "syncTools<class T, class CombineOp>::syncPointList"
-            "(const polyMesh&, List<T>&, const CombineOp&, const T&)"
-        )   << "Number of values " << pointValues.size()
+        FatalErrorInFunction
+            << "Number of values " << pointValues.size()
             << " is not equal to the number of meshPoints "
             << meshPoints.size() << abort(FatalError);
     }
@@ -1109,11 +1091,8 @@ void Foam::syncTools::syncPointList
 //{
 //    if (pointValues.size() != meshPoints.size())
 //    {
-//        FatalErrorIn
-//        (
-//            "syncTools<class CombineOp>::syncPointList"
-//            "(const polyMesh&, List<point>&, const CombineOp&, const point&)"
-//        )   << "Number of values " << pointValues.size()
+//        FatalErrorInFunction
+//            << "Number of values " << pointValues.size()
 //            << " is not equal to the number of meshPoints "
 //            << meshPoints.size() << abort(FatalError);
 //    }
@@ -1169,11 +1148,8 @@ void Foam::syncTools::syncEdgeList
 {
     if (edgeValues.size() != mesh.nEdges())
     {
-        FatalErrorIn
-        (
-            "syncTools<class T, class CombineOp>::syncEdgeList"
-            "(const polyMesh&, List<T>&, const CombineOp&, const T&)"
-        )   << "Number of values " << edgeValues.size()
+        FatalErrorInFunction
+            << "Number of values " << edgeValues.size()
             << " is not equal to the number of edges in the mesh "
             << mesh.nEdges() << abort(FatalError);
     }
@@ -1215,11 +1191,8 @@ void Foam::syncTools::syncEdgeList
 //{
 //    if (edgeValues.size() != mesh.nEdges())
 //    {
-//        FatalErrorIn
-//        (
-//            "syncTools<class CombineOp>::syncEdgePositions"
-//            "(const polyMesh&, List<point>&, const CombineOp&, const point&)"
-//        )   << "Number of values " << edgeValues.size()
+//        FatalErrorInFunction
+//            << "Number of values " << edgeValues.size()
 //            << " is not equal to the number of edges in the mesh "
 //            << mesh.nEdges() << abort(FatalError);
 //    }
@@ -1264,11 +1237,8 @@ void Foam::syncTools::syncEdgeList
 {
     if (edgeValues.size() != meshEdges.size())
     {
-        FatalErrorIn
-        (
-            "syncTools<class T, class CombineOp>::syncEdgeList"
-            "(const polyMesh&, List<T>&, const CombineOp&, const T&)"
-        )   << "Number of values " << edgeValues.size()
+        FatalErrorInFunction
+            << "Number of values " << edgeValues.size()
             << " is not equal to the number of meshEdges "
             << meshEdges.size() << abort(FatalError);
     }
@@ -1323,12 +1293,8 @@ void Foam::syncTools::syncBoundaryFaceList
 
     if (faceValues.size() != nBFaces)
     {
-        FatalErrorIn
-        (
-            "syncTools<class T, class CombineOp>::syncBoundaryFaceList"
-            "(const polyMesh&, UList<T>&, const CombineOp&"
-            ", const bool)"
-        )   << "Number of values " << faceValues.size()
+        FatalErrorInFunction
+            << "Number of values " << faceValues.size()
             << " is not equal to the number of boundary faces in the mesh "
             << nBFaces << abort(FatalError);
     }
@@ -1446,11 +1412,8 @@ void Foam::syncTools::syncFaceList
 {
     if (faceValues.size() != mesh.nFaces())
     {
-        FatalErrorIn
-        (
-            "syncTools<unsigned nBits, class CombineOp>::syncFaceList"
-            "(const polyMesh&, PackedList<nBits>&, const CombineOp&)"
-        )   << "Number of values " << faceValues.size()
+        FatalErrorInFunction
+            << "Number of values " << faceValues.size()
             << " is not equal to the number of faces in the mesh "
             << mesh.nFaces() << abort(FatalError);
     }
@@ -1563,11 +1526,8 @@ void Foam::syncTools::swapBoundaryCellList
 {
     if (cellData.size() != mesh.nCells())
     {
-        FatalErrorIn
-        (
-            "syncTools<class T>::swapBoundaryCellList"
-            "(const polyMesh&, const UList<T>&, List<T>&)"
-        )   << "Number of cell values " << cellData.size()
+        FatalErrorInFunction
+            << "Number of cell values " << cellData.size()
             << " is not equal to the number of cells in the mesh "
             << mesh.nCells() << abort(FatalError);
     }
@@ -1614,12 +1574,8 @@ void Foam::syncTools::syncPointList
 {
     if (pointValues.size() != mesh.nPoints())
     {
-        FatalErrorIn
-        (
-            "syncTools<unsigned nBits, class CombineOp>::syncPointList"
-            "(const polyMesh&, PackedList<nBits>&, const CombineOp&"
-            ", const unsigned int)"
-        )   << "Number of values " << pointValues.size()
+        FatalErrorInFunction
+            << "Number of values " << pointValues.size()
             << " is not equal to the number of points in the mesh "
             << mesh.nPoints() << abort(FatalError);
     }
@@ -1661,12 +1617,8 @@ void Foam::syncTools::syncEdgeList
 {
     if (edgeValues.size() != mesh.nEdges())
     {
-        FatalErrorIn
-        (
-            "syncTools<unsigned nBits, class CombineOp>::syncEdgeList"
-            "(const polyMesh&, PackedList<nBits>&, const CombineOp&"
-            ", const unsigned int)"
-        )   << "Number of values " << edgeValues.size()
+        FatalErrorInFunction
+            << "Number of values " << edgeValues.size()
             << " is not equal to the number of edges in the mesh "
             << mesh.nEdges() << abort(FatalError);
     }
diff --git a/src/OpenFOAM/meshes/polyMesh/zones/ZoneMesh/ZoneMesh.C b/src/OpenFOAM/meshes/polyMesh/zones/ZoneMesh/ZoneMesh.C
index 0c0525d9ee8..5e44455f0c2 100644
--- a/src/OpenFOAM/meshes/polyMesh/zones/ZoneMesh/ZoneMesh.C
+++ b/src/OpenFOAM/meshes/polyMesh/zones/ZoneMesh/ZoneMesh.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -38,7 +38,7 @@ void Foam::ZoneMesh<ZoneType, MeshType>::calcZoneMap() const
     // if the pointer is already set
     if (zoneMapPtr_)
     {
-        FatalErrorIn("void ZoneMesh<ZoneType>::calcZoneMap() const")
+        FatalErrorInFunction
             << "zone map already calculated"
             << abort(FatalError);
     }
@@ -82,14 +82,8 @@ bool Foam::ZoneMesh<ZoneType, MeshType>::read()
     {
         if (readOpt() == IOobject::MUST_READ_IF_MODIFIED)
         {
-            WarningIn
-            (
-                "ZoneMesh::ZoneMesh\n"
-                "(\n"
-                "    const IOobject&,\n"
-                "    const MeshType&\n"
-                ")"
-            )   << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
+            WarningInFunction
+                << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
                 << " does not support automatic rereading."
                 << endl;
         }
@@ -548,10 +542,8 @@ const ZoneType& Foam::ZoneMesh<ZoneType, MeshType>::operator[]
 
     if (zoneI < 0)
     {
-        FatalErrorIn
-        (
-            "ZoneMesh<ZoneType>::operator[](const word&) const"
-        )   << "Zone named " << zoneName << " not found." << nl
+        FatalErrorInFunction
+            << "Zone named " << zoneName << " not found." << nl
             << "Available zone names: " << names() << endl
             << abort(FatalError);
     }
@@ -570,10 +562,8 @@ ZoneType& Foam::ZoneMesh<ZoneType, MeshType>::operator[]
 
     if (zoneI < 0)
     {
-        FatalErrorIn
-        (
-            "ZoneMesh<ZoneType>::operator[](const word&)"
-        )   << "Zone named " << zoneName << " not found." << nl
+        FatalErrorInFunction
+            << "Zone named " << zoneName << " not found." << nl
             << "Available zone names: " << names() << endl
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/meshes/polyMesh/zones/faceZone/faceZone.C b/src/OpenFOAM/meshes/polyMesh/zones/faceZone/faceZone.C
index fd1f72e875f..60eb63af662 100644
--- a/src/OpenFOAM/meshes/polyMesh/zones/faceZone/faceZone.C
+++ b/src/OpenFOAM/meshes/polyMesh/zones/faceZone/faceZone.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,10 +56,8 @@ void Foam::faceZone::calcFaceZonePatch() const
 
     if (patchPtr_)
     {
-        FatalErrorIn
-        (
-            "void faceZone::calcFaceZonePatch() const"
-        )   << "primitive face zone patch already calculated"
+        FatalErrorInFunction
+            << "primitive face zone patch already calculated"
             << abort(FatalError);
     }
 
@@ -111,7 +109,7 @@ void Foam::faceZone::calcCellLayers() const
     // if the pointer is already set
     if (masterCellsPtr_ || slaveCellsPtr_)
     {
-        FatalErrorIn("void faceZone::calcCellLayers() const")
+        FatalErrorInFunction
             << "cell layers already calculated"
             << abort(FatalError);
     }
@@ -165,8 +163,7 @@ void Foam::faceZone::checkAddressing() const
 {
     if (size() != flipMap_.size())
     {
-        FatalErrorIn("void Foam::faceZone::checkAddressing() const")
-            << "Different sizes of the addressing and flipMap arrays.  "
+        FatalErrorInFunction
             << "Size of addressing: " << size()
             << " size of flip map: " << flipMap_.size()
             << abort(FatalError);
@@ -182,7 +179,7 @@ void Foam::faceZone::checkAddressing() const
     {
         if (!hasWarned && (mf[i] < 0 || mf[i] >= nFaces))
         {
-            WarningIn("void Foam::faceZone::checkAddressing() const")
+            WarningInFunction
                 << "Illegal face index " << mf[i] << " outside range 0.."
                 << nFaces-1 << endl;
             hasWarned = true;
diff --git a/src/OpenFOAM/meshes/polyMesh/zones/zone/zone.C b/src/OpenFOAM/meshes/polyMesh/zones/zone/zone.C
index 23a7ab3d7f3..8d31b8a3ad4 100644
--- a/src/OpenFOAM/meshes/polyMesh/zones/zone/zone.C
+++ b/src/OpenFOAM/meshes/polyMesh/zones/zone/zone.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -60,7 +60,7 @@ void Foam::zone::calcLookupMap() const
 
     if (lookupMapPtr_)
     {
-        FatalErrorIn("void zone::calcLookupMap() const")
+        FatalErrorInFunction
             << "Lookup map already calculated" << nl
             << abort(FatalError);
     }
@@ -207,11 +207,8 @@ bool Foam::zone::checkDefinition(const label maxSize, const bool report) const
 
             if (report)
             {
-                SeriousErrorIn
-                (
-                    "bool zone::checkDefinition("
-                    "const label maxSize, const bool report) const"
-                )   << "Zone " << name_
+                SeriousErrorInFunction
+                    << "Zone " << name_
                     << " contains invalid index label " << addr[i] << nl
                     << "Valid index labels are 0.."
                     << maxSize-1 << endl;
@@ -226,11 +223,8 @@ bool Foam::zone::checkDefinition(const label maxSize, const bool report) const
         {
             if (report)
             {
-                WarningIn
-                (
-                    "bool zone::checkDefinition("
-                    "const label maxSize, const bool report) const"
-                )   << "Zone " << name_
+                WarningInFunction
+                    << "Zone " << name_
                     << " contains duplicate index label " << addr[i] << endl;
             }
         }
diff --git a/src/OpenFOAM/meshes/primitiveMesh/PatchTools/PatchToolsEdgeOwner.C b/src/OpenFOAM/meshes/primitiveMesh/PatchTools/PatchToolsEdgeOwner.C
index 88cce887516..95f49cea126 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/PatchTools/PatchToolsEdgeOwner.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/PatchTools/PatchToolsEdgeOwner.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -73,10 +73,7 @@ Foam::PatchTools::edgeOwner
 
             if (edgeOwner[edgeI] == -1)
             {
-                FatalErrorIn
-                (
-                    "PatchTools::edgeOwner()"
-                )
+                FatalErrorInFunction
                     << "Edge " << edgeI << " vertices:" << edges[edgeI]
                     << " is used by faces " << nbrFaces
                     << " vertices:"
diff --git a/src/OpenFOAM/meshes/primitiveMesh/PatchTools/PatchToolsSearch.C b/src/OpenFOAM/meshes/primitiveMesh/PatchTools/PatchToolsSearch.C
index 8ecd790b1ee..6533c3ca172 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/PatchTools/PatchToolsSearch.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/PatchTools/PatchToolsSearch.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -89,18 +89,7 @@ Foam::PatchTools::markZone
                         }
                         else if (faceZone[nbrFaceI] != currentZone)
                         {
-                            FatalErrorIn
-                            (
-                                "PatchTools::markZone"
-                                "("
-                                    "const PrimitivePatch<Face, FaceList, "
-                                        "PointField, PointType>& p,"
-                                    "const BoolListType& borderEdge,"
-                                    "const label faceI,"
-                                    "const label currentZone,"
-                                    "labelList&  faceZone"
-                                ")"
-                            )
+                            FatalErrorInFunction
                                 << "Zones " << faceZone[nbrFaceI]
                                 << " at face " << nbrFaceI
                                 << " connects to zone " << currentZone
diff --git a/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchAddressing.C b/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchAddressing.C
index a2015069fe9..0508eb31650 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchAddressing.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchAddressing.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -62,11 +62,8 @@ calcAddressing() const
     {
         // it is considered an error to attempt to recalculate
         // if already allocated
-        FatalErrorIn
-        (
-            "PrimitivePatch<Face, FaceList, PointField, PointType>::"
-            "calcAddressing()"
-        )   << "addressing already calculated"
+        FatalErrorInFunction
+            << "addressing already calculated"
             << abort(FatalError);
     }
 
@@ -245,11 +242,8 @@ calcAddressing() const
             }
             else
             {
-                FatalErrorIn
-                (
-                    "PrimitivePatch<Face, FaceList, PointField, PointType>::"
-                    "calcAddressing()"
-                )   << "Error in internal edge insertion"
+                FatalErrorInFunction
+                    << "Error in internal edge insertion"
                     << abort(FatalError);
             }
         }
diff --git a/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchBdryPoints.C b/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchBdryPoints.C
index 1cc39fb96b9..fe0a80ef28d 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchBdryPoints.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchBdryPoints.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -52,11 +52,8 @@ calcBdryPoints() const
     {
         // it is considered an error to attempt to recalculate
         // if already allocated
-        FatalErrorIn
-        (
-            "PrimitivePatch<Face, FaceList, PointField, PointType>::"
-            "calcBdryPoints()"
-        )   << "edge types already calculated"
+        FatalErrorInFunction
+            << "edge types already calculated"
             << abort(FatalError);
     }
 
diff --git a/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchCheck.C b/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchCheck.C
index fcd980c7580..68be5b7ab58 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchCheck.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchCheck.C
@@ -78,11 +78,8 @@ visitPointRegion
 
         if (nextEdgeI == -1)
         {
-            FatalErrorIn
-            (
-                "PrimitivePatch<Face, FaceList, PointField, PointType>::"
-                "visitPointRegion"
-            )   << "Problem: cannot find edge out of " << fEdges
+            FatalErrorInFunction
+                << "Problem: cannot find edge out of " << fEdges
                 << "on face " << startFaceI << " that uses point " << pointI
                 << " and is not edge " << startEdgeI << abort(FatalError);
         }
diff --git a/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchEdgeLoops.C b/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchEdgeLoops.C
index d0c2e3c1cbd..3a7501083a4 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchEdgeLoops.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchEdgeLoops.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -55,11 +55,8 @@ calcEdgeLoops() const
     {
         // it is considered an error to attempt to recalculate
         // if already allocated
-        FatalErrorIn
-        (
-            "PrimitivePatch<Face, FaceList, PointField, PointType>::"
-            "calcIntBdryEdges()"
-        )   << "edge loops already calculated"
+        FatalErrorInFunction
+            << "edge loops already calculated"
             << abort(FatalError);
     }
 
diff --git a/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchLocalPointOrder.C b/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchLocalPointOrder.C
index 852262c32bd..7284c313d95 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchLocalPointOrder.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchLocalPointOrder.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -58,11 +58,8 @@ calcLocalPointOrder() const
     {
         // it is considered an error to attempt to recalculate
         // if already allocated
-        FatalErrorIn
-        (
-            "PrimitivePatch<Face, FaceList, PointField, PointType>::"
-            "calcLocalPointOrder()"
-        )   << "local point order already calculated"
+        FatalErrorInFunction
+            << "local point order already calculated"
             << abort(FatalError);
     }
 
diff --git a/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchMeshData.C b/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchMeshData.C
index 8816a11785c..10f758c6485 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchMeshData.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchMeshData.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -51,11 +51,8 @@ calcMeshData() const
     // if they have already been calculated.
     if (meshPointsPtr_ || localFacesPtr_)
     {
-        FatalErrorIn
-        (
-            "PrimitivePatch<Face, FaceList, PointField, PointType>::"
-            "calcMeshData()"
-        )   << "meshPointsPtr_ or localFacesPtr_already allocated"
+        FatalErrorInFunction
+            << "meshPointsPtr_ or localFacesPtr_already allocated"
             << abort(FatalError);
     }
 
@@ -164,11 +161,8 @@ calcMeshPointMap() const
     // if they have already been calculated.
     if (meshPointMapPtr_)
     {
-        FatalErrorIn
-        (
-            "PrimitivePatch<Face, FaceList, PointField, PointType>::"
-            "calcMeshPointMap()"
-        )   << "meshPointMapPtr_ already allocated"
+        FatalErrorInFunction
+            << "meshPointMapPtr_ already allocated"
             << abort(FatalError);
     }
 
@@ -215,11 +209,8 @@ calcLocalPoints() const
     // if they have already been calculated.
     if (localPointsPtr_)
     {
-        FatalErrorIn
-        (
-            "PrimitivePatch<Face, FaceList, PointField, PointType>::"
-            "calcLocalPoints()"
-        )   << "localPointsPtr_already allocated"
+        FatalErrorInFunction
+            << "localPointsPtr_already allocated"
             << abort(FatalError);
     }
 
@@ -267,11 +258,8 @@ calcPointNormals() const
     // if they have already been calculated.
     if (pointNormalsPtr_)
     {
-        FatalErrorIn
-        (
-            "PrimitivePatch<Face, FaceList, PointField, PointType>::"
-            "calcPointNormals()"
-        )   << "pointNormalsPtr_already allocated"
+        FatalErrorInFunction
+            << "pointNormalsPtr_already allocated"
             << abort(FatalError);
     }
 
@@ -334,11 +322,8 @@ calcFaceCentres() const
     // if they have already been calculated.
     if (faceCentresPtr_)
     {
-        FatalErrorIn
-        (
-            "PrimitivePatch<Face, FaceList, PointField, PointType>::"
-            "calcFaceCentres()"
-        )   << "faceCentresPtr_already allocated"
+        FatalErrorInFunction
+            << "faceCentresPtr_already allocated"
             << abort(FatalError);
     }
 
@@ -384,11 +369,8 @@ calcFaceNormals() const
     // if they have already been calculated.
     if (faceNormalsPtr_)
     {
-        FatalErrorIn
-        (
-            "PrimitivePatch<Face, FaceList, PointField, PointType>::"
-            "calcFaceNormals()"
-        )   << "faceNormalsPtr_already allocated"
+        FatalErrorInFunction
+            << "faceNormalsPtr_already allocated"
             << abort(FatalError);
     }
 
diff --git a/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchPointAddressing.C b/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchPointAddressing.C
index 28863131b7f..22374efe12f 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchPointAddressing.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchPointAddressing.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -55,11 +55,8 @@ calcPointEdges() const
     {
         // it is considered an error to attempt to recalculate
         // if already allocated
-        FatalErrorIn
-        (
-            "PrimitivePatch<Face, FaceList, PointField, PointType>::"
-            "calcPointEdges()"
-        )   << "pointEdges already calculated"
+        FatalErrorInFunction
+            << "pointEdges already calculated"
             << abort(FatalError);
     }
 
@@ -100,11 +97,8 @@ calcPointFaces() const
     {
         // it is considered an error to attempt to recalculate
         // if already allocated
-        FatalErrorIn
-        (
-            "PrimitivePatch<Face, FaceList, PointField, PointType>::"
-            "calcPointFaces()"
-        )   << "pointFaces already calculated"
+        FatalErrorInFunction
+            << "pointFaces already calculated"
             << abort(FatalError);
     }
 
diff --git a/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchProjectPoints.C b/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchProjectPoints.C
index 61dc971e399..3fe3c7338ad 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchProjectPoints.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatchProjectPoints.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,12 +56,8 @@ projectPoints
 
     if (projectionDirection.size() != nPoints())
     {
-        FatalErrorIn
-        (
-            "PrimitivePatch<Face, FaceList, PointField, PointType>::"
-            "projectPoints(const PrimitivePatch& "
-            ", const Field<PointType>&) const"
-        )   << "Projection direction field does not correspond to "
+        FatalErrorInFunction
+            << "Projection direction field does not correspond to "
             << "patch points." << endl
             << "Size: " << projectionDirection.size()
             << " Number of points: " << nPoints()
@@ -303,12 +299,8 @@ projectFaceCentres
 
     if (projectionDirection.size() != this->size())
     {
-        FatalErrorIn
-        (
-            "labelList PrimitivePatch<Face, FaceList, PointField, PointType>::"
-            "projectFaceCentres(const PrimitivePatch& "
-            ", const Field<PointType>&) const"
-        )   << "Projection direction field does not correspond to patch faces."
+        FatalErrorInFunction
+            << "Projection direction field does not correspond to patch faces."
             << endl << "Size: " << projectionDirection.size()
             << " Number of points: " << this->size()
             << abort(FatalError);
diff --git a/src/OpenFOAM/meshes/primitiveMesh/primitiveMesh.C b/src/OpenFOAM/meshes/primitiveMesh/primitiveMesh.C
index 595c2862391..0e5beeeb034 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/primitiveMesh.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/primitiveMesh.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -310,11 +310,8 @@ Foam::tmp<Foam::scalarField> Foam::primitiveMesh::movePoints
 {
     if (newPoints.size() <  nPoints() || oldPoints.size() < nPoints())
     {
-        FatalErrorIn
-        (
-            "primitiveMesh::movePoints(const pointField& newPoints, "
-            "const pointField& oldPoints)"
-        )   << "Cannot move points: size of given point list smaller "
+        FatalErrorInFunction
+            << "Cannot move points: size of given point list smaller "
             << "than the number of active points"
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCalcCellShapes.C b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCalcCellShapes.C
index 1c35bde3ffd..7144e41c23e 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCalcCellShapes.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCalcCellShapes.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -40,7 +40,7 @@ void Foam::primitiveMesh::calcCellShapes() const
     // if the pointer is already set
     if (cellShapesPtr_)
     {
-        FatalErrorIn("primitiveMesh::calcCellShapes() const")
+        FatalErrorInFunction
             << "cellShapes already calculated"
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCellCells.C b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCellCells.C
index 9f6ddf986e2..8cb2c4360d4 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCellCells.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCellCells.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -41,7 +41,7 @@ void Foam::primitiveMesh::calcCellCells() const
         {
             // For checking calls:abort so we can quickly hunt down
             // origin of call
-            FatalErrorIn("primitiveMesh::calcCellCells()")
+            FatalErrorInFunction
                 << abort(FatalError);
         }
     }
@@ -50,7 +50,7 @@ void Foam::primitiveMesh::calcCellCells() const
     // if the pointer is already set
     if (ccPtr_)
     {
-        FatalErrorIn("primitiveMesh::calcCellCells() const")
+        FatalErrorInFunction
             << "cellCells already calculated"
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCellCentresAndVols.C b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCellCentresAndVols.C
index 7f04d5877d1..458336db208 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCellCentresAndVols.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCellCentresAndVols.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,7 +44,7 @@ void Foam::primitiveMesh::calcCellCentresAndVols() const
     // if the pointer is already set
     if (cellCentresPtr_ || cellVolumesPtr_)
     {
-        FatalErrorIn("primitiveMesh::calcCellCentresAndVols() const")
+        FatalErrorInFunction
             << "Cell centres or cell volumes already calculated"
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCellEdges.C b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCellEdges.C
index 21e14118ffa..a4e449af371 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCellEdges.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCellEdges.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,7 +44,7 @@ void Foam::primitiveMesh::calcCellEdges() const
         {
             // For checking calls:abort so we can quickly hunt down
             // origin of call
-            FatalErrorIn("primitiveMesh::calcCellEdges()")
+            FatalErrorInFunction
                 << abort(FatalError);
         }
     }
@@ -53,7 +53,7 @@ void Foam::primitiveMesh::calcCellEdges() const
     // if the pointer is already set
     if (cePtr_)
     {
-        FatalErrorIn("primitiveMesh::calcCellEdges() const")
+        FatalErrorInFunction
             << "cellEdges already calculated"
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCellPoints.C b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCellPoints.C
index 8d520f2fa95..914b4755aab 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCellPoints.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCellPoints.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -41,7 +41,7 @@ const Foam::labelListList& Foam::primitiveMesh::cellPoints() const
             {
                 // For checking calls:abort so we can quickly hunt down
                 // origin of call
-                FatalErrorIn("primitiveMesh::cellPoints()")
+                FatalErrorInFunction
                     << abort(FatalError);
             }
         }
diff --git a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCells.C b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCells.C
index 5ba711be130..5f76854d8dd 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCells.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCells.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -110,7 +110,7 @@ void Foam::primitiveMesh::calcCells() const
     // if the pointer is already set
     if (cfPtr_)
     {
-        FatalErrorIn("primitiveMesh::calcCells() const")
+        FatalErrorInFunction
             << "cells already calculated"
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCheck/primitiveMeshCheck.C b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCheck/primitiveMeshCheck.C
index a0aacc82727..01daafe3554 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCheck/primitiveMeshCheck.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCheck/primitiveMeshCheck.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -699,11 +699,8 @@ bool Foam::primitiveMesh::checkFaceAngles
 
     if (maxDeg < -SMALL || maxDeg > 180+SMALL)
     {
-        FatalErrorIn
-        (
-            "primitiveMesh::checkFaceAngles"
-            "(const bool, const scalar, labelHashSet*)"
-        )   << "maxDeg should be [0..180] but is now " << maxDeg
+        FatalErrorInFunction
+            << "maxDeg should be [0..180] but is now " << maxDeg
             << exit(FatalError);
     }
 
@@ -785,11 +782,8 @@ bool Foam::primitiveMesh::checkFaceFlatness
 
     if (warnFlatness < 0 || warnFlatness > 1)
     {
-        FatalErrorIn
-        (
-            "primitiveMesh::checkFaceFlatness"
-            "(const bool, const scalar, labelHashSet*)"
-        )   << "warnFlatness should be [0..1] but is now " << warnFlatness
+        FatalErrorInFunction
+            << "warnFlatness should be [0..1] but is now " << warnFlatness
             << exit(FatalError);
     }
 
diff --git a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshEdgeCells.C b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshEdgeCells.C
index 22b5f9f1624..9aeba752a3f 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshEdgeCells.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshEdgeCells.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -41,7 +41,7 @@ const Foam::labelListList& Foam::primitiveMesh::edgeCells() const
             {
                 // For checking calls:abort so we can quickly hunt down
                 // origin of call
-                FatalErrorIn("primitiveMesh::edgeCells()")
+                FatalErrorInFunction
                     << abort(FatalError);
             }
         }
diff --git a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshEdgeFaces.C b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshEdgeFaces.C
index 7b4c0e5fc8a..7f028196ac6 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshEdgeFaces.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshEdgeFaces.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -40,7 +40,7 @@ const Foam::labelListList& Foam::primitiveMesh::edgeFaces() const
             {
                 // For checking calls:abort so we can quickly hunt down
                 // origin of call
-                FatalErrorIn("primitiveMesh::edgeFaces()")
+                FatalErrorInFunction
                     << abort(FatalError);
             }
         }
diff --git a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshEdges.C b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshEdges.C
index d39c6ad909a..b79879f01ff 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshEdges.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshEdges.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -83,7 +83,7 @@ void Foam::primitiveMesh::calcEdges(const bool doFaceEdges) const
     // if the pointer is already set
     if ((edgesPtr_ || pePtr_) || (doFaceEdges && fePtr_))
     {
-        FatalErrorIn("primitiveMesh::calcEdges(const bool) const")
+        FatalErrorInFunction
             << "edges or pointEdges or faceEdges already calculated"
             << abort(FatalError);
     }
@@ -381,7 +381,7 @@ void Foam::primitiveMesh::calcEdges(const bool doFaceEdges) const
                             else if (nbrPointI < nInternalPoints_)
                             {
                                 // Not possible!
-                                FatalErrorIn("primitiveMesh::calcEdges(..)")
+                                FatalErrorInFunction
                                     << abort(FatalError);
                             }
                             else
@@ -404,7 +404,7 @@ void Foam::primitiveMesh::calcEdges(const bool doFaceEdges) const
             {
                 const edge& e = es[edgeI];
 
-                FatalErrorIn("primitiveMesh::calcEdges(..)")
+                FatalErrorInFunction
                     << "Did not sort edge " << edgeI << " points:" << e
                     << " coords:" << points()[e[0]] << points()[e[1]]
                     << endl
@@ -483,11 +483,8 @@ Foam::label Foam::primitiveMesh::findFirstCommonElementFromSortedLists
     }
     if (result == -1)
     {
-        FatalErrorIn
-        (
-            "primitiveMesh::findFirstCommonElementFromSortedLists"
-            "(const labelList&, const labelList&)"
-        )   << "No common elements in lists " << list1 << " and " << list2
+        FatalErrorInFunction
+            << "No common elements in lists " << list1 << " and " << list2
             << abort(FatalError);
     }
     return result;
diff --git a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshFaceCentresAndAreas.C b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshFaceCentresAndAreas.C
index 589ff7a98bc..236b1e30ee0 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshFaceCentresAndAreas.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshFaceCentresAndAreas.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -48,7 +48,7 @@ void Foam::primitiveMesh::calcFaceCentresAndAreas() const
     // if the pointer is already set
     if (faceCentresPtr_ || faceAreasPtr_)
     {
-        FatalErrorIn("primitiveMesh::calcFaceCentresAndAreas() const")
+        FatalErrorInFunction
             << "Face centres or face areas already calculated"
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshPointCells.C b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshPointCells.C
index fce127ee370..a30bf8858e5 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshPointCells.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshPointCells.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -42,7 +42,7 @@ void Foam::primitiveMesh::calcPointCells() const
         {
             // For checking calls:abort so we can quickly hunt down
             // origin of call
-            FatalErrorIn("primitiveMesh::calcPointCells()")
+            FatalErrorInFunction
                 << abort(FatalError);
         }
     }
@@ -51,7 +51,7 @@ void Foam::primitiveMesh::calcPointCells() const
     // if the pointer is already set
     if (pcPtr_)
     {
-        FatalErrorIn("primitiveMesh::calcPointCells() const")
+        FatalErrorInFunction
             << "pointCells already calculated"
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshPointPoints.C b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshPointPoints.C
index a37ecef0404..cb6fa584906 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshPointPoints.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshPointPoints.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -39,7 +39,7 @@ void Foam::primitiveMesh::calcPointPoints() const
         {
             // For checking calls:abort so we can quickly hunt down
             // origin of call
-            FatalErrorIn("primitiveMesh::calcPointPoints()")
+            FatalErrorInFunction
                 << abort(FatalError);
         }
     }
@@ -48,7 +48,7 @@ void Foam::primitiveMesh::calcPointPoints() const
     // if the pointer is already set
     if (ppPtr_)
     {
-        FatalErrorIn("primitiveMesh::calcPointPoints() const")
+        FatalErrorInFunction
             << "pointPoints already calculated"
             << abort(FatalError);
     }
@@ -76,7 +76,7 @@ void Foam::primitiveMesh::calcPointPoints() const
                 }
                 else
                 {
-                    FatalErrorIn("primitiveMesh::calcPointPoints() const")
+                    FatalErrorInFunction
                         << "something wrong with edges"
                         << abort(FatalError);
                 }
diff --git a/src/OpenFOAM/meshes/primitiveMesh/primitivePatch/patchZones.C b/src/OpenFOAM/meshes/primitiveMesh/primitivePatch/patchZones.C
index fe5a09b19f1..fba0466599e 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/primitivePatch/patchZones.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/primitivePatch/patchZones.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -165,10 +165,8 @@ Foam::patchZones::patchZones
 
     if (borderEdge.size() != pp_.nEdges())
     {
-        FatalErrorIn
-        (
-            "patchZones::patchZones(const primitivePatch&, const boolList&)"
-        )   << "borderEdge boolList not same size as number of edges" << endl
+        FatalErrorInFunction
+            << "borderEdge boolList not same size as number of edges" << endl
             << "borderEdge:" << borderEdge.size() << endl
             << "nEdges    :" << pp_.nEdges()
             << abort(FatalError);
diff --git a/src/OpenFOAM/meshes/primitiveMesh/primitivePatch/walkPatch.C b/src/OpenFOAM/meshes/primitiveMesh/primitivePatch/walkPatch.C
index 9e1455874b2..5b721d73261 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/primitivePatch/walkPatch.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/primitivePatch/walkPatch.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -87,7 +87,7 @@ Foam::label Foam::walkPatch::getNeighbour
 
     if (nbrEdgeI == -1)
     {
-        FatalErrorIn("getNeighbour")
+        FatalErrorInFunction
             << "Did not find edge on face " << faceI << " that uses vertices"
             << v0 << " and " << v1 << abort(FatalError);
     }
@@ -114,7 +114,7 @@ Foam::label Foam::walkPatch::getNeighbour
     }
     else
     {
-        FatalErrorIn("getNeighbour")
+        FatalErrorInFunction
             << "Illegal surface on patch. Face " << faceI
             << " at vertices " << v0 << ',' << v1
             << " has fewer than 1 or more than 2 neighbours"
diff --git a/src/OpenFOAM/meshes/primitiveShapes/objectHit/PointHit.H b/src/OpenFOAM/meshes/primitiveShapes/objectHit/PointHit.H
index 3e2e4dd6986..e6196b9d379 100644
--- a/src/OpenFOAM/meshes/primitiveShapes/objectHit/PointHit.H
+++ b/src/OpenFOAM/meshes/primitiveShapes/objectHit/PointHit.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -128,7 +128,7 @@ public:
         {
             if (!hit_)
             {
-                FatalErrorIn("const Point& PointHit::hitPoint() const")
+                FatalErrorInFunction
                     << "requested a hit point for a miss"
                     << abort(FatalError);
             }
@@ -147,7 +147,7 @@ public:
         {
             if (hit_)
             {
-                FatalErrorIn("const Point& PointHit::missPoint() const")
+                FatalErrorInFunction
                     << "requested a miss point for a hit"
                     << abort(FatalError);
             }
diff --git a/src/OpenFOAM/meshes/primitiveShapes/objectHit/PointIndexHit.H b/src/OpenFOAM/meshes/primitiveShapes/objectHit/PointIndexHit.H
index 7e1103b2769..fa15dbfd429 100644
--- a/src/OpenFOAM/meshes/primitiveShapes/objectHit/PointIndexHit.H
+++ b/src/OpenFOAM/meshes/primitiveShapes/objectHit/PointIndexHit.H
@@ -119,7 +119,7 @@ public:
         {
             if (!hit_)
             {
-                FatalErrorIn("PointIndexHit::hitPoint() const")
+                FatalErrorInFunction
                     << "requested a hit point for a miss"
                     << abort(FatalError);
             }
@@ -132,7 +132,7 @@ public:
         {
             if (hit_)
             {
-                FatalErrorIn("PointIndexHit::missPoint() const")
+                FatalErrorInFunction
                     << "requested a miss point for a hit"
                     << abort(FatalError);
             }
diff --git a/src/OpenFOAM/meshes/primitiveShapes/plane/plane.C b/src/OpenFOAM/meshes/primitiveShapes/plane/plane.C
index fe4f649f154..7f222fb8a80 100644
--- a/src/OpenFOAM/meshes/primitiveShapes/plane/plane.C
+++ b/src/OpenFOAM/meshes/primitiveShapes/plane/plane.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -49,7 +49,7 @@ void Foam::plane::calcPntAndVec(const scalarList& C)
             }
             else
             {
-                FatalErrorIn("void plane::calcPntAndVec(const scalarList&)")
+                FatalErrorInFunction
                     << "At least one plane coefficient must have a value"
                     << abort(FatalError);
             }
@@ -61,7 +61,7 @@ void Foam::plane::calcPntAndVec(const scalarList& C)
 
     if (magUnitVector < VSMALL)
     {
-        FatalErrorIn("void plane::calcPntAndVec(const scalarList&)")
+        FatalErrorInFunction
             << "Plane normal defined with zero length"
             << abort(FatalError);
     }
@@ -88,15 +88,8 @@ void Foam::plane::calcPntAndVec
      || mag(point3-point1) < VSMALL
     )
     {
-        FatalErrorIn
-        (
-            "void plane::calcPntAndVec\n"
-            "(\n"
-            "    const point&,\n"
-            "    const point&,\n"
-            "    const point&\n"
-            ")\n"
-        )   << "Bad points:" << point1 << ' ' << point2 << ' ' << point3
+        FatalErrorInFunction
+            << "Bad points:" << point1 << ' ' << point2 << ' ' << point3
             << abort(FatalError);
     }
 
@@ -105,15 +98,8 @@ void Foam::plane::calcPntAndVec
 
     if (magUnitVector < VSMALL)
     {
-        FatalErrorIn
-        (
-            "void plane::calcPntAndVec\n"
-            "(\n"
-            "    const point&,\n"
-            "    const point&,\n"
-            "    const point&\n"
-            ")\n"
-        )   << "Plane normal defined with zero length" << nl
+        FatalErrorInFunction
+            << "Plane normal defined with zero length" << nl
             << "Bad points:" << point1 << ' ' << point2 << ' ' << point3
             << abort(FatalError);
     }
@@ -138,7 +124,7 @@ Foam::plane::plane(const vector& normalVector)
     }
     else
     {
-        FatalErrorIn("plane::plane(const vector&)")
+        FatalErrorInFunction
             << "plane normal has zero length. basePoint:" << basePoint_
             << abort(FatalError);
     }
@@ -159,7 +145,7 @@ Foam::plane::plane(const point& basePoint, const vector& normalVector)
     }
     else
     {
-        FatalErrorIn("plane::plane(const point&, const vector&)")
+        FatalErrorInFunction
             << "plane normal has zero length. basePoint:" << basePoint_
             << abort(FatalError);
     }
@@ -226,7 +212,7 @@ Foam::plane::plane(const dictionary& dict)
     }
     else
     {
-        FatalIOErrorIn("plane::plane(const dictionary&)", dict)
+        FatalIOErrorInFunction(dict)
             << "Invalid plane type: " << planeType << nl
             << "Valid options include: planeEquation, embeddedPoints and "
             << "pointAndNormal"
@@ -249,7 +235,7 @@ Foam::plane::plane(Istream& is)
     }
     else
     {
-        FatalErrorIn("plane::plane(Istream& is)")
+        FatalErrorInFunction
             << "plane normal has zero length. basePoint:" << basePoint_
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/meshes/primitiveShapes/tetrahedron/tetrahedronI.H b/src/OpenFOAM/meshes/primitiveShapes/tetrahedron/tetrahedronI.H
index e941956d602..a5e6864c7c5 100644
--- a/src/OpenFOAM/meshes/primitiveShapes/tetrahedron/tetrahedronI.H
+++ b/src/OpenFOAM/meshes/primitiveShapes/tetrahedron/tetrahedronI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -124,7 +124,7 @@ inline Foam::triPointRef Foam::tetrahedron<Point, PointRef>::tri
     }
     else
     {
-        FatalErrorIn("tetrahedron::tri(const label faceI) const")
+        FatalErrorInFunction
             << "index out of range 0 -> 3. faceI = " << faceI
             << abort(FatalError);
         return triPointRef(b_, c_, d_);
@@ -907,7 +907,7 @@ tetSliceWithPlane
         }
         else
         {
-            FatalErrorIn("tetSliceWithPlane(..)")
+            FatalErrorInFunction
                 << "Missed edge:" << posEdge
                 << abort(FatalError);
         }
diff --git a/src/OpenFOAM/meshes/primitiveShapes/triangle/intersection.H b/src/OpenFOAM/meshes/primitiveShapes/triangle/intersection.H
index 85c8f8de564..6051b36c425 100644
--- a/src/OpenFOAM/meshes/primitiveShapes/triangle/intersection.H
+++ b/src/OpenFOAM/meshes/primitiveShapes/triangle/intersection.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -93,10 +93,7 @@ public:
         {
             if (t < -VSMALL)
             {
-                FatalErrorIn
-                (
-                    "scalar intersection::setPlanarTol(const scalar t)"
-                )   << "Negative planar tolerance.  This is not allowed."
+                FatalErrorInFunction
                     << abort(FatalError);
             }
 
diff --git a/src/OpenFOAM/meshes/treeBoundBox/treeBoundBox.C b/src/OpenFOAM/meshes/treeBoundBox/treeBoundBox.C
index 1cec955dbdc..9dfb3e9094d 100644
--- a/src/OpenFOAM/meshes/treeBoundBox/treeBoundBox.C
+++ b/src/OpenFOAM/meshes/treeBoundBox/treeBoundBox.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -130,10 +130,8 @@ Foam::treeBoundBox::treeBoundBox(const UList<point>& points)
 {
     if (points.empty())
     {
-        WarningIn
-        (
-            "treeBoundBox::treeBoundBox(const UList<point>&)"
-        )   << "cannot find bounding box for zero-sized pointField, "
+        WarningInFunction
+            << "cannot find bounding box for zero-sized pointField, "
             << "returning zero" << endl;
 
         return;
@@ -151,11 +149,8 @@ Foam::treeBoundBox::treeBoundBox
 {
     if (points.empty() || indices.empty())
     {
-        WarningIn
-        (
-            "treeBoundBox::treeBoundBox"
-            "(const UList<point>&, const labelUList&)"
-        )   << "cannot find bounding box for zero-sized pointField, "
+        WarningInFunction
+            << "cannot find bounding box for zero-sized pointField, "
             << "returning zero" << endl;
 
         return;
@@ -195,10 +190,8 @@ Foam::treeBoundBox Foam::treeBoundBox::subBbox
 {
     if (octant > 7)
     {
-        FatalErrorIn
-        (
-            "treeBoundBox::subBbox(const point&, const direction)"
-        )   << "octant should be [0..7]"
+        FatalErrorInFunction
+            << "octant should be [0..7]"
             << abort(FatalError);
     }
 
diff --git a/src/OpenFOAM/primitives/Pair/Pair.H b/src/OpenFOAM/primitives/Pair/Pair.H
index 6715bffd7e5..ef30fb547f6 100644
--- a/src/OpenFOAM/primitives/Pair/Pair.H
+++ b/src/OpenFOAM/primitives/Pair/Pair.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -113,7 +113,7 @@ public:
         {
             if (first() == second())
             {
-                FatalErrorIn("Pair<Type>::other(const Type&) const")
+                FatalErrorInFunction
                     << "Call to other only valid for Pair with differing"
                     << " elements:" << *this << abort(FatalError);
             }
@@ -125,7 +125,7 @@ public:
             {
                 if (second() != a)
                 {
-                    FatalErrorIn("Pair<Type>::other(const Type&) const")
+                    FatalErrorInFunction
                         << "Pair " << *this
                         << " does not contain " << a << abort(FatalError);
                 }
diff --git a/src/OpenFOAM/primitives/Tensor2D/tensor2D/tensor2D.C b/src/OpenFOAM/primitives/Tensor2D/tensor2D/tensor2D.C
index 3d86f738f0c..4ac7a9dcb50 100644
--- a/src/OpenFOAM/primitives/Tensor2D/tensor2D/tensor2D.C
+++ b/src/OpenFOAM/primitives/Tensor2D/tensor2D/tensor2D.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -115,7 +115,7 @@ vector2D eigenValues(const tensor2D& t)
             }
             else
             {
-                FatalErrorIn("eigenValues(const tensor2D&)")
+                FatalErrorInFunction
                     << "zero and complex eigenvalues in tensor2D: " << t
                     << abort(FatalError);
             }
diff --git a/src/OpenFOAM/primitives/VectorSpace/VectorSpaceI.H b/src/OpenFOAM/primitives/VectorSpace/VectorSpaceI.H
index eb313e51ec8..4752ea43f54 100644
--- a/src/OpenFOAM/primitives/VectorSpace/VectorSpaceI.H
+++ b/src/OpenFOAM/primitives/VectorSpace/VectorSpaceI.H
@@ -79,10 +79,8 @@ inline const Cmpt& VectorSpace<Form, Cmpt, nCmpt>::component
 #   ifdef FULLDEBUG
     if (d >= nCmpt)
     {
-        FatalErrorIn
-        (
-            "VectorSpace<Form, Cmpt, nCmpt>::component(direction) const"
-        )   << "index out of range"
+        FatalErrorInFunction
+            << "index out of range"
             << abort(FatalError);
     }
 #   endif
@@ -100,7 +98,7 @@ inline Cmpt& VectorSpace<Form, Cmpt, nCmpt>::component
 #   ifdef FULLDEBUG
     if (d >= nCmpt)
     {
-        FatalErrorIn("VectorSpace<Form, Cmpt, nCmpt>::component(direction)")
+        FatalErrorInFunction
             << "index out of range"
             << abort(FatalError);
     }
@@ -120,10 +118,8 @@ inline void VectorSpace<Form, Cmpt, nCmpt>::component
 #   ifdef FULLDEBUG
     if (d >= nCmpt)
     {
-        FatalErrorIn
-        (
-            "VectorSpace<Form, Cmpt, nCmpt>::component(Cmpt&, direction) const"
-        )   << "index out of range"
+        FatalErrorInFunction
+            << "index out of range"
             << abort(FatalError);
     }
 #   endif
@@ -142,11 +138,8 @@ inline void VectorSpace<Form, Cmpt, nCmpt>::replace
 #   ifdef FULLDEBUG
     if (d >= nCmpt)
     {
-        FatalErrorIn
-        (
-            "VectorSpace<Form, Cmpt, nCmpt>::"
-            "replace(direction, const Cmpt&) const"
-        )   << "index out of range"
+        FatalErrorInFunction
+            << "index out of range"
             << abort(FatalError);
     }
 #   endif
@@ -166,10 +159,8 @@ inline const Cmpt& VectorSpace<Form, Cmpt, nCmpt>::operator[]
 #   ifdef FULLDEBUG
     if (d >= nCmpt)
     {
-        FatalErrorIn
-        (
-            "VectorSpace<Form, Cmpt, nCmpt>::operator[](direction d) const"
-        )   << "index out of range"
+        FatalErrorInFunction
+            << "index out of range"
             << abort(FatalError);
     }
 #   endif
@@ -187,7 +178,7 @@ inline Cmpt& VectorSpace<Form, Cmpt, nCmpt>::operator[]
 #   ifdef FULLDEBUG
     if (d >= nCmpt)
     {
-        FatalErrorIn("VectorSpace<Form, Cmpt, nCmpt>::operator[](direction d)")
+        FatalErrorInFunction
             << "index out of range"
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/primitives/bools/Switch/Switch.C b/src/OpenFOAM/primitives/bools/Switch/Switch.C
index e2a2a0d8550..1ff04b5316d 100644
--- a/src/OpenFOAM/primitives/bools/Switch/Switch.C
+++ b/src/OpenFOAM/primitives/bools/Switch/Switch.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -94,7 +94,7 @@ Foam::Switch::switchType Foam::Switch::asEnum
 
     if (!allowInvalid)
     {
-        FatalErrorIn("Switch::asEnum(const std::string&, const bool)")
+        FatalErrorInFunction
             << "unknown switch word " << str << nl
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/primitives/functions/DataEntry/CSV/CSV.C b/src/OpenFOAM/primitives/functions/DataEntry/CSV/CSV.C
index 28b0924db95..4f3d1b12d3f 100644
--- a/src/OpenFOAM/primitives/functions/DataEntry/CSV/CSV.C
+++ b/src/OpenFOAM/primitives/functions/DataEntry/CSV/CSV.C
@@ -36,7 +36,7 @@ namespace Foam
     {
         if (componentColumns_[0] >= splitted.size())
         {
-            FatalErrorIn("CSV<label>::readValue(const List<string>&)")
+            FatalErrorInFunction
                 << "No column " << componentColumns_[0] << " in "
                 << splitted << endl
                 << exit(FatalError);
@@ -50,7 +50,7 @@ namespace Foam
     {
         if (componentColumns_[0] >= splitted.size())
         {
-            FatalErrorIn("CSV<scalar>::readValue(const List<string>&)")
+            FatalErrorInFunction
                 << "No column " << componentColumns_[0] << " in "
                 << splitted << endl
                 << exit(FatalError);
@@ -69,7 +69,7 @@ namespace Foam
         {
             if (componentColumns_[i] >= splitted.size())
             {
-                FatalErrorIn("CSV<Type>::readValue(const List<string>&)")
+                FatalErrorInFunction
                     << "No column " << componentColumns_[i] << " in "
                     << splitted << endl
                     << exit(FatalError);
@@ -92,7 +92,7 @@ void Foam::CSV<Type>::read()
 
     if (!is.good())
     {
-        FatalIOErrorIn("CSV<Type>::read()", is)
+        FatalIOErrorInFunction(is)
             << "Cannot open CSV file for reading."
             << exit(FatalIOError);
     }
@@ -214,7 +214,7 @@ Foam::CSV<Type>::CSV
 {
     if (componentColumns_.size() != pTraits<Type>::nComponents)
     {
-        FatalErrorIn("Foam::CSV<Type>::CSV(const word&, Istream&)")
+        FatalErrorInFunction
             << componentColumns_ << " does not have the expected length of "
             << pTraits<Type>::nComponents << endl
             << exit(FatalError);
diff --git a/src/OpenFOAM/primitives/functions/DataEntry/DataEntry/DataEntryNew.C b/src/OpenFOAM/primitives/functions/DataEntry/DataEntry/DataEntryNew.C
index ef023e4c3c4..e2edd026fd8 100644
--- a/src/OpenFOAM/primitives/functions/DataEntry/DataEntry/DataEntryNew.C
+++ b/src/OpenFOAM/primitives/functions/DataEntry/DataEntry/DataEntryNew.C
@@ -62,7 +62,7 @@ Foam::autoPtr<Foam::DataEntry<Type> > Foam::DataEntry<Type>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("DataEntry<Type>::New(const word&, const dictionary&)")
+        FatalErrorInFunction
             << "Unknown DataEntry type "
             << DataEntryType << " for DataEntry "
             << entryName << nl << nl
diff --git a/src/OpenFOAM/primitives/functions/DataEntry/PolynomialEntry/PolynomialEntry.C b/src/OpenFOAM/primitives/functions/DataEntry/PolynomialEntry/PolynomialEntry.C
index e5cc7d1da04..7479702cdfe 100644
--- a/src/OpenFOAM/primitives/functions/DataEntry/PolynomialEntry/PolynomialEntry.C
+++ b/src/OpenFOAM/primitives/functions/DataEntry/PolynomialEntry/PolynomialEntry.C
@@ -53,11 +53,8 @@ Foam::PolynomialEntry<Type>::PolynomialEntry
 
     if (!coeffs_.size())
     {
-        FatalErrorIn
-        (
-            "PolynomialEntry<Type>::"
-            "PolynomialEntry(const word&, const dictionary&)"
-        )   << "PolynomialEntry coefficients for entry " << this->name_
+        FatalErrorInFunction
+            << "PolynomialEntry coefficients for entry " << this->name_
             << " are invalid (empty)" << nl << exit(FatalError);
     }
 
@@ -74,11 +71,8 @@ Foam::PolynomialEntry<Type>::PolynomialEntry
     {
         if (!canIntegrate_)
         {
-            WarningIn
-            (
-                "PolynomialEntry<Type>::PolynomialEntry"
-                "(const word&, const dictionary&)"
-            )   << "PolynomialEntry " << this->name_ << " cannot be integrated"
+            WarningInFunction
+                << "PolynomialEntry " << this->name_ << " cannot be integrated"
                 << endl;
         }
     }
@@ -99,11 +93,8 @@ Foam::PolynomialEntry<Type>::PolynomialEntry
 {
     if (!coeffs_.size())
     {
-        FatalErrorIn
-        (
-            "Foam::PolynomialEntry<Type>::PolynomialEntry"
-            "(const word&, const List<Tuple2<Type, Type> >&)"
-        )   << "PolynomialEntry coefficients for entry " << this->name_
+        FatalErrorInFunction
+            << "PolynomialEntry coefficients for entry " << this->name_
             << " are invalid (empty)" << nl << exit(FatalError);
     }
 
@@ -120,11 +111,8 @@ Foam::PolynomialEntry<Type>::PolynomialEntry
     {
         if (!canIntegrate_)
         {
-            WarningIn
-            (
-                "Foam::PolynomialEntry<Type>::PolynomialEntry"
-                "(const word&, const List<Tuple2<Type, Type> >&)"
-            )   << "PolynomialEntry " << this->name_ << " cannot be integrated"
+            WarningInFunction
+                << "PolynomialEntry " << this->name_ << " cannot be integrated"
                 << endl;
         }
     }
diff --git a/src/OpenFOAM/primitives/functions/DataEntry/Table/TableBase.C b/src/OpenFOAM/primitives/functions/DataEntry/Table/TableBase.C
index 2dedd9ffe35..8d781f541f5 100644
--- a/src/OpenFOAM/primitives/functions/DataEntry/Table/TableBase.C
+++ b/src/OpenFOAM/primitives/functions/DataEntry/Table/TableBase.C
@@ -159,7 +159,7 @@ Foam::TableBase<Type>::wordToBoundsHandling
     }
     else
     {
-        WarningIn("Foam::TableBase<Type>::wordToBoundsHandling(const word&)")
+        WarningInFunction
             << "bad outOfBounds specifier " << bound << " using 'warn'"
             << endl;
 
@@ -187,7 +187,7 @@ void Foam::TableBase<Type>::check() const
 {
     if (!table_.size())
     {
-        FatalErrorIn("Foam::TableBase<Type>::check() const")
+        FatalErrorInFunction
             << "Table for entry " << this->name_ << " is invalid (empty)"
             << nl << exit(FatalError);
     }
@@ -202,7 +202,7 @@ void Foam::TableBase<Type>::check() const
         // avoid duplicate values (divide-by-zero error)
         if (currValue <= prevValue)
         {
-            FatalErrorIn("Foam::TableBase<Type>::check() const")
+            FatalErrorInFunction
                 << "out-of-order value: " << currValue << " at index " << i
                 << exit(FatalError);
         }
@@ -224,27 +224,15 @@ bool Foam::TableBase<Type>::checkMinBounds
         {
             case ERROR:
             {
-                FatalErrorIn
-                (
-                    "bool Foam::TableBase<Type>::checkMinBounds"
-                    "("
-                        "const scalar, "
-                        "scalar&"
-                    ") const"
-                )   << "value (" << x << ") underflow"
+                FatalErrorInFunction
+                    << "value (" << x << ") underflow"
                     << exit(FatalError);
                 break;
             }
             case WARN:
             {
-                WarningIn
-                (
-                    "bool Foam::TableBase<Type>::checkMinBounds"
-                    "("
-                        "const scalar, "
-                        "scalar&"
-                    ") const"
-                )   << "value (" << x << ") underflow" << nl
+                WarningInFunction
+                    << "value (" << x << ") underflow" << nl
                     << endl;
 
                 // fall-through to 'CLAMP'
@@ -286,27 +274,15 @@ bool Foam::TableBase<Type>::checkMaxBounds
         {
             case ERROR:
             {
-                FatalErrorIn
-                (
-                    "bool Foam::TableBase<Type>::checkMaxBounds"
-                    "("
-                        "const scalar, "
-                        "scalar&"
-                    ") const"
-                )   << "value (" << x << ") overflow"
+                FatalErrorInFunction
+                    << "value (" << x << ") overflow"
                     << exit(FatalError);
                 break;
             }
             case WARN:
             {
-                WarningIn
-                (
-                    "bool Foam::TableBase<Type>::checkMaxBounds"
-                    "("
-                        "const scalar, "
-                        "scalar&"
-                    ") const"
-                )   << "value (" << x << ") overflow" << nl
+                WarningInFunction
+                    << "value (" << x << ") overflow" << nl
                     << endl;
 
                 // fall-through to 'CLAMP'
diff --git a/src/OpenFOAM/primitives/functions/Polynomial/Polynomial.C b/src/OpenFOAM/primitives/functions/Polynomial/Polynomial.C
index 5a545f150cf..4d99d698bf9 100644
--- a/src/OpenFOAM/primitives/functions/Polynomial/Polynomial.C
+++ b/src/OpenFOAM/primitives/functions/Polynomial/Polynomial.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -76,10 +76,8 @@ Foam::Polynomial<PolySize>::Polynomial(const UList<scalar>& coeffs)
 {
     if (coeffs.size() != PolySize)
     {
-        FatalErrorIn
-        (
-            "Polynomial<PolySize>::Polynomial(const UList<scalar>&)"
-        )   << "Size mismatch: Needed " << PolySize
+        FatalErrorInFunction
+            << "Size mismatch: Needed " << PolySize
             << " but given " << coeffs.size()
             << nl << exit(FatalError);
     }
@@ -111,10 +109,8 @@ Foam::Polynomial<PolySize>::Polynomial(const word& name, Istream& is)
 
     if (isName != name)
     {
-        FatalErrorIn
-        (
-            "Polynomial<PolySize>::Polynomial(const word&, Istream&)"
-        )   << "Expected polynomial name " << name << " but read " << isName
+        FatalErrorInFunction
+            << "Expected polynomial name " << name << " but read " << isName
             << nl << exit(FatalError);
     }
 
@@ -123,10 +119,8 @@ Foam::Polynomial<PolySize>::Polynomial(const word& name, Istream& is)
 
     if (this->size() == 0)
     {
-        FatalErrorIn
-        (
-            "Polynomial<PolySize>::Polynomial(const word&, Istream&)"
-        )   << "Polynomial coefficients for entry " << isName
+        FatalErrorInFunction
+            << "Polynomial coefficients for entry " << isName
             << " are invalid (empty)" << nl << exit(FatalError);
     }
 }
diff --git a/src/OpenFOAM/primitives/functions/Polynomial/polynomialFunction.C b/src/OpenFOAM/primitives/functions/Polynomial/polynomialFunction.C
index fa9ccea8307..e10d5a7c97a 100644
--- a/src/OpenFOAM/primitives/functions/Polynomial/polynomialFunction.C
+++ b/src/OpenFOAM/primitives/functions/Polynomial/polynomialFunction.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -89,10 +89,8 @@ Foam::polynomialFunction::polynomialFunction(const label order)
 {
     if (this->empty())
     {
-        FatalErrorIn
-        (
-            "polynomialFunction::polynomialFunction(const label order)"
-        )   << "polynomialFunction coefficients are invalid (empty)"
+        FatalErrorInFunction
+            << "polynomialFunction coefficients are invalid (empty)"
             << nl << exit(FatalError);
     }
 }
@@ -114,10 +112,8 @@ Foam::polynomialFunction::polynomialFunction(const UList<scalar>& coeffs)
 {
     if (this->empty())
     {
-        FatalErrorIn
-        (
-            "polynomialFunction::polynomialFunction(const UList<scalar>&)"
-        )   << "polynomialFunction coefficients are invalid (empty)"
+        FatalErrorInFunction
+            << "polynomialFunction coefficients are invalid (empty)"
             << nl << exit(FatalError);
     }
 }
@@ -131,10 +127,8 @@ Foam::polynomialFunction::polynomialFunction(Istream& is)
 {
     if (this->empty())
     {
-        FatalErrorIn
-        (
-            "polynomialFunction::polynomialFunction(Istream&)"
-        )   << "polynomialFunction coefficients are invalid (empty)"
+        FatalErrorInFunction
+            << "polynomialFunction coefficients are invalid (empty)"
             << nl << exit(FatalError);
     }
 }
@@ -192,14 +186,8 @@ Foam::scalar Foam::polynomialFunction::integrate
 
     if (logActive_)
     {
-        FatalErrorIn
-        (
-            "scalar polynomialFunction::integrate"
-            "("
-                "const scalar, "
-                "const scalar"
-            ") const"
-        )   << "Cannot integrate polynomial with logarithmic coefficients"
+        FatalErrorInFunction
+            << "Cannot integrate polynomial with logarithmic coefficients"
             << nl << abort(FatalError);
     }
 
diff --git a/src/OpenFOAM/primitives/globalIndexAndTransform/globalIndexAndTransform.C b/src/OpenFOAM/primitives/globalIndexAndTransform/globalIndexAndTransform.C
index ec1e8efddaf..178898eb071 100644
--- a/src/OpenFOAM/primitives/globalIndexAndTransform/globalIndexAndTransform.C
+++ b/src/OpenFOAM/primitives/globalIndexAndTransform/globalIndexAndTransform.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -180,11 +180,8 @@ void Foam::globalIndexAndTransform::determineTransforms()
                         {
                             if (nextTrans == 6)
                             {
-                                FatalErrorIn
-                                (
-                                     "void Foam::globalIndexAndTransform::"
-                                     "determineTransforms()"
-                                )   << "More than six unsigned transforms"
+                                FatalErrorInFunction
+                                    << "More than six unsigned transforms"
                                     << " detected:" << nl << transforms_
                                     << exit(FatalError);
                             }
@@ -220,11 +217,8 @@ void Foam::globalIndexAndTransform::determineTransforms()
                         {
                             if (nextTrans == 6)
                             {
-                                FatalErrorIn
-                                (
-                                    "void Foam::globalIndexAndTransform::"
-                                    "determineTransforms()"
-                                )   << "More than six unsigned transforms"
+                                FatalErrorInFunction
+                                    << "More than six unsigned transforms"
                                     << " detected:" << nl << transforms_
                                     << exit(FatalError);
                             }
@@ -283,11 +277,7 @@ void Foam::globalIndexAndTransform::determineTransforms()
 
                     if (nextTrans > 3)
                     {
-                        FatalErrorIn
-                        (
-                            "void Foam::globalIndexAndTransform::"
-                            "determineTransforms()"
-                        )
+                        FatalErrorInFunction
                             << "More than three independent basic "
                             << "transforms detected:" << nl
                             << allTransforms
@@ -305,10 +295,8 @@ void Foam::globalIndexAndTransform::determineTransforms()
 
     if (transforms_.size() > 3)
     {
-        WarningIn
-        (
-            "void globalIndexAndTransform::determineTransforms()"
-        )   << "More than three independent basic "
+        WarningInFunction
+            << "More than three independent basic "
             << "transforms detected:" << nl
             << transforms_ << nl
             << "This is not a space filling tiling and will probably"
diff --git a/src/OpenFOAM/primitives/globalIndexAndTransform/globalIndexAndTransformI.H b/src/OpenFOAM/primitives/globalIndexAndTransform/globalIndexAndTransformI.H
index 9227e6a990b..5ce965ea48d 100644
--- a/src/OpenFOAM/primitives/globalIndexAndTransform/globalIndexAndTransformI.H
+++ b/src/OpenFOAM/primitives/globalIndexAndTransform/globalIndexAndTransformI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -77,13 +77,7 @@ Foam::label Foam::globalIndexAndTransform::encodeTransformIndex
 {
     if (permutationIndices.size() != transforms_.size())
     {
-        FatalErrorIn
-        (
-            "Foam::label encodeTransformIndex"
-            "("
-                "const List<label>& permutationIndices,"
-            ") const"
-        )
+        FatalErrorInFunction
             << "permutationIndices " << permutationIndices
             << "are of a different size to the number of independent transforms"
             << abort(FatalError);
@@ -97,13 +91,7 @@ Foam::label Foam::globalIndexAndTransform::encodeTransformIndex
     {
         if (mag(permutationIndices[b]) > 1)
         {
-            FatalErrorIn
-            (
-                "Foam::label encodeTransformIndex"
-                "("
-                "const List<label>& permutationIndices,"
-                ") const"
-            )
+            FatalErrorInFunction
                 << "permutationIndices " << permutationIndices
                 << "are illegal, they must all be only -1, 0 or +1"
                 << abort(FatalError);
@@ -173,10 +161,8 @@ Foam::globalIndexAndTransform::decodeTransformIndex
     t /= 3;
     if (t != 0)
     {
-        FatalErrorIn
-        (
-            "globalIndexAndTransform::decodeTransformIndex(const label)"
-        )   << "transformIndex : " << transformIndex
+        FatalErrorInFunction
+            << "transformIndex : " << transformIndex
             << " has more than 3 fields."
             << abort(FatalError);
     }
@@ -221,7 +207,7 @@ Foam::label Foam::globalIndexAndTransform::addToTransformIndex
             if (sign == 0)
             {
                 // sent from patch without a transformation. Do nothing.
-                FatalErrorIn("globalIndexAndTransform::addToTransformIndex(..)")
+                FatalErrorInFunction
                     << "patch:" << mesh_.boundaryMesh()[patchI].name()
                     << " transform:" << matchTransI << " sign:" << sign
                     << "  current transforms:" << permutation
@@ -256,16 +242,8 @@ Foam::label Foam::globalIndexAndTransform::addToTransformIndex
                 }
                 else
                 {
-                    FatalErrorIn
-                    (
-                        "Foam::label "
-                        "Foam::globalIndexAndTransform::addToTransformIndex\n"
-                        "(\n"
-                            "const label,\n"
-                            "const label,\n"
-                            "const bool\n"
-                        ") const\n"
-                    )   << "More than one patch accessing the same transform "
+                    FatalErrorInFunction
+                        << "More than one patch accessing the same transform "
                         << "but not of the same sign." << endl
                         << "patch:" << mesh_.boundaryMesh()[patchI].name()
                         << " transform:" << matchTransI << " sign:" << sign
@@ -377,15 +355,7 @@ Foam::labelPair Foam::globalIndexAndTransform::encode
 {
     if (transformIndex < 0 || transformIndex >= base_)
     {
-        FatalErrorIn
-        (
-            "Foam::labelPair Foam::globalIndexAndTransform::encode"
-            "("
-                "const label procI, "
-                "const label index, "
-                "const label transformIndex"
-            ")"
-        )
+        FatalErrorInFunction
             << "TransformIndex " << transformIndex
             << " is outside allowed range of 0 to "
             << base_ - 1
@@ -394,15 +364,7 @@ Foam::labelPair Foam::globalIndexAndTransform::encode
 
     if (procI > labelMax/base_)
     {
-        FatalErrorIn
-        (
-            "Foam::labelPair Foam::globalIndexAndTransform::encode"
-            "("
-                "const label procI, "
-                "const label index, "
-                "const label transformIndex"
-            ")"
-        )
+        FatalErrorInFunction
             << "Overflow : encoding processor " << procI << " in base " << base_
             << " exceeds capability of label (" << labelMax
             << "). Please recompile with larger datatype for label."
@@ -521,14 +483,7 @@ Foam::labelList Foam::globalIndexAndTransform::transformIndicesForPatches
                 // transform.
                 if (permutation[matchTransI] != sign)
                 {
-                    FatalErrorIn
-                    (
-                        "const Foam::List<Foam::vectorTensorTransform>& "
-                        "Foam::globalIndexAndTransform::transformsForPatches"
-                        "("
-                            "const labelList& patchIs"
-                        ") const"
-                    )
+                    FatalErrorInFunction
                         << "More than one patch accessing the same transform "
                         << "but not of the same sign."
                         << exit(FatalError);
@@ -658,14 +613,7 @@ Foam::labelList Foam::globalIndexAndTransform::transformIndicesForPatches
         }
         default:
         {
-            FatalErrorIn
-            (
-                "const Foam::List<Foam::vectorTensorTransform>& "
-                "Foam::globalIndexAndTransform::transformsForPatches"
-                "("
-                    "const labelList& patchIs"
-                ") const"
-            )
+            FatalErrorInFunction
                 << "Only 1-3 transforms are possible."
                 << exit(FatalError);
         }
diff --git a/src/OpenFOAM/primitives/ints/label/label.C b/src/OpenFOAM/primitives/ints/label/label.C
index 22b2014bfda..10a621f462e 100644
--- a/src/OpenFOAM/primitives/ints/label/label.C
+++ b/src/OpenFOAM/primitives/ints/label/label.C
@@ -50,7 +50,7 @@ Foam::label Foam::pow(label a, label b)
     #ifdef FULLDEBUG
     if (b < 0)
     {
-        FatalErrorIn("pow(label a, label b)")
+        FatalErrorInFunction
             << "negative value for b is not supported"
             << abort(FatalError);
     }
@@ -71,7 +71,7 @@ Foam::label Foam::factorial(label n)
     #ifdef FULLDEBUG
     if (n > 12 && n < 0)
     {
-        FatalErrorIn("factorial(label n)")
+        FatalErrorInFunction
             << "n value out of range"
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/primitives/ints/uLabel/uLabel.C b/src/OpenFOAM/primitives/ints/uLabel/uLabel.C
index 9c8411093d1..f4aea858dd8 100644
--- a/src/OpenFOAM/primitives/ints/uLabel/uLabel.C
+++ b/src/OpenFOAM/primitives/ints/uLabel/uLabel.C
@@ -50,7 +50,7 @@ Foam::uLabel Foam::pow(uLabel a, uLabel b)
     #ifdef FULLDEBUG
     if (b < 0)
     {
-        FatalErrorIn("pow(uLabel a, uLabel b)")
+        FatalErrorInFunction
             << "negative value for b is not supported"
             << abort(FatalError);
     }
@@ -71,7 +71,7 @@ Foam::uLabel Foam::factorial(uLabel n)
     #ifdef FULLDEBUG
     if (n > 12 && n < 0)
     {
-        FatalErrorIn("factorial(uLabel n)")
+        FatalErrorInFunction
             << "n value out of range"
             << abort(FatalError);
     }
diff --git a/src/OpenFOAM/primitives/strings/stringOps/stringOps.C b/src/OpenFOAM/primitives/strings/stringOps/stringOps.C
index cd117cd7e83..52387922b18 100644
--- a/src/OpenFOAM/primitives/strings/stringOps/stringOps.C
+++ b/src/OpenFOAM/primitives/strings/stringOps/stringOps.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -286,15 +286,8 @@ Foam::string Foam::stringOps::getVariable
 
         if (value.empty())
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "stringOps::getVariable\n"
-                "(\n"
-                "    const word&,\n"
-                "    const dictionary&,\n"
-                "    const bool,\n"
-                "    const bool\n"
-                ")\n",
                 dict
             )   << "Cannot find dictionary or environment variable "
                 << name << exit(FatalIOError);
@@ -302,15 +295,8 @@ Foam::string Foam::stringOps::getVariable
     }
     else
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "stringOps::getVariable\n"
-            "(\n"
-            "    const word&,\n"
-            "    const dictionary&,\n"
-            "    const bool,\n"
-            "    const bool\n"
-            ")\n",
             dict
         )   << "Cannot find dictionary variable "
             << name << exit(FatalIOError);
@@ -792,10 +778,8 @@ Foam::string& Foam::stringOps::inplaceExpand
                 }
                 else
                 {
-                    FatalErrorIn
-                    (
-                        "stringOps::inplaceExpand(string&, const bool)"
-                    )   << "Unknown variable name '" << varName << "'"
+                    FatalErrorInFunction
+                        << "Unknown variable name '" << varName << "'"
                         << exit(FatalError);
                 }
             }
-- 
GitLab


From 7fdcf6ab7fa60d06df5ac5e39cadfc053f61b869 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sun, 8 Nov 2015 12:25:30 +0000
Subject: [PATCH 050/141] fvcAverage: Minor improvement to the evaluation of
 the internalField

---
 src/finiteVolume/finiteVolume/fvc/fvcAverage.C | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/finiteVolume/finiteVolume/fvc/fvcAverage.C b/src/finiteVolume/finiteVolume/fvc/fvcAverage.C
index 2756f56de56..c9b1052b8a9 100644
--- a/src/finiteVolume/finiteVolume/fvc/fvcAverage.C
+++ b/src/finiteVolume/finiteVolume/fvc/fvcAverage.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -47,6 +47,8 @@ average
     const GeometricField<Type, fvsPatchField, surfaceMesh>& ssf
 )
 {
+    Info<< "average" << endl;
+
     const fvMesh& mesh = ssf.mesh();
 
     tmp<GeometricField<Type, fvPatchField, volMesh> > taverage
@@ -70,8 +72,9 @@ average
 
     av.internalField() =
     (
-        surfaceSum(mesh.magSf()*ssf)/surfaceSum(mesh.magSf())
-    )().internalField();
+        surfaceSum(mesh.magSf()*ssf)().internalField()
+       /surfaceSum(mesh.magSf())().internalField()
+    );
 
     typename GeometricField<Type, fvPatchField, volMesh>::
     GeometricBoundaryField& bav = av.boundaryField();
-- 
GitLab


From e8003b39676580309192c8cb882cbc957497cffc Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sun, 8 Nov 2015 22:20:11 +0000
Subject: [PATCH 051/141] Revert "meshRefinementBaffles: Correct faceZone
 orientation"

This reverts commit 3ba163b5592aad68d4d6816ec053d4942679a23c.
---
 .../meshRefinement/meshRefinementBaffles.C    | 159 ++++++++++++------
 1 file changed, 103 insertions(+), 56 deletions(-)

diff --git a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C
index 5cdab910ac7..d9ec65959ca 100644
--- a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C
+++ b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C
@@ -51,6 +51,9 @@ License
 
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
+// Repatches external face or creates baffle for internal face
+// with user specified patches (might be different for both sides).
+// Returns label of added face.
 Foam::label Foam::meshRefinement::createBaffle
 (
     const label faceI,
@@ -128,6 +131,46 @@ Foam::label Foam::meshRefinement::createBaffle
 }
 
 
+//// Check if we are a boundary face and normal of surface does
+//// not align with test vector. In this case there'd probably be
+//// a freestanding 'baffle' so we might as well not create it.
+//// Note that since it is not a proper baffle we cannot detect it
+//// afterwards so this code cannot be merged with the
+//// filterDuplicateFaces code.
+//bool Foam::meshRefinement::validBaffleTopology
+//(
+//    const label faceI,
+//    const vector& n1,
+//    const vector& n2,
+//    const vector& testDir
+//) const
+//{
+//
+//    label patchI = mesh_.boundaryMesh().whichPatch(faceI);
+//    if (patchI == -1 || mesh_.boundaryMesh()[patchI].coupled())
+//    {
+//        return true;
+//    }
+//    else if (mag(n1&n2) > cos(degToRad(30)))
+//    {
+//        // Both normals aligned. Check that test vector perpendicularish to
+//        // surface normal
+//        scalar magTestDir = mag(testDir);
+//        if (magTestDir > VSMALL)
+//        {
+//            if (mag(n1&(testDir/magTestDir)) < cos(degToRad(45)))
+//            {
+//                //Pout<< "** disabling baffling face "
+//                //    << mesh_.faceCentres()[faceI] << endl;
+//                return false;
+//            }
+//        }
+//    }
+//    return true;
+//}
+
+
+// Determine patches for baffles on all intersected unnamed faces
 void Foam::meshRefinement::getBafflePatches
 (
     const labelList& globalToMasterPatch,
@@ -342,11 +385,11 @@ Foam::Map<Foam::labelPair> Foam::meshRefinement::getZoneBafflePatches
             }
         }
     }
-
     return bafflePatch;
 }
 
 
+// Create baffle for every face where ownPatch != -1
 Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::createBaffles
 (
     const labelList& ownPatch,
@@ -466,7 +509,6 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::createBaffles
             }
         }
     }
-
     // Pick up neighbour side of baffle (added faces)
     forAll(faceMap, faceI)
     {
@@ -493,6 +535,7 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::createBaffles
 void Foam::meshRefinement::checkZoneFaces() const
 {
     const faceZoneMesh& fZones = mesh_.faceZones();
+
     const polyBoundaryMesh& pbm = mesh_.boundaryMesh();
 
     forAll(pbm, patchI)
@@ -621,26 +664,27 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::createZoneBaffles
         Info<< "Created " << nZoneFaces << " baffles in = "
             << mesh_.time().cpuTimeIncrement() << " s\n" << nl << endl;
     }
-
     return map;
 }
 
 
+// Extract those baffles (duplicate) faces that are on the edge of a baffle
+// region. These are candidates for merging.
+// Done by counting the number of baffles faces per mesh edge. If edge
+// has 2 boundary faces and both are baffle faces it is the edge of a baffle
+// region.
 Foam::List<Foam::labelPair> Foam::meshRefinement::freeStandingBaffles
 (
     const List<labelPair>& couples,
     const scalar planarAngle
 ) const
 {
-    // Done by counting the number of baffles faces per mesh edge. If edge
-    // has 2 boundary faces and both are baffle faces it is the edge of a baffle
-    // region.
-
     // All duplicate faces on edge of the patch are to be merged.
     // So we count for all edges of duplicate faces how many duplicate
     // faces use them.
     labelList nBafflesPerEdge(mesh_.nEdges(), 0);
 
+
     // This algorithm is quite tricky. We don't want to use edgeFaces and
     // also want it to run in parallel so it is now an algorithm over
     // all (boundary) faces instead.
@@ -654,8 +698,10 @@ Foam::List<Foam::labelPair> Foam::meshRefinement::freeStandingBaffles
     // So now any edge that is used by baffle faces only will have the
     // value 2*1000000+2*1.
 
+
     const label baffleValue = 1000000;
 
+
     // Count number of boundary faces per edge
     // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -683,9 +729,11 @@ Foam::List<Foam::labelPair> Foam::meshRefinement::freeStandingBaffles
         }
     }
 
+
     DynamicList<label> fe0;
     DynamicList<label> fe1;
 
+
     // Count number of duplicate boundary faces per edge
     // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -879,6 +927,7 @@ Foam::List<Foam::labelPair> Foam::meshRefinement::freeStandingBaffles
 }
 
 
+// Merge baffles. Gets pairs of faces.
 Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::mergeBaffles
 (
     const List<labelPair>& couples
@@ -1010,6 +1059,7 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::mergeBaffles
 }
 
 
+// Finds region per cell for cells inside closed named surfaces
 void Foam::meshRefinement::findCellZoneGeometric
 (
     const pointField& neiCc,
@@ -1229,6 +1279,7 @@ void Foam::meshRefinement::findCellZoneInsideWalk
     const labelList& locationSurfaces,  // indices of surfaces with inside point
     const labelList& namedSurfaceIndex, // per face index of named surface
     const labelList& surfaceToCellZone, // cell zone index per surface
+
     labelList& cellToZone
 ) const
 {
@@ -1247,7 +1298,6 @@ void Foam::meshRefinement::findCellZoneInsideWalk
             blockedFace[faceI] = true;
         }
     }
-
     // No need to sync since namedSurfaceIndex already is synced
 
     // Set region per cell based on walking
@@ -1383,11 +1433,14 @@ bool Foam::meshRefinement::calcRegionToZone
             }
         }
     }
-
     return changed;
 }
 
 
+// Finds region per cell. Assumes:
+// - region containing keepPoint does not go into a cellZone
+// - all other regions can be found by crossing faces marked in
+//   namedSurfaceIndex.
 void Foam::meshRefinement::findCellZoneTopo
 (
     const point& keepPoint,
@@ -1396,11 +1449,6 @@ void Foam::meshRefinement::findCellZoneTopo
     labelList& cellToZone
 ) const
 {
-    //  Assumes:
-    // - region containing keepPoint does not go into a cellZone
-    // - all other regions can be found by crossing faces marked in
-    //   namedSurfaceIndex.
-
     // Analyse regions. Reuse regionsplit
     boolList blockedFace(mesh_.nFaces());
 
@@ -1604,6 +1652,8 @@ void Foam::meshRefinement::findCellZoneTopo
 }
 
 
+// Make namedSurfaceIndex consistent with cellToZone - clear out any blocked
+// faces inbetween same cell zone.
 void Foam::meshRefinement::makeConsistentFaceIndex
 (
     const labelList& cellToZone,
@@ -1793,21 +1843,7 @@ Foam::labelList Foam::meshRefinement::freeStandingBaffleFaces
     const labelList& faceNeighbour = mesh_.faceNeighbour();
 
 
-    // We want to pick up the faces to orient. These faces come in
-    // two variants:
-    // - faces originating from stand-alone faceZones
-    //   (these will most likely have no cellZone on either side so
-    //    ownZone and neiZone both -1)
-    // - sticky-up faces originating from a 'bulge' in a outside of
-    //   a cellZone. These will have the same cellZone on either side.
-    //   How to orient these is not really clearly defined so do them
-    //   same as stand-alone faceZone faces for now. (Normally these will
-    //   already have been removed by the 'allowFreeStandingZoneFaces=false'
-    //   default setting)
-
-    // Note that argument neiCellZone will have -1 on uncoupled boundaries.
-
-    DynamicList<label> faceLabels(mesh_.nFaces()/100);
+    DynamicList<label> faceLabels(mesh_.nFaces()/20);
 
     for (label faceI = 0; faceI < mesh_.nInternalFaces(); faceI++)
     {
@@ -1817,7 +1853,7 @@ Foam::labelList Foam::meshRefinement::freeStandingBaffleFaces
             // Free standing baffle?
             label ownZone = cellToZone[faceOwner[faceI]];
             label neiZone = cellToZone[faceNeighbour[faceI]];
-            if (ownZone == neiZone)
+            if (max(ownZone, neiZone) == -1)
             {
                 faceLabels.append(faceI);
             }
@@ -1836,14 +1872,13 @@ Foam::labelList Foam::meshRefinement::freeStandingBaffleFaces
                 // Free standing baffle?
                 label ownZone = cellToZone[faceOwner[faceI]];
                 label neiZone = neiCellZone[faceI-mesh_.nInternalFaces()];
-                if (ownZone == neiZone)
+                if (max(ownZone, neiZone) == -1)
                 {
                     faceLabels.append(faceI);
                 }
             }
         }
     }
-
     return faceLabels.shrink();
 }
 
@@ -2100,6 +2135,7 @@ void Foam::meshRefinement::consistentOrientation
     }
 
 
+
     DynamicList<label> changedEdges;
     DynamicList<patchFaceOrientation> changedInfo;
 
@@ -2188,6 +2224,7 @@ void Foam::meshRefinement::consistentOrientation
         }
 
 
+
         // Walk
         PatchEdgeFaceWave
         <
@@ -2289,6 +2326,7 @@ void Foam::meshRefinement::consistentOrientation
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
+// Split off unreachable areas of mesh.
 void Foam::meshRefinement::baffleAndSplitMesh
 (
     const bool doHandleSnapProblems,
@@ -2479,6 +2517,7 @@ void Foam::meshRefinement::baffleAndSplitMesh
 }
 
 
+// Split off (with optional buffer layers) unreachable areas of mesh.
 Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::splitMesh
 (
     const label nBufferLayers,
@@ -2765,6 +2804,8 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::splitMesh
 }
 
 
+// Find boundary points that connect to more than one cell region and
+// split them.
 Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::dupNonManifoldPoints
 (
     const localPointRegion& regionSide
@@ -2818,6 +2859,8 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::dupNonManifoldPoints
 }
 
 
+// Find boundary points that connect to more than one cell region and
+// split them.
 Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::dupNonManifoldPoints()
 {
     // Analyse which points need to be duplicated
@@ -2827,6 +2870,7 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::dupNonManifoldPoints()
 }
 
 
+// Zoning
 Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::zonify
 (
     const point& keepPoint,
@@ -3128,23 +3172,22 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::zonify
 
 
     // Get coupled neighbour cellZone. Set to -1 on non-coupled patches.
-    labelList neiCellZone;
-    syncTools::swapBoundaryCellList(mesh_, cellToZone, neiCellZone);
+    labelList neiCellZone(mesh_.nFaces()-mesh_.nInternalFaces(), -1);
     forAll(patches, patchI)
     {
         const polyPatch& pp = patches[patchI];
 
-        if (!pp.coupled())
+        if (pp.coupled())
         {
-            label bFaceI = pp.start()-mesh_.nInternalFaces();
             forAll(pp, i)
             {
-                neiCellZone[bFaceI++] = -1;
+                label faceI = pp.start()+i;
+                neiCellZone[faceI-mesh_.nInternalFaces()] =
+                    cellToZone[mesh_.faceOwner()[faceI]];
             }
         }
     }
-
-
+    syncTools::swapBoundaryFaceList(mesh_, neiCellZone);
 
     // Get per face whether is it master (of a coupled set of faces)
     const PackedBoolList isMasterFace(syncTools::getMasterFaces(mesh_));
@@ -3185,13 +3228,6 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::zonify
             Info<< "Detected " << nFreeStanding << " free-standing zone faces"
                 << endl;
 
-            if (debug)
-            {
-                OBJstream str(mesh_.time().path()/"freeStanding.obj");
-                str.write(patch.localFaces(), patch.localPoints(), false);
-            }
-
-
             // Detect non-manifold edges
             labelList nMasterFacesPerEdge;
             calcPatchNumMasterFaces(isMasterFace, patch, nMasterFacesPerEdge);
@@ -3290,19 +3326,22 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::zonify
         if (surfI != -1)
         {
             // Orient face zone to have slave cells in max cell zone.
-            // Note: logic to use flipMap should be consistent with logic
-            //       to pick up the freeStandingBaffleFaces!
-
             label ownZone = cellToZone[faceOwner[faceI]];
             label neiZone = cellToZone[faceNeighbour[faceI]];
 
             bool flip;
 
-            if (ownZone == neiZone)
+            label maxZone = max(ownZone, neiZone);
+
+            if (maxZone == -1)
             {
                 // free-standing face. Use geometrically derived orientation
                 flip = meshFlipMap[faceI];
             }
+            else if (ownZone == maxZone)
+            {
+                flip = false;
+            }
             else
             {
                 flip = true;
@@ -3345,18 +3384,26 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::zonify
 
                 bool flip;
 
-                if (ownZone == neiZone)
+                label maxZone = max(ownZone, neiZone);
+
+                if (maxZone == -1)
                 {
                     // free-standing face. Use geometrically derived orientation
                     flip = meshFlipMap[faceI];
                 }
+                else if (ownZone == neiZone)
+                {
+                    // Free-standing zone face or coupled boundary. Keep master
+                    // face unflipped.
+                    flip = !isMasterFace[faceI];
+                }
+                else if (neiZone == maxZone)
+                {
+                    flip = true;
+                }
                 else
                 {
-                    flip =
-                    (
-                        ownZone == -1
-                     || (neiZone != -1 && ownZone > neiZone)
-                    );
+                    flip = false;
                 }
 
                 meshMod.setAction
-- 
GitLab


From 78d7482e5b2afb3ab0996bab5e86db84cec399c6 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Tue, 10 Nov 2015 08:50:11 +0000
Subject: [PATCH 052/141] SolverPerformance: Complete the integration of the
 templated SolverPerformance<Type>

Now solvers return solver performance information for all components
with backward compatibility provided by the "max" function which created
the scalar solverPerformance from the maximum component residuals from
the SolverPerformance<Type>.

The residuals functionObject has been upgraded to support
SolverPerformance<Type> so that now the initial residuals for all
(valid) components are tabulated, e.g. for the cavity tutorial case the
residuals for p, Ux and Uy are listed vs time.

Currently the residualControl option of pimpleControl and simpleControl
is supported in backward compatibility mode (only the maximum component
residual is considered) but in the future this will be upgraded to
support convergence control for the components individually.

This development started from patches provided by Bruno Santos, See
http://www.openfoam.org/mantisbt/view.php?id=1824
---
 .../solidDisplacementFoam.C                   |  2 +-
 applications/test/volField/Test-volField.C    | 32 +++++++--
 src/OpenFOAM/db/IOstreams/token/tokenI.H      |  8 +--
 .../LduMatrix/LduMatrix/SolverPerformance.C   | 32 ++++++++-
 .../LduMatrix/LduMatrix/SolverPerformance.H   | 31 +++++---
 .../LduMatrix/LduMatrix/solverPerformance.C   | 10 ++-
 .../LduMatrix/LduMatrix/solverPerformance.H   |  7 +-
 src/OpenFOAM/meshes/data/data.C               | 40 +----------
 src/OpenFOAM/meshes/data/data.H               | 14 +++-
 src/OpenFOAM/meshes/data/dataTemplates.C      | 71 +++++++++++++++++++
 src/OpenFOAM/primitives/Scalar/Scalar.C       |  4 +-
 src/OpenFOAM/primitives/Scalar/Scalar.H       |  3 +
 src/OpenFOAM/primitives/bools/bool/bool.C     |  4 +-
 src/OpenFOAM/primitives/ints/int32/int32.C    |  4 +-
 src/OpenFOAM/primitives/ints/int64/int64.C    |  4 +-
 src/OpenFOAM/primitives/ints/uint32/uint32.C  |  4 +-
 src/OpenFOAM/primitives/ints/uint64/uint64.C  |  4 +-
 .../pimpleControl/pimpleControl.C             |  8 +--
 .../simpleControl/simpleControl.C             |  7 +-
 .../solutionControl/solutionControl.C         | 39 ++++++++++
 .../solutionControl/solutionControl.H         | 19 +++++
 .../fvMatrices/fvMatrix/fvMatrix.C            | 18 ++---
 .../fvMatrices/fvMatrix/fvMatrix.H            | 20 +++---
 .../fvMatrices/fvMatrix/fvMatrixSolve.C       | 33 ++++-----
 src/finiteVolume/fvMesh/fvMesh.C              |  8 +++
 src/finiteVolume/fvMesh/fvMesh.H              | 14 +++-
 src/finiteVolume/fvMesh/fvMeshTemplates.C     | 45 ++++++++++++
 .../fvPatch/fvPatchFvMeshTemplates.C          |  2 +-
 .../utilities/residuals/residuals.C           | 22 +++---
 .../utilities/residuals/residuals.H           |  4 ++
 .../utilities/residuals/residualsTemplates.C  | 57 +++++++++++++--
 31 files changed, 428 insertions(+), 142 deletions(-)
 create mode 100644 src/OpenFOAM/meshes/data/dataTemplates.C
 create mode 100644 src/finiteVolume/fvMesh/fvMeshTemplates.C

diff --git a/applications/solvers/stressAnalysis/solidDisplacementFoam/solidDisplacementFoam.C b/applications/solvers/stressAnalysis/solidDisplacementFoam/solidDisplacementFoam.C
index e2c6c943379..f79242dcf03 100644
--- a/applications/solvers/stressAnalysis/solidDisplacementFoam/solidDisplacementFoam.C
+++ b/applications/solvers/stressAnalysis/solidDisplacementFoam/solidDisplacementFoam.C
@@ -93,7 +93,7 @@ int main(int argc, char *argv[])
                 //DEqn.setComponentReference(1, 0, vector::X, 0);
                 //DEqn.setComponentReference(1, 0, vector::Z, 0);
 
-                initialResidual = DEqn.solve().initialResidual();
+                initialResidual = DEqn.solve().max().initialResidual();
 
                 if (!compactNormalStress)
                 {
diff --git a/applications/test/volField/Test-volField.C b/applications/test/volField/Test-volField.C
index 25d8fbabffd..37e4d303bf8 100644
--- a/applications/test/volField/Test-volField.C
+++ b/applications/test/volField/Test-volField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -83,13 +83,35 @@ int main(int argc, char *argv[])
         zeroGradientFvPatchSymmTensorField::typeName
     );
 
-    solve
+    SolverPerformance<symmTensor> sP =
     (
-        fvm::ddt(st)
-      + fvm::div(phi, st)
-      - fvm::laplacian(dimensionedScalar("D", sqr(dimLength)/dimTime, 1), st)
+        solve
+        (
+            fvm::ddt(st)
+          + fvm::div(phi, st)
+          - fvm::laplacian
+            (
+                dimensionedScalar("D", sqr(dimLength)/dimTime, 1),
+                st
+            )
+         ==
+            dimensioned<symmTensor>
+            (
+                "source",
+                dimless/dimTime,
+                symmTensor(0, 2, 0, 1, 1.5, 0)
+            )
+        )
     );
 
+    Info<< nl
+        << "Detailed SolverPerformance<symmTensor>: " << nl
+        << "  " << sP << endl;
+
+    Info<< nl
+        << "solverPerformanceDict: "
+        << mesh.solverPerformanceDict() << endl;
+
     return 0;
 }
 
diff --git a/src/OpenFOAM/db/IOstreams/token/tokenI.H b/src/OpenFOAM/db/IOstreams/token/tokenI.H
index 8c2a024bbfd..6d34249a613 100644
--- a/src/OpenFOAM/db/IOstreams/token/tokenI.H
+++ b/src/OpenFOAM/db/IOstreams/token/tokenI.H
@@ -231,7 +231,7 @@ inline const word& token::wordToken() const
     }
     else
     {
-        parseError("word");
+        parseError(word::typeName);
         return word::null;
     }
 }
@@ -254,7 +254,7 @@ inline const string& token::stringToken() const
     }
     else
     {
-        parseError("string");
+        parseError(string::typeName);
         return string::null;
     }
 }
@@ -272,7 +272,7 @@ inline label token::labelToken() const
     }
     else
     {
-        parseError("label");
+        parseError(pTraits<label>::typeName);
         return 0;
     }
 }
@@ -332,7 +332,7 @@ inline scalar token::scalarToken() const
     }
     else
     {
-        parseError("scalar");
+        parseError(pTraits<scalar>::typeName);
         return 0.0;
     }
 }
diff --git a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/SolverPerformance.C b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/SolverPerformance.C
index 6a4cf06508c..e898751fd1e 100644
--- a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/SolverPerformance.C
+++ b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/SolverPerformance.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -126,6 +126,36 @@ void Foam::SolverPerformance<Type>::print
 }
 
 
+template<class Type>
+void Foam::SolverPerformance<Type>::replace
+(
+    const Foam::label cmpt,
+    const Foam::SolverPerformance<typename pTraits<Type>::cmptType>& sp
+)
+{
+    initialResidual_.replace(cmpt, sp.initialResidual());
+    finalResidual_.replace(cmpt, sp.finalResidual());
+    singular_[cmpt] = sp.singular();
+}
+
+
+template<class Type>
+Foam::SolverPerformance<typename Foam::pTraits<Type>::cmptType>
+Foam::SolverPerformance<Type>::max()
+{
+    return SolverPerformance<typename pTraits<Type>::cmptType>
+    (
+        solverName_,
+        fieldName_,
+        cmptMax(initialResidual_),
+        cmptMax(finalResidual_),
+        noIterations_,
+        converged_,
+        singular()
+    );
+}
+
+
 template<class Type>
 bool Foam::SolverPerformance<Type>::operator!=
 (
diff --git a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/SolverPerformance.H b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/SolverPerformance.H
index 0bc3fb389e1..c24fc9c793b 100644
--- a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/SolverPerformance.H
+++ b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/SolverPerformance.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -78,13 +78,15 @@ Ostream& operator<<
 template<class Type>
 class SolverPerformance
 {
-    word   solverName_;
-    word   fieldName_;
-    Type   initialResidual_;
-    Type   finalResidual_;
-    label  noIterations_;
-    bool   converged_;
-    FixedList<bool, pTraits<Type>::nComponents> singular_;
+    // Private data
+
+        word   solverName_;
+        word   fieldName_;
+        Type   initialResidual_;
+        Type   finalResidual_;
+        label  noIterations_;
+        bool   converged_;
+        FixedList<bool, pTraits<Type>::nComponents> singular_;
 
 
 public:
@@ -220,6 +222,17 @@ public:
         //- Print summary of solver performance to the given stream
         void print(Ostream& os) const;
 
+        //- Replace component based on the minimal SolverPerformance
+        void replace
+        (
+            const label cmpt,
+            const SolverPerformance<typename pTraits<Type>::cmptType>& sp
+        );
+
+        //- Return the summary maximum of SolverPerformance<Type>
+        //  Effectively it will mostly return solverPerformanceScalar
+        SolverPerformance<typename pTraits<Type>::cmptType> max();
+
 
     // Member Operators
 
@@ -229,7 +242,7 @@ public:
     // Friend functions
 
         //- Return the element-wise maximum of two SolverPerformance<Type>s
-        friend SolverPerformance<Type> max <Type>
+        friend SolverPerformance<Type> Foam::max <Type>
         (
             const SolverPerformance<Type>&,
             const SolverPerformance<Type>&
diff --git a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/solverPerformance.C b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/solverPerformance.C
index 5bac12c784c..fe022526b50 100644
--- a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/solverPerformance.C
+++ b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/solverPerformance.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -36,4 +36,12 @@ namespace Foam
 };
 
 
+template<>
+Foam::SolverPerformance<Foam::scalar>
+Foam::SolverPerformance<Foam::scalar>::max()
+{
+    return *this;
+}
+
+
 // ************************************************************************* //
diff --git a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/solverPerformance.H b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/solverPerformance.H
index 139ab128b1c..ccc26daae72 100644
--- a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/solverPerformance.H
+++ b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/solverPerformance.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -42,8 +42,13 @@ SourceFiles
 namespace Foam
 {
     typedef SolverPerformance<scalar> solverPerformance;
+
+    // Specialization of the max function for scalar object
+    template<>
+    SolverPerformance<scalar> SolverPerformance<scalar>::max();
 }
 
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 #endif
diff --git a/src/OpenFOAM/meshes/data/data.C b/src/OpenFOAM/meshes/data/data.C
index 02366479aa7..6ad8116585a 100644
--- a/src/OpenFOAM/meshes/data/data.C
+++ b/src/OpenFOAM/meshes/data/data.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -25,7 +25,6 @@ License
 
 #include "data.H"
 #include "Time.H"
-#include "solverPerformance.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
@@ -60,41 +59,4 @@ const Foam::dictionary& Foam::data::solverPerformanceDict() const
 }
 
 
-void Foam::data::setSolverPerformance
-(
-    const word& name,
-    const solverPerformance& sp
-) const
-{
-    dictionary& dict = const_cast<dictionary&>(solverPerformanceDict());
-
-    List<solverPerformance> perfs;
-
-    if (prevTimeIndex_ != this->time().timeIndex())
-    {
-        // reset solver performance between iterations
-        prevTimeIndex_ = this->time().timeIndex();
-        dict.clear();
-    }
-    else
-    {
-        dict.readIfPresent(name, perfs);
-    }
-
-    // append to list
-    perfs.setSize(perfs.size()+1, sp);
-
-    dict.set(name, perfs);
-}
-
-
-void Foam::data::setSolverPerformance
-(
-    const solverPerformance& sp
-) const
-{
-    setSolverPerformance(sp.fieldName(), sp);
-}
-
-
 // ************************************************************************* //
diff --git a/src/OpenFOAM/meshes/data/data.H b/src/OpenFOAM/meshes/data/data.H
index e4fd40fb6a1..c5b7758e931 100644
--- a/src/OpenFOAM/meshes/data/data.H
+++ b/src/OpenFOAM/meshes/data/data.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -91,16 +91,18 @@ public:
             const dictionary& solverPerformanceDict() const;
 
             //- Add/set the solverPerformance entry for the named field
+            template<class Type>
             void setSolverPerformance
             (
                 const word& name,
-                const solverPerformance&
+                const SolverPerformance<Type>&
             ) const;
 
             //- Add/set the solverPerformance entry, using its fieldName
+            template<class Type>
             void setSolverPerformance
             (
-                const solverPerformance&
+                const SolverPerformance<Type>&
             ) const;
 };
 
@@ -111,6 +113,12 @@ public:
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+#ifdef NoRepository
+#   include "dataTemplates.C"
+#endif
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
 #endif
 
 // ************************************************************************* //
diff --git a/src/OpenFOAM/meshes/data/dataTemplates.C b/src/OpenFOAM/meshes/data/dataTemplates.C
new file mode 100644
index 00000000000..8929ee123c7
--- /dev/null
+++ b/src/OpenFOAM/meshes/data/dataTemplates.C
@@ -0,0 +1,71 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "data.H"
+#include "Time.H"
+#include "solverPerformance.H"
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+template<class Type>
+void Foam::data::setSolverPerformance
+(
+    const word& name,
+    const SolverPerformance<Type>& sp
+) const
+{
+    dictionary& dict = const_cast<dictionary&>(solverPerformanceDict());
+
+    List<SolverPerformance<Type> > perfs;
+
+    if (prevTimeIndex_ != this->time().timeIndex())
+    {
+        // Reset solver performance between iterations
+        prevTimeIndex_ = this->time().timeIndex();
+        dict.clear();
+    }
+    else
+    {
+        dict.readIfPresent(name, perfs);
+    }
+
+    // Append to list
+    perfs.setSize(perfs.size()+1, sp);
+
+    dict.set(name, perfs);
+}
+
+
+template<class Type>
+void Foam::data::setSolverPerformance
+(
+    const SolverPerformance<Type>& sp
+) const
+{
+    setSolverPerformance(sp.fieldName(), sp);
+}
+
+
+// ************************************************************************* //
diff --git a/src/OpenFOAM/primitives/Scalar/Scalar.C b/src/OpenFOAM/primitives/Scalar/Scalar.C
index de2eb11e714..e6dd0e08c53 100644
--- a/src/OpenFOAM/primitives/Scalar/Scalar.C
+++ b/src/OpenFOAM/primitives/Scalar/Scalar.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -38,7 +38,7 @@ const Scalar pTraits<Scalar>::max = ScalarVGREAT;
 const Scalar pTraits<Scalar>::rootMin = -ScalarROOTVGREAT;
 const Scalar pTraits<Scalar>::rootMax = ScalarROOTVGREAT;
 
-const char* pTraits<Scalar>::componentNames[] = { "x" };
+const char* pTraits<Scalar>::componentNames[] = { "" };
 
 pTraits<Scalar>::pTraits(const Scalar& p)
 :
diff --git a/src/OpenFOAM/primitives/Scalar/Scalar.H b/src/OpenFOAM/primitives/Scalar/Scalar.H
index f0c38d6d6a2..c25a92b2097 100644
--- a/src/OpenFOAM/primitives/Scalar/Scalar.H
+++ b/src/OpenFOAM/primitives/Scalar/Scalar.H
@@ -50,6 +50,9 @@ public:
     //- Component type
     typedef Scalar cmptType;
 
+    //- Equivalent type of labels used for valid component indexing
+    typedef label labelType;
+
     // Member constants
 
         enum
diff --git a/src/OpenFOAM/primitives/bools/bool/bool.C b/src/OpenFOAM/primitives/bools/bool/bool.C
index 5a26a155c43..5969cadcea3 100644
--- a/src/OpenFOAM/primitives/bools/bool/bool.C
+++ b/src/OpenFOAM/primitives/bools/bool/bool.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -31,7 +31,7 @@ const char* const Foam::pTraits<bool>::typeName = "bool";
 const bool Foam::pTraits<bool>::zero = false;
 const bool Foam::pTraits<bool>::one = true;
 
-const char* Foam::pTraits<bool>::componentNames[] = { "x" };
+const char* Foam::pTraits<bool>::componentNames[] = { "" };
 
 Foam::pTraits<bool>::pTraits(const bool& p)
 :
diff --git a/src/OpenFOAM/primitives/ints/int32/int32.C b/src/OpenFOAM/primitives/ints/int32/int32.C
index c3674a58f77..4883be46d52 100644
--- a/src/OpenFOAM/primitives/ints/int32/int32.C
+++ b/src/OpenFOAM/primitives/ints/int32/int32.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -34,7 +34,7 @@ const int32_t Foam::pTraits<int32_t>::max = INT32_MAX;
 const int32_t Foam::pTraits<int32_t>::rootMin = pTraits<int32_t>::min;
 const int32_t Foam::pTraits<int32_t>::rootMax = pTraits<int32_t>::max;
 
-const char* Foam::pTraits<int32_t>::componentNames[] = { "x" };
+const char* Foam::pTraits<int32_t>::componentNames[] = { "" };
 
 Foam::pTraits<int32_t>::pTraits(const int32_t& p)
 :
diff --git a/src/OpenFOAM/primitives/ints/int64/int64.C b/src/OpenFOAM/primitives/ints/int64/int64.C
index 351eff9de24..5b58fad539b 100644
--- a/src/OpenFOAM/primitives/ints/int64/int64.C
+++ b/src/OpenFOAM/primitives/ints/int64/int64.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -34,7 +34,7 @@ const int64_t Foam::pTraits<int64_t>::max = INT64_MAX;
 const int64_t Foam::pTraits<int64_t>::rootMin = pTraits<int64_t>::min;
 const int64_t Foam::pTraits<int64_t>::rootMax = pTraits<int64_t>::max;
 
-const char* Foam::pTraits<int64_t>::componentNames[] = { "x" };
+const char* Foam::pTraits<int64_t>::componentNames[] = { "" };
 
 Foam::pTraits<int64_t>::pTraits(const int64_t& p)
 :
diff --git a/src/OpenFOAM/primitives/ints/uint32/uint32.C b/src/OpenFOAM/primitives/ints/uint32/uint32.C
index cdafc334413..2ffe5445dc4 100644
--- a/src/OpenFOAM/primitives/ints/uint32/uint32.C
+++ b/src/OpenFOAM/primitives/ints/uint32/uint32.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -34,7 +34,7 @@ const uint32_t Foam::pTraits<uint32_t>::max = INT32_MAX;
 const uint32_t Foam::pTraits<uint32_t>::rootMin = pTraits<uint32_t>::min;
 const uint32_t Foam::pTraits<uint32_t>::rootMax = pTraits<uint32_t>::max;
 
-const char* Foam::pTraits<uint32_t>::componentNames[] = { "x" };
+const char* Foam::pTraits<uint32_t>::componentNames[] = { "" };
 
 Foam::pTraits<uint32_t>::pTraits(const uint32_t& p)
 :
diff --git a/src/OpenFOAM/primitives/ints/uint64/uint64.C b/src/OpenFOAM/primitives/ints/uint64/uint64.C
index bbe35d20bb8..63fd8b31942 100644
--- a/src/OpenFOAM/primitives/ints/uint64/uint64.C
+++ b/src/OpenFOAM/primitives/ints/uint64/uint64.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -34,7 +34,7 @@ const uint64_t Foam::pTraits<uint64_t>::max = INT64_MAX;
 const uint64_t Foam::pTraits<uint64_t>::rootMin = pTraits<uint64_t>::min;
 const uint64_t Foam::pTraits<uint64_t>::rootMax = pTraits<uint64_t>::max;
 
-const char* Foam::pTraits<uint64_t>::componentNames[] = { "x" };
+const char* Foam::pTraits<uint64_t>::componentNames[] = { "" };
 
 Foam::pTraits<uint64_t>::pTraits(const uint64_t& p)
 :
diff --git a/src/finiteVolume/cfdTools/general/solutionControl/pimpleControl/pimpleControl.C b/src/finiteVolume/cfdTools/general/solutionControl/pimpleControl/pimpleControl.C
index 25b9d3568b0..7fa666071c2 100644
--- a/src/finiteVolume/cfdTools/general/solutionControl/pimpleControl/pimpleControl.C
+++ b/src/finiteVolume/cfdTools/general/solutionControl/pimpleControl/pimpleControl.C
@@ -70,15 +70,15 @@ bool Foam::pimpleControl::criteriaSatisfied()
         const label fieldI = applyToField(variableName);
         if (fieldI != -1)
         {
-            const List<solverPerformance> sp(iter().stream());
-            const scalar residual = sp.last().initialResidual();
+            scalar residual = 0;
+            const scalar firstResidual =
+                maxResidual(variableName, iter().stream(), residual);
 
             checked = true;
 
             if (storeIni)
             {
-                residualControl_[fieldI].initialResidual =
-                    sp.first().initialResidual();
+                residualControl_[fieldI].initialResidual = firstResidual;
             }
 
             const bool absCheck = residual < residualControl_[fieldI].absTol;
diff --git a/src/finiteVolume/cfdTools/general/solutionControl/simpleControl/simpleControl.C b/src/finiteVolume/cfdTools/general/solutionControl/simpleControl/simpleControl.C
index 27557eac3c6..5544497e50a 100644
--- a/src/finiteVolume/cfdTools/general/solutionControl/simpleControl/simpleControl.C
+++ b/src/finiteVolume/cfdTools/general/solutionControl/simpleControl/simpleControl.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -59,8 +59,9 @@ bool Foam::simpleControl::criteriaSatisfied()
         const label fieldI = applyToField(variableName);
         if (fieldI != -1)
         {
-            const List<solverPerformance> sp(iter().stream());
-            const scalar residual = sp.first().initialResidual();
+            scalar lastResidual = 0;
+            const scalar residual =
+                maxResidual(variableName, iter().stream(), lastResidual);
 
             checked = true;
 
diff --git a/src/finiteVolume/cfdTools/general/solutionControl/solutionControl/solutionControl.C b/src/finiteVolume/cfdTools/general/solutionControl/solutionControl/solutionControl.C
index 1d028e8c4db..5cd92691305 100644
--- a/src/finiteVolume/cfdTools/general/solutionControl/solutionControl/solutionControl.C
+++ b/src/finiteVolume/cfdTools/general/solutionControl/solutionControl/solutionControl.C
@@ -172,6 +172,45 @@ void Foam::solutionControl::storePrevIterFields() const
 }
 
 
+template<class Type>
+void Foam::solutionControl::maxTypeResidual
+(
+    const word& fieldName,
+    ITstream& data,
+    scalar& firstRes,
+    scalar& lastRes
+) const
+{
+    typedef GeometricField<Type, fvPatchField, volMesh> fieldType;
+
+    if (mesh_.foundObject<fieldType>(fieldName))
+    {
+        const List<SolverPerformance<Type> > sp(data);
+        firstRes = cmptMax(sp.first().initialResidual());
+        lastRes = cmptMax(sp.last().initialResidual());
+    }
+}
+
+
+Foam::scalar Foam::solutionControl::maxResidual
+(
+    const word& fieldName,
+    ITstream& data,
+    scalar& lastRes
+) const
+{
+    scalar firstRes = 0;
+
+    maxTypeResidual<scalar>(fieldName, data, firstRes, lastRes);
+    maxTypeResidual<vector>(fieldName, data, firstRes, lastRes);
+    maxTypeResidual<sphericalTensor>(fieldName, data, firstRes, lastRes);
+    maxTypeResidual<symmTensor>(fieldName, data, firstRes, lastRes);
+    maxTypeResidual<tensor>(fieldName, data, firstRes, lastRes);
+
+    return firstRes;
+}
+
+
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 Foam::solutionControl::solutionControl(fvMesh& mesh, const word& algorithmName)
diff --git a/src/finiteVolume/cfdTools/general/solutionControl/solutionControl/solutionControl.H b/src/finiteVolume/cfdTools/general/solutionControl/solutionControl/solutionControl.H
index 3517f7121f5..c9c7b876336 100644
--- a/src/finiteVolume/cfdTools/general/solutionControl/solutionControl/solutionControl.H
+++ b/src/finiteVolume/cfdTools/general/solutionControl/solutionControl/solutionControl.H
@@ -122,6 +122,25 @@ protected:
         template<class Type>
         void storePrevIter() const;
 
+        template<class Type>
+        void maxTypeResidual
+        (
+            const word& fieldName,
+            ITstream& data,
+            scalar& firstRes,
+            scalar& lastRes
+        ) const;
+
+        scalar maxResidual
+        (
+            const word& fieldName,
+            ITstream& data,
+            scalar& lastRes
+        ) const;
+
+
+private:
+
         //- Disallow default bitwise copy construct
         solutionControl(const solutionControl&);
 
diff --git a/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C b/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C
index 8da078fbc40..42024fee1bf 100644
--- a/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C
+++ b/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C
@@ -808,11 +808,7 @@ Foam::fvMatrix<Type>::H() const
 
     typename Type::labelType validComponents
     (
-        pow
-        (
-            psi_.mesh().solutionD(),
-            pTraits<typename powProduct<Vector<label>, Type::rank>::type>::zero
-        )
+        psi_.mesh().template validComponents<Type>()
     );
 
     for (direction cmpt=0; cmpt<Type::nComponents; cmpt++)
@@ -1350,7 +1346,7 @@ void Foam::checkMethod
 
 
 template<class Type>
-Foam::solverPerformance Foam::solve
+Foam::SolverPerformance<Type> Foam::solve
 (
     fvMatrix<Type>& fvm,
     const dictionary& solverControls
@@ -1360,13 +1356,13 @@ Foam::solverPerformance Foam::solve
 }
 
 template<class Type>
-Foam::solverPerformance Foam::solve
+Foam::SolverPerformance<Type> Foam::solve
 (
     const tmp<fvMatrix<Type> >& tfvm,
     const dictionary& solverControls
 )
 {
-    solverPerformance solverPerf =
+    SolverPerformance<Type> solverPerf =
         const_cast<fvMatrix<Type>&>(tfvm()).solve(solverControls);
 
     tfvm.clear();
@@ -1376,15 +1372,15 @@ Foam::solverPerformance Foam::solve
 
 
 template<class Type>
-Foam::solverPerformance Foam::solve(fvMatrix<Type>& fvm)
+Foam::SolverPerformance<Type> Foam::solve(fvMatrix<Type>& fvm)
 {
     return fvm.solve();
 }
 
 template<class Type>
-Foam::solverPerformance Foam::solve(const tmp<fvMatrix<Type> >& tfvm)
+Foam::SolverPerformance<Type> Foam::solve(const tmp<fvMatrix<Type> >& tfvm)
 {
-    solverPerformance solverPerf =
+    SolverPerformance<Type> solverPerf =
         const_cast<fvMatrix<Type>&>(tfvm()).solve();
 
     tfvm.clear();
diff --git a/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.H b/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.H
index c9282af68b7..32596afc13f 100644
--- a/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.H
+++ b/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.H
@@ -239,11 +239,11 @@ public:
 
             //- Solve returning the solution statistics.
             //  Use the given solver controls
-            solverPerformance solve(const dictionary&);
+            SolverPerformance<Type> solve(const dictionary&);
 
             //- Solve returning the solution statistics.
             //  Solver controls read from fvSolution
-            solverPerformance solve();
+            SolverPerformance<Type> solve();
     };
 
 
@@ -389,19 +389,19 @@ public:
 
             //- Solve segregated or coupled returning the solution statistics.
             //  Use the given solver controls
-            solverPerformance solve(const dictionary&);
+            SolverPerformance<Type> solve(const dictionary&);
 
             //- Solve segregated returning the solution statistics.
             //  Use the given solver controls
-            solverPerformance solveSegregated(const dictionary&);
+            SolverPerformance<Type> solveSegregated(const dictionary&);
 
             //- Solve coupled returning the solution statistics.
             //  Use the given solver controls
-            solverPerformance solveCoupled(const dictionary&);
+            SolverPerformance<Type> solveCoupled(const dictionary&);
 
             //- Solve returning the solution statistics.
             //  Solver controls read from fvSolution
-            solverPerformance solve();
+            SolverPerformance<Type> solve();
 
             //- Return the matrix residual
             tmp<Field<Type> > residual() const;
@@ -549,14 +549,14 @@ void checkMethod
 //- Solve returning the solution statistics given convergence tolerance
 //  Use the given solver controls
 template<class Type>
-solverPerformance solve(fvMatrix<Type>&, const dictionary&);
+SolverPerformance<Type> solve(fvMatrix<Type>&, const dictionary&);
 
 
 //- Solve returning the solution statistics given convergence tolerance,
 //  deleting temporary matrix after solution.
 //  Use the given solver controls
 template<class Type>
-solverPerformance solve
+SolverPerformance<Type> solve
 (
     const tmp<fvMatrix<Type> >&,
     const dictionary&
@@ -566,14 +566,14 @@ solverPerformance solve
 //- Solve returning the solution statistics given convergence tolerance
 //  Solver controls read fvSolution
 template<class Type>
-solverPerformance solve(fvMatrix<Type>&);
+SolverPerformance<Type> solve(fvMatrix<Type>&);
 
 
 //- Solve returning the solution statistics given convergence tolerance,
 //  deleting temporary matrix after solution.
 //  Solver controls read fvSolution
 template<class Type>
-solverPerformance solve(const tmp<fvMatrix<Type> >&);
+SolverPerformance<Type> solve(const tmp<fvMatrix<Type> >&);
 
 
 //- Return the correction form of the given matrix
diff --git a/src/finiteVolume/fvMatrices/fvMatrix/fvMatrixSolve.C b/src/finiteVolume/fvMatrices/fvMatrix/fvMatrixSolve.C
index eec5c77c717..d7e7d0a3578 100644
--- a/src/finiteVolume/fvMatrices/fvMatrix/fvMatrixSolve.C
+++ b/src/finiteVolume/fvMatrices/fvMatrix/fvMatrixSolve.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -53,7 +53,7 @@ void Foam::fvMatrix<Type>::setComponentReference
 
 
 template<class Type>
-Foam::solverPerformance Foam::fvMatrix<Type>::solve
+Foam::SolverPerformance<Type> Foam::fvMatrix<Type>::solve
 (
     const dictionary& solverControls
 )
@@ -71,7 +71,7 @@ Foam::solverPerformance Foam::fvMatrix<Type>::solve
     {
         if (maxIter == 0)
         {
-            return solverPerformance();
+            return SolverPerformance<Type>();
         }
     }
 
@@ -95,13 +95,13 @@ Foam::solverPerformance Foam::fvMatrix<Type>::solve
             << "; currently supported solver types are segregated and coupled"
             << exit(FatalIOError);
 
-        return solverPerformance();
+        return SolverPerformance<Type>();
     }
 }
 
 
 template<class Type>
-Foam::solverPerformance Foam::fvMatrix<Type>::solveSegregated
+Foam::SolverPerformance<Type> Foam::fvMatrix<Type>::solveSegregated
 (
     const dictionary& solverControls
 )
@@ -118,7 +118,7 @@ Foam::solverPerformance Foam::fvMatrix<Type>::solveSegregated
     GeometricField<Type, fvPatchField, volMesh>& psi =
        const_cast<GeometricField<Type, fvPatchField, volMesh>&>(psi_);
 
-    solverPerformance solverPerfVec
+    SolverPerformance<Type> solverPerfVec
     (
         "fvMatrix<Type>::solveSegregated",
         psi.name()
@@ -135,11 +135,7 @@ Foam::solverPerformance Foam::fvMatrix<Type>::solveSegregated
 
     typename Type::labelType validComponents
     (
-        pow
-        (
-            psi.mesh().solutionD(),
-            pTraits<typename powProduct<Vector<label>, Type::rank>::type>::zero
-        )
+        psi.mesh().template validComponents<Type>()
     );
 
     for (direction cmpt=0; cmpt<Type::nComponents; cmpt++)
@@ -200,13 +196,12 @@ Foam::solverPerformance Foam::fvMatrix<Type>::solveSegregated
             solverControls
         )->solve(psiCmpt, sourceCmpt, cmpt);
 
-        if (solverPerformance::debug)
+        if (SolverPerformance<Type>::debug)
         {
             solverPerf.print(Info.masterStream(this->mesh().comm()));
         }
 
-        solverPerfVec = max(solverPerfVec, solverPerf);
-        solverPerfVec.solverName() = solverPerf.solverName();
+        solverPerfVec.replace(cmpt, solverPerf);
 
         psi.internalField().replace(cmpt, psiCmpt);
         diag() = saveDiag;
@@ -221,7 +216,7 @@ Foam::solverPerformance Foam::fvMatrix<Type>::solveSegregated
 
 
 template<class Type>
-Foam::solverPerformance Foam::fvMatrix<Type>::solveCoupled
+Foam::SolverPerformance<Type> Foam::fvMatrix<Type>::solveCoupled
 (
     const dictionary& solverControls
 )
@@ -274,9 +269,9 @@ Foam::solverPerformance Foam::fvMatrix<Type>::solveCoupled
 
     psi.correctBoundaryConditions();
 
-    // psi.mesh().setSolverPerformance(psi.name(), solverPerf);
+    psi.mesh().setSolverPerformance(psi.name(), solverPerf);
 
-    return solverPerformance();
+    return solverPerf;
 }
 
 
@@ -299,7 +294,7 @@ Foam::fvMatrix<Type>::solver()
 
 
 template<class Type>
-Foam::solverPerformance Foam::fvMatrix<Type>::fvSolver::solve()
+Foam::SolverPerformance<Type> Foam::fvMatrix<Type>::fvSolver::solve()
 {
     return solve
     (
@@ -316,7 +311,7 @@ Foam::solverPerformance Foam::fvMatrix<Type>::fvSolver::solve()
 
 
 template<class Type>
-Foam::solverPerformance Foam::fvMatrix<Type>::solve()
+Foam::SolverPerformance<Type> Foam::fvMatrix<Type>::solve()
 {
     return solve
     (
diff --git a/src/finiteVolume/fvMesh/fvMesh.C b/src/finiteVolume/fvMesh/fvMesh.C
index 1a48576fc22..3b895bfe36f 100644
--- a/src/finiteVolume/fvMesh/fvMesh.C
+++ b/src/finiteVolume/fvMesh/fvMesh.C
@@ -884,6 +884,14 @@ bool Foam::fvMesh::write() const
 }
 
 
+template<>
+typename Foam::pTraits<Foam::sphericalTensor>::labelType
+Foam::fvMesh::validComponents<Foam::sphericalTensor>() const
+{
+    return Foam::pTraits<Foam::sphericalTensor>::labelType(1);
+}
+
+
 // * * * * * * * * * * * * * * * Member Operators  * * * * * * * * * * * * * //
 
 bool Foam::fvMesh::operator!=(const fvMesh& bm) const
diff --git a/src/finiteVolume/fvMesh/fvMesh.H b/src/finiteVolume/fvMesh/fvMesh.H
index 876ec34e7a6..268e76939d8 100644
--- a/src/finiteVolume/fvMesh/fvMesh.H
+++ b/src/finiteVolume/fvMesh/fvMesh.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -324,6 +324,12 @@ public:
             //- Return face deltas as surfaceVectorField
             tmp<surfaceVectorField> delta() const;
 
+            //- Return a labelType of valid component indicators
+            //  1 : valid (solved)
+            // -1 : invalid (not solved)
+            template<class Type>
+            typename pTraits<Type>::labelType validComponents() const;
+
 
         // Edit
 
@@ -371,6 +377,11 @@ public:
 };
 
 
+template<>
+typename pTraits<sphericalTensor>::labelType
+fvMesh::validComponents<sphericalTensor>() const;
+
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 } // End namespace Foam
@@ -378,6 +389,7 @@ public:
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 #ifdef NoRepository
+#   include "fvMeshTemplates.C"
 #   include "fvPatchFvMeshTemplates.C"
 #endif
 
diff --git a/src/finiteVolume/fvMesh/fvMeshTemplates.C b/src/finiteVolume/fvMesh/fvMeshTemplates.C
new file mode 100644
index 00000000000..0fb2a211bbb
--- /dev/null
+++ b/src/finiteVolume/fvMesh/fvMeshTemplates.C
@@ -0,0 +1,45 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "fvMesh.H"
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+template<class Type>
+typename Foam::pTraits<Type>::labelType Foam::fvMesh::validComponents() const
+{
+    return pow
+    (
+        this->solutionD(),
+        pTraits
+        <
+            typename powProduct<Vector<label>,
+            pTraits<Type>::rank>::type
+        >::zero
+    );
+}
+
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fvMesh/fvPatches/fvPatch/fvPatchFvMeshTemplates.C b/src/finiteVolume/fvMesh/fvPatches/fvPatch/fvPatchFvMeshTemplates.C
index e28242d9550..d8fbc1f9181 100644
--- a/src/finiteVolume/fvMesh/fvPatches/fvPatch/fvPatchFvMeshTemplates.C
+++ b/src/finiteVolume/fvMesh/fvPatches/fvPatch/fvPatchFvMeshTemplates.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/postProcessing/functionObjects/utilities/residuals/residuals.C b/src/postProcessing/functionObjects/utilities/residuals/residuals.C
index 64ac3690b69..52683412f78 100644
--- a/src/postProcessing/functionObjects/utilities/residuals/residuals.C
+++ b/src/postProcessing/functionObjects/utilities/residuals/residuals.C
@@ -35,6 +35,7 @@ namespace Foam
     defineTypeNameAndDebug(residuals, 0);
 }
 
+
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 Foam::residuals::residuals
@@ -98,7 +99,13 @@ void Foam::residuals::writeFileHeader(const label i)
 
         forAll(fieldSet_, fieldI)
         {
-            writeTabbed(file(), fieldSet_[fieldI]);
+            const word& fieldName = fieldSet_[fieldI];
+
+            writeFileHeader<scalar>(fieldName);
+            writeFileHeader<vector>(fieldName);
+            writeFileHeader<sphericalTensor>(fieldName);
+            writeFileHeader<symmTensor>(fieldName);
+            writeFileHeader<tensor>(fieldName);
         }
 
         file() << endl;
@@ -107,21 +114,15 @@ void Foam::residuals::writeFileHeader(const label i)
 
 
 void Foam::residuals::execute()
-{
-    // Do nothing - only valid on write
-}
+{}
 
 
 void Foam::residuals::end()
-{
-    // Do nothing - only valid on write
-}
+{}
 
 
 void Foam::residuals::timeSet()
-{
-    // Do nothing - only valid on write
-}
+{}
 
 
 void Foam::residuals::write()
@@ -150,4 +151,5 @@ void Foam::residuals::write()
     }
 }
 
+
 // ************************************************************************* //
diff --git a/src/postProcessing/functionObjects/utilities/residuals/residuals.H b/src/postProcessing/functionObjects/utilities/residuals/residuals.H
index cb3d69cabdf..f07c0a15431 100644
--- a/src/postProcessing/functionObjects/utilities/residuals/residuals.H
+++ b/src/postProcessing/functionObjects/utilities/residuals/residuals.H
@@ -115,6 +115,10 @@ protected:
         //- Disallow default bitwise assignment
         void operator=(const residuals&);
 
+        //- Output field header information
+        template<class Type>
+        void writeFileHeader(const word& fieldName);
+
         //- Output file header information
         virtual void writeFileHeader(const label i);
 
diff --git a/src/postProcessing/functionObjects/utilities/residuals/residualsTemplates.C b/src/postProcessing/functionObjects/utilities/residuals/residualsTemplates.C
index 4d7c0c032ed..f57b76af8f6 100644
--- a/src/postProcessing/functionObjects/utilities/residuals/residualsTemplates.C
+++ b/src/postProcessing/functionObjects/utilities/residuals/residualsTemplates.C
@@ -32,10 +32,37 @@ License
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 template<class Type>
-void Foam::residuals::writeResidual
-(
-    const word& fieldName
-)
+void Foam::residuals::writeFileHeader(const word& fieldName)
+{
+    typedef GeometricField<Type, fvPatchField, volMesh> fieldType;
+
+    if (obr_.foundObject<fieldType>(fieldName))
+    {
+        const fieldType& field = obr_.lookupObject<fieldType>(fieldName);
+        const fvMesh& mesh = field.mesh();
+
+        typename pTraits<Type>::labelType validComponents
+        (
+            mesh.validComponents<Type>()
+        );
+
+        for (direction cmpt=0; cmpt<pTraits<Type>::nComponents; cmpt++)
+        {
+            if (component(validComponents, cmpt) != -1)
+            {
+                writeTabbed
+                (
+                    file(),
+                    fieldName + word(pTraits<Type>::componentNames[cmpt])
+                );
+            }
+        }
+    }
+}
+
+
+template<class Type>
+void Foam::residuals::writeResidual(const word& fieldName)
 {
     typedef GeometricField<Type, fvPatchField, volMesh> fieldType;
 
@@ -47,9 +74,25 @@ void Foam::residuals::writeResidual
 
         if (solverDict.found(fieldName))
         {
-            const List<solverPerformance> sp(solverDict.lookup(fieldName));
-            const scalar residual = sp.first().initialResidual();
-            file() << token::TAB << residual;
+            const List<SolverPerformance<Type> > sp
+            (
+                solverDict.lookup(fieldName)
+            );
+
+            const Type& residual = sp.first().initialResidual();
+
+            typename pTraits<Type>::labelType validComponents
+            (
+                mesh.validComponents<Type>()
+            );
+
+            for (direction cmpt=0; cmpt<pTraits<Type>::nComponents; cmpt++)
+            {
+                if (component(validComponents, cmpt) != -1)
+                {
+                    file() << token::TAB << component(residual, cmpt);
+                }
+            }
         }
     }
 }
-- 
GitLab


From 735ce9cce74053a68533f98fdac295959acdef2b Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Tue, 10 Nov 2015 16:55:03 +0000
Subject: [PATCH 053/141] src/finiteVolume: Update ...ErrorIn ->
 ...ErrorInFunction Avoids the clutter and maintenance effort associated with
 providing the function signature string.

---
 .../cfdTools/general/MRF/MRFZone.C            | 11 +---
 .../SRF/SRFModel/SRFModel/SRFModelNew.C       |  8 +--
 .../cfdTools/general/adjustPhi/adjustPhi.C    | 11 +---
 .../general/findRefCell/findRefCell.C         | 30 +---------
 .../general/include/checkPatchFieldTypes.H    |  4 +-
 .../porosityModel/porosityModel.C             | 24 ++------
 .../porosityModel/porosityModelNew.C          | 13 +---
 .../solutionControl/solutionControl.C         |  4 +-
 .../basic/calculated/calculatedFvPatchField.C | 36 +++--------
 .../directionMixedFvPatchField.C              | 14 +----
 .../fixedGradient/fixedGradientFvPatchField.C | 14 +----
 .../basic/fixedValue/fixedValueFvPatchField.C | 14 +----
 .../basic/mixed/mixedFvPatchField.C           | 14 +----
 .../constraint/cyclic/cyclicFvPatchField.C    | 21 +------
 .../cyclicACMI/cyclicACMIFvPatchField.C       | 21 +------
 .../cyclicAMI/cyclicAMIFvPatchField.C         | 21 +------
 .../constraint/empty/emptyFvPatchField.C      | 59 ++++---------------
 .../processor/processorFvPatchField.C         | 41 ++++---------
 .../processor/processorFvPatchScalarField.C   |  8 +--
 .../processorCyclicFvPatchField.C             | 32 ++--------
 .../symmetry/symmetryFvPatchField.C           | 21 +------
 .../symmetryPlane/symmetryPlaneFvPatchField.C | 21 +------
 .../constraint/wedge/wedgeFvPatchField.C      | 21 +------
 .../derived/advective/advectiveFvPatchField.C | 19 ++----
 .../externalCoupledMixedFvPatchField.C        | 35 ++---------
 .../fanPressureFvPatchScalarField.C           |  4 +-
 .../fixedFluxPressureFvPatchScalarField.C     |  4 +-
 .../flowRateInletVelocityFvPatchVectorField.C | 14 ++---
 .../fluxCorrectedVelocityFvPatchVectorField.C |  7 +--
 .../freestreamPressureFvPatchScalarField.C    |  2 +-
 .../mappedField/mappedPatchFieldBase.C        | 14 ++---
 .../mappedFixedInternalValueFvPatchField.C    | 10 ++--
 .../mappedFixedValueFvPatchField.C            |  7 +--
 .../mappedFlowRateFvPatchVectorField.C        |  8 +--
 ...mappedVelocityFluxFixedValueFvPatchField.C | 46 +++------------
 .../outletMappedUniformInletFvPatchField.C    |  8 +--
 ...tedInletOutletVelocityFvPatchVectorField.C |  9 +--
 ...eDirectedInletVelocityFvPatchVectorField.C |  8 +--
 ...tOutletParSlipVelocityFvPatchVectorField.C |  9 +--
 .../pressureInletVelocityFvPatchVectorField.C |  4 +-
 ...malInletOutletVelocityFvPatchVectorField.C |  9 +--
 .../supersonicFreestreamFvPatchVectorField.C  | 18 ++----
 ...lFlowRateInletVelocityFvPatchVectorField.C |  8 +--
 .../syringePressureFvPatchScalarField.C       |  2 +-
 .../timeVaryingMappedFixedValueFvPatchField.C | 31 +++-------
 .../totalPressureFvPatchScalarField.C         |  8 +--
 ...sityKineticEnergyInletFvPatchScalarField.C | 14 +----
 .../uniformTotalPressureFvPatchScalarField.C  |  4 +-
 .../waveSurfacePressureFvPatchScalarField.C   |  5 +-
 .../fvPatchFields/fvPatchField/fvPatchField.C | 24 ++------
 .../fvPatchField/fvPatchFieldNew.C            | 27 +++------
 .../constraint/cyclic/cyclicFvsPatchField.C   | 22 ++-----
 .../cyclicACMI/cyclicACMIFvsPatchField.C      | 22 ++-----
 .../cyclicAMI/cyclicAMIFvsPatchField.C        | 22 ++-----
 .../constraint/empty/emptyFvsPatchField.C     | 22 ++-----
 .../processor/processorFvsPatchField.C        | 22 ++-----
 .../processorCyclicFvsPatchField.C            | 22 ++-----
 .../symmetry/symmetryFvsPatchField.C          | 22 ++-----
 .../symmetryPlaneFvsPatchField.C              | 22 ++-----
 .../constraint/wedge/wedgeFvsPatchField.C     | 22 ++-----
 .../fvsPatchField/fvsPatchField.C             | 23 ++------
 .../fvsPatchField/fvsPatchFieldNew.C          | 25 +++-----
 .../convectionScheme/convectionScheme.C       | 28 +++------
 .../gaussConvectionScheme.H                   |  4 +-
 .../d2dt2Schemes/d2dt2Scheme/d2dt2Scheme.C    |  8 +--
 .../CoEulerDdtScheme/CoEulerDdtScheme.C       | 16 ++---
 .../CrankNicolsonDdtScheme.C                  | 14 ++---
 .../CrankNicolsonDdtScheme.H                  |  3 +-
 .../EulerDdtScheme/EulerDdtScheme.C           | 14 ++---
 .../ddtSchemes/SLTSDdtScheme/SLTSDdtScheme.C  | 16 ++---
 .../backwardDdtScheme/backwardDdtScheme.C     | 14 ++---
 .../ddtSchemes/ddtScheme/ddtScheme.C          |  6 +-
 .../localEulerDdtScheme/localEulerDdtScheme.C | 12 ++--
 .../divSchemes/divScheme/divScheme.C          |  8 +--
 .../gradSchemes/gradScheme/gradScheme.C       | 10 +---
 .../cellLimitedGrad/cellLimitedGrad.H         |  5 +-
 .../cellMDLimitedGrad/cellMDLimitedGrad.H     |  5 +-
 .../faceLimitedGrad/faceLimitedGrad.H         |  5 +-
 .../faceMDLimitedGrad/faceMDLimitedGrad.H     |  5 +-
 .../laplacianScheme/laplacianScheme.C         |  8 +--
 .../CentredFitSnGrad/CentredFitSnGradData.C   | 15 ++---
 .../limitedSnGrad/limitedSnGrad.H             |  3 +-
 .../snGradSchemes/snGradScheme/snGradScheme.C |  8 +--
 .../fvMatrices/fvMatrix/fvMatrix.C            | 55 ++++++-----------
 .../fvMatrices/fvMatrix/fvMatrixSolve.C       |  3 +-
 .../cellToCell/extendedCellToCellStencil.C    |  9 +--
 .../globalIndexStencils/cellToCellStencil.C   |  4 +-
 .../cellToFace/extendedCellToFaceStencil.C    |  9 +--
 .../extendedUpwindCellToFaceStencil.C         | 14 ++---
 .../FECCellToFaceStencil.C                    | 28 ++++-----
 .../globalIndexStencils/cellToFaceStencil.C   |  4 +-
 .../faceToCell/extendedFaceToCellStencil.C    |  9 +--
 .../fvMesh/fvBoundaryMesh/fvBoundaryMesh.C    | 14 ++---
 src/finiteVolume/fvMesh/fvMesh.C              | 14 ++---
 src/finiteVolume/fvMesh/fvMeshGeometry.C      | 18 +++---
 .../fvMesh/fvMeshMapper/fvPatchMapper.C       | 38 ++++--------
 .../fvMesh/fvMeshMapper/fvSurfaceMapper.C     | 23 +++-----
 .../fvMesh/fvMeshSubset/fvMeshSubset.C        | 33 ++++-------
 .../regionCoupled/regionCoupledFvPatch.C      | 16 +----
 .../fvMesh/fvPatches/fvPatch/fvPatchNew.C     |  4 +-
 .../singleCellFvMesh/singleCellFvMesh.C       | 20 +++----
 .../patchDistMethod/patchDistMethod.C         |  2 +-
 .../fvMesh/wallDist/wallDist/wallDist.C       |  2 +-
 .../interpolation/interpolationNew.C          |  9 +--
 .../interpolationCellPointI.H                 | 12 +---
 .../interpolationCellPointWallModifiedI.H     | 13 +---
 .../interpolationPointMVC/pointMVCWeight.C    | 12 +---
 .../fvFieldMappers/MapFvSurfaceField.H        | 12 +---
 .../mapping/fvFieldMappers/MapFvVolField.H    | 12 +---
 .../limitedSchemes/Gamma/Gamma.H              |  4 +-
 .../limitedSchemes/Limited/Limited.H          |  4 +-
 .../limitedSchemes/Phi/Phi.H                  |  4 +-
 .../limitedSchemes/PhiScheme/PhiScheme.C      |  9 +--
 .../filteredLinear2/filteredLinear2.H         |  6 +-
 .../filteredLinear2/filteredLinear2V.H        |  6 +-
 .../filteredLinear3/filteredLinear3.H         |  4 +-
 .../filteredLinear3/filteredLinear3V.H        |  4 +-
 .../limitedCubic/limitedCubic.H               |  4 +-
 .../limitedCubic/limitedCubicV.H              |  4 +-
 .../limitedLinear/limitedLinear.H             |  4 +-
 .../limitedSurfaceInterpolationScheme.C       | 18 ++----
 .../multivariateSurfaceInterpolationScheme.C  |  7 +--
 .../schemes/CoBlended/CoBlended.H             | 12 ++--
 .../schemes/FitData/FitData.C                 | 12 ++--
 .../schemes/cellCoBlended/cellCoBlended.H     | 10 ++--
 .../schemes/clippedLinear/clippedLinear.H     |  4 +-
 .../schemes/fixedBlended/fixedBlended.H       |  6 +-
 .../surfaceInterpolationScheme.C              | 14 ++---
 128 files changed, 492 insertions(+), 1307 deletions(-)

diff --git a/src/finiteVolume/cfdTools/general/MRF/MRFZone.C b/src/finiteVolume/cfdTools/general/MRF/MRFZone.C
index 916345b0774..42c6e048342 100644
--- a/src/finiteVolume/cfdTools/general/MRF/MRFZone.C
+++ b/src/finiteVolume/cfdTools/general/MRF/MRFZone.C
@@ -289,16 +289,7 @@ Foam::MRFZone::MRFZone
 
         if (!cellZoneFound)
         {
-            FatalErrorIn
-            (
-                "MRFZone"
-                "("
-                    "const word&, "
-                    "const fvMesh&, "
-                    "const dictionary&, "
-                    "const word&"
-                ")"
-            )
+            FatalErrorInFunction
                 << "cannot find MRF cellZone " << cellZoneName_
                 << exit(FatalError);
         }
diff --git a/src/finiteVolume/cfdTools/general/SRF/SRFModel/SRFModel/SRFModelNew.C b/src/finiteVolume/cfdTools/general/SRF/SRFModel/SRFModel/SRFModelNew.C
index 68002a02eae..afcf8cef519 100644
--- a/src/finiteVolume/cfdTools/general/SRF/SRFModel/SRFModel/SRFModelNew.C
+++ b/src/finiteVolume/cfdTools/general/SRF/SRFModel/SRFModel/SRFModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -57,10 +57,8 @@ Foam::autoPtr<Foam::SRF::SRFModel> Foam::SRF::SRFModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "SRFModel::New(const fvMesh&)"
-        )   << "Unknown SRFModel type "
+        FatalErrorInFunction
+            << "Unknown SRFModel type "
             << modelType << nl << nl
             << "Valid SRFModel types are :" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/finiteVolume/cfdTools/general/adjustPhi/adjustPhi.C b/src/finiteVolume/cfdTools/general/adjustPhi/adjustPhi.C
index 9a175a42949..6f0742b26e8 100644
--- a/src/finiteVolume/cfdTools/general/adjustPhi/adjustPhi.C
+++ b/src/finiteVolume/cfdTools/general/adjustPhi/adjustPhi.C
@@ -103,15 +103,8 @@ bool Foam::adjustPhi
         }
         else if (mag(fixedMassOut - massIn)/totalFlux > 1e-8)
         {
-            FatalErrorIn
-            (
-                "adjustPhi"
-                "("
-                    "surfaceScalarField&, "
-                    "const volVectorField&,"
-                    "volScalarField&"
-                ")"
-            )   << "Continuity error cannot be removed by adjusting the"
+            FatalErrorInFunction
+                << "Continuity error cannot be removed by adjusting the"
                    " outflow.\nPlease check the velocity boundary conditions"
                    " and/or run potentialFoam to initialise the outflow." << nl
                 << "Total flux              : " << totalFlux << nl
diff --git a/src/finiteVolume/cfdTools/general/findRefCell/findRefCell.C b/src/finiteVolume/cfdTools/general/findRefCell/findRefCell.C
index 46dcf8411d6..0d24e83a7bf 100644
--- a/src/finiteVolume/cfdTools/general/findRefCell/findRefCell.C
+++ b/src/finiteVolume/cfdTools/general/findRefCell/findRefCell.C
@@ -52,16 +52,8 @@ void Foam::setRefCell
 
                 if (refCelli < 0 || refCelli >= field.mesh().nCells())
                 {
-                    FatalIOErrorIn
+                    FatalIOErrorInFunction
                     (
-                        "void Foam::setRefCell\n"
-                        "    (\n"
-                        "        const volScalarField&,\n"
-                        "        const volScalarField&,\n"
-                        "        const dictionary&,\n"
-                        "        label& scalar&,\n"
-                        "        bool\n"
-                        ")",
                         dict
                     )   << "Illegal master cellID " << refCelli
                         << ". Should be 0.." << field.mesh().nCells()
@@ -95,16 +87,8 @@ void Foam::setRefCell
 
             if (sumHasRef != 1)
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "void Foam::setRefCell\n"
-                    "    (\n"
-                    "        const volScalarField&,\n"
-                    "        const volScalarField&,\n"
-                    "        const dictionary&,\n"
-                    "        label& scalar&,\n"
-                    "        bool\n"
-                    "    )",
                     dict
                 )   << "Unable to set reference cell for field " << field.name()
                     << nl << "    Reference point " << refPointName
@@ -115,16 +99,8 @@ void Foam::setRefCell
         }
         else
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "void Foam::setRefCell\n"
-                "    (\n"
-                "        const volScalarField&,\n"
-                "        const volScalarField&,\n"
-                "        const dictionary&,\n"
-                "        label& scalar&,\n"
-                "        bool\n"
-                "    )",
                 dict
             )   << "Unable to set reference cell for field " << field.name()
                 << nl
diff --git a/src/finiteVolume/cfdTools/general/include/checkPatchFieldTypes.H b/src/finiteVolume/cfdTools/general/include/checkPatchFieldTypes.H
index f50dc6f8907..475cb4c194f 100644
--- a/src/finiteVolume/cfdTools/general/include/checkPatchFieldTypes.H
+++ b/src/finiteVolume/cfdTools/general/include/checkPatchFieldTypes.H
@@ -1,6 +1,6 @@
 if (!isA<zeroGradientFvPatchScalarField>(k_.boundaryField()[patchi]))
 {
-    FatalErrorIn("wall-function evaluation")
+    FatalErrorInFunction
         << k_.boundaryField()[patchi].type()
         << " is the wrong k patchField type for wall-functions on patch "
         << curPatch.name() << nl
@@ -10,7 +10,7 @@ if (!isA<zeroGradientFvPatchScalarField>(k_.boundaryField()[patchi]))
 
 if (!isA<zeroGradientFvPatchScalarField>(epsilon_.boundaryField()[patchi]))
 {
-    FatalErrorIn("wall-function evaluation")
+    FatalErrorInFunction
         << epsilon_.boundaryField()[patchi].type()
         << " is the wrong epsilon patchField type for wall-functions on patch "
         << curPatch.name() << nl
diff --git a/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.C b/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.C
index 613248b05fe..b02cef7cc4a 100644
--- a/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.C
+++ b/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -43,13 +43,8 @@ void Foam::porosityModel::adjustNegativeResistance(dimensionedVector& resist)
 
     if (maxCmpt < 0)
     {
-        FatalErrorIn
-        (
-            "void Foam::porosityModel::adjustNegativeResistance"
-            "("
-                "dimensionedVector&"
-            ")"
-        )   << "Negative resistances are invalid, resistance = " << resist
+        FatalErrorInFunction
+            << "Negative resistances are invalid, resistance = " << resist
             << exit(FatalError);
     }
     else
@@ -123,17 +118,8 @@ Foam::porosityModel::porosityModel
 
     if (!foundZone && Pstream::master())
     {
-        FatalErrorIn
-        (
-            "Foam::porosityModel::porosityModel"
-            "("
-                "const word&, "
-                "const word&, "
-                "const fvMesh&, "
-                "const dictionary&"
-                "const word&, "
-            ")"
-        )   << "cannot find porous cellZone " << zoneName_
+        FatalErrorInFunction
+            << "cannot find porous cellZone " << zoneName_
             << exit(FatalError);
     }
 }
diff --git a/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModelNew.C b/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModelNew.C
index d0fe203537f..592ff1f961c 100644
--- a/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModelNew.C
+++ b/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -45,16 +45,7 @@ Foam::autoPtr<Foam::porosityModel> Foam::porosityModel::New
 
     if (cstrIter == meshConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "porosityModel::New"
-            "("
-                "const word&, "
-                "const fvMesh&, "
-                "const dictionary&, "
-                "const word&"
-            ")"
-        )
+        FatalErrorInFunction
             << "Unknown " << typeName << " type " << modelType << nl << nl
             << "Valid " << typeName << " types are:" << nl
             << meshConstructorTablePtr_->sortedToc()
diff --git a/src/finiteVolume/cfdTools/general/solutionControl/solutionControl/solutionControl.C b/src/finiteVolume/cfdTools/general/solutionControl/solutionControl/solutionControl.C
index 5cd92691305..da151d335b1 100644
--- a/src/finiteVolume/cfdTools/general/solutionControl/solutionControl/solutionControl.C
+++ b/src/finiteVolume/cfdTools/general/solutionControl/solutionControl/solutionControl.C
@@ -81,7 +81,7 @@ void Foam::solutionControl::read(const bool absTolOnly)
                 }
                 else
                 {
-                    FatalErrorIn("bool Foam::solutionControl::read()")
+                    FatalErrorInFunction
                         << "Residual data for " << iter().keyword()
                         << " must be specified as a dictionary"
                         << exit(FatalError);
@@ -107,7 +107,7 @@ void Foam::solutionControl::read(const bool absTolOnly)
                 }
                 else
                 {
-                    FatalErrorIn("bool Foam::solutionControl::read()")
+                    FatalErrorInFunction
                         << "Residual data for " << iter().keyword()
                         << " must be specified as a dictionary"
                         << exit(FatalError);
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/calculated/calculatedFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/basic/calculated/calculatedFvPatchField.C
index 9f25a143e2e..401e456881a 100644
--- a/src/finiteVolume/fields/fvPatchFields/basic/calculated/calculatedFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/basic/calculated/calculatedFvPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -147,12 +147,8 @@ Foam::calculatedFvPatchField<Type>::valueInternalCoeffs
     const tmp<scalarField>&
 ) const
 {
-    FatalErrorIn
-    (
-        "calculatedFvPatchField<Type>::"
-        "valueInternalCoeffs(const tmp<scalarField>&) const"
-    )   << "\n    "
-           "valueInternalCoeffs cannot be called for a calculatedFvPatchField"
+    FatalErrorInFunction
+        << "cannot be called for a calculatedFvPatchField"
         << "\n    on patch " << this->patch().name()
         << " of field " << this->dimensionedInternalField().name()
         << " in file " << this->dimensionedInternalField().objectPath()
@@ -171,12 +167,8 @@ Foam::calculatedFvPatchField<Type>::valueBoundaryCoeffs
     const tmp<scalarField>&
 ) const
 {
-    FatalErrorIn
-    (
-        "calculatedFvPatchField<Type>::"
-        "valueBoundaryCoeffs(const tmp<scalarField>&) const"
-    )   << "\n    "
-           "valueBoundaryCoeffs cannot be called for a calculatedFvPatchField"
+    FatalErrorInFunction
+        << "cannot be called for a calculatedFvPatchField"
         << "\n    on patch " << this->patch().name()
         << " of field " << this->dimensionedInternalField().name()
         << " in file " << this->dimensionedInternalField().objectPath()
@@ -192,13 +184,8 @@ template<class Type>
 Foam::tmp<Foam::Field<Type> >
 Foam::calculatedFvPatchField<Type>::gradientInternalCoeffs() const
 {
-    FatalErrorIn
-    (
-        "calculatedFvPatchField<Type>::"
-        "gradientInternalCoeffs() const"
-    )   << "\n    "
-           "gradientInternalCoeffs cannot be called for a "
-           "calculatedFvPatchField"
+    FatalErrorInFunction
+        << "cannot be called for a calculatedFvPatchField"
         << "\n    on patch " << this->patch().name()
         << " of field " << this->dimensionedInternalField().name()
         << " in file " << this->dimensionedInternalField().objectPath()
@@ -214,13 +201,8 @@ template<class Type>
 Foam::tmp<Foam::Field<Type> >
 Foam::calculatedFvPatchField<Type>::gradientBoundaryCoeffs() const
 {
-    FatalErrorIn
-    (
-        "calculatedFvPatchField<Type>::"
-        "gradientBoundaryCoeffs() const"
-    )   << "\n    "
-           "gradientBoundaryCoeffs cannot be called for a "
-           "calculatedFvPatchField"
+    FatalErrorInFunction
+        << "cannot be called for a calculatedFvPatchField"
         << "\n    on patch " << this->patch().name()
         << " of field " << this->dimensionedInternalField().name()
         << " in file " << this->dimensionedInternalField().objectPath()
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/directionMixed/directionMixedFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/basic/directionMixed/directionMixedFvPatchField.C
index 49bfa59614f..200dabf29a5 100644
--- a/src/finiteVolume/fields/fvPatchFields/basic/directionMixed/directionMixedFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/basic/directionMixed/directionMixedFvPatchField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -58,16 +58,8 @@ Foam::directionMixedFvPatchField<Type>::directionMixedFvPatchField
 {
     if (notNull(iF) && mapper.hasUnmapped())
     {
-        WarningIn
-        (
-            "directionMixedFvPatchField<Type>::directionMixedFvPatchField\n"
-            "(\n"
-            "    const directionMixedFvPatchField<Type>&,\n"
-            "    const fvPatch&,\n"
-            "    const DimensionedField<Type, volMesh>&,\n"
-            "    const fvPatchFieldMapper&\n"
-            ")\n"
-        )   << "On field " << iF.name() << " patch " << p.name()
+        WarningInFunction
+            << "On field " << iF.name() << " patch " << p.name()
             << " patchField " << this->type()
             << " : mapper does not map all values." << nl
             << "    To avoid this warning fully specify the mapping in derived"
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/fixedGradient/fixedGradientFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/basic/fixedGradient/fixedGradientFvPatchField.C
index 33974a547d0..112ddb42f43 100644
--- a/src/finiteVolume/fields/fvPatchFields/basic/fixedGradient/fixedGradientFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/basic/fixedGradient/fixedGradientFvPatchField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -59,16 +59,8 @@ fixedGradientFvPatchField<Type>::fixedGradientFvPatchField
 {
     if (notNull(iF) && mapper.hasUnmapped())
     {
-        WarningIn
-        (
-            "fixedGradientFvPatchField<Type>::fixedGradientFvPatchField\n"
-            "(\n"
-            "    const fixedGradientFvPatchField<Type>&,\n"
-            "    const fvPatch&,\n"
-            "    const DimensionedField<Type, volMesh>&,\n"
-            "    const fvPatchFieldMapper&\n"
-            ")\n"
-        )   << "On field " << iF.name() << " patch " << p.name()
+        WarningInFunction
+            << "On field " << iF.name() << " patch " << p.name()
             << " patchField " << this->type()
             << " : mapper does not map all values." << nl
             << "    To avoid this warning fully specify the mapping in derived"
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchField.C
index 951cdda5ad3..6ab4ce6e132 100644
--- a/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -68,16 +68,8 @@ fixedValueFvPatchField<Type>::fixedValueFvPatchField
 {
     if (notNull(iF) && mapper.hasUnmapped())
     {
-        WarningIn
-        (
-            "fixedValueFvPatchField<Type>::fixedValueFvPatchField\n"
-            "(\n"
-            "    const fixedValueFvPatchField<Type>&,\n"
-            "    const fvPatch&,\n"
-            "    const DimensionedField<Type, volMesh>&,\n"
-            "    const fvPatchFieldMapper&\n"
-            ")\n"
-        )   << "On field " << iF.name() << " patch " << p.name()
+        WarningInFunction
+            << "On field " << iF.name() << " patch " << p.name()
             << " patchField " << this->type()
             << " : mapper does not map all values." << nl
             << "    To avoid this warning fully specify the mapping in derived"
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/mixed/mixedFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/basic/mixed/mixedFvPatchField.C
index 68c82a4939c..23eef7e24ba 100644
--- a/src/finiteVolume/fields/fvPatchFields/basic/mixed/mixedFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/basic/mixed/mixedFvPatchField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -62,16 +62,8 @@ mixedFvPatchField<Type>::mixedFvPatchField
 {
     if (notNull(iF) && mapper.hasUnmapped())
     {
-        WarningIn
-        (
-            "mixedFvPatchField<Type>::mixedFvPatchField\n"
-            "(\n"
-            "    const mixedFvPatchField<Type>&,\n"
-            "    const fvPatch&,\n"
-            "    const DimensionedField<Type, volMesh>&,\n"
-            "    const fvPatchFieldMapper&\n"
-            ")\n"
-        )   << "On field " << iF.name() << " patch " << p.name()
+        WarningInFunction
+            << "On field " << iF.name() << " patch " << p.name()
             << " patchField " << this->type()
             << " : mapper does not map all values." << nl
             << "    To avoid this warning fully specify the mapping in derived"
diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.C
index 0e23db6c3cd..9090ec02bba 100644
--- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -59,16 +59,7 @@ cyclicFvPatchField<Type>::cyclicFvPatchField
 {
     if (!isA<cyclicFvPatch>(this->patch()))
     {
-        FatalErrorIn
-        (
-            "cyclicFvPatchField<Type>::cyclicFvPatchField"
-            "("
-                "const cyclicFvPatchField<Type>& ,"
-                "const fvPatch&, "
-                "const DimensionedField<Type, volMesh>&, "
-                "const fvPatchFieldMapper&"
-            ")"
-        )   << "    patch type '" << p.type()
+        FatalErrorInFunction
             << "' not constraint type '" << typeName << "'"
             << "\n    for patch " << p.name()
             << " of field " << this->dimensionedInternalField().name()
@@ -91,14 +82,8 @@ cyclicFvPatchField<Type>::cyclicFvPatchField
 {
     if (!isA<cyclicFvPatch>(p))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "cyclicFvPatchField<Type>::cyclicFvPatchField"
-            "("
-                "const fvPatch&, "
-                "const Field<Type>&, "
-                "const dictionary&"
-            ")",
             dict
         )   << "    patch type '" << p.type()
             << "' not constraint type '" << typeName << "'"
diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.C
index 9cdbff68e2c..33db8bfe642 100644
--- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,16 +56,7 @@ Foam::cyclicACMIFvPatchField<Type>::cyclicACMIFvPatchField
 {
     if (!isA<cyclicACMIFvPatch>(this->patch()))
     {
-        FatalErrorIn
-        (
-            "cyclicACMIFvPatchField<Type>::cyclicACMIFvPatchField"
-            "("
-                "const cyclicACMIFvPatchField<Type>& ,"
-                "const fvPatch&, "
-                "const DimensionedField<Type, volMesh>&, "
-                "const fvPatchFieldMapper&"
-            ")"
-        )   << "    patch type '" << p.type()
+        FatalErrorInFunction
             << "' not constraint type '" << typeName << "'"
             << "\n    for patch " << p.name()
             << " of field " << this->dimensionedInternalField().name()
@@ -89,14 +80,8 @@ Foam::cyclicACMIFvPatchField<Type>::cyclicACMIFvPatchField
 {
     if (!isA<cyclicACMIFvPatch>(p))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "cyclicACMIFvPatchField<Type>::cyclicACMIFvPatchField"
-            "("
-                "const fvPatch&, "
-                "const DimensionedField<Type, volMesh>&, "
-                "const dictionary&"
-            ")",
             dict
         )   << "    patch type '" << p.type()
             << "' not constraint type '" << typeName << "'"
diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicAMI/cyclicAMIFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicAMI/cyclicAMIFvPatchField.C
index 3fe24cfad86..b4d804c9781 100644
--- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicAMI/cyclicAMIFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicAMI/cyclicAMIFvPatchField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -53,16 +53,7 @@ Foam::cyclicAMIFvPatchField<Type>::cyclicAMIFvPatchField
 {
     if (!isA<cyclicAMIFvPatch>(this->patch()))
     {
-        FatalErrorIn
-        (
-            "cyclicAMIFvPatchField<Type>::cyclicAMIFvPatchField"
-            "("
-                "const cyclicAMIFvPatchField<Type>& ,"
-                "const fvPatch&, "
-                "const DimensionedField<Type, volMesh>&, "
-                "const fvPatchFieldMapper&"
-            ")"
-        )   << "    patch type '" << p.type()
+        FatalErrorInFunction
             << "' not constraint type '" << typeName << "'"
             << "\n    for patch " << p.name()
             << " of field " << this->dimensionedInternalField().name()
@@ -86,14 +77,8 @@ Foam::cyclicAMIFvPatchField<Type>::cyclicAMIFvPatchField
 {
     if (!isA<cyclicAMIFvPatch>(p))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "cyclicAMIFvPatchField<Type>::cyclicAMIFvPatchField"
-            "("
-                "const fvPatch&, "
-                "const DimensionedField<Type, volMesh>&, "
-                "const dictionary&"
-            ")",
             dict
         )   << "    patch type '" << p.type()
             << "' not constraint type '" << typeName << "'"
diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchField.C
index 0f93df198bc..49357e3bf77 100644
--- a/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/empty/emptyFvPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -26,15 +26,10 @@ License
 #include "emptyFvPatchField.H"
 #include "fvPatchFieldMapper.H"
 
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 template<class Type>
-emptyFvPatchField<Type>::emptyFvPatchField
+Foam::emptyFvPatchField<Type>::emptyFvPatchField
 (
     const fvPatch& p,
     const DimensionedField<Type, volMesh>& iF
@@ -45,7 +40,7 @@ emptyFvPatchField<Type>::emptyFvPatchField
 
 
 template<class Type>
-emptyFvPatchField<Type>::emptyFvPatchField
+Foam::emptyFvPatchField<Type>::emptyFvPatchField
 (
     const emptyFvPatchField<Type>&,
     const fvPatch& p,
@@ -57,16 +52,7 @@ emptyFvPatchField<Type>::emptyFvPatchField
 {
     if (!isType<emptyFvPatch>(p))
     {
-        FatalErrorIn
-        (
-            "emptyFvPatchField<Type>::emptyFvPatchField\n"
-            "(\n"
-            "    const emptyFvPatchField<Type>&,\n"
-            "    const fvPatch& p,\n"
-            "    const DimensionedField<Type, volMesh>& iF,\n"
-            "    const fvPatchFieldMapper& mapper\n"
-            ")\n"
-        )   << "\n    patch type '" << p.type()
+        FatalErrorInFunction
             << "' not constraint type '" << typeName << "'"
             << "\n    for patch " << p.name()
             << " of field " << this->dimensionedInternalField().name()
@@ -77,7 +63,7 @@ emptyFvPatchField<Type>::emptyFvPatchField
 
 
 template<class Type>
-emptyFvPatchField<Type>::emptyFvPatchField
+Foam::emptyFvPatchField<Type>::emptyFvPatchField
 (
     const fvPatch& p,
     const DimensionedField<Type, volMesh>& iF,
@@ -88,14 +74,8 @@ emptyFvPatchField<Type>::emptyFvPatchField
 {
     if (!isType<emptyFvPatch>(p))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "emptyFvPatchField<Type>::emptyFvPatchField\n"
-            "(\n"
-            "    const fvPatch& p,\n"
-            "    const Field<Type>& field,\n"
-            "    const dictionary& dict\n"
-            ")\n",
             dict
         )   << "\n    patch type '" << p.type()
             << "' not constraint type '" << typeName << "'"
@@ -108,7 +88,7 @@ emptyFvPatchField<Type>::emptyFvPatchField
 
 
 template<class Type>
-emptyFvPatchField<Type>::emptyFvPatchField
+Foam::emptyFvPatchField<Type>::emptyFvPatchField
 (
     const emptyFvPatchField<Type>& ptf
 )
@@ -123,7 +103,7 @@ emptyFvPatchField<Type>::emptyFvPatchField
 
 
 template<class Type>
-emptyFvPatchField<Type>::emptyFvPatchField
+Foam::emptyFvPatchField<Type>::emptyFvPatchField
 (
     const emptyFvPatchField<Type>& ptf,
     const DimensionedField<Type, volMesh>& iF
@@ -136,28 +116,11 @@ emptyFvPatchField<Type>::emptyFvPatchField
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
 template<class Type>
-void emptyFvPatchField<Type>::updateCoeffs()
+void Foam::emptyFvPatchField<Type>::updateCoeffs()
 {
-    //- Check moved to checkMesh. Test here breaks down if multiple empty
-    //  patches.
-    //if
-    //(
-    //    this->patch().patch().size()
-    //  % this->dimensionedInternalField().mesh().nCells()
-    //)
-    //{
-    //    FatalErrorIn("emptyFvPatchField<Type>::updateCoeffs()")
-    //        << "This mesh contains patches of type empty but is not"
-    //        << "1D or 2D\n"
-    //           "    by virtue of the fact that the number of faces of this\n"
-    //           "    empty patch is not divisible by the number of cells."
-    //        << exit(FatalError);
-    //}
+    // Check moved to checkMesh.
+    // Test here fails if multiple empty patches.
 }
 
 
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
 // ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchField.C
index 8d81c408f05..287bebfb330 100644
--- a/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -88,16 +88,7 @@ Foam::processorFvPatchField<Type>::processorFvPatchField
 {
     if (!isA<processorFvPatch>(this->patch()))
     {
-        FatalErrorIn
-        (
-            "processorFvPatchField<Type>::processorFvPatchField\n"
-            "(\n"
-            "    const processorFvPatchField<Type>& ptf,\n"
-            "    const fvPatch& p,\n"
-            "    const DimensionedField<Type, volMesh>& iF,\n"
-            "    const fvPatchFieldMapper& mapper\n"
-            ")\n"
-        )   << "\n    patch type '" << p.type()
+        FatalErrorInFunction
             << "' not constraint type '" << typeName << "'"
             << "\n    for patch " << p.name()
             << " of field " << this->dimensionedInternalField().name()
@@ -106,7 +97,7 @@ Foam::processorFvPatchField<Type>::processorFvPatchField
     }
     if (debug && !ptf.ready())
     {
-        FatalErrorIn("processorFvPatchField<Type>::processorFvPatchField(..)")
+        FatalErrorInFunction
             << "On patch " << procPatch_.name() << " outstanding request."
             << abort(FatalError);
     }
@@ -132,14 +123,8 @@ Foam::processorFvPatchField<Type>::processorFvPatchField
 {
     if (!isA<processorFvPatch>(p))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "processorFvPatchField<Type>::processorFvPatchField\n"
-            "(\n"
-            "    const fvPatch& p,\n"
-            "    const Field<Type>& field,\n"
-            "    const dictionary& dict\n"
-            ")\n",
             dict
         )   << "\n    patch type '" << p.type()
             << "' not constraint type '" << typeName << "'"
@@ -169,7 +154,7 @@ Foam::processorFvPatchField<Type>::processorFvPatchField
 {
     if (debug && !ptf.ready())
     {
-        FatalErrorIn("processorFvPatchField<Type>::processorFvPatchField(..)")
+        FatalErrorInFunction
             << "On patch " << procPatch_.name() << " outstanding request."
             << abort(FatalError);
     }
@@ -194,7 +179,7 @@ Foam::processorFvPatchField<Type>::processorFvPatchField
 {
     if (debug && !ptf.ready())
     {
-        FatalErrorIn("processorFvPatchField<Type>::processorFvPatchField(..)")
+        FatalErrorInFunction
             << "On patch " << procPatch_.name() << " outstanding request."
             << abort(FatalError);
     }
@@ -216,7 +201,7 @@ Foam::processorFvPatchField<Type>::patchNeighbourField() const
 {
     if (debug && !this->ready())
     {
-        FatalErrorIn("processorFvPatchField<Type>::patchNeighbourField()")
+        FatalErrorInFunction
             << "On patch " << procPatch_.name()
             << " outstanding request."
             << abort(FatalError);
@@ -333,10 +318,8 @@ void Foam::processorFvPatchField<Type>::initInterfaceMatrixUpdate
         // Fast path.
         if (debug && !this->ready())
         {
-            FatalErrorIn
-            (
-                "processorFvPatchField<Type>::initInterfaceMatrixUpdate(..)"
-            )   << "On patch " << procPatch_.name()
+            FatalErrorInFunction
+                << "On patch " << procPatch_.name()
                 << " outstanding request."
                 << abort(FatalError);
         }
@@ -454,10 +437,8 @@ void Foam::processorFvPatchField<Type>::initInterfaceMatrixUpdate
         // Fast path.
         if (debug && !this->ready())
         {
-            FatalErrorIn
-            (
-                "processorFvPatchField<Type>::initInterfaceMatrixUpdate(..)"
-            )   << "On patch " << procPatch_.name()
+            FatalErrorInFunction
+                << "On patch " << procPatch_.name()
                 << " outstanding request."
                 << abort(FatalError);
         }
diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchScalarField.C b/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchScalarField.C
index 1164f3146dd..40ba0865fce 100644
--- a/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchScalarField.C
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchScalarField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -49,10 +49,8 @@ void processorFvPatchField<scalar>::initInterfaceMatrixUpdate
         // Fast path.
         if (debug && !this->ready())
         {
-            FatalErrorIn
-            (
-                "processorFvPatchField<scalar>::initInterfaceMatrixUpdate(..)"
-            )   << "On patch " << procPatch_.name()
+            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 3a0f7fd1b4c..59483e6ee9f 100644
--- a/src/finiteVolume/fields/fvPatchFields/constraint/processorCyclic/processorCyclicFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/processorCyclic/processorCyclicFvPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -72,16 +72,7 @@ Foam::processorCyclicFvPatchField<Type>::processorCyclicFvPatchField
 {
     if (!isType<processorCyclicFvPatch>(this->patch()))
     {
-        FatalErrorIn
-        (
-            "processorCyclicFvPatchField<Type>::processorCyclicFvPatchField\n"
-            "(\n"
-            "    const processorCyclicFvPatchField<Type>& ptf,\n"
-            "    const fvPatch& p,\n"
-            "    const DimensionedField<Type, volMesh>& iF,\n"
-            "    const fvPatchFieldMapper& mapper\n"
-            ")\n"
-        )   << "\n    patch type '" << p.type()
+        FatalErrorInFunction
             << "' not constraint type '" << typeName << "'"
             << "\n    for patch " << p.name()
             << " of field " << this->dimensionedInternalField().name()
@@ -105,14 +96,8 @@ Foam::processorCyclicFvPatchField<Type>::processorCyclicFvPatchField
 {
     if (!isType<processorCyclicFvPatch>(p))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "processorCyclicFvPatchField<Type>::processorCyclicFvPatchField\n"
-            "(\n"
-            "    const fvPatch& p,\n"
-            "    const Field<Type>& field,\n"
-            "    const dictionary& dict\n"
-            ")\n",
             dict
         )   << "\n    patch type '" << p.type()
             << "' not constraint type '" << typeName << "'"
@@ -124,15 +109,8 @@ Foam::processorCyclicFvPatchField<Type>::processorCyclicFvPatchField
 
     if (Pstream::defaultCommsType == Pstream::scheduled)
     {
-        WarningIn
-        (
-            "processorCyclicFvPatchField<Type>::processorCyclicFvPatchField\n"
-            "(\n"
-            "    const fvPatch& p,\n"
-            "    const DimensionedField<Type, volMesh>& iF,\n"
-            "    const dictionary& dict\n"
-            ")\n"
-        )   << "Scheduled communication with split cyclics not supported."
+        WarningInFunction
+            << "Scheduled communication with split cyclics not supported."
             << endl;
     }
 }
diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/symmetry/symmetryFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/symmetry/symmetryFvPatchField.C
index 870795327b8..c6a2dc126af 100644
--- a/src/finiteVolume/fields/fvPatchFields/constraint/symmetry/symmetryFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/symmetry/symmetryFvPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,16 +56,7 @@ symmetryFvPatchField<Type>::symmetryFvPatchField
 {
     if (!isType<symmetryFvPatch>(this->patch()))
     {
-        FatalErrorIn
-        (
-            "symmetryFvPatchField<Type>::symmetryFvPatchField\n"
-            "(\n"
-            "    const symmetryFvPatchField<Type>& ptf,\n"
-            "    const fvPatch& p,\n"
-            "    const DimensionedField<Type, volMesh>& iF,\n"
-            "    const fvPatchFieldMapper& mapper\n"
-            ")\n"
-        )   << "\n    patch type '" << p.type()
+        FatalErrorInFunction
             << "' not constraint type '" << typeName << "'"
             << "\n    for patch " << p.name()
             << " of field " << this->dimensionedInternalField().name()
@@ -87,14 +78,8 @@ symmetryFvPatchField<Type>::symmetryFvPatchField
 {
     if (!isType<symmetryFvPatch>(p))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "symmetryFvPatchField<Type>::symmetryFvPatchField\n"
-            "(\n"
-            "    const fvPatch& p,\n"
-            "    const Field<Type>& field,\n"
-            "    const dictionary& dict\n"
-            ")\n",
             dict
         )   << "\n    patch type '" << p.type()
             << "' not constraint type '" << typeName << "'"
diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchField.C
index 053a56689b6..7ab5a129d76 100644
--- a/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/symmetryPlane/symmetryPlaneFvPatchField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -54,16 +54,7 @@ Foam::symmetryPlaneFvPatchField<Type>::symmetryPlaneFvPatchField
 {
     if (!isType<symmetryPlaneFvPatch>(this->patch()))
     {
-        FatalErrorIn
-        (
-            "symmetryPlaneFvPatchField<Type>::symmetryPlaneFvPatchField\n"
-            "(\n"
-            "    const symmetryPlaneFvPatchField<Type>& ptf,\n"
-            "    const fvPatch& p,\n"
-            "    const DimensionedField<Type, volMesh>& iF,\n"
-            "    const fvPatchFieldMapper& mapper\n"
-            ")\n"
-        )   << "\n    patch type '" << p.type()
+        FatalErrorInFunction
             << "' not constraint type '" << typeName << "'"
             << "\n    for patch " << p.name()
             << " of field " << this->dimensionedInternalField().name()
@@ -86,14 +77,8 @@ Foam::symmetryPlaneFvPatchField<Type>::symmetryPlaneFvPatchField
 {
     if (!isType<symmetryPlaneFvPatch>(p))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "symmetryPlaneFvPatchField<Type>::symmetryPlaneFvPatchField\n"
-            "(\n"
-            "    const fvPatch& p,\n"
-            "    const Field<Type>& field,\n"
-            "    const dictionary& dict\n"
-            ")\n",
             dict
         )   << "\n    patch type '" << p.type()
             << "' not constraint type '" << typeName << "'"
diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchField.C
index 73955b7c2b2..03f382fa217 100644
--- a/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/wedge/wedgeFvPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,16 +56,7 @@ Foam::wedgeFvPatchField<Type>::wedgeFvPatchField
 {
     if (!isType<wedgeFvPatch>(this->patch()))
     {
-        FatalErrorIn
-        (
-            "wedgeFvPatchField<Type>::wedgeFvPatchField\n"
-            "(\n"
-            "    const wedgeFvPatchField<Type>& ptf,\n"
-            "    const fvPatch& p,\n"
-            "    const DimensionedField<Type, volMesh>& iF,\n"
-            "    const fvPatchFieldMapper& mapper\n"
-            ")\n"
-        )   << "\n    patch type '" << p.type()
+        FatalErrorInFunction
             << "' not constraint type '" << typeName << "'"
             << "\n    for patch " << p.name()
             << " of field " << this->dimensionedInternalField().name()
@@ -87,14 +78,8 @@ Foam::wedgeFvPatchField<Type>::wedgeFvPatchField
 {
     if (!isType<wedgeFvPatch>(p))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "wedgeFvPatchField<Type>::wedgeFvPatchField\n"
-            "(\n"
-            "    const fvPatch& p,\n"
-            "    const Field<Type>& field,\n"
-            "    dictionary& dict\n"
-            ")\n",
             dict
         )   << "\n    patch type '" << p.type()
             << "' not constraint type '" << typeName << "'"
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/advective/advectiveFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/advective/advectiveFvPatchField.C
index 86c7aaa1463..a2c2dc88874 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/advective/advectiveFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/advective/advectiveFvPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -106,15 +106,8 @@ Foam::advectiveFvPatchField<Type>::advectiveFvPatchField
 
         if (lInf_ < 0.0)
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "advectiveFvPatchField<Type>::"
-                "advectiveFvPatchField"
-                "("
-                    "const fvPatch&, "
-                    "const DimensionedField<Type, volMesh>&, "
-                    "const dictionary&"
-                ")",
                 dict
             )   << "unphysical lInf specified (lInf < 0)" << nl
                 << "    on patch " << this->patch().name()
@@ -252,8 +245,7 @@ void Foam::advectiveFvPatchField<Type>::updateCoeffs()
         }
         else
         {
-            FatalErrorIn("advectiveFvPatchField<Type>::updateCoeffs()")
-                << "    Unsupported temporal differencing scheme : "
+            FatalErrorInFunction
                 << ddtScheme << nl
                 << "    on patch " << this->patch().name()
                 << " of field " << this->dimensionedInternalField().name()
@@ -285,10 +277,7 @@ void Foam::advectiveFvPatchField<Type>::updateCoeffs()
         }
         else
         {
-            FatalErrorIn
-            (
-                "advectiveFvPatchField<Type>::updateCoeffs()"
-            )   << "    Unsupported temporal differencing scheme : "
+            FatalErrorInFunction
                 << ddtScheme
                 << "\n    on patch " << this->patch().name()
                 << " of field " << this->dimensionedInternalField().name()
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.C
index f930a1ef5c7..a62cbc38c5b 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -280,12 +280,7 @@ void Foam::externalCoupledMixedFvPatchField<Type>::wait() const
         {
             if (totalTime > timeOut_)
             {
-                FatalErrorIn
-                (
-                    "void "
-                    "Foam::externalCoupledMixedFvPatchField<Type>::wait() "
-                    "const"
-                )
+                FatalErrorInFunction
                     << "Wait time exceeded time out time of " << timeOut_
                     << " s" << abort(FatalError);
             }
@@ -327,14 +322,7 @@ void Foam::externalCoupledMixedFvPatchField<Type>::initialiseRead
 {
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "void Foam::externalCoupledMixedFvPatchField<Type>::"
-            "initialiseRead"
-            "("
-                "IFstream&"
-            ") const"
-        )
+        FatalErrorInFunction
             << "Unable to open data transfer file " << is.name()
             << " for patch " << this->patch().name()
             << exit(FatalError);
@@ -352,14 +340,7 @@ void Foam::externalCoupledMixedFvPatchField<Type>::initialiseRead
         }
         else
         {
-            FatalErrorIn
-            (
-                "void Foam::externalCoupledMixedFvPatchField<Type>::"
-                "initialiseRead"
-                "("
-                    "IFstream&"
-                ") const"
-            )
+            FatalErrorInFunction
                 << "Unable to scan forward to appropriate read position for "
                 << "data transfer file " << is.name()
                 << " for patch " << this->patch().name()
@@ -394,13 +375,7 @@ void Foam::externalCoupledMixedFvPatchField<Type>::readData
         }
         else
         {
-            FatalErrorIn
-            (
-                "void Foam::externalCoupledMixedFvPatchField<Type>::readData"
-                "("
-                    "const fileName&"
-                ")"
-            )
+            FatalErrorInFunction
                 << "Insufficient data for patch "
                 << this->patch().name()
                 << " in file " << is.name()
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fanPressure/fanPressureFvPatchScalarField.C b/src/finiteVolume/fields/fvPatchFields/derived/fanPressure/fanPressureFvPatchScalarField.C
index 9e0726e6ac2..dab9977118c 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/fanPressure/fanPressureFvPatchScalarField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/fanPressure/fanPressureFvPatchScalarField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -148,7 +148,7 @@ void Foam::fanPressureFvPatchScalarField::updateCoeffs()
     }
     else
     {
-        FatalErrorIn("fanPressureFvPatchScalarField::updateCoeffs()")
+        FatalErrorInFunction
             << "dimensions of phi are not correct"
                 << "\n    on patch " << patch().name()
                 << " of field " << dimensionedInternalField().name()
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fixedFluxPressure/fixedFluxPressureFvPatchScalarField.C b/src/finiteVolume/fields/fvPatchFields/derived/fixedFluxPressure/fixedFluxPressureFvPatchScalarField.C
index 0a5a4b48093..936e702aa32 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/fixedFluxPressure/fixedFluxPressureFvPatchScalarField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/fixedFluxPressure/fixedFluxPressureFvPatchScalarField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -148,7 +148,7 @@ void Foam::fixedFluxPressureFvPatchScalarField::updateCoeffs()
 
     if (curTimeIndex_ != this->db().time().timeIndex())
     {
-        FatalErrorIn("fixedFluxPressureFvPatchScalarField::updateCoeffs()")
+        FatalErrorInFunction
             << "updateCoeffs(const scalarField& snGradp) MUST be called before"
                " updateCoeffs() or evaluate() to set the boundary gradient."
             << exit(FatalError);
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/flowRateInletVelocity/flowRateInletVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/flowRateInletVelocity/flowRateInletVelocityFvPatchVectorField.C
index b5948bed4a1..0838108985c 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/flowRateInletVelocity/flowRateInletVelocityFvPatchVectorField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/flowRateInletVelocity/flowRateInletVelocityFvPatchVectorField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -88,12 +88,8 @@ flowRateInletVelocityFvPatchVectorField
     }
     else
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "flowRateInletVelocityFvPatchVectorField::"
-            "flowRateInletVelocityFvPatchVectorField"
-            "(const fvPatch&, const DimensionedField<vector, volMesh>&,"
-            " const dictionary&)",
             dict
         )   << "Please supply either 'volumetricFlowRate' or"
             << " 'massFlowRate' and 'rho'" << exit(FatalIOError);
@@ -179,10 +175,8 @@ void Foam::flowRateInletVelocityFvPatchVectorField::updateCoeffs()
             // Use constant density
             if (rhoInlet_ < 0)
             {
-                FatalErrorIn
-                (
-                    "flowRateInletVelocityFvPatchVectorField::updateCoeffs()"
-                )   << "Did not find registered density field " << rhoName_
+                FatalErrorInFunction
+                    << "Did not find registered density field " << rhoName_
                     << " and no constant density 'rhoInlet' specified"
                     << exit(FatalError);
             }
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fluxCorrectedVelocity/fluxCorrectedVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/fluxCorrectedVelocity/fluxCorrectedVelocityFvPatchVectorField.C
index a3f73873903..ac76973cb38 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/fluxCorrectedVelocity/fluxCorrectedVelocityFvPatchVectorField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/fluxCorrectedVelocity/fluxCorrectedVelocityFvPatchVectorField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -124,10 +124,7 @@ void Foam::fluxCorrectedVelocityFvPatchVectorField::evaluate
     }
     else
     {
-        FatalErrorIn
-        (
-            "fluxCorrectedVelocityFvPatchVectorField::evaluate()"
-        )
+        FatalErrorInFunction
             << "dimensions of phi are incorrect\n"
             << "    on patch " << this->patch().name()
             << " of field " << this->dimensionedInternalField().name()
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/freestreamPressure/freestreamPressureFvPatchScalarField.C b/src/finiteVolume/fields/fvPatchFields/derived/freestreamPressure/freestreamPressureFvPatchScalarField.C
index c2f272244ce..b50eac91b81 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/freestreamPressure/freestreamPressureFvPatchScalarField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/freestreamPressure/freestreamPressureFvPatchScalarField.C
@@ -141,7 +141,7 @@ void Foam::freestreamPressureFvPatchScalarField::updateCoeffs()
     }
     else
     {
-        FatalErrorIn("freestreamPressureFvPatchScalarField::updateCoeffs()")
+        FatalErrorInFunction
             << "dimensions of phi are not correct"
             << "\n    on patch " << this->patch().name()
             << " of field " << this->dimensionedInternalField().name()
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/mappedField/mappedPatchFieldBase.C b/src/finiteVolume/fields/fvPatchFields/derived/mappedField/mappedPatchFieldBase.C
index 03edc6c4802..5e8c48df973 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/mappedField/mappedPatchFieldBase.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/mappedField/mappedPatchFieldBase.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -243,10 +243,8 @@ tmp<Field<Type> > mappedPatchFieldBase<Type>::mappedField() const
 
             if (nbrPatchID < 0)
             {
-                FatalErrorIn
-                (
-                    "void mappedPatchFieldBase<Type>::updateCoeffs()"
-                )<< "Unable to find sample patch " << mapper_.samplePatch()
+                FatalErrorInFunction
+                 << "Unable to find sample patch " << mapper_.samplePatch()
                  << " in region " << mapper_.sampleRegion()
                  << " for patch " << patchField_.patch().name() << nl
                  << abort(FatalError);
@@ -284,10 +282,8 @@ tmp<Field<Type> > mappedPatchFieldBase<Type>::mappedField() const
         }
         default:
         {
-            FatalErrorIn
-            (
-                "mappedPatchFieldBase<Type>::updateCoeffs()"
-            )<< "Unknown sampling mode: " << mapper_.mode()
+            FatalErrorInFunction
+             << "Unknown sampling mode: " << mapper_.mode()
              << nl << abort(FatalError);
         }
     }
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/mappedFixedInternalValue/mappedFixedInternalValueFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/mappedFixedInternalValue/mappedFixedInternalValueFvPatchField.C
index 680d3f89f0f..ba3a0e02092 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/mappedFixedInternalValue/mappedFixedInternalValueFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/mappedFixedInternalValue/mappedFixedInternalValueFvPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -121,10 +121,8 @@ void Foam::mappedFixedInternalValueFvPatchField<Type>::updateCoeffs()
     {
         case mappedPatchBase::NEARESTCELL:
         {
-            FatalErrorIn
-            (
-                "void mappedFixedValueFvPatchField<Type>::updateCoeffs()"
-            )   << "Cannot apply "
+            FatalErrorInFunction
+                << "Cannot apply "
                 << mappedPatchBase::sampleModeNames_
                    [
                        mappedPatchBase::NEARESTCELL
@@ -171,7 +169,7 @@ void Foam::mappedFixedInternalValueFvPatchField<Type>::updateCoeffs()
         }
         default:
         {
-            FatalErrorIn("mappedFixedValueFvPatchField<Type>::updateCoeffs()")
+            FatalErrorInFunction
                 << "Unknown sampling mode: " << mpp.mode()
                 << abort(FatalError);
         }
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/mappedFixedValue/mappedFixedValueFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/mappedFixedValue/mappedFixedValueFvPatchField.C
index 851344194b5..0100f09730c 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/mappedFixedValue/mappedFixedValueFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/mappedFixedValue/mappedFixedValueFvPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -107,10 +107,7 @@ const mappedPatchBase& mappedFixedValueFvPatchField<Type>::mapper
 {
     if (!isA<mappedPatchBase>(p.patch()))
     {
-        FatalErrorIn
-        (
-            "mappedFixedValueFvPatchField<Type>::mapper()"
-        )   << "\n    patch type '" << p.patch().type()
+        FatalErrorInFunction
             << "' not type '" << mappedPatchBase::typeName << "'"
             << "\n    for patch " << p.patch().name()
             << " of field " << iF.name()
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/mappedFlowRate/mappedFlowRateFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/mappedFlowRate/mappedFlowRateFvPatchVectorField.C
index 63aadec6a16..ecd04b5e708 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/mappedFlowRate/mappedFlowRateFvPatchVectorField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/mappedFlowRate/mappedFlowRateFvPatchVectorField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -165,10 +165,8 @@ void Foam::mappedFlowRateFvPatchVectorField::updateCoeffs()
     }
     else
     {
-        FatalErrorIn
-        (
-            "mappedFlowRateFvPatchVectorField::updateCoeffs()"
-        )   << "dimensions of " << phiName_ << " are incorrect" << nl
+        FatalErrorInFunction
+            << "dimensions of " << phiName_ << " are incorrect" << nl
             << "    on patch " << this->patch().name()
             << " of field " << this->dimensionedInternalField().name()
             << " in file " << this->dimensionedInternalField().objectPath()
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/mappedVelocityFluxFixedValue/mappedVelocityFluxFixedValueFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/mappedVelocityFluxFixedValue/mappedVelocityFluxFixedValueFvPatchField.C
index 00be69fc850..713b94492e7 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/mappedVelocityFluxFixedValue/mappedVelocityFluxFixedValueFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/mappedVelocityFluxFixedValue/mappedVelocityFluxFixedValueFvPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -59,17 +59,8 @@ mappedVelocityFluxFixedValueFvPatchField
 {
     if (!isA<mappedPatchBase>(this->patch().patch()))
     {
-        FatalErrorIn
-        (
-            "mappedVelocityFluxFixedValueFvPatchField::"
-            "mappedVelocityFluxFixedValueFvPatchField"
-            "("
-                "const mappedVelocityFluxFixedValueFvPatchField&, "
-                "const fvPatch&, "
-                "const DimensionedField<vector, volMesh>&, "
-                "const fvPatchFieldMapper&"
-            ")"
-        )   << "Patch type '" << p.type()
+        FatalErrorInFunction
+            << "Patch type '" << p.type()
             << "' not type '" << mappedPatchBase::typeName << "'"
             << " for patch " << p.name()
             << " of field " << dimensionedInternalField().name()
@@ -92,16 +83,8 @@ mappedVelocityFluxFixedValueFvPatchField
 {
     if (!isA<mappedPatchBase>(this->patch().patch()))
     {
-        FatalErrorIn
-        (
-            "mappedVelocityFluxFixedValueFvPatchField::"
-            "mappedVelocityFluxFixedValueFvPatchField"
-            "("
-                "const fvPatch&, "
-                "const DimensionedField<vector, volMesh>&, "
-                "const dictionary&"
-            ")"
-        )   << "Patch type '" << p.type()
+        FatalErrorInFunction
+            << "Patch type '" << p.type()
             << "' not type '" << mappedPatchBase::typeName << "'"
             << " for patch " << p.name()
             << " of field " << dimensionedInternalField().name()
@@ -115,16 +98,8 @@ mappedVelocityFluxFixedValueFvPatchField
     );
     if (mpp.mode() == mappedPolyPatch::NEARESTCELL)
     {
-        FatalErrorIn
-        (
-            "mappedVelocityFluxFixedValueFvPatchField::"
-            "mappedVelocityFluxFixedValueFvPatchField"
-            "("
-                "const fvPatch&, "
-                "const DimensionedField<vector, volMesh>&, "
-                "const dictionary&"
-            ")"
-        )   << "Patch " << p.name()
+        FatalErrorInFunction
+            << "Patch " << p.name()
             << " of type '" << p.type()
             << "' can not be used in 'nearestCell' mode"
             << " of field " << dimensionedInternalField().name()
@@ -234,11 +209,8 @@ void Foam::mappedVelocityFluxFixedValueFvPatchField::updateCoeffs()
         }
         default:
         {
-            FatalErrorIn
-            (
-                "mappedVelocityFluxFixedValueFvPatchField::"
-                "updateCoeffs()"
-            )   << "patch can only be used in NEARESTPATCHFACE, "
+            FatalErrorInFunction
+                << "patch can only be used in NEARESTPATCHFACE, "
                 << "NEARESTPATCHFACEAMI or NEARESTFACE mode" << nl
                 << abort(FatalError);
         }
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/outletMappedUniformInlet/outletMappedUniformInletFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/outletMappedUniformInlet/outletMappedUniformInletFvPatchField.C
index 46c021c7f3b..7804ed43f27 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/outletMappedUniformInlet/outletMappedUniformInletFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/outletMappedUniformInlet/outletMappedUniformInletFvPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -126,10 +126,8 @@ void Foam::outletMappedUniformInletFvPatchField<Type>::updateCoeffs()
 
     if (outletPatchID < 0)
     {
-        FatalErrorIn
-        (
-            "void outletMappedUniformInletFvPatchField<Type>::updateCoeffs()"
-        )   << "Unable to find outlet patch " << outletPatchName_
+        FatalErrorInFunction
+            << "Unable to find outlet patch " << outletPatchName_
             << abort(FatalError);
     }
 
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/pressureDirectedInletOutletVelocity/pressureDirectedInletOutletVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/pressureDirectedInletOutletVelocity/pressureDirectedInletOutletVelocityFvPatchVectorField.C
index 14e704c507f..a6a18a61cc0 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/pressureDirectedInletOutletVelocity/pressureDirectedInletOutletVelocityFvPatchVectorField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/pressureDirectedInletOutletVelocity/pressureDirectedInletOutletVelocityFvPatchVectorField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -169,11 +169,8 @@ void Foam::pressureDirectedInletOutletVelocityFvPatchVectorField::updateCoeffs()
     }
     else
     {
-        FatalErrorIn
-        (
-            "pressureDirectedInletOutletVelocityFvPatchVectorField::"
-            "updateCoeffs()"
-        )   << "dimensions of phi are not correct"
+        FatalErrorInFunction
+            << "dimensions of phi are not correct"
             << "\n    on patch " << this->patch().name()
             << " of field " << this->dimensionedInternalField().name()
             << " in file " << this->dimensionedInternalField().objectPath()
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/pressureDirectedInletVelocity/pressureDirectedInletVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/pressureDirectedInletVelocity/pressureDirectedInletVelocityFvPatchVectorField.C
index 11b8f7f32ed..d5a74f7a986 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/pressureDirectedInletVelocity/pressureDirectedInletVelocityFvPatchVectorField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/pressureDirectedInletVelocity/pressureDirectedInletVelocityFvPatchVectorField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -162,10 +162,8 @@ void Foam::pressureDirectedInletVelocityFvPatchVectorField::updateCoeffs()
     }
     else
     {
-        FatalErrorIn
-        (
-            "pressureDirectedInletVelocityFvPatchVectorField::updateCoeffs()"
-        )   << "dimensions of phi are not correct"
+        FatalErrorInFunction
+            << "dimensions of phi are not correct"
             << "\n    on patch " << this->patch().name()
             << " of field " << this->dimensionedInternalField().name()
             << " in file " << this->dimensionedInternalField().objectPath()
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/pressureInletOutletParSlipVelocity/pressureInletOutletParSlipVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/pressureInletOutletParSlipVelocity/pressureInletOutletParSlipVelocityFvPatchVectorField.C
index 0eb6a520348..0e153504705 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/pressureInletOutletParSlipVelocity/pressureInletOutletParSlipVelocityFvPatchVectorField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/pressureInletOutletParSlipVelocity/pressureInletOutletParSlipVelocityFvPatchVectorField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -143,11 +143,8 @@ void Foam::pressureInletOutletParSlipVelocityFvPatchVectorField::updateCoeffs()
     }
     else
     {
-        FatalErrorIn
-        (
-            "pressureInletOutletParSlipVelocityFvPatchVectorField::"
-            "updateCoeffs()"
-        )   << "dimensions of phi are not correct" << nl
+        FatalErrorInFunction
+            << "dimensions of phi are not correct" << nl
             << "    on patch " << this->patch().name()
             << " of field " << this->dimensionedInternalField().name()
             << " in file " << this->dimensionedInternalField().objectPath()
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/pressureInletVelocity/pressureInletVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/pressureInletVelocity/pressureInletVelocityFvPatchVectorField.C
index 3482deefbff..08a6334ecaa 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/pressureInletVelocity/pressureInletVelocityFvPatchVectorField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/pressureInletVelocity/pressureInletVelocityFvPatchVectorField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -130,7 +130,7 @@ void Foam::pressureInletVelocityFvPatchVectorField::updateCoeffs()
     }
     else
     {
-        FatalErrorIn("pressureInletVelocityFvPatchVectorField::updateCoeffs()")
+        FatalErrorInFunction
             << "dimensions of phi are not correct"
             << "\n    on patch " << this->patch().name()
             << " of field " << this->dimensionedInternalField().name()
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/pressureNormalInletOutletVelocity/pressureNormalInletOutletVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/pressureNormalInletOutletVelocity/pressureNormalInletOutletVelocityFvPatchVectorField.C
index 52b7d65295f..70ce9adedcd 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/pressureNormalInletOutletVelocity/pressureNormalInletOutletVelocityFvPatchVectorField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/pressureNormalInletOutletVelocity/pressureNormalInletOutletVelocityFvPatchVectorField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -139,11 +139,8 @@ void Foam::pressureNormalInletOutletVelocityFvPatchVectorField::updateCoeffs()
     }
     else
     {
-        FatalErrorIn
-        (
-            "pressureNormalInletOutletVelocityFvPatchVectorField::"
-            "updateCoeffs()"
-        )   << "dimensions of phi are not correct"
+        FatalErrorInFunction
+            << "dimensions of phi are not correct"
             << "\n    on patch " << this->patch().name()
             << " of field " << this->dimensionedInternalField().name()
             << " in file " << this->dimensionedInternalField().objectPath()
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/supersonicFreestream/supersonicFreestreamFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/supersonicFreestream/supersonicFreestreamFvPatchVectorField.C
index 2f2195c8ff3..2d4b1691ceb 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/supersonicFreestream/supersonicFreestreamFvPatchVectorField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/supersonicFreestream/supersonicFreestreamFvPatchVectorField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -107,11 +107,8 @@ supersonicFreestreamFvPatchVectorField
 
     if (pInf_ < SMALL)
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "supersonicFreestreamFvPatchVectorField::"
-            "supersonicFreestreamFvPatchVectorField"
-            "(const fvPatch&, const vectorField&, const dictionary&)",
             dict
         )   << "    unphysical pInf specified (pInf <= 0.0)"
             << "\n    on patch " << this->patch().name()
@@ -183,10 +180,7 @@ void Foam::supersonicFreestreamFvPatchVectorField::updateCoeffs()
 
     if (MachInf < 1.0)
     {
-        FatalErrorIn
-        (
-            "supersonicFreestreamFvPatchVectorField::updateCoeffs()"
-        )   << "    MachInf < 1.0, free stream must be supersonic"
+        FatalErrorInFunction
             << "\n    on patch " << this->patch().name()
             << " of field " << this->dimensionedInternalField().name()
             << " in file " << this->dimensionedInternalField().objectPath()
@@ -283,10 +277,8 @@ void Foam::supersonicFreestreamFvPatchVectorField::updateCoeffs()
             }
             else // If subsonic
             {
-                FatalErrorIn
-                (
-                    "supersonicFreestreamFvPatchVectorField::updateCoeffs()"
-                )   << "unphysical subsonic inflow has been generated"
+                FatalErrorInFunction
+                    << "unphysical subsonic inflow has been generated"
                     << "\n    on patch " << this->patch().name()
                     << " of field " << this->dimensionedInternalField().name()
                     << " in file "
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/swirlFlowRateInletVelocity/swirlFlowRateInletVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/swirlFlowRateInletVelocity/swirlFlowRateInletVelocityFvPatchVectorField.C
index 859006cd442..e86d92d5dba 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/swirlFlowRateInletVelocity/swirlFlowRateInletVelocityFvPatchVectorField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/swirlFlowRateInletVelocity/swirlFlowRateInletVelocityFvPatchVectorField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -155,10 +155,8 @@ void Foam::swirlFlowRateInletVelocityFvPatchVectorField::updateCoeffs()
     }
     else
     {
-        FatalErrorIn
-        (
-            "swirlFlowRateInletVelocityFvPatchVectorField::updateCoeffs()"
-        )   << "dimensions of " << phiName_ << " are incorrect" << nl
+        FatalErrorInFunction
+            << "dimensions of " << phiName_ << " are incorrect" << nl
             << "    on patch " << this->patch().name()
             << " of field " << this->dimensionedInternalField().name()
             << " in file " << this->dimensionedInternalField().objectPath()
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/syringePressure/syringePressureFvPatchScalarField.C b/src/finiteVolume/fields/fvPatchFields/derived/syringePressure/syringePressureFvPatchScalarField.C
index 3318c15dd65..20690258a3d 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/syringePressure/syringePressureFvPatchScalarField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/syringePressure/syringePressureFvPatchScalarField.C
@@ -213,7 +213,7 @@ void Foam::syringePressureFvPatchScalarField::updateCoeffs()
     }
     else
     {
-        FatalErrorIn("syringePressureFvPatchScalarField::updateCoeffs()")
+        FatalErrorInFunction
             << "dimensions of phi are not correct"
             << "\n    on patch " << this->patch().name()
             << " of field " << this->dimensionedInternalField().name()
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValueFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValueFvPatchField.C
index 48c3af199e2..f52abedfdd0 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValueFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValueFvPatchField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -127,15 +127,8 @@ timeVaryingMappedFixedValueFvPatchField
      && mapMethod_ != "nearest"
     )
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "timeVaryingMappedFixedValueFvPatchField<Type>::\n"
-            "timeVaryingMappedFixedValueFvPatchField\n"
-            "(\n"
-            "    const fvPatch&\n"
-            "    const DimensionedField<Type, volMesh>&\n"
-            "    const dictionary&\n"
-            ")\n",
             dict
         )   << "mapMethod should be one of 'planarInterpolation'"
             << ", 'nearest'" << exit(FatalIOError);
@@ -339,10 +332,8 @@ void timeVaryingMappedFixedValueFvPatchField<Type>::checkTable()
 
     if (!foundTime)
     {
-        FatalErrorIn
-        (
-            "timeVaryingMappedFixedValueFvPatchField<Type>::checkTable()"
-        )   << "Cannot find starting sampling values for current time "
+        FatalErrorInFunction
+            << "Cannot find starting sampling values for current time "
             << this->db().time().value() << nl
             << "Have sampling values for times "
             << pointToPointPlanarInterpolation::timeNames(sampleTimes_) << nl
@@ -405,11 +396,8 @@ void timeVaryingMappedFixedValueFvPatchField<Type>::checkTable()
 
             if (vals.size() != mapperPtr_().sourceSize())
             {
-                FatalErrorIn
-                (
-                    "timeVaryingMappedFixedValueFvPatchField<Type>::"
-                    "checkTable()"
-                )   << "Number of values (" << vals.size()
+                FatalErrorInFunction
+                    << "Number of values (" << vals.size()
                     << ") differs from the number of points ("
                     <<  mapperPtr_().sourceSize()
                     << ") in file " << vals.objectPath() << exit(FatalError);
@@ -463,11 +451,8 @@ void timeVaryingMappedFixedValueFvPatchField<Type>::checkTable()
 
             if (vals.size() != mapperPtr_().sourceSize())
             {
-                FatalErrorIn
-                (
-                    "timeVaryingMappedFixedValueFvPatchField<Type>::"
-                    "checkTable()"
-                )   << "Number of values (" << vals.size()
+                FatalErrorInFunction
+                    << "Number of values (" << vals.size()
                     << ") differs from the number of points ("
                     <<  mapperPtr_().sourceSize()
                     << ") in file " << vals.objectPath() << exit(FatalError);
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/totalPressure/totalPressureFvPatchScalarField.C b/src/finiteVolume/fields/fvPatchFields/derived/totalPressure/totalPressureFvPatchScalarField.C
index c6af05f2542..b7b46003c9a 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/totalPressure/totalPressureFvPatchScalarField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/totalPressure/totalPressureFvPatchScalarField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -204,10 +204,8 @@ void Foam::totalPressureFvPatchScalarField::updateCoeffs
     }
     else
     {
-        FatalErrorIn
-        (
-            "totalPressureFvPatchScalarField::updateCoeffs()"
-        )   << " rho or psi set inconsistently, rho = " << rhoName_
+        FatalErrorInFunction
+            << " rho or psi set inconsistently, rho = " << rhoName_
             << ", psi = " << psiName_ << ".\n"
             << "    Set either rho or psi or neither depending on the "
                "definition of total pressure." << nl
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/turbulentIntensityKineticEnergyInlet/turbulentIntensityKineticEnergyInletFvPatchScalarField.C b/src/finiteVolume/fields/fvPatchFields/derived/turbulentIntensityKineticEnergyInlet/turbulentIntensityKineticEnergyInletFvPatchScalarField.C
index a5066941476..432d1e908db 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/turbulentIntensityKineticEnergyInlet/turbulentIntensityKineticEnergyInletFvPatchScalarField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/turbulentIntensityKineticEnergyInlet/turbulentIntensityKineticEnergyInletFvPatchScalarField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -77,16 +77,8 @@ turbulentIntensityKineticEnergyInletFvPatchScalarField
 
     if (intensity_ < 0 || intensity_ > 1)
     {
-        FatalErrorIn
-        (
-            "turbulentIntensityKineticEnergyInletFvPatchScalarField::"
-            "turbulentIntensityKineticEnergyInletFvPatchScalarField"
-            "("
-                "const fvPatch&, "
-                "const DimensionedField<scalar, volMesh>&, "
-                "const dictionary&"
-            ")"
-        )   << "Turbulence intensity should be specified as a fraction 0-1 "
+        FatalErrorInFunction
+            << "Turbulence intensity should be specified as a fraction 0-1 "
                "of the mean velocity\n"
                "    value given is " << intensity_ << nl
             << "    on patch " << this->patch().name()
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformTotalPressure/uniformTotalPressureFvPatchScalarField.C b/src/finiteVolume/fields/fvPatchFields/derived/uniformTotalPressure/uniformTotalPressureFvPatchScalarField.C
index 7b7c08ed95e..5cfd99db24a 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/uniformTotalPressure/uniformTotalPressureFvPatchScalarField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformTotalPressure/uniformTotalPressureFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -199,7 +199,7 @@ void Foam::uniformTotalPressureFvPatchScalarField::updateCoeffs
     }
     else
     {
-        FatalErrorIn("uniformTotalPressureFvPatchScalarField::updateCoeffs()")
+        FatalErrorInFunction
             << " rho or psi set inconsitently, rho = " << rhoName_
             << ", psi = " << psiName_ << ".\n"
             << "    Set either rho or psi or neither depending on the "
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/waveSurfacePressure/waveSurfacePressureFvPatchScalarField.C b/src/finiteVolume/fields/fvPatchFields/derived/waveSurfacePressure/waveSurfacePressureFvPatchScalarField.C
index ba6db1315c9..04d46c8eed3 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/waveSurfacePressure/waveSurfacePressureFvPatchScalarField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/waveSurfacePressure/waveSurfacePressureFvPatchScalarField.C
@@ -208,10 +208,7 @@ void Foam::waveSurfacePressureFvPatchScalarField::updateCoeffs()
         }
         default:
         {
-            FatalErrorIn
-            (
-                "waveSurfacePressureFvPatchScalarField<Type>::updateCoeffs()"
-            )   << "    Unsupported temporal differencing scheme : "
+            FatalErrorInFunction
                 << ddtSchemeName << nl
                 << "    on patch " << this->patch().name()
                 << " of field " << this->dimensionedInternalField().name()
diff --git a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.C b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.C
index 21aad2c1ce1..d276bf04592 100644
--- a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -135,15 +135,8 @@ Foam::fvPatchField<Type>::fvPatchField
     }
     else
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "fvPatchField<Type>::fvPatchField"
-            "("
-            "const fvPatch& p,"
-            "const DimensionedField<Type, volMesh>& iF,"
-            "const dictionary& dict,"
-            "const bool valueRequired"
-            ")",
             dict
         )   << "Essential entry 'value' missing"
             << exit(FatalIOError);
@@ -196,7 +189,7 @@ void Foam::fvPatchField<Type>::check(const fvPatchField<Type>& ptf) const
 {
     if (&patch_ != &(ptf.patch_))
     {
-        FatalErrorIn("PatchField<Type>::check(const fvPatchField<Type>&)")
+        FatalErrorInFunction
             << "different patches for fvPatchField<Type>s"
             << abort(FatalError);
     }
@@ -433,10 +426,8 @@ void Foam::fvPatchField<Type>::operator*=
 {
     if (&patch_ != &ptf.patch())
     {
-        FatalErrorIn
-        (
-            "PatchField<Type>::operator*=(const fvPatchField<scalar>& ptf)"
-        )   << "incompatible patches for patch fields"
+        FatalErrorInFunction
+            << "incompatible patches for patch fields"
             << abort(FatalError);
     }
 
@@ -452,10 +443,7 @@ void Foam::fvPatchField<Type>::operator/=
 {
     if (&patch_ != &ptf.patch())
     {
-        FatalErrorIn
-        (
-            "PatchField<Type>::operator/=(const fvPatchField<scalar>& ptf)"
-        )   << "    incompatible patches for patch fields"
+        FatalErrorInFunction
             << abort(FatalError);
     }
 
diff --git a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchFieldNew.C b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchFieldNew.C
index e9eed24fae3..a88caa7b662 100644
--- a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchFieldNew.C
+++ b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchFieldNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -49,11 +49,8 @@ Foam::tmp<Foam::fvPatchField<Type> > Foam::fvPatchField<Type>::New
 
     if (cstrIter == patchConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "fvPatchField<Type>::New(const word&, const word&, const fvPatch&,"
-            "const DimensionedField<Type, volMesh>&)"
-        )   << "Unknown patchField type "
+        FatalErrorInFunction
+            << "Unknown patchField type "
             << patchFieldType << nl << nl
             << "Valid patchField types are :" << endl
             << patchConstructorTablePtr_->sortedToc()
@@ -134,11 +131,8 @@ Foam::tmp<Foam::fvPatchField<Type> > Foam::fvPatchField<Type>::New
 
         if (cstrIter == dictionaryConstructorTablePtr_->end())
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "fvPatchField<Type>::New(const fvPatch&, "
-                "const DimensionedField<Type, volMesh>&, "
-                "const dictionary&)",
                 dict
             )   << "Unknown patchField type " << patchFieldType
                 << " for patch type " << p.type() << nl << nl
@@ -163,11 +157,8 @@ Foam::tmp<Foam::fvPatchField<Type> > Foam::fvPatchField<Type>::New
          && patchTypeCstrIter() != cstrIter()
         )
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "fvPatchField<Type>::New(const fvPatch&, "
-                "const DimensionedField<Type, volMesh>&, "
-                "const dictionary&)",
                 dict
             )   << "inconsistent patch and patchField types for \n"
                    "    patch type " << p.type()
@@ -203,12 +194,8 @@ Foam::tmp<Foam::fvPatchField<Type> > Foam::fvPatchField<Type>::New
 
     if (cstrIter == patchMapperConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "fvPatchField<Type>::New(const fvPatchField<Type>&, "
-            "const fvPatch&, const DimensionedField<Type, volMesh>&, "
-            "const fvPatchFieldMapper&)"
-        )   << "Unknown patchField type " << ptf.type() << nl << nl
+        FatalErrorInFunction
+            << "Unknown patchField type " << ptf.type() << nl << nl
             << "Valid patchField types are :" << endl
             << patchMapperConstructorTablePtr_->sortedToc()
             << exit(FatalError);
diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclic/cyclicFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclic/cyclicFvsPatchField.C
index fc6aa90d676..6134ed61fa8 100644
--- a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclic/cyclicFvsPatchField.C
+++ b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclic/cyclicFvsPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -58,16 +58,8 @@ cyclicFvsPatchField<Type>::cyclicFvsPatchField
 {
     if (!isA<cyclicFvPatch>(this->patch()))
     {
-        FatalErrorIn
-        (
-            "cyclicFvsPatchField<Type>::cyclicFvsPatchField\n"
-            "(\n"
-            "    const cyclicFvsPatchField<Type>& ptf,\n"
-            "    const fvPatch& p,\n"
-            "    const DimensionedField<Type, surfaceMesh>& iF,\n"
-            "    const fvPatchFieldMapper& mapper\n"
-            ")\n"
-        )   << "Field type does not correspond to patch type for patch "
+        FatalErrorInFunction
+            << "Field type does not correspond to patch type for patch "
             << this->patch().index() << "." << endl
             << "Field type: " << typeName << endl
             << "Patch type: " << this->patch().type()
@@ -89,14 +81,8 @@ cyclicFvsPatchField<Type>::cyclicFvsPatchField
 {
     if (!isA<cyclicFvPatch>(p))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "cyclicFvsPatchField<Type>::cyclicFvsPatchField\n"
-            "(\n"
-            "    const fvPatch& p,\n"
-            "    const DimensionedField<Type, surfaceMesh>& iF,\n"
-            "    const dictionary& dict\n"
-            ")\n",
             dict
         )   << "patch " << this->patch().index() << " not cyclic type. "
             << "Patch type = " << p.type()
diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicACMI/cyclicACMIFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicACMI/cyclicACMIFvsPatchField.C
index 7fc9d7688c4..d230e64d5a5 100644
--- a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicACMI/cyclicACMIFvsPatchField.C
+++ b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicACMI/cyclicACMIFvsPatchField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -53,16 +53,8 @@ Foam::cyclicACMIFvsPatchField<Type>::cyclicACMIFvsPatchField
 {
     if (!isA<cyclicACMIFvPatch>(this->patch()))
     {
-        FatalErrorIn
-        (
-            "cyclicACMIFvsPatchField<Type>::cyclicACMIFvsPatchField\n"
-            "("
-                "const cyclicACMIFvsPatchField<Type>&, "
-                "const fvPatch&, "
-                "const DimensionedField<Type, surfaceMesh>&, "
-                "const fvPatchFieldMapper&"
-            ")"
-        )   << "Field type does not correspond to patch type for patch "
+        FatalErrorInFunction
+            << "Field type does not correspond to patch type for patch "
             << this->patch().index() << "." << endl
             << "Field type: " << typeName << endl
             << "Patch type: " << this->patch().type()
@@ -84,14 +76,8 @@ Foam::cyclicACMIFvsPatchField<Type>::cyclicACMIFvsPatchField
 {
     if (!isA<cyclicACMIFvPatch>(p))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "cyclicACMIFvsPatchField<Type>::cyclicACMIFvsPatchField"
-            "("
-                "const fvPatch&, "
-                "const Field<Type>&, "
-                "const dictionary&"
-            ")",
             dict
         )   << "patch " << this->patch().index() << " not cyclicACMI type. "
             << "Patch type = " << p.type()
diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicAMI/cyclicAMIFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicAMI/cyclicAMIFvsPatchField.C
index 0ffe6b9c95e..4b92ffe8938 100644
--- a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicAMI/cyclicAMIFvsPatchField.C
+++ b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicAMI/cyclicAMIFvsPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -53,16 +53,8 @@ Foam::cyclicAMIFvsPatchField<Type>::cyclicAMIFvsPatchField
 {
     if (!isA<cyclicAMIFvPatch>(this->patch()))
     {
-        FatalErrorIn
-        (
-            "cyclicAMIFvsPatchField<Type>::cyclicAMIFvsPatchField\n"
-            "("
-                "const cyclicAMIFvsPatchField<Type>&, "
-                "const fvPatch&, "
-                "const DimensionedField<Type, surfaceMesh>&, "
-                "const fvPatchFieldMapper&"
-            ")"
-        )   << "Field type does not correspond to patch type for patch "
+        FatalErrorInFunction
+            << "Field type does not correspond to patch type for patch "
             << this->patch().index() << "." << endl
             << "Field type: " << typeName << endl
             << "Patch type: " << this->patch().type()
@@ -84,14 +76,8 @@ Foam::cyclicAMIFvsPatchField<Type>::cyclicAMIFvsPatchField
 {
     if (!isA<cyclicAMIFvPatch>(p))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "cyclicAMIFvsPatchField<Type>::cyclicAMIFvsPatchField"
-            "("
-                "const fvPatch&, "
-                "const Field<Type>&, "
-                "const dictionary&"
-            ")",
             dict
         )   << "patch " << this->patch().index() << " not cyclicAMI type. "
             << "Patch type = " << p.type()
diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/empty/emptyFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/constraint/empty/emptyFvsPatchField.C
index c8929e3761b..3af9ea31689 100644
--- a/src/finiteVolume/fields/fvsPatchFields/constraint/empty/emptyFvsPatchField.C
+++ b/src/finiteVolume/fields/fvsPatchFields/constraint/empty/emptyFvsPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -58,16 +58,8 @@ emptyFvsPatchField<Type>::emptyFvsPatchField
 {
     if (!isType<emptyFvPatch>(this->patch()))
     {
-        FatalErrorIn
-        (
-            "emptyFvsPatchField<Type>::emptyFvsPatchField\n"
-            "(\n"
-            "    const emptyFvsPatchField<Type>&,\n"
-            "    const fvPatch& p,\n"
-            "    const DimensionedField<Type, surfaceMesh>& iF,\n"
-            "    const fvPatchFieldMapper& mapper\n"
-            ")\n"
-        )   << "Field type does not correspond to patch type for patch "
+        FatalErrorInFunction
+            << "Field type does not correspond to patch type for patch "
             << this->patch().index() << "." << endl
             << "Field type: " << typeName << endl
             << "Patch type: " << this->patch().type()
@@ -88,14 +80,8 @@ emptyFvsPatchField<Type>::emptyFvsPatchField
 {
     if (!isType<emptyFvPatch>(p))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "emptyFvsPatchField<Type>::emptyFvsPatchField\n"
-            "(\n"
-            "    const fvPatch& p,\n"
-            "    const Field<Type>& field,\n"
-            "    const dictionary& dict\n"
-            ")\n",
             dict
         )   << "patch " << this->patch().index() << " not empty type. "
             << "Patch type = " << p.type()
diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/processor/processorFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/constraint/processor/processorFvsPatchField.C
index 68a89e8a76c..68eaf04816e 100644
--- a/src/finiteVolume/fields/fvsPatchFields/constraint/processor/processorFvsPatchField.C
+++ b/src/finiteVolume/fields/fvsPatchFields/constraint/processor/processorFvsPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -72,16 +72,8 @@ processorFvsPatchField<Type>::processorFvsPatchField
 {
     if (!isType<processorFvPatch>(this->patch()))
     {
-        FatalErrorIn
-        (
-            "processorFvsPatchField<Type>::processorFvsPatchField\n"
-            "(\n"
-            "    const processorFvsPatchField<Type>& ptf,\n"
-            "    const fvPatch& p,\n"
-            "    const DimensionedField<Type, surfaceMesh>& iF,\n"
-            "    const fvPatchFieldMapper& mapper\n"
-            ")\n"
-        )   << "Field type does not correspond to patch type for patch "
+        FatalErrorInFunction
+            << "Field type does not correspond to patch type for patch "
             << this->patch().index() << "." << endl
             << "Field type: " << typeName << endl
             << "Patch type: " << this->patch().type()
@@ -103,14 +95,8 @@ processorFvsPatchField<Type>::processorFvsPatchField
 {
     if (!isType<processorFvPatch>(p))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "processorFvsPatchField<Type>::processorFvsPatchField\n"
-            "(\n"
-            "    const fvPatch& p,\n"
-            "    const Field<Type>& field,\n"
-            "    const dictionary& dict\n"
-            ")\n",
             dict
         )   << "patch " << this->patch().index() << " not processor type. "
             << "Patch type = " << p.type()
diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/processorCyclic/processorCyclicFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/constraint/processorCyclic/processorCyclicFvsPatchField.C
index fd63df9dd26..e633442acae 100644
--- a/src/finiteVolume/fields/fvsPatchFields/constraint/processorCyclic/processorCyclicFvsPatchField.C
+++ b/src/finiteVolume/fields/fvsPatchFields/constraint/processorCyclic/processorCyclicFvsPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -72,16 +72,8 @@ processorCyclicFvsPatchField<Type>::processorCyclicFvsPatchField
 {
     if (!isType<processorCyclicFvPatch>(this->patch()))
     {
-        FatalErrorIn
-        (
-            "processorCyclicFvsPatchField<Type>::processorCyclicFvsPatchField\n"
-            "(\n"
-            "    const processorCyclicFvsPatchField<Type>& ptf,\n"
-            "    const fvPatch& p,\n"
-            "    const DimensionedField<Type, surfaceMesh>& iF,\n"
-            "    const fvPatchFieldMapper& mapper\n"
-            ")\n"
-        )   << "Field type does not correspond to patch type for patch "
+        FatalErrorInFunction
+            << "Field type does not correspond to patch type for patch "
             << this->patch().index() << "." << endl
             << "Field type: " << typeName << endl
             << "Patch type: " << this->patch().type()
@@ -103,14 +95,8 @@ processorCyclicFvsPatchField<Type>::processorCyclicFvsPatchField
 {
     if (!isType<processorCyclicFvPatch>(p))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "processorCyclicFvsPatchField<Type>::processorCyclicFvsPatchField\n"
-            "(\n"
-            "    const fvPatch& p,\n"
-            "    const Field<Type>& field,\n"
-            "    const dictionary& dict\n"
-            ")\n",
             dict
         )   << "patch " << this->patch().index() << " not processor type. "
             << "Patch type = " << p.type()
diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/symmetry/symmetryFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetry/symmetryFvsPatchField.C
index 21ec5408265..104052a54bc 100644
--- a/src/finiteVolume/fields/fvsPatchFields/constraint/symmetry/symmetryFvsPatchField.C
+++ b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetry/symmetryFvsPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,16 +56,8 @@ symmetryFvsPatchField<Type>::symmetryFvsPatchField
 {
     if (!isType<symmetryFvPatch>(this->patch()))
     {
-        FatalErrorIn
-        (
-            "symmetryFvsPatchField<Type>::symmetryFvsPatchField\n"
-            "(\n"
-            "    const symmetryFvsPatchField<Type>& ptf,\n"
-            "    const fvPatch& p,\n"
-            "    const DimensionedField<Type, surfaceMesh>& iF,\n"
-            "    const fvPatchFieldMapper& mapper\n"
-            ")\n"
-        )   << "Field type does not correspond to patch type for patch "
+        FatalErrorInFunction
+            << "Field type does not correspond to patch type for patch "
             << this->patch().index() << "." << endl
             << "Field type: " << typeName << endl
             << "Patch type: " << this->patch().type()
@@ -86,14 +78,8 @@ symmetryFvsPatchField<Type>::symmetryFvsPatchField
 {
     if (!isType<symmetryFvPatch>(p))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "symmetryFvsPatchField<Type>::symmetryFvsPatchField\n"
-            "(\n"
-            "    const fvPatch& p,\n"
-            "    const Field<Type>& field,\n"
-            "    const dictionary& dict\n"
-            ")\n",
             dict
         )   << "patch " << this->patch().index() << " not symmetry type. "
             << "Patch type = " << p.type()
diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchField.C
index 9e3477d5864..ade5b53c0e4 100644
--- a/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchField.C
+++ b/src/finiteVolume/fields/fvsPatchFields/constraint/symmetryPlane/symmetryPlaneFvsPatchField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,16 +56,8 @@ symmetryPlaneFvsPatchField<Type>::symmetryPlaneFvsPatchField
 {
     if (!isType<symmetryPlaneFvPatch>(this->patch()))
     {
-        FatalErrorIn
-        (
-            "symmetryPlaneFvsPatchField<Type>::symmetryPlaneFvsPatchField\n"
-            "(\n"
-            "    const symmetryPlaneFvsPatchField<Type>& ptf,\n"
-            "    const fvPatch& p,\n"
-            "    const DimensionedField<Type, surfaceMesh>& iF,\n"
-            "    const fvPatchFieldMapper& mapper\n"
-            ")\n"
-        )   << "Field type does not correspond to patch type for patch "
+        FatalErrorInFunction
+            << "Field type does not correspond to patch type for patch "
             << this->patch().index() << "." << endl
             << "Field type: " << typeName << endl
             << "Patch type: " << this->patch().type()
@@ -86,14 +78,8 @@ symmetryPlaneFvsPatchField<Type>::symmetryPlaneFvsPatchField
 {
     if (!isType<symmetryPlaneFvPatch>(p))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "symmetryPlaneFvsPatchField<Type>::symmetryPlaneFvsPatchField\n"
-            "(\n"
-            "    const fvPatch& p,\n"
-            "    const Field<Type>& field,\n"
-            "    const dictionary& dict\n"
-            ")\n",
             dict
         )   << "patch " << this->patch().index() << " not symmetryPlane type. "
             << "Patch type = " << p.type()
diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/wedge/wedgeFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/constraint/wedge/wedgeFvsPatchField.C
index efa68137bd6..ec31c57f1bf 100644
--- a/src/finiteVolume/fields/fvsPatchFields/constraint/wedge/wedgeFvsPatchField.C
+++ b/src/finiteVolume/fields/fvsPatchFields/constraint/wedge/wedgeFvsPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,16 +56,8 @@ wedgeFvsPatchField<Type>::wedgeFvsPatchField
 {
     if (!isType<wedgeFvPatch>(this->patch()))
     {
-        FatalErrorIn
-        (
-            "wedgeFvsPatchField<Type>::wedgeFvsPatchField\n"
-            "(\n"
-            "    const wedgeFvsPatchField<Type>& ptf,\n"
-            "    const fvPatch& p,\n"
-            "    const DimensionedField<Type, surfaceMesh>& iF,\n"
-            "    const fvPatchFieldMapper& mapper\n"
-            ")\n"
-        )   << "Field type does not correspond to patch type for patch "
+        FatalErrorInFunction
+            << "Field type does not correspond to patch type for patch "
             << this->patch().index() << "." << endl
             << "Field type: " << typeName << endl
             << "Patch type: " << this->patch().type()
@@ -86,14 +78,8 @@ wedgeFvsPatchField<Type>::wedgeFvsPatchField
 {
     if (!isType<wedgeFvPatch>(p))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "wedgeFvsPatchField<Type>::wedgeFvsPatchField\n"
-            "(\n"
-            "    const fvPatch& p,\n"
-            "    const Field<Type>& field,\n"
-            "    dictionary& dict\n"
-            ")\n",
             dict
         )   << "patch " << this->patch().index() << " not wedge type. "
             << "Patch type = " << p.type()
diff --git a/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.C
index 99dea901dfe..713f876c7db 100644
--- a/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.C
+++ b/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -98,14 +98,8 @@ fvsPatchField<Type>::fvsPatchField
     }
     else
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "fvsPatchField<Type>::fvsPatchField\n"
-            "(\n"
-            "    const fvPatch& p,\n"
-            "    const DimensionedField<Type, surfaceMesh>& iF,\n"
-            "    const dictionary& dict\n"
-            ")\n",
             dict
         )   << "essential value entry not provided"
             << exit(FatalIOError);
@@ -152,7 +146,7 @@ void fvsPatchField<Type>::check(const fvsPatchField<Type>& ptf) const
 {
     if (&patch_ != &(ptf.patch_))
     {
-        FatalErrorIn("PatchField<Type>::check(const fvsPatchField<Type>&)")
+        FatalErrorInFunction
             << "different patches for fvsPatchField<Type>s"
             << abort(FatalError);
     }
@@ -244,10 +238,8 @@ void fvsPatchField<Type>::operator*=
 {
     if (&patch_ != &ptf.patch())
     {
-        FatalErrorIn
-        (
-            "PatchField<Type>::operator*=(const fvsPatchField<scalar>& ptf)"
-        )   << "incompatible patches for patch fields"
+        FatalErrorInFunction
+            << "incompatible patches for patch fields"
             << abort(FatalError);
     }
 
@@ -263,10 +255,7 @@ void fvsPatchField<Type>::operator/=
 {
     if (&patch_ != &ptf.patch())
     {
-        FatalErrorIn
-        (
-            "PatchField<Type>::operator/=(const fvsPatchField<scalar>& ptf)"
-        )   << "    incompatible patches for patch fields"
+        FatalErrorInFunction
             << abort(FatalError);
     }
 
diff --git a/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchFieldNew.C b/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchFieldNew.C
index 038b874f140..b1f0d186dae 100644
--- a/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchFieldNew.C
+++ b/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchFieldNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -52,11 +52,8 @@ tmp<fvsPatchField<Type> > fvsPatchField<Type>::New
 
     if (cstrIter == patchConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "fvsPatchField<Type>::New(const word&, const word&, const fvPatch&"
-            ", const Field<Type>&)"
-        )   << "Unknown patchField type "
+        FatalErrorInFunction
+            << "Unknown patchField type "
             << patchFieldType << nl << nl
             << "Valid patchField types are :" << endl
             << patchConstructorTablePtr_->sortedToc()
@@ -130,10 +127,8 @@ tmp<fvsPatchField<Type> > fvsPatchField<Type>::New
 
         if (cstrIter == dictionaryConstructorTablePtr_->end())
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "fvsPatchField<Type>::New(const fvPatch&, const Field<Type>&, "
-                "const dictionary&)",
                 dict
             )   << "Unknown patchField type " << patchFieldType
                 << " for patch type " << p.type() << nl << nl
@@ -158,10 +153,8 @@ tmp<fvsPatchField<Type> > fvsPatchField<Type>::New
          && patchTypeCstrIter() != cstrIter()
         )
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "fvsPatchField<Type>const fvPatch&, const Field<Type>&, "
-                "const dictionary&)",
                 dict
             )   << "inconsistent patch and patchField types for \n"
                    "    patch type " << p.type()
@@ -199,12 +192,8 @@ tmp<fvsPatchField<Type> > fvsPatchField<Type>::New
 
     if (cstrIter == patchMapperConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "fvsPatchField<Type>::New(const fvsPatchField<Type>&, "
-            "const fvPatch&, const Field<Type>&, "
-            "const fvPatchFieldMapper&)"
-        )   << "Unknown patchField type " << ptf.type() << nl << nl
+        FatalErrorInFunction
+            << "Unknown patchField type " << ptf.type() << nl << nl
             << "Valid patchField types are :" << endl
             << patchMapperConstructorTablePtr_->sortedToc()
             << exit(FatalError);
diff --git a/src/finiteVolume/finiteVolume/convectionSchemes/convectionScheme/convectionScheme.C b/src/finiteVolume/finiteVolume/convectionSchemes/convectionScheme/convectionScheme.C
index 14290732fb8..a7bbdeed724 100644
--- a/src/finiteVolume/finiteVolume/convectionSchemes/convectionScheme/convectionScheme.C
+++ b/src/finiteVolume/finiteVolume/convectionSchemes/convectionScheme/convectionScheme.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -71,10 +71,8 @@ tmp<convectionScheme<Type> > convectionScheme<Type>::New
 
     if (schemeData.eof())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "convectionScheme<Type>::New"
-            "(const fvMesh&, const surfaceScalarField&, Istream&)",
             schemeData
         )   << "Convection scheme not specified" << endl << endl
             << "Valid convection schemes are :" << endl
@@ -89,10 +87,8 @@ tmp<convectionScheme<Type> > convectionScheme<Type>::New
 
     if (cstrIter == IstreamConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "convectionScheme<Type>::New"
-            "(const fvMesh&, const surfaceScalarField&, Istream&)",
             schemeData
         )   << "Unknown convection scheme " << schemeName << nl << nl
             << "Valid convection schemes are :" << endl
@@ -126,12 +122,8 @@ tmp<convectionScheme<Type> > convectionScheme<Type>::New
 
     if (schemeData.eof())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "convectionScheme<Type>::New"
-               "(const fvMesh&, "
-               "const typename multivariateSurfaceInterpolationScheme<Type>"
-               "::fieldTable&, const surfaceScalarField&, Istream&)",
             schemeData
         )   << "Convection scheme not specified" << endl << endl
             << "Valid convection schemes are :" << endl
@@ -146,12 +138,8 @@ tmp<convectionScheme<Type> > convectionScheme<Type>::New
 
     if (cstrIter == MultivariateConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "convectionScheme<Type>::New"
-            "(const fvMesh&, "
-            "const typename multivariateSurfaceInterpolationScheme<Type>"
-            "::fieldTable&, const surfaceScalarField&, Istream&)",
             schemeData
         )   << "Unknown convection scheme " << schemeName << nl << nl
             << "Valid convection schemes are :" << endl
@@ -177,10 +165,8 @@ void convectionScheme<Type>::operator=(const convectionScheme<Type>& cs)
 {
     if (this == &cs)
     {
-        FatalErrorIn
-        (
-            "convectionScheme<Type>::operator=(const convectionScheme<Type>&)"
-        )   << "attempted assignment to self"
+        FatalErrorInFunction
+            << "attempted assignment to self"
             << abort(FatalError);
     }
 }
diff --git a/src/finiteVolume/finiteVolume/convectionSchemes/gaussConvectionScheme/gaussConvectionScheme.H b/src/finiteVolume/finiteVolume/convectionSchemes/gaussConvectionScheme/gaussConvectionScheme.H
index 158ff21a13b..83b50416e9d 100644
--- a/src/finiteVolume/finiteVolume/convectionSchemes/gaussConvectionScheme/gaussConvectionScheme.H
+++ b/src/finiteVolume/finiteVolume/convectionSchemes/gaussConvectionScheme/gaussConvectionScheme.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -120,7 +120,7 @@ public:
             {
                 fileNameList controlDictFiles(findEtcFiles("controlDict"));
 
-                IOWarningIn("gaussConvectionScheme", is)
+                IOWarningInFunction(is)
                     << "Unbounded 'Gauss' div scheme used in "
                        "steady-state solver, use 'bounded Gauss' "
                        "to ensure boundedness.\n"
diff --git a/src/finiteVolume/finiteVolume/d2dt2Schemes/d2dt2Scheme/d2dt2Scheme.C b/src/finiteVolume/finiteVolume/d2dt2Schemes/d2dt2Scheme/d2dt2Scheme.C
index e884642c71c..da249241153 100644
--- a/src/finiteVolume/finiteVolume/d2dt2Schemes/d2dt2Scheme/d2dt2Scheme.C
+++ b/src/finiteVolume/finiteVolume/d2dt2Schemes/d2dt2Scheme/d2dt2Scheme.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -57,9 +57,8 @@ tmp<d2dt2Scheme<Type> > d2dt2Scheme<Type>::New
 
     if (schemeData.eof())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "d2dt2Scheme<Type>::New(const fvMesh&, Istream&)",
             schemeData
         )   << "D2dt2 scheme not specified" << endl << endl
             << "Valid d2dt2 schemes are :" << endl
@@ -74,9 +73,8 @@ tmp<d2dt2Scheme<Type> > d2dt2Scheme<Type>::New
 
     if (cstrIter == IstreamConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "d2dt2Scheme<Type>::New(const fvMesh&, Istream&)",
             schemeData
         )   << "Unknown d2dt2 scheme " << schemeName << nl << nl
             << "Valid d2dt2 schemes are :" << endl
diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/CoEulerDdtScheme/CoEulerDdtScheme.C b/src/finiteVolume/finiteVolume/ddtSchemes/CoEulerDdtScheme/CoEulerDdtScheme.C
index b35a6d2d444..64cfa89943e 100644
--- a/src/finiteVolume/finiteVolume/ddtSchemes/CoEulerDdtScheme/CoEulerDdtScheme.C
+++ b/src/finiteVolume/finiteVolume/ddtSchemes/CoEulerDdtScheme/CoEulerDdtScheme.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -141,7 +141,7 @@ tmp<surfaceScalarField> CoEulerDdtScheme<Type>::CofrDeltaT() const
     }
     else
     {
-        FatalErrorIn("CoEulerDdtScheme<Type>::CofrDeltaT() const")
+        FatalErrorInFunction
             << "Incorrect dimensions of phi: " << phi.dimensions()
             << abort(FatalError);
 
@@ -717,10 +717,8 @@ CoEulerDdtScheme<Type>::fvcDdtUfCorr
     }
     else
     {
-        FatalErrorIn
-        (
-            "CoEulerDdtScheme<Type>::fvcDdtPhiCorr"
-        )   << "dimensions of Uf are not correct"
+        FatalErrorInFunction
+            << "dimensions of Uf are not correct"
             << abort(FatalError);
 
         return fluxFieldType::null();
@@ -781,10 +779,8 @@ CoEulerDdtScheme<Type>::fvcDdtPhiCorr
     }
     else
     {
-        FatalErrorIn
-        (
-            "CoEulerDdtScheme<Type>::fvcDdtPhiCorr"
-        )   << "dimensions of phi are not correct"
+        FatalErrorInFunction
+            << "dimensions of phi are not correct"
             << abort(FatalError);
 
         return fluxFieldType::null();
diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/CrankNicolsonDdtScheme/CrankNicolsonDdtScheme.C b/src/finiteVolume/finiteVolume/ddtSchemes/CrankNicolsonDdtScheme/CrankNicolsonDdtScheme.C
index 7513ac28703..79f89460bd1 100644
--- a/src/finiteVolume/finiteVolume/ddtSchemes/CrankNicolsonDdtScheme/CrankNicolsonDdtScheme.C
+++ b/src/finiteVolume/finiteVolume/ddtSchemes/CrankNicolsonDdtScheme/CrankNicolsonDdtScheme.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -1323,10 +1323,8 @@ CrankNicolsonDdtScheme<Type>::fvcDdtUfCorr
     }
     else
     {
-        FatalErrorIn
-        (
-            "CrankNicolsonDdtScheme<Type>::fvcDdtPhiCorr"
-        )   << "dimensions of Uf are not correct"
+        FatalErrorInFunction
+            << "dimensions of Uf are not correct"
             << abort(FatalError);
 
         return fluxFieldType::null();
@@ -1420,10 +1418,8 @@ CrankNicolsonDdtScheme<Type>::fvcDdtPhiCorr
     }
     else
     {
-        FatalErrorIn
-        (
-            "CrankNicolsonDdtScheme<Type>::fvcDdtPhiCorr"
-        )   << "dimensions of phi are not correct"
+        FatalErrorInFunction
+            << "dimensions of phi are not correct"
             << abort(FatalError);
 
         return fluxFieldType::null();
diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/CrankNicolsonDdtScheme/CrankNicolsonDdtScheme.H b/src/finiteVolume/finiteVolume/ddtSchemes/CrankNicolsonDdtScheme/CrankNicolsonDdtScheme.H
index 1568890dede..db2c5a08f0e 100644
--- a/src/finiteVolume/finiteVolume/ddtSchemes/CrankNicolsonDdtScheme/CrankNicolsonDdtScheme.H
+++ b/src/finiteVolume/finiteVolume/ddtSchemes/CrankNicolsonDdtScheme/CrankNicolsonDdtScheme.H
@@ -208,9 +208,8 @@ public:
         {
             if (ocCoeff_ < 0 || ocCoeff_ > 1)
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "CrankNicolsonDdtScheme(const fvMesh& mesh, Istream& is)",
                     is
                 )   << "Off-centreing coefficient = " << ocCoeff_
                     << " should be >= 0 and <= 1"
diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/EulerDdtScheme/EulerDdtScheme.C b/src/finiteVolume/finiteVolume/ddtSchemes/EulerDdtScheme/EulerDdtScheme.C
index 085bb99716e..1d64797ac72 100644
--- a/src/finiteVolume/finiteVolume/ddtSchemes/EulerDdtScheme/EulerDdtScheme.C
+++ b/src/finiteVolume/finiteVolume/ddtSchemes/EulerDdtScheme/EulerDdtScheme.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -606,10 +606,8 @@ EulerDdtScheme<Type>::fvcDdtUfCorr
     }
     else
     {
-        FatalErrorIn
-        (
-            "EulerDdtScheme<Type>::fvcDdtPhiCorr"
-        )   << "dimensions of Uf are not correct"
+        FatalErrorInFunction
+            << "dimensions of Uf are not correct"
             << abort(FatalError);
 
         return fluxFieldType::null();
@@ -670,10 +668,8 @@ EulerDdtScheme<Type>::fvcDdtPhiCorr
     }
     else
     {
-        FatalErrorIn
-        (
-            "EulerDdtScheme<Type>::fvcDdtPhiCorr"
-        )   << "dimensions of phi are not correct"
+        FatalErrorInFunction
+            << "dimensions of phi are not correct"
             << abort(FatalError);
 
         return fluxFieldType::null();
diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/SLTSDdtScheme/SLTSDdtScheme.C b/src/finiteVolume/finiteVolume/ddtSchemes/SLTSDdtScheme/SLTSDdtScheme.C
index 9693974f59d..6873c384316 100644
--- a/src/finiteVolume/finiteVolume/ddtSchemes/SLTSDdtScheme/SLTSDdtScheme.C
+++ b/src/finiteVolume/finiteVolume/ddtSchemes/SLTSDdtScheme/SLTSDdtScheme.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -139,7 +139,7 @@ tmp<volScalarField> SLTSDdtScheme<Type>::SLrDeltaT() const
     }
     else
     {
-        FatalErrorIn("SLTSDdtScheme<Type>::CofrDeltaT() const")
+        FatalErrorInFunction
             << "Incorrect dimensions of phi: " << phi.dimensions()
             << abort(FatalError);
     }
@@ -719,10 +719,8 @@ SLTSDdtScheme<Type>::fvcDdtUfCorr
     }
     else
     {
-        FatalErrorIn
-        (
-            "SLTSDdtScheme<Type>::fvcDdtPhiCorr"
-        )   << "dimensions of Uf are not correct"
+        FatalErrorInFunction
+            << "dimensions of Uf are not correct"
             << abort(FatalError);
 
         return fluxFieldType::null();
@@ -783,10 +781,8 @@ SLTSDdtScheme<Type>::fvcDdtPhiCorr
     }
     else
     {
-        FatalErrorIn
-        (
-            "SLTSDdtScheme<Type>::fvcDdtPhiCorr"
-        )   << "dimensions of phi are not correct"
+        FatalErrorInFunction
+            << "dimensions of phi are not correct"
             << abort(FatalError);
 
         return fluxFieldType::null();
diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/backwardDdtScheme/backwardDdtScheme.C b/src/finiteVolume/finiteVolume/ddtSchemes/backwardDdtScheme/backwardDdtScheme.C
index 049fd781aba..9d17e8dbfc0 100644
--- a/src/finiteVolume/finiteVolume/ddtSchemes/backwardDdtScheme/backwardDdtScheme.C
+++ b/src/finiteVolume/finiteVolume/ddtSchemes/backwardDdtScheme/backwardDdtScheme.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -828,10 +828,8 @@ backwardDdtScheme<Type>::fvcDdtUfCorr
     }
     else
     {
-        FatalErrorIn
-        (
-            "backwardDdtScheme<Type>::fvcDdtPhiCorr"
-        )   << "dimensions of phi are not correct"
+        FatalErrorInFunction
+            << "dimensions of phi are not correct"
             << abort(FatalError);
 
         return fluxFieldType::null();
@@ -906,10 +904,8 @@ backwardDdtScheme<Type>::fvcDdtPhiCorr
     }
     else
     {
-        FatalErrorIn
-        (
-            "backwardDdtScheme<Type>::fvcDdtPhiCorr"
-        )   << "dimensions of phi are not correct"
+        FatalErrorInFunction
+            << "dimensions of phi are not correct"
             << abort(FatalError);
 
         return fluxFieldType::null();
diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.C b/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.C
index 955234f5510..8777ec8973c 100644
--- a/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.C
+++ b/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.C
@@ -57,9 +57,8 @@ tmp<ddtScheme<Type> > ddtScheme<Type>::New
 
     if (schemeData.eof())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "ddtScheme<Type>::New(const fvMesh&, Istream&)",
             schemeData
         )   << "Ddt scheme not specified" << endl << endl
             << "Valid ddt schemes are :" << endl
@@ -74,9 +73,8 @@ tmp<ddtScheme<Type> > ddtScheme<Type>::New
 
     if (cstrIter == IstreamConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "ddtScheme<Type>::New(const fvMesh&, Istream&)",
             schemeData
         )   << "Unknown ddt scheme " << schemeName << nl << nl
             << "Valid ddt schemes are :" << endl
diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/localEulerDdtScheme/localEulerDdtScheme.C b/src/finiteVolume/finiteVolume/ddtSchemes/localEulerDdtScheme/localEulerDdtScheme.C
index 4b56cd4c3ce..e18f10c95ca 100644
--- a/src/finiteVolume/finiteVolume/ddtSchemes/localEulerDdtScheme/localEulerDdtScheme.C
+++ b/src/finiteVolume/finiteVolume/ddtSchemes/localEulerDdtScheme/localEulerDdtScheme.C
@@ -613,10 +613,8 @@ localEulerDdtScheme<Type>::fvcDdtUfCorr
     }
     else
     {
-        FatalErrorIn
-        (
-            "localEulerDdtScheme<Type>::fvcDdtPhiCorr"
-        )   << "dimensions of Uf are not correct"
+        FatalErrorInFunction
+            << "dimensions of Uf are not correct"
             << abort(FatalError);
 
         return fluxFieldType::null();
@@ -677,10 +675,8 @@ localEulerDdtScheme<Type>::fvcDdtPhiCorr
     }
     else
     {
-        FatalErrorIn
-        (
-            "localEulerDdtScheme<Type>::fvcDdtPhiCorr"
-        )   << "dimensions of phi are not correct"
+        FatalErrorInFunction
+            << "dimensions of phi are not correct"
             << abort(FatalError);
 
         return fluxFieldType::null();
diff --git a/src/finiteVolume/finiteVolume/divSchemes/divScheme/divScheme.C b/src/finiteVolume/finiteVolume/divSchemes/divScheme/divScheme.C
index 884e4770e9c..59622c9dc47 100644
--- a/src/finiteVolume/finiteVolume/divSchemes/divScheme/divScheme.C
+++ b/src/finiteVolume/finiteVolume/divSchemes/divScheme/divScheme.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -58,9 +58,8 @@ tmp<divScheme<Type> > divScheme<Type>::New
 
     if (schemeData.eof())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "divScheme<Type>::New(const fvMesh&, Istream&)",
             schemeData
         )   << "Div scheme not specified" << endl << endl
             << "Valid div schemes are :" << endl
@@ -75,9 +74,8 @@ tmp<divScheme<Type> > divScheme<Type>::New
 
     if (cstrIter == IstreamConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "divScheme<Type>::New(const fvMesh&, Istream&)",
             schemeData
         )   << "unknown div scheme "
             << schemeName << nl << nl
diff --git a/src/finiteVolume/finiteVolume/gradSchemes/gradScheme/gradScheme.C b/src/finiteVolume/finiteVolume/gradSchemes/gradScheme/gradScheme.C
index c7f49d3c830..503c8a978f8 100644
--- a/src/finiteVolume/finiteVolume/gradSchemes/gradScheme/gradScheme.C
+++ b/src/finiteVolume/finiteVolume/gradSchemes/gradScheme/gradScheme.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -46,10 +46,8 @@ Foam::tmp<Foam::fv::gradScheme<Type> > Foam::fv::gradScheme<Type>::New
 
     if (schemeData.eof())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "gradScheme<Type>::New"
-            "(const fvMesh& mesh, Istream& schemeData)",
             schemeData
         )   << "Grad scheme not specified" << endl << endl
             << "Valid grad schemes are :" << endl
@@ -64,10 +62,8 @@ Foam::tmp<Foam::fv::gradScheme<Type> > Foam::fv::gradScheme<Type>::New
 
     if (cstrIter == IstreamConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "gradScheme<Type>::New"
-            "(const fvMesh& mesh, Istream& schemeData)",
             schemeData
         )   << "Unknown grad scheme " << schemeName << nl << nl
             << "Valid grad schemes are :" << endl
diff --git a/src/finiteVolume/finiteVolume/gradSchemes/limitedGradSchemes/cellLimitedGrad/cellLimitedGrad.H b/src/finiteVolume/finiteVolume/gradSchemes/limitedGradSchemes/cellLimitedGrad/cellLimitedGrad.H
index 7e5074234b3..6ee95bdbcc3 100644
--- a/src/finiteVolume/finiteVolume/gradSchemes/limitedGradSchemes/cellLimitedGrad/cellLimitedGrad.H
+++ b/src/finiteVolume/finiteVolume/gradSchemes/limitedGradSchemes/cellLimitedGrad/cellLimitedGrad.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -95,9 +95,8 @@ public:
         {
             if (k_ < 0 || k_ > 1)
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "cellLimitedGrad(const fvMesh&, Istream& schemeData)",
                     schemeData
                 )   << "coefficient = " << k_
                     << " should be >= 0 and <= 1"
diff --git a/src/finiteVolume/finiteVolume/gradSchemes/limitedGradSchemes/cellMDLimitedGrad/cellMDLimitedGrad.H b/src/finiteVolume/finiteVolume/gradSchemes/limitedGradSchemes/cellMDLimitedGrad/cellMDLimitedGrad.H
index 1e5530a80e5..0ef0b44ad65 100644
--- a/src/finiteVolume/finiteVolume/gradSchemes/limitedGradSchemes/cellMDLimitedGrad/cellMDLimitedGrad.H
+++ b/src/finiteVolume/finiteVolume/gradSchemes/limitedGradSchemes/cellMDLimitedGrad/cellMDLimitedGrad.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -95,9 +95,8 @@ public:
         {
             if (k_ < 0 || k_ > 1)
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "cellMDLimitedGrad(const fvMesh&, Istream& schemeData)",
                     schemeData
                 )   << "coefficient = " << k_
                     << " should be >= 0 and <= 1"
diff --git a/src/finiteVolume/finiteVolume/gradSchemes/limitedGradSchemes/faceLimitedGrad/faceLimitedGrad.H b/src/finiteVolume/finiteVolume/gradSchemes/limitedGradSchemes/faceLimitedGrad/faceLimitedGrad.H
index 8ff5d8e21fb..a3ce867666a 100644
--- a/src/finiteVolume/finiteVolume/gradSchemes/limitedGradSchemes/faceLimitedGrad/faceLimitedGrad.H
+++ b/src/finiteVolume/finiteVolume/gradSchemes/limitedGradSchemes/faceLimitedGrad/faceLimitedGrad.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -104,9 +104,8 @@ public:
         {
             if (k_ < 0 || k_ > 1)
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "faceLimitedGrad(const fvMesh&, Istream& schemeData)",
                     schemeData
                 )   << "coefficient = " << k_
                     << " should be >= 0 and <= 1"
diff --git a/src/finiteVolume/finiteVolume/gradSchemes/limitedGradSchemes/faceMDLimitedGrad/faceMDLimitedGrad.H b/src/finiteVolume/finiteVolume/gradSchemes/limitedGradSchemes/faceMDLimitedGrad/faceMDLimitedGrad.H
index 6012f0fb2c4..9da9990353c 100644
--- a/src/finiteVolume/finiteVolume/gradSchemes/limitedGradSchemes/faceMDLimitedGrad/faceMDLimitedGrad.H
+++ b/src/finiteVolume/finiteVolume/gradSchemes/limitedGradSchemes/faceMDLimitedGrad/faceMDLimitedGrad.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -104,9 +104,8 @@ public:
         {
             if (k_ < 0 || k_ > 1)
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "faceMDLimitedGrad(const fvMesh&, Istream& schemeData)",
                     schemeData
                 )   << "coefficient = " << k_
                     << " should be >= 0 and <= 1"
diff --git a/src/finiteVolume/finiteVolume/laplacianSchemes/laplacianScheme/laplacianScheme.C b/src/finiteVolume/finiteVolume/laplacianSchemes/laplacianScheme/laplacianScheme.C
index c81d53da54c..09c7def1783 100644
--- a/src/finiteVolume/finiteVolume/laplacianSchemes/laplacianScheme/laplacianScheme.C
+++ b/src/finiteVolume/finiteVolume/laplacianSchemes/laplacianScheme/laplacianScheme.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,9 +56,8 @@ tmp<laplacianScheme<Type, GType> > laplacianScheme<Type, GType>::New
 
     if (schemeData.eof())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "laplacianScheme<Type, GType>::New(const fvMesh&, Istream&)",
             schemeData
         )   << "Laplacian scheme not specified" << endl << endl
             << "Valid laplacian schemes are :" << endl
@@ -73,9 +72,8 @@ tmp<laplacianScheme<Type, GType> > laplacianScheme<Type, GType>::New
 
     if (cstrIter == IstreamConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "laplacianScheme<Type, GType>::New(const fvMesh&, Istream&)",
             schemeData
         )   << "Unknown laplacian scheme " << schemeName << nl << nl
             << "Valid laplacian schemes are :" << endl
diff --git a/src/finiteVolume/finiteVolume/snGradSchemes/CentredFitSnGrad/CentredFitSnGradData.C b/src/finiteVolume/finiteVolume/snGradSchemes/CentredFitSnGrad/CentredFitSnGradData.C
index 36a363ea1fe..f71471dc9ad 100644
--- a/src/finiteVolume/finiteVolume/snGradSchemes/CentredFitSnGrad/CentredFitSnGradData.C
+++ b/src/finiteVolume/finiteVolume/snGradSchemes/CentredFitSnGrad/CentredFitSnGradData.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -156,11 +156,8 @@ void Foam::CentredFitSnGradData<Polynomial>::calcFit
             // (not good fit so increase weight in the centre and weight
             //  for constant and linear terms)
 
-            WarningIn
-            (
-                "CentredFitSnGradData<Polynomial>::calcFit"
-                "(const List<point>& C, const label facei"
-            )   << "Cannot fit face " << facei << " iteration " << iIt
+            WarningInFunction
+                << "Cannot fit face " << facei << " iteration " << iIt
                 << " with sum of weights " << sum(coeffsi) << nl
                 << "    Weights " << coeffsi << nl
                 << "    Linear weights " << wLin << " " << 1 - wLin << nl
@@ -198,10 +195,8 @@ void Foam::CentredFitSnGradData<Polynomial>::calcFit
     }
     else
     {
-        WarningIn
-        (
-            "CentredFitSnGradData<Polynomial>::calcFit(..)"
-        )   << "Could not fit face " << facei
+        WarningInFunction
+            << "Could not fit face " << facei
             << "    Coefficients = " << coeffsi
             << ", reverting to uncorrected." << endl;
 
diff --git a/src/finiteVolume/finiteVolume/snGradSchemes/limitedSnGrad/limitedSnGrad.H b/src/finiteVolume/finiteVolume/snGradSchemes/limitedSnGrad/limitedSnGrad.H
index c62ca9135df..ca9b2a8a5d0 100644
--- a/src/finiteVolume/finiteVolume/snGradSchemes/limitedSnGrad/limitedSnGrad.H
+++ b/src/finiteVolume/finiteVolume/snGradSchemes/limitedSnGrad/limitedSnGrad.H
@@ -135,9 +135,8 @@ public:
         {
             if (limitCoeff_ < 0 || limitCoeff_ > 1)
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "limitedSnGrad(const fvMesh& mesh, Istream& schemeData) : ",
                     schemeData
                 )   << "limitCoeff is specified as " << limitCoeff_
                     << " but should be >= 0 && <= 1"
diff --git a/src/finiteVolume/finiteVolume/snGradSchemes/snGradScheme/snGradScheme.C b/src/finiteVolume/finiteVolume/snGradSchemes/snGradScheme/snGradScheme.C
index 2f8ef75d9c4..7484c060a27 100644
--- a/src/finiteVolume/finiteVolume/snGradSchemes/snGradScheme/snGradScheme.C
+++ b/src/finiteVolume/finiteVolume/snGradSchemes/snGradScheme/snGradScheme.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -57,9 +57,8 @@ tmp<snGradScheme<Type> > snGradScheme<Type>::New
 
     if (schemeData.eof())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "snGradScheme<Type>::New(const fvMesh&, Istream&)",
             schemeData
         )   << "Discretisation scheme not specified"
             << endl << endl
@@ -75,9 +74,8 @@ tmp<snGradScheme<Type> > snGradScheme<Type>::New
 
     if (constructorIter == MeshConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "snGradScheme<Type>::New(const fvMesh&, Istream&)",
             schemeData
         )   << "Unknown discretisation scheme "
             << schemeName << nl << nl
diff --git a/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C b/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C
index 42024fee1bf..88251772188 100644
--- a/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C
+++ b/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C
@@ -43,11 +43,8 @@ void Foam::fvMatrix<Type>::addToInternalField
 {
     if (addr.size() != pf.size())
     {
-        FatalErrorIn
-        (
-            "fvMatrix<Type>::addToInternalField(const labelUList&, "
-            "const Field&, Field&)"
-        )   << "sizes of addressing and field are different"
+        FatalErrorInFunction
+            << "sizes of addressing and field are different"
             << abort(FatalError);
     }
 
@@ -83,11 +80,8 @@ void Foam::fvMatrix<Type>::subtractFromInternalField
 {
     if (addr.size() != pf.size())
     {
-        FatalErrorIn
-        (
-            "fvMatrix<Type>::addToInternalField(const labelUList&, "
-            "const Field&, Field&)"
-        )   << "sizes of addressing and field are different"
+        FatalErrorInFunction
+            << "sizes of addressing and field are different"
             << abort(FatalError);
     }
 
@@ -531,7 +525,7 @@ void Foam::fvMatrix<Type>::relax(const scalar alpha)
 
     if (debug)
     {
-        InfoIn("fvMatrix<Type>::relax(const scalar alpha)")
+        InfoInFunction
             << "Relaxing " << psi_.name() << " by " << alpha
             << endl;
     }
@@ -622,7 +616,7 @@ void Foam::fvMatrix<Type>::relax(const scalar alpha)
             psi_.mesh().comm()
         );
 
-        InfoIn("fvMatrix<Type>::relax(const scalar alpha)")
+        InfoInFunction
             << "Matrix dominance test for " << psi_.name() << nl
             << "    number of non-dominant cells   : " << nNon << nl
             << "    maximum relative non-dominance : " << maxNon << nl
@@ -880,7 +874,7 @@ flux() const
 {
     if (!psi_.mesh().fluxRequired(psi_.name()))
     {
-        FatalErrorIn("fvMatrix<Type>::flux()")
+        FatalErrorInFunction
             << "flux requested but " << psi_.name()
             << " not specified in the fluxRequired sub-dictionary"
                " of fvSchemes."
@@ -964,14 +958,14 @@ void Foam::fvMatrix<Type>::operator=(const fvMatrix<Type>& fvmv)
 {
     if (this == &fvmv)
     {
-        FatalErrorIn("fvMatrix<Type>::operator=(const fvMatrix<Type>&)")
+        FatalErrorInFunction
             << "attempted assignment to self"
             << abort(FatalError);
     }
 
     if (&psi_ != &(fvmv.psi_))
     {
-        FatalErrorIn("fvMatrix<Type>::operator=(const fvMatrix<Type>&)")
+        FatalErrorInFunction
             << "different fields"
             << abort(FatalError);
     }
@@ -1209,11 +1203,8 @@ void Foam::fvMatrix<Type>::operator*=
 
     if (faceFluxCorrectionPtr_)
     {
-        FatalErrorIn
-        (
-            "fvMatrix<Type>::operator*="
-            "(const DimensionedField<scalar, volMesh>&)"
-        )   << "cannot scale a matrix containing a faceFluxCorrection"
+        FatalErrorInFunction
+            << "cannot scale a matrix containing a faceFluxCorrection"
             << abort(FatalError);
     }
 }
@@ -1272,10 +1263,8 @@ void Foam::checkMethod
 {
     if (&fvm1.psi() != &fvm2.psi())
     {
-        FatalErrorIn
-        (
-            "checkMethod(const fvMatrix<Type>&, const fvMatrix<Type>&)"
-        )   << "incompatible fields for operation "
+        FatalErrorInFunction
+            << "incompatible fields for operation "
             << endl << "    "
             << "[" << fvm1.psi().name() << "] "
             << op
@@ -1285,10 +1274,8 @@ void Foam::checkMethod
 
     if (dimensionSet::debug && fvm1.dimensions() != fvm2.dimensions())
     {
-        FatalErrorIn
-        (
-            "checkMethod(const fvMatrix<Type>&, const fvMatrix<Type>&)"
-        )   << "incompatible dimensions for operation "
+        FatalErrorInFunction
+            << "incompatible dimensions for operation "
             << endl << "    "
             << "[" << fvm1.psi().name() << fvm1.dimensions()/dimVolume << " ] "
             << op
@@ -1308,11 +1295,7 @@ void Foam::checkMethod
 {
     if (dimensionSet::debug && fvm.dimensions()/dimVolume != df.dimensions())
     {
-        FatalErrorIn
-        (
-            "checkMethod(const fvMatrix<Type>&, const GeometricField<Type, "
-            "fvPatchField, volMesh>&)"
-        )   <<  "incompatible dimensions for operation "
+        FatalErrorInFunction
             << endl << "    "
             << "[" << fvm.psi().name() << fvm.dimensions()/dimVolume << " ] "
             << op
@@ -1332,10 +1315,8 @@ void Foam::checkMethod
 {
     if (dimensionSet::debug && fvm.dimensions()/dimVolume != dt.dimensions())
     {
-        FatalErrorIn
-        (
-            "checkMethod(const fvMatrix<Type>&, const dimensioned<Type>&)"
-        )   << "incompatible dimensions for operation "
+        FatalErrorInFunction
+            << "incompatible dimensions for operation "
             << endl << "    "
             << "[" << fvm.psi().name() << fvm.dimensions()/dimVolume << " ] "
             << op
diff --git a/src/finiteVolume/fvMatrices/fvMatrix/fvMatrixSolve.C b/src/finiteVolume/fvMatrices/fvMatrix/fvMatrixSolve.C
index d7e7d0a3578..ff588e947f7 100644
--- a/src/finiteVolume/fvMatrices/fvMatrix/fvMatrixSolve.C
+++ b/src/finiteVolume/fvMatrices/fvMatrix/fvMatrixSolve.C
@@ -87,9 +87,8 @@ Foam::SolverPerformance<Type> Foam::fvMatrix<Type>::solve
     }
     else
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "fvMatrix<Type>::solve(const dictionary& solverControls)",
             solverControls
         )   << "Unknown type " << type
             << "; currently supported solver types are segregated and coupled"
diff --git a/src/finiteVolume/fvMesh/extendedStencil/cellToCell/extendedCellToCellStencil.C b/src/finiteVolume/fvMesh/extendedStencil/cellToCell/extendedCellToCellStencil.C
index 4852332c320..54e0eb446e8 100644
--- a/src/finiteVolume/fvMesh/extendedStencil/cellToCell/extendedCellToCellStencil.C
+++ b/src/finiteVolume/fvMesh/extendedStencil/cellToCell/extendedCellToCellStencil.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -43,11 +43,8 @@ Foam::extendedCellToCellStencil::extendedCellToCellStencil(const polyMesh& mesh)
 
             if (!cpp.parallel() || cpp.separated())
             {
-                FatalErrorIn
-                (
-                    "extendedCellToCellStencil::extendedCellToCellStencil"
-                    "(const polyMesh&)"
-                )   << "Coupled patches with transformations not supported."
+                FatalErrorInFunction
+                    << "Coupled patches with transformations not supported."
                     << endl
                     << "Problematic patch " << cpp.name() << exit(FatalError);
             }
diff --git a/src/finiteVolume/fvMesh/extendedStencil/cellToCell/globalIndexStencils/cellToCellStencil.C b/src/finiteVolume/fvMesh/extendedStencil/cellToCell/globalIndexStencils/cellToCellStencil.C
index c2bc9d7e7ff..fd48842f436 100644
--- a/src/finiteVolume/fvMesh/extendedStencil/cellToCell/globalIndexStencils/cellToCellStencil.C
+++ b/src/finiteVolume/fvMesh/extendedStencil/cellToCell/globalIndexStencils/cellToCellStencil.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -123,7 +123,7 @@ void Foam::cellToCellStencil::merge
 
     if (resultI != result.size())
     {
-        FatalErrorIn("cellToCellStencil::merge(..)")
+        FatalErrorInFunction
             << "problem" << abort(FatalError);
     }
 
diff --git a/src/finiteVolume/fvMesh/extendedStencil/cellToFace/extendedCellToFaceStencil.C b/src/finiteVolume/fvMesh/extendedStencil/cellToFace/extendedCellToFaceStencil.C
index a960f5a8515..5409e01b98d 100644
--- a/src/finiteVolume/fvMesh/extendedStencil/cellToFace/extendedCellToFaceStencil.C
+++ b/src/finiteVolume/fvMesh/extendedStencil/cellToFace/extendedCellToFaceStencil.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -113,11 +113,8 @@ Foam::extendedCellToFaceStencil::extendedCellToFaceStencil(const polyMesh& mesh)
 
             if (!cpp.parallel() || cpp.separated())
             {
-                FatalErrorIn
-                (
-                    "extendedCellToFaceStencil::extendedCellToFaceStencil"
-                    "(const polyMesh&)"
-                )   << "Coupled patches with transformations not supported."
+                FatalErrorInFunction
+                    << "Coupled patches with transformations not supported."
                     << endl
                     << "Problematic patch " << cpp.name() << exit(FatalError);
             }
diff --git a/src/finiteVolume/fvMesh/extendedStencil/cellToFace/extendedUpwindCellToFaceStencil.C b/src/finiteVolume/fvMesh/extendedStencil/cellToFace/extendedUpwindCellToFaceStencil.C
index f63109fa0bc..e3f4c79ebd4 100644
--- a/src/finiteVolume/fvMesh/extendedStencil/cellToFace/extendedUpwindCellToFaceStencil.C
+++ b/src/finiteVolume/fvMesh/extendedStencil/cellToFace/extendedUpwindCellToFaceStencil.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -168,10 +168,8 @@ void Foam::extendedUpwindCellToFaceStencil::transportStencil
         }
         if (n != transportedStencil.size())
         {
-            FatalErrorIn
-            (
-                "extendedUpwindCellToFaceStencil::transportStencil(..)"
-            )   << "problem:" << faceStencilSet
+            FatalErrorInFunction
+                << "problem:" << faceStencilSet
                 << abort(FatalError);
         }
     }
@@ -190,10 +188,8 @@ void Foam::extendedUpwindCellToFaceStencil::transportStencil
         }
         if (n != transportedStencil.size())
         {
-            FatalErrorIn
-            (
-                "extendedUpwindCellToFaceStencil::transportStencil(..)"
-            )   << "problem:" << faceStencilSet
+            FatalErrorInFunction
+                << "problem:" << faceStencilSet
                 << abort(FatalError);
         }
     }
diff --git a/src/finiteVolume/fvMesh/extendedStencil/cellToFace/globalIndexStencils/FECCellToFaceStencil.C b/src/finiteVolume/fvMesh/extendedStencil/cellToFace/globalIndexStencils/FECCellToFaceStencil.C
index 78425f1190b..235091fa3ac 100644
--- a/src/finiteVolume/fvMesh/extendedStencil/cellToFace/globalIndexStencils/FECCellToFaceStencil.C
+++ b/src/finiteVolume/fvMesh/extendedStencil/cellToFace/globalIndexStencils/FECCellToFaceStencil.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -211,7 +211,7 @@ void Foam::FECCellToFaceStencil::calcFaceStencil
         {
             if (iter.key() == globalOwn || iter.key() == globalNei)
             {
-                FatalErrorIn("FECCellToFaceStencil::calcFaceStencil(..)")
+                FatalErrorInFunction
                     << "problem:" << faceStencilSet
                     << abort(FatalError);
             }
@@ -272,10 +272,8 @@ void Foam::FECCellToFaceStencil::calcFaceStencil
                 {
                     if (iter.key() == globalOwn || iter.key() == globalNei)
                     {
-                        FatalErrorIn
-                        (
-                            "FECCellToFaceStencil::calcFaceStencil(..)"
-                        )   << "problem:" << faceStencilSet
+                        FatalErrorInFunction
+                            << "problem:" << faceStencilSet
                             << abort(FatalError);
                     }
                     faceStencil[faceI][n++] = iter.key();
@@ -283,7 +281,7 @@ void Foam::FECCellToFaceStencil::calcFaceStencil
 
                 if (n != faceStencil[faceI].size())
                 {
-                    FatalErrorIn("problem") << "n:" << n
+                    FatalErrorInFunction
                         << " size:" << faceStencil[faceI].size()
                         << abort(FatalError);
                 }
@@ -338,10 +336,8 @@ void Foam::FECCellToFaceStencil::calcFaceStencil
                 {
                     if (iter.key() == globalOwn)
                     {
-                        FatalErrorIn
-                        (
-                            "FECCellToFaceStencil::calcFaceStencil(..)"
-                        )   << "problem:" << faceStencilSet
+                        FatalErrorInFunction
+                            << "problem:" << faceStencilSet
                             << abort(FatalError);
                     }
                     faceStencil[faceI][n++] = iter.key();
@@ -358,7 +354,7 @@ void Foam::FECCellToFaceStencil::calcFaceStencil
         label globalOwn = globalNumbering().toGlobal(own[faceI]);
         if (faceStencil[faceI][0] != globalOwn)
         {
-            FatalErrorIn("FECCellToFaceStencil::calcFaceStencil(..)")
+            FatalErrorInFunction
                 << "problem:" << faceStencil[faceI]
                 << " globalOwn:" << globalOwn
                 << abort(FatalError);
@@ -366,7 +362,7 @@ void Foam::FECCellToFaceStencil::calcFaceStencil
         label globalNei = globalNumbering().toGlobal(nei[faceI]);
         if (faceStencil[faceI][1] != globalNei)
         {
-            FatalErrorIn("FECCellToFaceStencil::calcFaceStencil(..)")
+            FatalErrorInFunction
                 << "problem:" << faceStencil[faceI]
                 << " globalNei:" << globalNei
                 << abort(FatalError);
@@ -387,7 +383,7 @@ void Foam::FECCellToFaceStencil::calcFaceStencil
                 label globalOwn = globalNumbering().toGlobal(own[faceI]);
                 if (faceStencil[faceI][0] != globalOwn)
                 {
-                    FatalErrorIn("FECCellToFaceStencil::calcFaceStencil(..)")
+                    FatalErrorInFunction
                         << "problem:" << faceStencil[faceI]
                         << " globalOwn:" << globalOwn
                         << abort(FatalError);
@@ -395,7 +391,7 @@ void Foam::FECCellToFaceStencil::calcFaceStencil
                 label globalNei = neiGlobalCell[faceI-mesh().nInternalFaces()];
                 if (faceStencil[faceI][1] != globalNei)
                 {
-                    FatalErrorIn("FECCellToFaceStencil::calcFaceStencil(..)")
+                    FatalErrorInFunction
                         << "problem:" << faceStencil[faceI]
                         << " globalNei:" << globalNei
                         << abort(FatalError);
@@ -411,7 +407,7 @@ void Foam::FECCellToFaceStencil::calcFaceStencil
                 label globalOwn = globalNumbering().toGlobal(own[faceI]);
                 if (faceStencil[faceI][0] != globalOwn)
                 {
-                    FatalErrorIn("FECCellToFaceStencil::calcFaceStencil(..)")
+                    FatalErrorInFunction
                         << "problem:" << faceStencil[faceI]
                         << " globalOwn:" << globalOwn
                         << abort(FatalError);
diff --git a/src/finiteVolume/fvMesh/extendedStencil/cellToFace/globalIndexStencils/cellToFaceStencil.C b/src/finiteVolume/fvMesh/extendedStencil/cellToFace/globalIndexStencils/cellToFaceStencil.C
index c57cf9e1005..f61744941e4 100644
--- a/src/finiteVolume/fvMesh/extendedStencil/cellToFace/globalIndexStencils/cellToFaceStencil.C
+++ b/src/finiteVolume/fvMesh/extendedStencil/cellToFace/globalIndexStencils/cellToFaceStencil.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -124,7 +124,7 @@ void Foam::cellToFaceStencil::merge
 
     if (resultI != result.size())
     {
-        FatalErrorIn("cellToFaceStencil::merge(..)")
+        FatalErrorInFunction
             << "problem" << abort(FatalError);
     }
 
diff --git a/src/finiteVolume/fvMesh/extendedStencil/faceToCell/extendedFaceToCellStencil.C b/src/finiteVolume/fvMesh/extendedStencil/faceToCell/extendedFaceToCellStencil.C
index 4f364dc2887..ea4899d57d9 100644
--- a/src/finiteVolume/fvMesh/extendedStencil/faceToCell/extendedFaceToCellStencil.C
+++ b/src/finiteVolume/fvMesh/extendedStencil/faceToCell/extendedFaceToCellStencil.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -45,11 +45,8 @@ Foam::extendedFaceToCellStencil::extendedFaceToCellStencil(const polyMesh& mesh)
 
             if (!cpp.parallel() || cpp.separated())
             {
-                FatalErrorIn
-                (
-                    "extendedFaceToCellStencil::extendedFaceToCellStencil"
-                    "(const polyMesh&)"
-                )   << "Coupled patches with transformations not supported."
+                FatalErrorInFunction
+                    << "Coupled patches with transformations not supported."
                     << endl
                     << "Problematic patch " << cpp.name() << exit(FatalError);
             }
diff --git a/src/finiteVolume/fvMesh/fvBoundaryMesh/fvBoundaryMesh.C b/src/finiteVolume/fvMesh/fvBoundaryMesh/fvBoundaryMesh.C
index 035ab426153..0d7f7ebabbd 100644
--- a/src/finiteVolume/fvMesh/fvBoundaryMesh/fvBoundaryMesh.C
+++ b/src/finiteVolume/fvMesh/fvBoundaryMesh/fvBoundaryMesh.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -149,10 +149,8 @@ const Foam::fvPatch& Foam::fvBoundaryMesh::operator[]
 
     if (patchI < 0)
     {
-        FatalErrorIn
-        (
-            "fvBoundaryMesh::operator[](const word&) const"
-        )   << "Patch named " << patchName << " not found." << nl
+        FatalErrorInFunction
+            << "Patch named " << patchName << " not found." << nl
             << abort(FatalError);
     }
 
@@ -169,10 +167,8 @@ Foam::fvPatch& Foam::fvBoundaryMesh::operator[]
 
     if (patchI < 0)
     {
-        FatalErrorIn
-        (
-            "fvBoundaryMesh::operator[](const word&)"
-        )   << "Patch named " << patchName << " not found." << nl
+        FatalErrorInFunction
+            << "Patch named " << patchName << " not found." << nl
             << abort(FatalError);
     }
 
diff --git a/src/finiteVolume/fvMesh/fvMesh.C b/src/finiteVolume/fvMesh/fvMesh.C
index 3b895bfe36f..dc19051e71e 100644
--- a/src/finiteVolume/fvMesh/fvMesh.C
+++ b/src/finiteVolume/fvMesh/fvMesh.C
@@ -466,10 +466,8 @@ void Foam::fvMesh::addFvPatches
 {
     if (boundary().size())
     {
-        FatalErrorIn
-        (
-            "fvMesh::addFvPatches(const List<polyPatch*>&, const bool)"
-        )   << " boundary already exists"
+        FatalErrorInFunction
+            << " boundary already exists"
             << abort(FatalError);
     }
 
@@ -586,7 +584,7 @@ void Foam::fvMesh::mapFields(const mapPolyMesh& meshMap)
      || meshMap.faceMap().size() != nFaces()
     )
     {
-        FatalErrorIn("fvMesh::mapFields(const mapPolyMesh&)")
+        FatalErrorInFunction
             << "mapPolyMesh does not correspond to the old mesh."
             << " nCells:" << nCells()
             << " cellMap:" << meshMap.cellMap().size()
@@ -815,7 +813,7 @@ void Foam::fvMesh::updateMesh(const mapPolyMesh& mpm)
         // Few checks
         if (VPtr_ && (V().size() != mpm.nOldCells()))
         {
-            FatalErrorIn("fvMesh::updateMesh(const mapPolyMesh&)")
+            FatalErrorInFunction
                 << "V:" << V().size()
                 << " not equal to the number of old cells "
                 << mpm.nOldCells()
@@ -823,7 +821,7 @@ void Foam::fvMesh::updateMesh(const mapPolyMesh& mpm)
         }
         if (V0Ptr_ && (V0Ptr_->size() != mpm.nOldCells()))
         {
-            FatalErrorIn("fvMesh::updateMesh(const mapPolyMesh&)")
+            FatalErrorInFunction
                 << "V0:" << V0Ptr_->size()
                 << " not equal to the number of old cells "
                 << mpm.nOldCells()
@@ -831,7 +829,7 @@ void Foam::fvMesh::updateMesh(const mapPolyMesh& mpm)
         }
         if (V00Ptr_ && (V00Ptr_->size() != mpm.nOldCells()))
         {
-            FatalErrorIn("fvMesh::updateMesh(const mapPolyMesh&)")
+            FatalErrorInFunction
                 << "V0:" << V00Ptr_->size()
                 << " not equal to the number of old cells "
                 << mpm.nOldCells()
diff --git a/src/finiteVolume/fvMesh/fvMeshGeometry.C b/src/finiteVolume/fvMesh/fvMeshGeometry.C
index 3c61706f46b..b16164fa536 100644
--- a/src/finiteVolume/fvMesh/fvMeshGeometry.C
+++ b/src/finiteVolume/fvMesh/fvMeshGeometry.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -53,7 +53,7 @@ void fvMesh::makeSf() const
     // if the pointer is already set
     if (SfPtr_)
     {
-        FatalErrorIn("fvMesh::makeSf()")
+        FatalErrorInFunction
             << "face areas already exist"
             << abort(FatalError);
     }
@@ -90,7 +90,7 @@ void fvMesh::makeMagSf() const
     // if the pointer is already set
     if (magSfPtr_)
     {
-        FatalErrorIn("void fvMesh::makeMagSf()")
+        FatalErrorInFunction
             << "mag face areas already exist"
             << abort(FatalError);
     }
@@ -128,7 +128,7 @@ void fvMesh::makeC() const
     // if the pointer is already set
     if (CPtr_)
     {
-        FatalErrorIn("fvMesh::makeC()")
+        FatalErrorInFunction
             << "cell centres already exist"
             << abort(FatalError);
     }
@@ -170,7 +170,7 @@ void fvMesh::makeCf() const
     // if the pointer is already set
     if (CfPtr_)
     {
-        FatalErrorIn("fvMesh::makeCf()")
+        FatalErrorInFunction
             << "face centres already exist"
             << abort(FatalError);
     }
@@ -232,7 +232,7 @@ const volScalarField::DimensionedInternalField& fvMesh::V0() const
 {
     if (!V0Ptr_)
     {
-        FatalErrorIn("fvMesh::V0() const")
+        FatalErrorInFunction
             << "V0 is not available"
             << abort(FatalError);
     }
@@ -245,7 +245,7 @@ volScalarField::DimensionedInternalField& fvMesh::setV0()
 {
     if (!V0Ptr_)
     {
-        FatalErrorIn("fvMesh::setV0()")
+        FatalErrorInFunction
             << "V0 is not available"
             << abort(FatalError);
     }
@@ -439,7 +439,7 @@ const surfaceScalarField& fvMesh::phi() const
 {
     if (!phiPtr_)
     {
-        FatalErrorIn("fvMesh::phi()")
+        FatalErrorInFunction
             << "mesh flux field does not exist, is the mesh actually moving?"
             << abort(FatalError);
     }
@@ -459,7 +459,7 @@ surfaceScalarField& fvMesh::setPhi()
 {
     if (!phiPtr_)
     {
-        FatalErrorIn("fvMesh::setPhi()")
+        FatalErrorInFunction
             << "mesh flux field does not exist, is the mesh actually moving?"
             << abort(FatalError);
     }
diff --git a/src/finiteVolume/fvMesh/fvMeshMapper/fvPatchMapper.C b/src/finiteVolume/fvMesh/fvMeshMapper/fvPatchMapper.C
index ada0749df30..9c0ff2cec67 100644
--- a/src/finiteVolume/fvMesh/fvMeshMapper/fvPatchMapper.C
+++ b/src/finiteVolume/fvMesh/fvMeshMapper/fvPatchMapper.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -41,10 +41,8 @@ void Foam::fvPatchMapper::calcAddressing() const
      || weightsPtr_
     )
     {
-        FatalErrorIn
-        (
-            "void fvPatchMapper::calcAddressing() const)"
-        )   << "Addressing already calculated"
+        FatalErrorInFunction
+            << "Addressing already calculated"
             << abort(FatalError);
     }
 
@@ -95,10 +93,8 @@ void Foam::fvPatchMapper::calcAddressing() const
             if (min(addr) < 0)
             {
                 //FatalErrorIn
-                WarningIn
-                (
-                    "void fvPatchMapper::calcAddressing() const"
-                )   << "Unmapped entry in patch mapping for patch "
+                WarningInFunction
+                    << "Unmapped entry in patch mapping for patch "
                     << patch_.index() << " named " << patch_.name()
                     //<< abort(FatalError);
                     << endl;
@@ -195,10 +191,8 @@ void Foam::fvPatchMapper::calcAddressing() const
             {
                 if (min(addr[i]) < 0)
                 {
-                    FatalErrorIn
-                    (
-                        "void fvPatchMapper::calcAddressing() const"
-                    )   << "Error in patch mapping for patch "
+                    FatalErrorInFunction
+                        << "Error in patch mapping for patch "
                         << patch_.index() << " named " << patch_.name()
                         << abort(FatalError);
                 }
@@ -250,10 +244,8 @@ const Foam::labelUList& Foam::fvPatchMapper::directAddressing() const
 {
     if (!direct())
     {
-        FatalErrorIn
-        (
-            "const labelUList& fvPatchMapper::directAddressing() const"
-        )   << "Requested direct addressing for an interpolative mapper."
+        FatalErrorInFunction
+            << "Requested direct addressing for an interpolative mapper."
             << abort(FatalError);
     }
 
@@ -270,10 +262,8 @@ const Foam::labelListList& Foam::fvPatchMapper::addressing() const
 {
     if (direct())
     {
-        FatalErrorIn
-        (
-            "const labelListList& fvPatchMapper::addressing() const"
-        )   << "Requested interpolative addressing for a direct mapper."
+        FatalErrorInFunction
+            << "Requested interpolative addressing for a direct mapper."
             << abort(FatalError);
     }
 
@@ -290,10 +280,8 @@ const Foam::scalarListList& Foam::fvPatchMapper::weights() const
 {
     if (direct())
     {
-        FatalErrorIn
-        (
-            "const scalarListList& fvPatchMapper::weights() const"
-        )   << "Requested interpolative weights for a direct mapper."
+        FatalErrorInFunction
+            << "Requested interpolative weights for a direct mapper."
             << abort(FatalError);
     }
 
diff --git a/src/finiteVolume/fvMesh/fvMeshMapper/fvSurfaceMapper.C b/src/finiteVolume/fvMesh/fvMeshMapper/fvSurfaceMapper.C
index 206f57d47b2..c9889b70301 100644
--- a/src/finiteVolume/fvMesh/fvMeshMapper/fvSurfaceMapper.C
+++ b/src/finiteVolume/fvMesh/fvMeshMapper/fvSurfaceMapper.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -43,7 +43,7 @@ void Foam::fvSurfaceMapper::calcAddressing() const
      || insertedObjectLabelsPtr_
     )
     {
-        FatalErrorIn("void fvSurfaceMapper::calcAddressing() const)")
+        FatalErrorInFunction
             << "Addressing already calculated"
             << abort(FatalError);
     }
@@ -174,11 +174,8 @@ const Foam::labelUList& Foam::fvSurfaceMapper::directAddressing() const
 {
     if (!direct())
     {
-        FatalErrorIn
-        (
-            "const labelUList& fvSurfaceMapper::"
-            "directAddressing() const"
-        )   << "Requested direct addressing for an interpolative mapper."
+        FatalErrorInFunction
+            << "Requested direct addressing for an interpolative mapper."
             << abort(FatalError);
     }
 
@@ -195,10 +192,8 @@ const Foam::labelListList& Foam::fvSurfaceMapper::addressing() const
 {
     if (direct())
     {
-        FatalErrorIn
-        (
-            "const labelListList& fvSurfaceMapper::addressing() const"
-        )   << "Requested interpolative addressing for a direct mapper."
+        FatalErrorInFunction
+            << "Requested interpolative addressing for a direct mapper."
             << abort(FatalError);
     }
 
@@ -215,10 +210,8 @@ const Foam::scalarListList& Foam::fvSurfaceMapper::weights() const
 {
     if (direct())
     {
-        FatalErrorIn
-        (
-            "const scalarListList& fvSurfaceMapper::weights() const"
-        )   << "Requested interpolative weights for a direct mapper."
+        FatalErrorInFunction
+            << "Requested interpolative weights for a direct mapper."
             << abort(FatalError);
     }
 
diff --git a/src/finiteVolume/fvMesh/fvMeshSubset/fvMeshSubset.C b/src/finiteVolume/fvMesh/fvMeshSubset/fvMeshSubset.C
index 3a377e2ffa9..bb88b6c09a2 100644
--- a/src/finiteVolume/fvMesh/fvMeshSubset/fvMeshSubset.C
+++ b/src/finiteVolume/fvMesh/fvMeshSubset/fvMeshSubset.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -46,8 +46,7 @@ bool Foam::fvMeshSubset::checkCellSubset() const
 {
     if (fvMeshSubsetPtr_.empty())
     {
-        FatalErrorIn("bool fvMeshSubset::checkCellSubset() const")
-            << "Mesh subset not set.  Please set the cell map using "
+        FatalErrorInFunction
             << "void setCellSubset(const labelHashSet& cellsToSubset)" << endl
             << "before attempting to access subset data"
             << abort(FatalError);
@@ -394,11 +393,8 @@ void Foam::fvMeshSubset::setCellSubset
     }
     else if (wantedPatchID < 0 || wantedPatchID >= oldPatches.size())
     {
-        FatalErrorIn
-        (
-            "fvMeshSubset::setCellSubset(const labelHashSet&"
-            ", const label patchID)"
-        )   << "Non-existing patch index " << wantedPatchID << endl
+        FatalErrorInFunction
+            << "Non-existing patch index " << wantedPatchID << endl
             << "Should be between 0 and " << oldPatches.size()-1
             << abort(FatalError);
     }
@@ -774,11 +770,8 @@ void Foam::fvMeshSubset::setLargeCellSubset
 
     if (region.size() != oldCells.size())
     {
-        FatalErrorIn
-        (
-            "fvMeshSubset::setCellSubset(const labelList&"
-            ", const label, const label, const bool)"
-        )   << "Size of region " << region.size()
+        FatalErrorInFunction
+            << "Size of region " << region.size()
             << " is not equal to number of cells in mesh " << oldCells.size()
             << abort(FatalError);
     }
@@ -794,11 +787,8 @@ void Foam::fvMeshSubset::setLargeCellSubset
     }
     else if (wantedPatchID < 0 || wantedPatchID >= oldPatches.size())
     {
-        FatalErrorIn
-        (
-            "fvMeshSubset::setCellSubset(const labelList&"
-            ", const label, const label, const bool)"
-        )   << "Non-existing patch index " << wantedPatchID << endl
+        FatalErrorInFunction
+            << "Non-existing patch index " << wantedPatchID << endl
             << "Should be between 0 and " << oldPatches.size()-1
             << abort(FatalError);
     }
@@ -1045,11 +1035,8 @@ void Foam::fvMeshSubset::setLargeCellSubset
 
     if (faceI != nFacesInSet)
     {
-        FatalErrorIn
-        (
-            "fvMeshSubset::setCellSubset(const labelList&"
-            ", const label, const label, const bool)"
-        )   << "Problem" << abort(FatalError);
+        FatalErrorInFunction
+            << "Problem" << abort(FatalError);
     }
 
 
diff --git a/src/finiteVolume/fvMesh/fvPatches/derived/regionCoupled/regionCoupledFvPatch.C b/src/finiteVolume/fvMesh/fvPatches/derived/regionCoupled/regionCoupledFvPatch.C
index d43c48ac9b6..6f68e1abff9 100644
--- a/src/finiteVolume/fvMesh/fvPatches/derived/regionCoupled/regionCoupledFvPatch.C
+++ b/src/finiteVolume/fvMesh/fvPatches/derived/regionCoupled/regionCoupledFvPatch.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -21,10 +21,6 @@ License
     You should have received a copy of the GNU General Public License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
-Description
-    coupledFvPatch is an abstract base class for patches that couple regions
-    of the computational domain e.g. cyclic and processor-processor links.
-
 \*---------------------------------------------------------------------------*/
 
 #include "regionCoupledFvPatch.H"
@@ -62,18 +58,10 @@ Foam::tmp<Foam::labelField> Foam::regionCoupledFvPatch::internalFieldTransfer
     }
     else
     {
-        /*
-        WarningIn
-        (
-            "regionCoupledFvPatch::internalFieldTransfer"
-            "( const Pstream::commsTypes, const labelUList&)"
-            " the internal field can not be transfered "
-            " as the neighbFvPatch are in different meshes "
-        );
-        */
         return tmp<labelField>(new labelField(iF.size(), 0));
 
     }
+
     return tmp<labelField>(NULL);
 }
 
diff --git a/src/finiteVolume/fvMesh/fvPatches/fvPatch/fvPatchNew.C b/src/finiteVolume/fvMesh/fvPatches/fvPatch/fvPatchNew.C
index cb8973ebc9e..257825ea619 100644
--- a/src/finiteVolume/fvMesh/fvPatches/fvPatch/fvPatchNew.C
+++ b/src/finiteVolume/fvMesh/fvPatches/fvPatch/fvPatchNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -47,7 +47,7 @@ Foam::autoPtr<Foam::fvPatch> Foam::fvPatch::New
 
     if (cstrIter == polyPatchConstructorTablePtr_->end())
     {
-        FatalErrorIn("fvPatch::New(const polyPatch&, const fvBoundaryMesh&)")
+        FatalErrorInFunction
             << "Unknown fvPatch type " << patch.type() << nl
             << "Valid fvPatch types are :"
             << polyPatchConstructorTablePtr_->sortedToc()
diff --git a/src/finiteVolume/fvMesh/singleCellFvMesh/singleCellFvMesh.C b/src/finiteVolume/fvMesh/singleCellFvMesh/singleCellFvMesh.C
index 22ba9a13936..6cb95ee928b 100644
--- a/src/finiteVolume/fvMesh/singleCellFvMesh/singleCellFvMesh.C
+++ b/src/finiteVolume/fvMesh/singleCellFvMesh/singleCellFvMesh.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -55,10 +55,8 @@ void Foam::singleCellFvMesh::agglomerateMesh
             {
                 if (agglom[patchI][i] < 0  || agglom[patchI][i] >= pp.size())
                 {
-                    FatalErrorIn
-                    (
-                        "singleCellFvMesh::agglomerateMesh(..)"
-                    )   << "agglomeration on patch " << patchI
+                    FatalErrorInFunction
+                        << "agglomeration on patch " << patchI
                         << " is out of range 0.." << pp.size()-1
                         << exit(FatalError);
                 }
@@ -116,10 +114,8 @@ void Foam::singleCellFvMesh::agglomerateMesh
                         // Check that zone numbers are still the same.
                         if (iter() != nbrZone)
                         {
-                            FatalErrorIn
-                            (
-                                "singleCellFvMesh::agglomerateMesh(..)"
-                            )   << "agglomeration is not synchronised across"
+                            FatalErrorInFunction
+                                << "agglomeration is not synchronised across"
                                 << " coupled patch " << pp.name()
                                 << endl
                                 << "Local agglomeration " << myZone
@@ -206,10 +202,8 @@ void Foam::singleCellFvMesh::agglomerateMesh
 
                     if (upp.edgeLoops().size() != 1)
                     {
-                        FatalErrorIn
-                        (
-                            "singleCellFvMesh::agglomerateMesh(..)"
-                        )   << "agglomeration does not create a"
+                        FatalErrorInFunction
+                            << "agglomeration does not create a"
                             << " single, non-manifold"
                             << " face for agglomeration " << myAgglom
                             << " on patch " <<  patchI
diff --git a/src/finiteVolume/fvMesh/wallDist/patchDistMethods/patchDistMethod/patchDistMethod.C b/src/finiteVolume/fvMesh/wallDist/patchDistMethods/patchDistMethod/patchDistMethod.C
index d84a03a5a17..617671bef48 100644
--- a/src/finiteVolume/fvMesh/wallDist/patchDistMethods/patchDistMethod/patchDistMethod.C
+++ b/src/finiteVolume/fvMesh/wallDist/patchDistMethods/patchDistMethod/patchDistMethod.C
@@ -65,7 +65,7 @@ Foam::autoPtr<Foam::patchDistMethod> Foam::patchDistMethod::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("patchDistMethod::New")
+        FatalErrorInFunction
             << "Unknown patchDistMethodType type "
             << patchDistMethodType << endl << endl
             << "Valid patchDistMethod types are : " << endl
diff --git a/src/finiteVolume/fvMesh/wallDist/wallDist/wallDist.C b/src/finiteVolume/fvMesh/wallDist/wallDist/wallDist.C
index 991592baeba..b84c345a140 100644
--- a/src/finiteVolume/fvMesh/wallDist/wallDist/wallDist.C
+++ b/src/finiteVolume/fvMesh/wallDist/wallDist/wallDist.C
@@ -169,7 +169,7 @@ const Foam::volVectorField& Foam::wallDist::n() const
 {
     if (isNull(n_()))
     {
-        WarningIn("Foam::wallDist::n()")
+        WarningInFunction
             << "n requested but 'nRequired' not specified in the "
             << (patchTypeName_ & "Dist") << " dictionary" << nl
             << "    Recalculating y and n fields." << endl;
diff --git a/src/finiteVolume/interpolation/interpolation/interpolation/interpolationNew.C b/src/finiteVolume/interpolation/interpolation/interpolation/interpolationNew.C
index 4b206b84e0d..341ad891244 100644
--- a/src/finiteVolume/interpolation/interpolation/interpolation/interpolationNew.C
+++ b/src/finiteVolume/interpolation/interpolation/interpolation/interpolationNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -40,11 +40,8 @@ Foam::autoPtr<Foam::interpolation<Type> > Foam::interpolation<Type>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "interpolation::New(const word&, "
-            "const GeometricField<Type, fvPatchField, volMesh>&)"
-        )   << "Unknown interpolation type " << interpolationType
+        FatalErrorInFunction
+            << "Unknown interpolation type " << interpolationType
             << " for field " << psi.name() << nl << nl
             << "Valid interpolation types : " << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/finiteVolume/interpolation/interpolation/interpolationCellPoint/interpolationCellPointI.H b/src/finiteVolume/interpolation/interpolation/interpolationCellPoint/interpolationCellPointI.H
index 529e6a7991f..8d641af37b2 100644
--- a/src/finiteVolume/interpolation/interpolation/interpolationCellPoint/interpolationCellPointI.H
+++ b/src/finiteVolume/interpolation/interpolation/interpolationCellPoint/interpolationCellPointI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -72,15 +72,7 @@ inline Type Foam::interpolationCellPoint<Type>::interpolate
     {
         if (faceI != tetIs.face())
         {
-            FatalErrorIn
-            (
-                "inline Type Foam::interpolationCellPoint<Type>::interpolate"
-                "("
-                    "const vector& position, "
-                    "const tetIndices& tetIs, "
-                    "const label faceI"
-                ") const"
-            )
+            FatalErrorInFunction
                 << "specified face " << faceI << " inconsistent with the face "
                 << "stored by tetIndices: " << tetIs.face()
                 << exit(FatalError);
diff --git a/src/finiteVolume/interpolation/interpolation/interpolationCellPointWallModified/interpolationCellPointWallModifiedI.H b/src/finiteVolume/interpolation/interpolation/interpolationCellPointWallModified/interpolationCellPointWallModifiedI.H
index 7514d6908d6..b776dae3782 100644
--- a/src/finiteVolume/interpolation/interpolation/interpolationCellPointWallModified/interpolationCellPointWallModifiedI.H
+++ b/src/finiteVolume/interpolation/interpolation/interpolationCellPointWallModified/interpolationCellPointWallModifiedI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -76,16 +76,7 @@ inline Type Foam::interpolationCellPointWallModified<Type>::interpolate
     {
         if (faceI != tetIs.face())
         {
-            FatalErrorIn
-            (
-                "inline Type "
-                "Foam::interpolationCellPointWallModifie<Type>::interpolate"
-                "("
-                    "const vector& position, "
-                    "const tetIndices& tetIs, "
-                    "const label faceI"
-                ") const"
-            )
+            FatalErrorInFunction
                 << "specified face " << faceI << " inconsistent with the face "
                 << "stored by tetIndices: " << tetIs.face()
                 << exit(FatalError);
diff --git a/src/finiteVolume/interpolation/interpolation/interpolationPointMVC/pointMVCWeight.C b/src/finiteVolume/interpolation/interpolation/interpolationPointMVC/pointMVCWeight.C
index 3891ef4dc60..d77af00d4ef 100644
--- a/src/finiteVolume/interpolation/interpolation/interpolationPointMVC/pointMVCWeight.C
+++ b/src/finiteVolume/interpolation/interpolation/interpolationPointMVC/pointMVCWeight.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -30,7 +30,7 @@ License
 
 namespace Foam
 {
-defineDebugSwitchWithName(pointMVCWeight, "pointMVCWeight", 0);
+    defineDebugSwitchWithName(pointMVCWeight, "pointMVCWeight", 0);
 }
 
 Foam::scalar Foam::pointMVCWeight::tol(SMALL);
@@ -143,14 +143,6 @@ void Foam::pointMVCWeight::calcWeights
         scalar vNorm = mag(v);
         v /= vNorm;
 
-        // Make sure v points towards the polygon
-        //if (((v&u[0]) < 0) != (mesh.faceOwner()[faceI] != cellIndex_))
-        //{
-        //    FatalErrorIn("pointMVCWeight::calcWeights(..)")
-        //        << "v:" << v << " u[0]:" << u[0]
-        //        << exit(FatalError);
-        //}
-
         if ((v & u[0]) < 0)
         {
             v = -v;
diff --git a/src/finiteVolume/interpolation/mapping/fvFieldMappers/MapFvSurfaceField.H b/src/finiteVolume/interpolation/mapping/fvFieldMappers/MapFvSurfaceField.H
index ec13c40b3a4..40dfd16f791 100644
--- a/src/finiteVolume/interpolation/mapping/fvFieldMappers/MapFvSurfaceField.H
+++ b/src/finiteVolume/interpolation/mapping/fvFieldMappers/MapFvSurfaceField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -63,14 +63,8 @@ void MapInternalField<Type, MeshMapper, surfaceMesh>::operator()
 {
     if (field.size() != mapper.surfaceMap().sizeBeforeMapping())
     {
-        FatalErrorIn
-        (
-            "void MapInternalField<Type, MeshMapper, surfaceMesh>::operator()\n"
-            "(\n"
-            "    Field<Type>& field,\n"
-            "    const MeshMapper& mapper\n"
-            ") const"
-        )  << "Incompatible size before mapping.  Field size: " << field.size()
+        FatalErrorInFunction
+           << "Incompatible size before mapping.  Field size: " << field.size()
            << " map size: " << mapper.surfaceMap().sizeBeforeMapping()
            << abort(FatalError);
     }
diff --git a/src/finiteVolume/interpolation/mapping/fvFieldMappers/MapFvVolField.H b/src/finiteVolume/interpolation/mapping/fvFieldMappers/MapFvVolField.H
index 87458cc6e6b..db8c9ce72b8 100644
--- a/src/finiteVolume/interpolation/mapping/fvFieldMappers/MapFvVolField.H
+++ b/src/finiteVolume/interpolation/mapping/fvFieldMappers/MapFvVolField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -63,14 +63,8 @@ void MapInternalField<Type, MeshMapper, volMesh>::operator()
 {
     if (field.size() != mapper.volMap().sizeBeforeMapping())
     {
-        FatalErrorIn
-        (
-            "void MapInternalField<Type, MeshMapper, volMesh>::operator()\n"
-            "(\n"
-            "    Field<Type>& field,\n"
-            "    const MeshMapper& mapper\n"
-            ") const"
-        )  << "Incompatible size before mapping.  Field size: " << field.size()
+        FatalErrorInFunction
+           << "Incompatible size before mapping.  Field size: " << field.size()
            << " map size: " << mapper.volMap().sizeBeforeMapping()
            << abort(FatalError);
     }
diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/Gamma/Gamma.H b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/Gamma/Gamma.H
index 672228b4dbc..20283602f6b 100644
--- a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/Gamma/Gamma.H
+++ b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/Gamma/Gamma.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -65,7 +65,7 @@ public:
     {
         if (k_ < 0 || k_ > 1)
         {
-            FatalIOErrorIn("GammaLimiter(Istream& is)", is)
+            FatalIOErrorInFunction(is)
                 << "coefficient = " << k_
                 << " should be >= 0 and <= 1"
                 << exit(FatalIOError);
diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/Limited/Limited.H b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/Limited/Limited.H
index f6c8f94199f..48291ea360b 100644
--- a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/Limited/Limited.H
+++ b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/Limited/Limited.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -55,7 +55,7 @@ class LimitedLimiter
     {
         if (lowerBound_ > upperBound_)
         {
-            FatalIOErrorIn("checkParameters()", is)
+            FatalIOErrorInFunction(is)
                 << "Invalid bounds.  Lower = " << lowerBound_
                 << "  Upper = " << upperBound_
                 << ".  Lower bound is higher than the upper bound."
diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/Phi/Phi.H b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/Phi/Phi.H
index cdbaf1ea6b4..92ae8109462 100644
--- a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/Phi/Phi.H
+++ b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/Phi/Phi.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -61,7 +61,7 @@ public:
     {
         if (k_ < 0 || k_ > 1)
         {
-            FatalIOErrorIn("PhiLimiter(Istream& is)", is)
+            FatalIOErrorInFunction(is)
                 << "coefficient = " << k_
                 << " should be >= 0 and <= 1"
                 << exit(FatalIOError);
diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/PhiScheme/PhiScheme.C b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/PhiScheme/PhiScheme.C
index 8126f7cc121..28cc9fa1dbb 100644
--- a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/PhiScheme/PhiScheme.C
+++ b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/PhiScheme/PhiScheme.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -76,11 +76,8 @@ Foam::PhiScheme<Type, PhiLimiter>::limiter
     }
     else if (this->faceFlux_.dimensions() != dimVelocity*dimArea)
     {
-        FatalErrorIn
-        (
-            "PhiScheme<PhiLimiter>::limiter"
-            "(const GeometricField<Type, fvPatchField, volMesh>& phi)"
-        )   << "dimensions of faceFlux are not correct"
+        FatalErrorInFunction
+            << "dimensions of faceFlux are not correct"
             << exit(FatalError);
     }
 
diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/filteredLinear2/filteredLinear2.H b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/filteredLinear2/filteredLinear2.H
index 308d40b6b2a..99a136ef59a 100644
--- a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/filteredLinear2/filteredLinear2.H
+++ b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/filteredLinear2/filteredLinear2.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -84,7 +84,7 @@ public:
     {
         if (k_ < 0 || k_ > 1)
         {
-            FatalIOErrorIn("filteredLinearV2Limiter(Istream& is)", is)
+            FatalIOErrorInFunction(is)
                 << "coefficient = " << k_
                 << " should be >= 0 and <= 1"
                 << exit(FatalIOError);
@@ -92,7 +92,7 @@ public:
 
         if (l_ < 0 || l_ > 1)
         {
-            FatalIOErrorIn("filteredLinearV2Limiter(Istream& is)", is)
+            FatalIOErrorInFunction(is)
                 << "coefficient = " << l_
                 << " should be >= 0 and <= 1"
                 << exit(FatalIOError);
diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/filteredLinear2/filteredLinear2V.H b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/filteredLinear2/filteredLinear2V.H
index c22ea1646a2..bc4639718ee 100644
--- a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/filteredLinear2/filteredLinear2V.H
+++ b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/filteredLinear2/filteredLinear2V.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -84,7 +84,7 @@ public:
     {
         if (k_ < 0 || k_ > 1)
         {
-            FatalIOErrorIn("filteredLinear2VLimiter(Istream& is)", is)
+            FatalIOErrorInFunction(is)
                 << "coefficient = " << k_
                 << " should be >= 0 and <= 1"
                 << exit(FatalIOError);
@@ -92,7 +92,7 @@ public:
 
         if (l_ < 0 || l_ > 1)
         {
-            FatalIOErrorIn("filteredLinear2VLimiter(Istream& is)", is)
+            FatalIOErrorInFunction(is)
                 << "coefficient = " << l_
                 << " should be >= 0 and <= 1"
                 << exit(FatalIOError);
diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/filteredLinear3/filteredLinear3.H b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/filteredLinear3/filteredLinear3.H
index b99f2a5494f..52e3d8ab510 100644
--- a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/filteredLinear3/filteredLinear3.H
+++ b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/filteredLinear3/filteredLinear3.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -74,7 +74,7 @@ public:
     {
         if (k_ < 0 || k_ > 1)
         {
-            FatalIOErrorIn("filteredLinear3Limiter(Istream& is)", is)
+            FatalIOErrorInFunction(is)
                 << "coefficient = " << k_
                 << " should be >= 0 and <= 1"
                 << exit(FatalIOError);
diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/filteredLinear3/filteredLinear3V.H b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/filteredLinear3/filteredLinear3V.H
index 075515ed682..7083b3800d6 100644
--- a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/filteredLinear3/filteredLinear3V.H
+++ b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/filteredLinear3/filteredLinear3V.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -74,7 +74,7 @@ public:
     {
         if (k_ < 0 || k_ > 1)
         {
-            FatalIOErrorIn("filteredLinear3VLimiter(Istream& is)", is)
+            FatalIOErrorInFunction(is)
                 << "coefficient = " << k_
                 << " should be >= 0 and <= 1"
                 << exit(FatalIOError);
diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/limitedCubic/limitedCubic.H b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/limitedCubic/limitedCubic.H
index 1dbe0877526..de85f2684b8 100644
--- a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/limitedCubic/limitedCubic.H
+++ b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/limitedCubic/limitedCubic.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -66,7 +66,7 @@ public:
     {
         if (k_ < 0 || k_ > 1)
         {
-            FatalIOErrorIn("limitedCubicLimiter(Istream& is)", is)
+            FatalIOErrorInFunction(is)
                 << "coefficient = " << k_
                 << " should be >= 0 and <= 1"
                 << exit(FatalIOError);
diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/limitedCubic/limitedCubicV.H b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/limitedCubic/limitedCubicV.H
index 3fb771ae38d..391313b7ffd 100644
--- a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/limitedCubic/limitedCubicV.H
+++ b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/limitedCubic/limitedCubicV.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -66,7 +66,7 @@ public:
     {
         if (k_ < 0 || k_ > 1)
         {
-            FatalIOErrorIn("limitedCubicVLimiter(Istream& is)", is)
+            FatalIOErrorInFunction(is)
                 << "coefficient = " << k_
                 << " should be >= 0 and <= 1"
                 << exit(FatalIOError);
diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/limitedLinear/limitedLinear.H b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/limitedLinear/limitedLinear.H
index dcdfd75dea7..260ab8271c7 100644
--- a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/limitedLinear/limitedLinear.H
+++ b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/limitedLinear/limitedLinear.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -66,7 +66,7 @@ public:
     {
         if (k_ < 0 || k_ > 1)
         {
-            FatalIOErrorIn("limitedLinearLimiter(Istream& is)", is)
+            FatalIOErrorInFunction(is)
                 << "coefficient = " << k_
                 << " should be >= 0 and <= 1"
                 << exit(FatalIOError);
diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/limitedSurfaceInterpolationScheme/limitedSurfaceInterpolationScheme.C b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/limitedSurfaceInterpolationScheme/limitedSurfaceInterpolationScheme.C
index c50f514daed..fa921123521 100644
--- a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/limitedSurfaceInterpolationScheme/limitedSurfaceInterpolationScheme.C
+++ b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/limitedSurfaceInterpolationScheme/limitedSurfaceInterpolationScheme.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -53,10 +53,8 @@ limitedSurfaceInterpolationScheme<Type>::New
 
     if (schemeData.eof())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "limitedSurfaceInterpolationScheme<Type>::"
-            "New(const fvMesh&, Istream&)",
             schemeData
         )   << "Discretisation scheme not specified"
             << endl << endl
@@ -72,10 +70,8 @@ limitedSurfaceInterpolationScheme<Type>::New
 
     if (constructorIter == MeshConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "limitedSurfaceInterpolationScheme<Type>::"
-            "New(const fvMesh&, Istream&)",
             schemeData
         )   << "Unknown discretisation scheme "
             << schemeName << nl << nl
@@ -108,10 +104,8 @@ limitedSurfaceInterpolationScheme<Type>::New
 
     if (schemeData.eof())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "limitedSurfaceInterpolationScheme<Type>::New"
-            "(const fvMesh&, const surfaceScalarField&, Istream&)",
             schemeData
         )   << "Discretisation scheme not specified"
             << endl << endl
@@ -127,10 +121,8 @@ limitedSurfaceInterpolationScheme<Type>::New
 
     if (constructorIter == MeshFluxConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "limitedSurfaceInterpolationScheme<Type>::New"
-            "(const fvMesh&, const surfaceScalarField&, Istream&)",
             schemeData
         )   << "Unknown discretisation scheme "
             << schemeName << nl << nl
diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/multivariateSchemes/multivariateSurfaceInterpolationScheme/multivariateSurfaceInterpolationScheme.C b/src/finiteVolume/interpolation/surfaceInterpolation/multivariateSchemes/multivariateSurfaceInterpolationScheme/multivariateSurfaceInterpolationScheme.C
index 46bb2e4c220..b2f683dac23 100644
--- a/src/finiteVolume/interpolation/surfaceInterpolation/multivariateSchemes/multivariateSurfaceInterpolationScheme/multivariateSurfaceInterpolationScheme.C
+++ b/src/finiteVolume/interpolation/surfaceInterpolation/multivariateSchemes/multivariateSurfaceInterpolationScheme/multivariateSurfaceInterpolationScheme.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -83,11 +83,8 @@ multivariateSurfaceInterpolationScheme<Type>::New
 
     if (constructorIter == IstreamConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "multivariateSurfaceInterpolationScheme<Type>::New"
-            "(const fvMesh& mesh, const fieldTable&, "
-            "const surfaceScalarField&, Istream&)",
             schemeData
         )   << "Unknown discretisation scheme " << schemeName << nl << nl
             << "Valid schemes are :" << endl
diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/CoBlended/CoBlended.H b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/CoBlended/CoBlended.H
index b282e36c93f..c2aa8498f91 100644
--- a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/CoBlended/CoBlended.H
+++ b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/CoBlended/CoBlended.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -143,7 +143,7 @@ public:
         {
             if (Co1_ < 0 || Co2_ < 0 || Co1_ >= Co2_)
             {
-                FatalIOErrorIn("CoBlended(const fvMesh&, Istream&)", is)
+                FatalIOErrorInFunction(is)
                     << "coefficients = " << Co1_ << " and " << Co2_
                     << " should be > 0 and Co2 > Co1"
                     << exit(FatalIOError);
@@ -174,7 +174,7 @@ public:
         {
             if (Co1_ < 0 || Co2_ < 0 || Co1_ >= Co2_)
             {
-                FatalIOErrorIn("CoBlended(const fvMesh&, Istream&)", is)
+                FatalIOErrorInFunction(is)
                     << "coefficients = " << Co1_ << " and " << Co2_
                     << " should be > 0 and Co2 > Co1"
                     << exit(FatalIOError);
@@ -205,10 +205,8 @@ public:
             }
             else if (faceFlux_.dimensions() != dimVelocity*dimArea)
             {
-                FatalErrorIn
-                (
-                    "CoBlended::blendingFactor()"
-                )   << "dimensions of faceFlux are not correct"
+                FatalErrorInFunction
+                    << "dimensions of faceFlux are not correct"
                     << exit(FatalError);
             }
 
diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/FitData/FitData.C b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/FitData/FitData.C
index c1d322ff4e1..6c3500e17fd 100644
--- a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/FitData/FitData.C
+++ b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/FitData/FitData.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -55,7 +55,7 @@ Foam::FitData<Form, ExtendedStencil, Polynomial>::FitData
     // Check input
     if (linearLimitFactor <= SMALL || linearLimitFactor > 3)
     {
-        FatalErrorIn("FitData<Polynomial>::FitData(..)")
+        FatalErrorInFunction
             << "linearLimitFactor requested = " << linearLimitFactor
             << " should be between zero and 3"
             << exit(FatalError);
@@ -114,7 +114,7 @@ void Foam::FitData<FitDataType, ExtendedStencil, Polynomial>::findFaceDirs
 
         if (magk < SMALL)
         {
-            FatalErrorIn("findFaceDirs(..)") << " calculated kdir = zero"
+            FatalErrorInFunction
                 << exit(FatalError);
         }
         else
@@ -302,10 +302,8 @@ void Foam::FitData<FitDataType, ExtendedStencil, Polynomial>::calcFit
     {
         // if (debug)
         // {
-            WarningIn
-            (
-                "FitData<Polynomial>::calcFit(..)"
-            )   << "Could not fit face " << facei
+            WarningInFunction
+                << "Could not fit face " << facei
                 << "    Weights = " << coeffsi
                 << ", reverting to linear." << nl
                 << "    Linear weights " << wLin << " " << 1 - wLin << endl;
diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/cellCoBlended/cellCoBlended.H b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/cellCoBlended/cellCoBlended.H
index 2fd816b701a..11e24700a43 100644
--- a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/cellCoBlended/cellCoBlended.H
+++ b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/cellCoBlended/cellCoBlended.H
@@ -153,7 +153,7 @@ public:
         {
             if (Co1_ < 0 || Co2_ < 0 || Co1_ >= Co2_)
             {
-                FatalIOErrorIn("cellCoBlended(const fvMesh&, Istream&)", is)
+                FatalIOErrorInFunction(is)
                     << "coefficients = " << Co1_ << " and " << Co2_
                     << " should be > 0 and Co2 > Co1"
                     << exit(FatalIOError);
@@ -184,7 +184,7 @@ public:
         {
             if (Co1_ < 0 || Co2_ < 0 || Co1_ >= Co2_)
             {
-                FatalIOErrorIn("cellCoBlended(const fvMesh&, Istream&)", is)
+                FatalIOErrorInFunction(is)
                     << "coefficients = " << Co1_ << " and " << Co2_
                     << " should be > 0 and Co2 > Co1"
                     << exit(FatalIOError);
@@ -215,10 +215,8 @@ public:
             }
             else if (faceFlux_.dimensions() != dimVelocity*dimArea)
             {
-                FatalErrorIn
-                (
-                    "cellCoBlended::blendingFactor()"
-                )   << "dimensions of faceFlux are not correct"
+                FatalErrorInFunction
+                    << "dimensions of faceFlux are not correct"
                     << exit(FatalError);
             }
 
diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/clippedLinear/clippedLinear.H b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/clippedLinear/clippedLinear.H
index b69b2a05dc3..b704841a40d 100644
--- a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/clippedLinear/clippedLinear.H
+++ b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/clippedLinear/clippedLinear.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -65,7 +65,7 @@ class clippedLinear
         {
             if (cellSizeRatio_ <= 0 || cellSizeRatio_ > 1)
             {
-                FatalErrorIn("clippedLinear::calcWfLimit()")
+                FatalErrorInFunction
                     << "Given cellSizeRatio of " << cellSizeRatio_
                     << " is not between 0 and 1"
                     << exit(FatalError);
diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/fixedBlended/fixedBlended.H b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/fixedBlended/fixedBlended.H
index 083ddc9c4ef..d521157dad9 100644
--- a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/fixedBlended/fixedBlended.H
+++ b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/fixedBlended/fixedBlended.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -109,7 +109,7 @@ public:
         {
             if (blendingFactor_ < 0 || blendingFactor_ > 1)
             {
-                FatalIOErrorIn("fixedBlended(const fvMesh&, Istream&)", is)
+                FatalIOErrorInFunction(is)
                     << "coefficient = " << blendingFactor_
                     << " should be >= 0 and <= 1"
                     << exit(FatalIOError);
@@ -146,7 +146,7 @@ public:
         {
             if (blendingFactor_ < 0 || blendingFactor_ > 1)
             {
-                FatalIOErrorIn("fixedBlended(const fvMesh&, Istream&)", is)
+                FatalIOErrorInFunction(is)
                     << "coefficient = " << blendingFactor_
                     << " should be >= 0 and <= 1"
                     << exit(FatalIOError);
diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/surfaceInterpolationScheme/surfaceInterpolationScheme.C b/src/finiteVolume/interpolation/surfaceInterpolation/surfaceInterpolationScheme/surfaceInterpolationScheme.C
index 810a72a5c6b..90682125173 100644
--- a/src/finiteVolume/interpolation/surfaceInterpolation/surfaceInterpolationScheme/surfaceInterpolationScheme.C
+++ b/src/finiteVolume/interpolation/surfaceInterpolation/surfaceInterpolationScheme/surfaceInterpolationScheme.C
@@ -48,9 +48,8 @@ tmp<surfaceInterpolationScheme<Type> > surfaceInterpolationScheme<Type>::New
 {
     if (schemeData.eof())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "surfaceInterpolationScheme<Type>::New(const fvMesh&, Istream&)",
             schemeData
         )   << "Discretisation scheme not specified"
             << endl << endl
@@ -75,9 +74,8 @@ tmp<surfaceInterpolationScheme<Type> > surfaceInterpolationScheme<Type>::New
 
     if (constructorIter == MeshConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "surfaceInterpolationScheme<Type>::New(const fvMesh&, Istream&)",
             schemeData
         )   << "Unknown discretisation scheme "
             << schemeName << nl << nl
@@ -101,10 +99,8 @@ tmp<surfaceInterpolationScheme<Type> > surfaceInterpolationScheme<Type>::New
 {
     if (schemeData.eof())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "surfaceInterpolationScheme<Type>::New"
-            "(const fvMesh&, const surfaceScalarField&, Istream&)",
             schemeData
         )   << "Discretisation scheme not specified"
             << endl << endl
@@ -129,10 +125,8 @@ tmp<surfaceInterpolationScheme<Type> > surfaceInterpolationScheme<Type>::New
 
     if (constructorIter == MeshFluxConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "surfaceInterpolationScheme<Type>::New"
-            "(const fvMesh&, const surfaceScalarField&, Istream&)",
             schemeData
         )   << "Unknown discretisation scheme "
             << schemeName << nl << nl
-- 
GitLab


From e2ef006b9160ee5ecb3cd5abd7e5abf05139f87d Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Tue, 10 Nov 2015 17:53:31 +0000
Subject: [PATCH 054/141] applications: Update ...ErrorIn -> ...ErrorInFunction
 Avoids the clutter and maintenance effort associated with providing the
 function signature string.

---
 .../dragModels/PDRDragModel/PDRDragModelNew.C |  8 +--
 .../XiEqModels/XiEqModel/XiEqModelNew.C       | 13 +----
 .../XiModels/XiGModels/XiGModel/XiGModelNew.C | 13 +----
 .../PDRFoam/XiModels/XiModel/XiModelNew.C     |  8 +--
 .../SCOPE/SCOPELaminarFlameSpeed.C            |  6 +-
 .../combustion/chemFoam/createFields.H        |  2 +-
 .../T/smoluchowskiJumpTFvPatchScalarField.C   |  9 +--
 .../BCs/U/maxwellSlipUFvPatchVectorField.C    | 10 +---
 .../rhoCentralFoam/readFluxScheme.H           |  6 +-
 .../boundaryFoam/interrogateWallPatches.H     |  6 +-
 .../coalChemistryFoam/createFields.H          |  2 +-
 .../reactingParcelFoam/createFields.H         |  2 +-
 .../simpleReactingParcelFoam/createFields.H   |  2 +-
 .../lagrangian/sprayFoam/createFields.H       |  2 +-
 .../multiphaseMixtureThermo.C                 | 14 ++---
 .../mixtureViscosityModelNew.C                |  9 +--
 .../relativeVelocityModel.C                   | 11 +---
 .../solvers/multiphase/interFoam/alphaEqn.H   |  4 +-
 .../newPhaseChangeTwoPhaseMixture.C           |  8 +--
 .../dragModels/dragModel/newDragModel.C       |  4 +-
 .../heatTransferModel/newHeatTransferModel.C  |  4 +-
 .../diameterModel/newDiameterModel.C          |  4 +-
 .../multiphaseSystem/multiphaseSystem.C       | 16 ++---
 .../multiphaseMixture/multiphaseMixture.C     | 10 +---
 .../interfaceCompositionModels/Henry/Henry.C  | 12 +---
 .../NonRandomTwoLiquid/NonRandomTwoLiquid.C   | 13 +----
 .../Saturated/Saturated.C                     | 12 +---
 .../newInterfaceCompositionModel.C            |  2 +-
 .../massTransferModel/newMassTransferModel.C  |  2 +-
 .../saturationModel/newSaturationModel.C      |  2 +-
 .../newSurfaceTensionModel.C                  |  2 +-
 .../aspectRatioModel/newAspectRatioModel.C    |  2 +-
 .../dragModels/dragModel/newDragModel.C       |  2 +-
 .../dragModels/segregated/segregated.C        |  2 +-
 .../heatTransferModel/newHeatTransferModel.C  |  2 +-
 .../liftModels/Moraga/Moraga.C                |  7 +--
 .../liftModels/liftModel/newLiftModel.C       |  2 +-
 .../swarmCorrection/newSwarmCorrection.C      |  2 +-
 .../newTurbulentDispersionModel.C             |  2 +-
 .../virtualMassModel/newVirtualMassModel.C    |  2 +-
 .../newWallLubricationModel.C                 |  2 +-
 .../blendingMethod/newBlendingMethod.C        |  2 +-
 .../blendingMethods/linear/linear.C           | 10 +---
 .../diameterModel/newDiameterModel.C          |  2 +-
 .../phaseModel/phaseModel/newPhaseModel.C     |  2 +-
 .../phaseModel/phaseModel/phaseModel.C        |  4 +-
 .../phasePair/phasePair/phasePair.C           |  6 +-
 .../phasePair/phasePairKey/phasePairKey.C     | 10 +---
 .../multiphaseSystem/multiphaseSystem.C       |  8 +--
 .../multiphaseSystem/newMultiphaseSystem.C    |  2 +-
 ...allBoilingWallFunctionFvPatchScalarField.C |  6 +-
 ...sonJacksonParticleSlipFvPatchVectorField.C | 12 +---
 ...onJacksonParticleThetaFvPatchScalarField.C | 24 ++------
 .../IATE/IATEsources/IATEsource/IATEsource.C  |  7 +--
 .../twoPhaseSystem/newTwoPhaseSystem.C        |  2 +-
 .../aspectRatioModel/newAspectRatioModel.C    |  2 +-
 .../dragModels/dragModel/newDragModel.C       |  4 +-
 .../dragModels/segregated/segregated.C        |  2 +-
 .../heatTransferModel/newHeatTransferModel.C  |  4 +-
 .../liftModels/Moraga/Moraga.C                |  7 +--
 .../liftModels/liftModel/newLiftModel.C       |  4 +-
 .../swarmCorrection/newSwarmCorrection.C      |  4 +-
 .../newTurbulentDispersionModel.C             |  4 +-
 .../virtualMassModel/newVirtualMassModel.C    |  4 +-
 .../newWallLubricationModel.C                 |  4 +-
 ...sonJacksonParticleSlipFvPatchVectorField.C | 12 +---
 ...onJacksonParticleThetaFvPatchScalarField.C | 24 ++------
 .../blendingMethod/newBlendingMethod.C        |  4 +-
 .../blendingMethods/linear/linear.C           | 12 +---
 .../IATE/IATEsources/IATEsource/IATEsource.C  |  9 +--
 .../diameterModel/newDiameterModel.C          |  4 +-
 .../orderedPhasePair/orderedPhasePair.C       |  4 +-
 .../phasePair/phasePair/phasePair.C           |  6 +-
 .../phasePair/phasePairKey/phasePairKey.C     | 12 +---
 .../readMechanicalProperties.H                | 18 ++----
 .../readThermalProperties.H                   | 18 ++----
 .../Test-GAMGAgglomeration.C                  |  4 +-
 .../test/fieldMapping/Test-fieldMapping.C     | 10 ++--
 .../test/globalIndex/Test-globalIndex.C       | 22 +++----
 applications/test/hexRef8/Test-hexRef8.C      |  8 +--
 .../Test-parallel-nonBlocking.C               |  2 +-
 .../test/primitivePatch/Test-PrimitivePatch.C |  2 +-
 applications/test/router/Gather/GatherBase.C  |  9 +--
 .../test/router/Test-processorRouter.C        |  2 +-
 applications/test/router/router.C             | 21 ++-----
 applications/test/syncTools/Test-syncTools.C  | 33 +++++------
 .../test/tetTetOverlap/Test-tetTetOverlap.C   |  4 +-
 .../utilities/mesh/advanced/PDRMesh/PDRMesh.C | 14 ++---
 .../advanced/autoRefineMesh/autoRefineMesh.C  |  6 +-
 .../advanced/collapseEdges/collapseEdges.C    |  2 +-
 .../combinePatchFaces/combinePatchFaces.C     |  2 +-
 .../mesh/advanced/modifyMesh/modifyMesh.C     |  2 +-
 .../refineWallLayer/refineWallLayer.C         |  2 +-
 .../refinementLevel/refinementLevel.C         |  4 +-
 .../mesh/advanced/selectCells/selectCells.C   |  4 +-
 .../mesh/advanced/splitCells/splitCells.C     |  4 +-
 .../Optional/ccm26ToFoam/ccm26ToFoam.C        | 16 ++---
 .../mesh/conversion/ansysToFoam/ansysToFoam.L |  4 +-
 .../mesh/conversion/cfx4ToFoam/cfx4ToFoam.C   | 12 ++--
 .../mesh/conversion/cfx4ToFoam/hexBlock.C     | 22 +++----
 .../mesh/conversion/cfx4ToFoam/hexBlock.H     |  4 +-
 .../fluent3DMeshToFoam/fluent3DMeshToFoam.L   | 16 ++---
 .../fluentMeshToFoam/create3DCellShape.C      | 38 +++---------
 .../fluentMeshToFoam/extrudedQuadCellShape.C  | 38 +++---------
 .../extrudedTriangleCellShape.C               | 38 +++---------
 .../fluentMeshToFoam/fluentMeshToFoam.L       | 19 +++---
 .../foamMeshToFluent/fluentFvMesh.C           |  4 +-
 .../conversion/gambitToFoam/gambitToFoam.L    |  6 +-
 .../mesh/conversion/gmshToFoam/gmshToFoam.C   | 14 ++---
 .../ideasUnvToFoam/ideasUnvToFoam.C           | 20 +++----
 .../mesh/conversion/kivaToFoam/checkPatch.H   |  2 +-
 .../mesh/conversion/kivaToFoam/kivaToFoam.C   |  2 +-
 .../mesh/conversion/kivaToFoam/readKivaGrid.H |  4 +-
 .../netgenNeutralToFoam/netgenNeutralToFoam.C |  6 +-
 .../mesh/conversion/plot3dToFoam/hexBlock.C   | 24 +++-----
 .../mesh/conversion/plot3dToFoam/hexBlock.H   |  4 +-
 .../conversion/sammToFoam/calcPointCells.C    |  2 +-
 .../sammToFoam/createBoundaryFaces.C          |  2 +-
 .../sammToFoam/createPolyBoundary.C           |  6 +-
 .../conversion/sammToFoam/createPolyCells.C   |  2 +-
 .../conversion/sammToFoam/fixCollapsedEdges.C |  2 +-
 .../mesh/conversion/sammToFoam/readBoundary.C |  4 +-
 .../mesh/conversion/sammToFoam/readCells.C    | 15 ++---
 .../conversion/star3ToFoam/calcPointCells.C   |  2 +-
 .../star3ToFoam/createBoundaryFaces.C         |  2 +-
 .../star3ToFoam/createCoupleMatches.C         |  8 +--
 .../conversion/star3ToFoam/createPolyCells.C  |  2 +-
 .../star3ToFoam/fixCollapsedEdges.C           |  2 +-
 .../star3ToFoam/mergeCoupleFacePoints.C       |  8 +--
 .../conversion/star3ToFoam/readBoundary.C     |  4 +-
 .../mesh/conversion/star3ToFoam/readCells.C   | 15 ++---
 .../mesh/conversion/star3ToFoam/readPoints.C  |  2 +-
 .../star3ToFoam/readSeparatedPoints.C         |  2 +-
 .../conversion/tetgenToFoam/tetgenToFoam.C    |  8 +--
 .../mesh/generation/blockMesh/blockMeshApp.C  |  5 +-
 .../extrude/extrudeMesh/extrudeMesh.C         | 12 ++--
 .../extrudeToRegionMesh/extrudeToRegionMesh.C | 46 +++++----------
 .../extrude2DMesh/extrude2DMesh.C             |  4 +-
 .../patchToPoly2DMesh/patchToPoly2DMesh.C     |  8 +--
 .../DelaunayMesh/DelaunayMeshI.H              | 12 ++--
 .../DelaunayMesh/DelaunayMeshIO.C             |  2 +-
 .../DelaunayMesh/DistributedDelaunayMesh.C    |  7 +--
 .../PrintTable/PrintTable.C                   |  7 +--
 .../backgroundMeshDecomposition.C             | 23 +-------
 .../backgroundMeshDecompositionTemplates.C    | 19 +-----
 .../cellShapeControl/cellShapeControl.C       |  6 +-
 .../cellShapeControlMesh.C                    | 30 +++-------
 .../cellSizeAndAlignmentControl.C             |  6 +-
 .../fileControl/fileControl.C                 | 11 +---
 .../searchableSurfaceControl.C                | 14 ++---
 .../cellSizeFunction/cellSizeFunction.C       | 11 ++--
 .../cellSizeFunction/cellSizeFunction.H       |  2 +-
 .../surfaceOffsetLinearDistance.C             | 20 +------
 .../cellSizeCalculationType.C                 |  7 +--
 .../surfaceCellSizeFunction.C                 |  7 +--
 .../conformalVoronoiMesh.C                    | 24 ++------
 .../conformalVoronoiMeshCalcDualMesh.C        | 13 +----
 .../conformalVoronoiMeshConformToSurface.C    |  2 +-
 .../conformalVoronoiMeshFeaturePoints.C       | 31 ++--------
 .../conformalVoronoiMeshI.H                   |  8 +--
 .../conformalVoronoiMeshIO.C                  | 16 ++---
 .../conformalVoronoiMeshZones.C               | 20 ++-----
 .../featurePointConformerSpecialisations.C    | 25 +++-----
 .../conformationSurfaces.C                    | 16 ++---
 .../faceAreaWeightModel/faceAreaWeightModel.C |  7 +--
 .../autoDensity/autoDensity.C                 | 10 +---
 .../initialPointsMethod/initialPointsMethod.C |  7 +--
 .../initialPointsMethod/pointFile/pointFile.C |  2 +-
 .../rayShooting/rayShooting.C                 | 11 +---
 .../relaxationModel/relaxationModel.C         |  7 +--
 .../searchableSurfaceFeatures.C               |  7 +--
 .../foamyHexMeshBackgroundMesh.C              |  4 +-
 .../generation/foamyMesh/foamyQuadMesh/CV2D.C |  4 +-
 .../foamyMesh/foamyQuadMesh/CV2DI.H           |  2 +-
 .../foamyMesh/foamyQuadMesh/CV2DIO.C          | 16 ++---
 .../foamyQuadMesh/insertFeaturePoints.C       |  6 +-
 .../foamyQuadMesh/shortEdgeFilter2D.C         |  8 +--
 .../generation/snappyHexMesh/snappyHexMesh.C  |  4 +-
 .../manipulation/checkMesh/checkGeometry.C    |  9 +--
 .../manipulation/checkMesh/printMeshStats.C   |  2 +-
 .../createBaffles/createBaffles.C             |  6 +-
 .../faceSelection/faceSelection.C             |  9 +--
 .../faceSelection/faceZoneSelection.C         | 14 ++---
 .../manipulation/createPatch/createPatch.C    | 28 ++++-----
 .../manipulation/mergeMeshes/mergePolyMesh.C  |  4 +-
 .../mergeOrSplitBaffles/mergeOrSplitBaffles.C |  4 +-
 .../manipulation/mirrorMesh/mirrorFvMesh.C    |  4 +-
 .../mesh/manipulation/objToVTK/objToVTK.C     |  6 +-
 .../orientFaceZone/orientFaceZone.C           |  8 +--
 .../manipulation/polyDualMesh/meshDualiser.C  | 58 ++++++-------------
 .../polyDualMesh/polyDualMeshApp.C            |  2 +-
 .../mesh/manipulation/refineMesh/refineMesh.C |  2 +-
 .../manipulation/renumberMesh/renumberMesh.C  | 18 ++----
 .../mesh/manipulation/setSet/setSet.C         | 21 +++----
 .../manipulation/setsToZones/setsToZones.C    |  6 +-
 .../singleCellMesh/singleCellMesh.C           |  2 +-
 .../mesh/manipulation/splitMesh/regionSide.C  |  9 +--
 .../mesh/manipulation/splitMesh/splitMesh.C   | 14 ++---
 .../splitMeshRegions/splitMeshRegions.C       | 22 ++++---
 .../mesh/manipulation/stitchMesh/stitchMesh.C |  8 +--
 .../mesh/manipulation/subsetMesh/subsetMesh.C |  4 +-
 .../mesh/manipulation/topoSet/topoSet.C       |  6 +-
 .../transformPoints/transformPoints.C         |  2 +-
 .../helpTypes/helpBoundary/helpBoundary.C     | 29 ++--------
 .../foamHelp/helpTypes/helpType/helpType.C    | 12 +---
 .../foamHelp/helpTypes/helpType/helpTypeNew.C |  6 +-
 .../miscellaneous/foamInfoExec/foamInfoExec.C | 10 ++--
 .../decomposePar/decomposePar.C               |  6 +-
 .../decomposePar/lagrangianFieldDecomposer.C  | 21 +------
 .../decomposePar/pointFieldDecomposer.C       |  8 +--
 .../reconstructPar/checkFaceAddressingComp.H  |  2 +-
 .../reconstructPar/reconstructPar.C           |  8 +--
 .../reconstructParMesh/reconstructParMesh.C   |  8 +--
 .../redistributePar/loadOrCreateMesh.C        | 14 ++---
 .../redistributePar/redistributePar.C         | 25 +++-----
 .../foamToTecplot360/foamToTecplot360.C       |  4 +-
 .../foamToTecplot360/tecplotWriter.C          | 16 ++---
 .../foamToTecplot360/tecplotWriterTemplates.C |  4 +-
 .../foamToTetDualMesh/foamToTetDualMesh.C     |  9 ++-
 .../dataConversion/foamToVTK/foamToVTK.C      | 10 ++--
 .../dataConversion/smapToFoam/smapToFoam.C    |  6 +-
 .../vtkPV3Foam/vtkPV3FoamUtils.C              |  4 +-
 .../vtkPV3blockMesh/vtkPV3blockMeshUtils.C    |  4 +-
 .../PV3Readers/vtkPV3Readers/vtkPV3Readers.C  |  4 +-
 .../vtkPV4Foam/vtkPV4FoamUtils.C              |  4 +-
 .../vtkPV4blockMesh/vtkPV4blockMeshUtils.C    |  4 +-
 .../PV4Readers/vtkPV4Readers/vtkPV4Readers.C  |  4 +-
 .../steadyParticleTracksTemplates.C           | 23 +-------
 .../execFlowFunctionObjects.C                 | 18 ++----
 .../foamListTimes/foamListTimes.C             |  2 +-
 .../miscellaneous/postChannel/channelIndex.C  |  8 +--
 .../utilities/postProcessing/noise/noise.C    |  6 +-
 .../postProcessing/velocityField/Co/Co.C      |  4 +-
 .../postProcessing/velocityField/Pe/Pe.C      |  2 +-
 .../streamFunction/streamFunction.C           |  6 +-
 .../applyBoundaryLayer/applyBoundaryLayer.C   |  4 +-
 .../changeDictionary/changeDictionary.C       |  4 +-
 .../dsmcInitialise/dsmcInitialise.C           |  2 +-
 .../preProcessing/mapFields/mapFields.C       |  2 +-
 .../preProcessing/mdInitialise/mdInitialise.C |  2 +-
 .../preProcessing/setFields/setFields.C       | 40 ++++---------
 .../preProcessing/viewFactorsGen/shootRays.H  |  6 +-
 .../SpaldingsLaw/SpaldingsLaw.C               |  4 +-
 .../tabulatedWallFunction/general/general.C   | 23 ++------
 .../tabulatedWallFunctionNew.C                |  8 +--
 .../surfaceBooleanFeatures.C                  |  6 +-
 .../surface/surfaceCheck/surfaceCheck.C       | 17 +++---
 .../surface/surfaceClean/collapseBase.C       | 24 ++++----
 .../surface/surfaceCoarsen/surfaceCoarsen.C   |  4 +-
 .../surface/surfaceConvert/surfaceConvert.C   |  4 +-
 .../surfaceFeatureConvert.C                   |  4 +-
 .../surfaceFeatureExtract.C                   |  6 +-
 .../surface/surfaceHookUp/surfaceHookUp.C     |  2 +-
 .../surface/surfaceInertia/surfaceInertia.C   | 10 ++--
 .../surfaceLambdaMuSmooth.C                   |  8 +--
 .../surfaceMeshConvert/surfaceMeshConvert.C   | 14 ++---
 .../surfaceMeshConvertTesting.C               |  2 +-
 .../surfaceMeshExport/surfaceMeshExport.C     | 12 ++--
 .../surfaceMeshImport/surfaceMeshImport.C     | 12 ++--
 .../surfaceMeshTriangulate.C                  |  4 +-
 .../surfaceRedistributePar.C                  |  4 +-
 .../surfaceSplitByTopology.C                  |  4 +-
 .../surfaceSplitNonManifolds.C                | 16 ++---
 .../surface/surfaceSubset/surfaceSubset.C     | 10 ++--
 .../surfaceTransformPoints.C                  |  4 +-
 .../adiabaticFlameT/adiabaticFlameT.C         |  6 +-
 .../equilibriumFlameT/equilibriumFlameT.C     |  6 +-
 .../mixtureAdiabaticFlameT/mixture.H          |  4 +-
 .../mixtureAdiabaticFlameT.C                  |  6 +-
 .../fvMesh/fvMeshMapper/fvPatchMapper.C       | 11 ----
 .../schemes/FitData/FitData.C                 |  7 +--
 271 files changed, 851 insertions(+), 1559 deletions(-)

diff --git a/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/PDRDragModel/PDRDragModelNew.C b/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/PDRDragModel/PDRDragModelNew.C
index 8a8ab924a3b..3570aebd802 100644
--- a/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/PDRDragModel/PDRDragModelNew.C
+++ b/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/PDRDragModel/PDRDragModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -45,10 +45,8 @@ Foam::autoPtr<Foam::PDRDragModel> Foam::PDRDragModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "PDRDragModel::New"
-        )   << "Unknown PDRDragModel type "
+        FatalErrorInFunction
+            << "Unknown PDRDragModel type "
             << modelType << nl << nl
             << "Valid  PDRDragModels are : " << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModelNew.C b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModelNew.C
index bdedac7a336..82411751fb1 100644
--- a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModelNew.C
+++ b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,15 +44,8 @@ Foam::autoPtr<Foam::XiEqModel> Foam::XiEqModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "XiEqModel::New"
-            "("
-            "    const psiuReactionThermo& thermo,"
-            "    const compressible::RASModel& turbulence,"
-            "    const volScalarField& Su"
-            ")"
-        )   << "Unknown XiEqModel type "
+        FatalErrorInFunction
+            << "Unknown XiEqModel type "
             << modelType << nl << nl
             << "Valid XiEqModels are : " << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/XiGModel/XiGModelNew.C b/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/XiGModel/XiGModelNew.C
index d77cfd8da6b..0d7f1afcfb3 100644
--- a/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/XiGModel/XiGModelNew.C
+++ b/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/XiGModel/XiGModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,15 +44,8 @@ Foam::autoPtr<Foam::XiGModel> Foam::XiGModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "XiGModel::New"
-            "("
-            "    const psiuReactionThermo& thermo,"
-            "    const compressible::RASModel& turbulence,"
-            "    const volScalarField& Su"
-            ")"
-        )   << "Unknown XiGModel type "
+        FatalErrorInFunction
+            << "Unknown XiGModel type "
             << modelType << nl << nl
             << "Valid XiGModels are : " << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiModel/XiModelNew.C b/applications/solvers/combustion/PDRFoam/XiModels/XiModel/XiModelNew.C
index 04f9b41cd19..a317eb50ec8 100644
--- a/applications/solvers/combustion/PDRFoam/XiModels/XiModel/XiModelNew.C
+++ b/applications/solvers/combustion/PDRFoam/XiModels/XiModel/XiModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -47,10 +47,8 @@ Foam::autoPtr<Foam::XiModel> Foam::XiModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "XiModel::New"
-        )   << "Unknown XiModel type "
+        FatalErrorInFunction
+            << "Unknown XiModel type "
             << modelType << nl << nl
             << "Valid XiModels are : " << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/applications/solvers/combustion/PDRFoam/laminarFlameSpeed/SCOPE/SCOPELaminarFlameSpeed.C b/applications/solvers/combustion/PDRFoam/laminarFlameSpeed/SCOPE/SCOPELaminarFlameSpeed.C
index 7ae51fd5d16..d4d77822878 100644
--- a/applications/solvers/combustion/PDRFoam/laminarFlameSpeed/SCOPE/SCOPELaminarFlameSpeed.C
+++ b/applications/solvers/combustion/PDRFoam/laminarFlameSpeed/SCOPE/SCOPELaminarFlameSpeed.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -172,7 +172,7 @@ inline Foam::scalar Foam::laminarFlameSpeedModels::SCOPE::SuRef
     }
     else
     {
-        FatalErrorIn("laminarFlameSpeedModels::SCOPE::SuRef(scalar phi)")
+        FatalErrorInFunction
             << "phi = " << phi
             << " cannot be handled by SCOPE function with the "
                "given coefficients"
@@ -210,7 +210,7 @@ inline Foam::scalar Foam::laminarFlameSpeedModels::SCOPE::Ma
     }
     else
     {
-        FatalErrorIn("laminarFlameSpeedModels::SCOPE::Ma(scalar phi)")
+        FatalErrorInFunction
             << "phi = " << phi
             << " cannot be handled by SCOPE function with the "
                "given coefficients"
diff --git a/applications/solvers/combustion/chemFoam/createFields.H b/applications/solvers/combustion/chemFoam/createFields.H
index 8855e4501ad..7f6cc121951 100644
--- a/applications/solvers/combustion/chemFoam/createFields.H
+++ b/applications/solvers/combustion/chemFoam/createFields.H
@@ -1,6 +1,6 @@
     if (mesh.nCells() != 1)
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Solver only applicable to single cell cases"
             << exit(FatalError);
     }
diff --git a/applications/solvers/compressible/rhoCentralFoam/BCs/T/smoluchowskiJumpTFvPatchScalarField.C b/applications/solvers/compressible/rhoCentralFoam/BCs/T/smoluchowskiJumpTFvPatchScalarField.C
index 22f5555335d..d9a4a4e7df1 100644
--- a/applications/solvers/compressible/rhoCentralFoam/BCs/T/smoluchowskiJumpTFvPatchScalarField.C
+++ b/applications/solvers/compressible/rhoCentralFoam/BCs/T/smoluchowskiJumpTFvPatchScalarField.C
@@ -94,15 +94,8 @@ Foam::smoluchowskiJumpTFvPatchScalarField::smoluchowskiJumpTFvPatchScalarField
      || mag(accommodationCoeff_) > 2.0
     )
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "smoluchowskiJumpTFvPatchScalarField::"
-            "smoluchowskiJumpTFvPatchScalarField"
-            "("
-            "    const fvPatch&,"
-            "    const DimensionedField<scalar, volMesh>&,"
-            "    const dictionary&"
-            ")",
             dict
         )   << "unphysical accommodationCoeff specified"
             << "(0 < accommodationCoeff <= 1)" << endl
diff --git a/applications/solvers/compressible/rhoCentralFoam/BCs/U/maxwellSlipUFvPatchVectorField.C b/applications/solvers/compressible/rhoCentralFoam/BCs/U/maxwellSlipUFvPatchVectorField.C
index 6ec81dd4dc9..4656fe7281e 100644
--- a/applications/solvers/compressible/rhoCentralFoam/BCs/U/maxwellSlipUFvPatchVectorField.C
+++ b/applications/solvers/compressible/rhoCentralFoam/BCs/U/maxwellSlipUFvPatchVectorField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -96,14 +96,8 @@ Foam::maxwellSlipUFvPatchVectorField::maxwellSlipUFvPatchVectorField
      || mag(accommodationCoeff_) > 2.0
     )
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "maxwellSlipUFvPatchScalarField::maxwellSlipUFvPatchScalarField"
-            "("
-                "const fvPatch&, "
-                "const DimensionedField<vector, volMesh>&, "
-                "const dictionary&"
-            ")",
             dict
         )   << "unphysical accommodationCoeff_ specified"
             << "(0 < accommodationCoeff_ <= 1)" << endl
diff --git a/applications/solvers/compressible/rhoCentralFoam/readFluxScheme.H b/applications/solvers/compressible/rhoCentralFoam/readFluxScheme.H
index 13f8f02c9c6..e8c28d65c26 100644
--- a/applications/solvers/compressible/rhoCentralFoam/readFluxScheme.H
+++ b/applications/solvers/compressible/rhoCentralFoam/readFluxScheme.H
@@ -7,10 +7,8 @@ if (mesh.schemesDict().readIfPresent("fluxScheme", fluxScheme))
     }
     else
     {
-        FatalErrorIn
-        (
-            "rhoCentralFoam::readFluxScheme"
-        )   << "fluxScheme: " << fluxScheme
+        FatalErrorInFunction
+            << "fluxScheme: " << fluxScheme
             << " is not a valid choice. "
             << "Options are: Tadmor, Kurganov"
             << abort(FatalError);
diff --git a/applications/solvers/incompressible/boundaryFoam/interrogateWallPatches.H b/applications/solvers/incompressible/boundaryFoam/interrogateWallPatches.H
index 7fd01f0e9eb..513ca54a42f 100644
--- a/applications/solvers/incompressible/boundaryFoam/interrogateWallPatches.H
+++ b/applications/solvers/incompressible/boundaryFoam/interrogateWallPatches.H
@@ -36,7 +36,7 @@ forAll(patches, patchi)
                  || mag(wallNormal & wallNormal2) < 0.99
                 )
                 {
-                    FatalErrorIn(args.executable())
+                    FatalErrorInFunction
                         << "wall faces are not parallel for patches "
                         << patches[patchId].name() << " and "
                         << currPatch.name() << nl
@@ -45,7 +45,7 @@ forAll(patches, patchi)
             }
             else
             {
-                FatalErrorIn(args.executable()) << "number of wall faces > 2"
+                FatalErrorInFunction
                     << nl << exit(FatalError);
             }
         }
@@ -54,7 +54,7 @@ forAll(patches, patchi)
 
 if (nWallFaces == 0)
 {
-    FatalErrorIn(args.executable()) << "No wall patches identified"
+    FatalErrorInFunction
         << exit(FatalError);
 }
 else
diff --git a/applications/solvers/lagrangian/coalChemistryFoam/createFields.H b/applications/solvers/lagrangian/coalChemistryFoam/createFields.H
index cb41f9a407b..2f9a7ce6f42 100644
--- a/applications/solvers/lagrangian/coalChemistryFoam/createFields.H
+++ b/applications/solvers/lagrangian/coalChemistryFoam/createFields.H
@@ -17,7 +17,7 @@ const word inertSpecie(thermo.lookup("inertSpecie"));
 
 if (!composition.contains(inertSpecie))
 {
-    FatalErrorIn(args.executable())
+    FatalErrorInFunction
         << "Specified inert specie '" << inertSpecie << "' not found in "
         << "species list. Available species:" << composition.species()
         << exit(FatalError);
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/createFields.H b/applications/solvers/lagrangian/reactingParcelFoam/createFields.H
index 9d05da04250..54f0e9e9b22 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/createFields.H
+++ b/applications/solvers/lagrangian/reactingParcelFoam/createFields.H
@@ -17,7 +17,7 @@ const word inertSpecie(thermo.lookup("inertSpecie"));
 
 if (!composition.contains(inertSpecie))
 {
-    FatalErrorIn(args.executable())
+    FatalErrorInFunction
         << "Specified inert specie '" << inertSpecie << "' not found in "
         << "species list. Available species:" << composition.species()
         << exit(FatalError);
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/createFields.H b/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/createFields.H
index cfabbfb5b05..7a26729e541 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/createFields.H
+++ b/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/createFields.H
@@ -17,7 +17,7 @@ const word inertSpecie(thermo.lookup("inertSpecie"));
 
 if (!composition.contains(inertSpecie))
 {
-    FatalErrorIn(args.executable())
+    FatalErrorInFunction
         << "Specified inert specie '" << inertSpecie << "' not found in "
         << "species list. Available species:" << composition.species()
         << exit(FatalError);
diff --git a/applications/solvers/lagrangian/sprayFoam/createFields.H b/applications/solvers/lagrangian/sprayFoam/createFields.H
index 7cc45050ce4..e043feb221e 100644
--- a/applications/solvers/lagrangian/sprayFoam/createFields.H
+++ b/applications/solvers/lagrangian/sprayFoam/createFields.H
@@ -17,7 +17,7 @@ const word inertSpecie(thermo.lookup("inertSpecie"));
 
 if (!composition.contains(inertSpecie))
 {
-    FatalErrorIn(args.executable())
+    FatalErrorInFunction
         << "Specified inert specie '" << inertSpecie << "' not found in "
         << "species list. Available species:" << composition.species()
         << exit(FatalError);
diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.C b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.C
index c8857ce9f2b..55af5942836 100644
--- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.C
+++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.C
@@ -717,10 +717,8 @@ Foam::multiphaseMixtureThermo::surfaceTensionForce() const
 
             if (sigma == sigmas_.end())
             {
-                FatalErrorIn
-                (
-                    "multiphaseMixtureThermo::surfaceTensionForce() const"
-                )   << "Cannot find interface " << interfacePair(alpha1, alpha2)
+                FatalErrorInFunction
+                    << "Cannot find interface " << interfacePair(alpha1, alpha2)
                     << " in list of sigma values"
                     << exit(FatalError);
             }
@@ -848,12 +846,8 @@ void Foam::multiphaseMixtureThermo::correctContactAngle
 
             if (tp == acap.thetaProps().end())
             {
-                FatalErrorIn
-                (
-                    "multiphaseMixtureThermo::correctContactAngle"
-                    "(const phaseModel& alpha1, const phaseModel& alpha2, "
-                    "fvPatchVectorFieldField& nHatb) const"
-                )   << "Cannot find interface " << interfacePair(alpha1, alpha2)
+                FatalErrorInFunction
+                    << "Cannot find interface " << interfacePair(alpha1, alpha2)
                     << "\n    in table of theta properties for patch "
                     << acap.patch().name()
                     << exit(FatalError);
diff --git a/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/mixtureViscosityModel/mixtureViscosityModelNew.C b/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/mixtureViscosityModel/mixtureViscosityModelNew.C
index ecd9c25623c..b36e3f6e77e 100644
--- a/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/mixtureViscosityModel/mixtureViscosityModelNew.C
+++ b/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/mixtureViscosityModel/mixtureViscosityModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -46,11 +46,8 @@ Foam::autoPtr<Foam::mixtureViscosityModel> Foam::mixtureViscosityModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "mixtureViscosityModel::New(const volVectorField&, "
-            "const surfaceScalarField&)"
-        )   << "Unknown mixtureViscosityModel type "
+        FatalErrorInFunction
+            << "Unknown mixtureViscosityModel type "
             << modelType << nl << nl
             << "Valid mixtureViscosityModels are : " << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/applications/solvers/multiphase/driftFluxFoam/relativeVelocityModels/relativeVelocityModel/relativeVelocityModel.C b/applications/solvers/multiphase/driftFluxFoam/relativeVelocityModels/relativeVelocityModel/relativeVelocityModel.C
index 578b23f38b6..be4de6b2c05 100644
--- a/applications/solvers/multiphase/driftFluxFoam/relativeVelocityModels/relativeVelocityModel/relativeVelocityModel.C
+++ b/applications/solvers/multiphase/driftFluxFoam/relativeVelocityModels/relativeVelocityModel/relativeVelocityModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -82,13 +82,8 @@ Foam::autoPtr<Foam::relativeVelocityModel> Foam::relativeVelocityModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "relativeVelocityModel::New"
-            "("
-                "const dictionary&"
-            ")"
-        )   << "Unknown time scale model type " << modelType
+        FatalErrorInFunction
+            << "Unknown time scale model type " << modelType
             << ", constructor not in hash table" << nl << nl
             << "    Valid time scale model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/applications/solvers/multiphase/interFoam/alphaEqn.H b/applications/solvers/multiphase/interFoam/alphaEqn.H
index a2e9097e309..6a248301376 100644
--- a/applications/solvers/multiphase/interFoam/alphaEqn.H
+++ b/applications/solvers/multiphase/interFoam/alphaEqn.H
@@ -25,7 +25,7 @@
     {
         if (nAlphaSubCycles > 1)
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Sub-cycling is not supported "
                    "with the CrankNicolson ddt scheme"
                 << exit(FatalError);
@@ -36,7 +36,7 @@
     }
     else
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Only Euler and CrankNicolson ddt schemes are supported"
             << exit(FatalError);
     }
diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/phaseChangeTwoPhaseMixture/newPhaseChangeTwoPhaseMixture.C b/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/phaseChangeTwoPhaseMixture/newPhaseChangeTwoPhaseMixture.C
index 0a86459705c..0825368e5c1 100644
--- a/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/phaseChangeTwoPhaseMixture/newPhaseChangeTwoPhaseMixture.C
+++ b/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/phaseChangeTwoPhaseMixture/newPhaseChangeTwoPhaseMixture.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -62,10 +62,8 @@ Foam::phaseChangeTwoPhaseMixture::New
 
     if (cstrIter == componentsConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "phaseChangeTwoPhaseMixture::New"
-        )   << "Unknown phaseChangeTwoPhaseMixture type "
+        FatalErrorInFunction
+            << "Unknown phaseChangeTwoPhaseMixture type "
             << phaseChangeTwoPhaseMixtureTypeName << endl << endl
             << "Valid  phaseChangeTwoPhaseMixtures are : " << endl
             << componentsConstructorTablePtr_->sortedToc()
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C
index 72542bc01b1..3bdd49ec7ad 100644
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C
+++ b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -46,7 +46,7 @@ Foam::autoPtr<Foam::dragModel> Foam::dragModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("dragModel::New")
+        FatalErrorInFunction
             << "Unknown dragModelType type "
             << dragModelType << endl << endl
             << "Valid dragModel types are : " << endl
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/newHeatTransferModel.C b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/newHeatTransferModel.C
index aaa972032d0..deabfc900fa 100644
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/newHeatTransferModel.C
+++ b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/newHeatTransferModel.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -50,7 +50,7 @@ Foam::autoPtr<Foam::heatTransferModel> Foam::heatTransferModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("heatTransferModel::New")
+        FatalErrorInFunction
             << "Unknown heatTransferModelType type "
             << heatTransferModelType << endl << endl
             << "Valid heatTransferModel types are : " << endl
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/diameterModels/diameterModel/newDiameterModel.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/diameterModels/diameterModel/newDiameterModel.C
index b9014f3f46d..b58f00291bb 100644
--- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/diameterModels/diameterModel/newDiameterModel.C
+++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/diameterModels/diameterModel/newDiameterModel.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -48,7 +48,7 @@ Foam::autoPtr<Foam::diameterModel> Foam::diameterModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("diameterModel::New")
+        FatalErrorInFunction
            << "Unknown diameterModelType type "
            << diameterModelType << endl << endl
            << "Valid diameterModel types are : " << endl
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C
index 767600e3940..d0cd5c9b184 100644
--- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C
+++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C
@@ -295,12 +295,8 @@ void Foam::multiphaseSystem::correctContactAngle
 
             if (tp == acap.thetaProps().end())
             {
-                FatalErrorIn
-                (
-                    "multiphaseSystem::correctContactAngle"
-                    "(const phaseModel& phase1, const phaseModel& phase2, "
-                    "fvPatchVectorFieldField& nHatb) const"
-                )   << "Cannot find interface " << interfacePair(phase1, phase2)
+                FatalErrorInFunction
+                    << "Cannot find interface " << interfacePair(phase1, phase2)
                     << "\n    in table of theta properties for patch "
                     << acap.patch().name()
                     << exit(FatalError);
@@ -478,12 +474,8 @@ Foam::multiphaseSystem::multiphaseSystem
 
                     if (cAlpha == cAlphas_.end())
                     {
-                        WarningIn
-                        (
-                            "multiphaseSystem::multiphaseSystem"
-                            "(const volVectorField& U,"
-                            "const surfaceScalarField& phi)"
-                        ) << "Compression coefficient not specified for "
+                        WarningInFunction
+                          << "Compression coefficient not specified for "
                              "phase pair ("
                           << phase1.name() << ' ' << phase2.name()
                           << ") for which a surface tension "
diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C
index f1305897ba1..1bbd3177af9 100644
--- a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C
+++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C
@@ -288,7 +288,7 @@ Foam::multiphaseMixture::surfaceTensionForce() const
 
             if (sigma == sigmas_.end())
             {
-                FatalErrorIn("multiphaseMixture::surfaceTensionForce() const")
+                FatalErrorInFunction
                     << "Cannot find interface " << interfacePair(alpha1, alpha2)
                     << " in list of sigma values"
                     << exit(FatalError);
@@ -442,12 +442,8 @@ void Foam::multiphaseMixture::correctContactAngle
 
             if (tp == acap.thetaProps().end())
             {
-                FatalErrorIn
-                (
-                    "multiphaseMixture::correctContactAngle"
-                    "(const phase& alpha1, const phase& alpha2, "
-                    "fvPatchVectorFieldField& nHatb) const"
-                )   << "Cannot find interface " << interfacePair(alpha1, alpha2)
+                FatalErrorInFunction
+                    << "Cannot find interface " << interfacePair(alpha1, alpha2)
                     << "\n    in table of theta properties for patch "
                     << acap.patch().name()
                     << exit(FatalError);
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Henry/Henry.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Henry/Henry.C
index 06754e2f86b..03b21be4909 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Henry/Henry.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Henry/Henry.C
@@ -50,16 +50,8 @@ Foam::interfaceCompositionModels::Henry<Thermo, OtherThermo>::Henry
 {
     if (k_.size() != this->speciesNames_.size())
     {
-        FatalErrorIn
-        (
-            "template<class Thermo, class OtherThermo> "
-            "Foam::interfaceCompositionModels::Henry<Thermo, OtherThermo>:: "
-            "Henry "
-            "( "
-                "const dictionary& dict, "
-                "const phasePair& pair "
-            ")"
-        )   << "Differing number of species and solubilities"
+        FatalErrorInFunction
+            << "Differing number of species and solubilities"
             << exit(FatalError);
     }
 }
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/NonRandomTwoLiquid/NonRandomTwoLiquid.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/NonRandomTwoLiquid/NonRandomTwoLiquid.C
index 169580e3cf6..6818c243f16 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/NonRandomTwoLiquid/NonRandomTwoLiquid.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/NonRandomTwoLiquid/NonRandomTwoLiquid.C
@@ -63,17 +63,8 @@ NonRandomTwoLiquid
 {
     if (this->speciesNames_.size() != 2)
     {
-        FatalErrorIn
-        (
-            "template<class Thermo, class OtherThermo>"
-            "Foam::interfaceCompositionModels::"
-            "NonRandomTwoLiquid<Thermo, OtherThermo>::"
-            "NonRandomTwoLiquid"
-            "( "
-                "const dictionary& dict, "
-                "const phasePair& pair "
-            ")"
-        )   << "NonRandomTwoLiquid model is suitable for two species only."
+        FatalErrorInFunction
+            << "NonRandomTwoLiquid model is suitable for two species only."
             << exit(FatalError);
     }
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Saturated/Saturated.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Saturated/Saturated.C
index c0d9b64e398..435bb7df2a3 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Saturated/Saturated.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Saturated/Saturated.C
@@ -64,16 +64,8 @@ Foam::interfaceCompositionModels::Saturated<Thermo, OtherThermo>::Saturated
 {
     if (this->speciesNames_.size() != 1)
     {
-        FatalErrorIn
-        (
-            "template<class Thermo, class OtherThermo>"
-            "Foam::interfaceCompositionModels::Saturated<Thermo, OtherThermo>::"
-            "Saturated"
-            "( "
-                "const dictionary& dict, "
-                "const phasePair& pair "
-            ")"
-        )   << "Saturated model is suitable for one species only."
+        FatalErrorInFunction
+            << "Saturated model is suitable for one species only."
             << exit(FatalError);
     }
 }
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/interfaceCompositionModel/newInterfaceCompositionModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/interfaceCompositionModel/newInterfaceCompositionModel.C
index 8b04d8f5f1e..16b30556875 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/interfaceCompositionModel/newInterfaceCompositionModel.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/interfaceCompositionModel/newInterfaceCompositionModel.C
@@ -54,7 +54,7 @@ Foam::interfaceCompositionModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("interfaceCompositionModel::New")
+        FatalErrorInFunction
             << "Unknown interfaceCompositionModelType type "
             << interfaceCompositionModelType << endl << endl
             << "Valid interfaceCompositionModel types are : " << endl
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/massTransferModels/massTransferModel/newMassTransferModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/massTransferModels/massTransferModel/newMassTransferModel.C
index d8ee288ef08..1251c98fe09 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/massTransferModels/massTransferModel/newMassTransferModel.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/massTransferModels/massTransferModel/newMassTransferModel.C
@@ -44,7 +44,7 @@ Foam::autoPtr<Foam::massTransferModel> Foam::massTransferModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("massTransferModel::New")
+        FatalErrorInFunction
             << "Unknown massTransferModelType type "
             << massTransferModelType << endl << endl
             << "Valid massTransferModel types are : " << endl
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/saturationModel/newSaturationModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/saturationModel/newSaturationModel.C
index 93770692a50..920d7c62c80 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/saturationModel/newSaturationModel.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/saturationModel/newSaturationModel.C
@@ -42,7 +42,7 @@ Foam::autoPtr<Foam::saturationModel> Foam::saturationModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("saturationModel::New")
+        FatalErrorInFunction
             << "Unknown saturationModelType type "
             << saturationModelType << endl << endl
             << "Valid saturationModel types are : " << endl
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/surfaceTensionModels/surfaceTensionModel/newSurfaceTensionModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/surfaceTensionModels/surfaceTensionModel/newSurfaceTensionModel.C
index 0b016658639..82359c05080 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/surfaceTensionModels/surfaceTensionModel/newSurfaceTensionModel.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/surfaceTensionModels/surfaceTensionModel/newSurfaceTensionModel.C
@@ -45,7 +45,7 @@ Foam::surfaceTensionModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("surfaceTensionModel::New")
+        FatalErrorInFunction
             << "Unknown surfaceTensionModelType type "
             << surfaceTensionModelType << endl << endl
             << "Valid surfaceTensionModel types are : " << endl
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/newAspectRatioModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/newAspectRatioModel.C
index ff4cb63441f..568c1b26827 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/newAspectRatioModel.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/newAspectRatioModel.C
@@ -45,7 +45,7 @@ Foam::aspectRatioModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("aspectRatioModel::New")
+        FatalErrorInFunction
             << "Unknown aspectRatioModelType type "
             << aspectRatioModelType << endl << endl
             << "Valid aspectRatioModel types are : " << endl
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C
index 041468a15b3..e077e31b2d3 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C
@@ -44,7 +44,7 @@ Foam::autoPtr<Foam::dragModel> Foam::dragModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("dragModel::New")
+        FatalErrorInFunction
             << "Unknown dragModelType type "
             << dragModelType << endl << endl
             << "Valid dragModel types are : " << endl
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/segregated/segregated.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/segregated/segregated.C
index 2f3e0db6992..00ca3d49ee1 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/segregated/segregated.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/segregated/segregated.C
@@ -66,7 +66,7 @@ Foam::dragModels::segregated::~segregated()
 
 Foam::tmp<Foam::volScalarField> Foam::dragModels::segregated::CdRe() const
 {
-    FatalErrorIn("Foam::dragModels::segregated::CdRe() const")
+    FatalErrorInFunction
         << "Not implemented."
         << "Drag coefficient not defined for the segregated model."
         << exit(FatalError);
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/newHeatTransferModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/newHeatTransferModel.C
index 24f02b69b48..8cdb07f2976 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/newHeatTransferModel.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/newHeatTransferModel.C
@@ -44,7 +44,7 @@ Foam::autoPtr<Foam::heatTransferModel> Foam::heatTransferModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("heatTransferModel::New")
+        FatalErrorInFunction
             << "Unknown heatTransferModelType type "
             << heatTransferModelType << endl << endl
             << "Valid heatTransferModel types are : " << endl
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/Moraga/Moraga.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/Moraga/Moraga.C
index 5548dfd70af..fa364a68c1a 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/Moraga/Moraga.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/Moraga/Moraga.C
@@ -79,11 +79,8 @@ Foam::tmp<Foam::volScalarField> Foam::liftModels::Moraga::Cl() const
      || max(sqrSr).value() > 0.04
     )
     {
-        WarningIn
-        (
-            "Foam::tmp<Foam::volScalarField> "
-            "Foam::liftModels::Moraga::Cl() const"
-        )   << "Re and/or Sr are out of the range of applicability of the "
+        WarningInFunction
+            << "Re and/or Sr are out of the range of applicability of the "
             << "Moraga model. Clamping to range bounds"
             << endl;
     }
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/liftModel/newLiftModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/liftModel/newLiftModel.C
index c53ff96e3d3..3da4caee7ce 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/liftModel/newLiftModel.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/liftModel/newLiftModel.C
@@ -44,7 +44,7 @@ Foam::autoPtr<Foam::liftModel> Foam::liftModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("liftModel::New")
+        FatalErrorInFunction
             << "Unknown liftModelType type "
             << liftModelType << endl << endl
             << "Valid liftModel types are : " << endl
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/swarmCorrections/swarmCorrection/newSwarmCorrection.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/swarmCorrections/swarmCorrection/newSwarmCorrection.C
index 651286c3ee0..a7181b43968 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/swarmCorrections/swarmCorrection/newSwarmCorrection.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/swarmCorrections/swarmCorrection/newSwarmCorrection.C
@@ -45,7 +45,7 @@ Foam::swarmCorrection::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("swarmCorrection::New")
+        FatalErrorInFunction
             << "Unknown swarmCorrectionType type "
             << swarmCorrectionType << endl << endl
             << "Valid swarmCorrection types are : " << endl
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/newTurbulentDispersionModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/newTurbulentDispersionModel.C
index 14d560969bd..e440e3d1ee6 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/newTurbulentDispersionModel.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/newTurbulentDispersionModel.C
@@ -45,7 +45,7 @@ Foam::turbulentDispersionModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("turbulentDispersionModel::New")
+        FatalErrorInFunction
             << "Unknown turbulentDispersionModelType type "
             << turbulentDispersionModelType << endl << endl
             << "Valid turbulentDispersionModel types are : " << endl
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/newVirtualMassModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/newVirtualMassModel.C
index 72f620a424b..4c4ced9ddc1 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/newVirtualMassModel.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/newVirtualMassModel.C
@@ -44,7 +44,7 @@ Foam::autoPtr<Foam::virtualMassModel> Foam::virtualMassModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("virtualMassModel::New")
+        FatalErrorInFunction
             << "Unknown virtualMassModelType type "
             << virtualMassModelType << endl << endl
             << "Valid virtualMassModel types are : " << endl
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/newWallLubricationModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/newWallLubricationModel.C
index 9f7d905c197..08dfd7065da 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/newWallLubricationModel.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/newWallLubricationModel.C
@@ -44,7 +44,7 @@ Foam::autoPtr<Foam::wallLubricationModel> Foam::wallLubricationModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("wallLubricationModel::New")
+        FatalErrorInFunction
             << "Unknown wallLubricationModelType type "
             << wallLubricationModelType << endl << endl
             << "Valid wallLubricationModel types are : " << endl
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/blendingMethod/newBlendingMethod.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/blendingMethod/newBlendingMethod.C
index 2dcc6d0a5e8..e2882355683 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/blendingMethod/newBlendingMethod.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/blendingMethod/newBlendingMethod.C
@@ -43,7 +43,7 @@ Foam::autoPtr<Foam::blendingMethod> Foam::blendingMethod::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("blendingMethod::New")
+        FatalErrorInFunction
             << "Unknown blendingMethodType type "
             << blendingMethodType << endl << endl
             << "Valid blendingMethod types are : " << endl
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/linear/linear.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/linear/linear.C
index d9bfe2b5985..51066535350 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/linear/linear.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/linear/linear.C
@@ -93,14 +93,8 @@ Foam::blendingMethods::linear::linear
           < minPartlyContinuousAlpha_[*iter]
         )
         {
-            FatalErrorIn
-            (
-                "Foam::blendingMethods::linear::linear"
-                "("
-                    "const dictionary& dict,"
-                    "const wordList& phaseNames"
-                ")"
-            )   << "The supplied fully continuous volume fraction for "
+            FatalErrorInFunction
+                << "The supplied fully continuous volume fraction for "
                 << *iter
                 << " is less than the partly continuous value."
                 << endl << exit(FatalError);
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/diameterModel/newDiameterModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/diameterModel/newDiameterModel.C
index 8db37d2bf02..b58f00291bb 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/diameterModel/newDiameterModel.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/diameterModel/newDiameterModel.C
@@ -48,7 +48,7 @@ Foam::autoPtr<Foam::diameterModel> Foam::diameterModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("diameterModel::New")
+        FatalErrorInFunction
            << "Unknown diameterModelType type "
            << diameterModelType << endl << endl
            << "Valid diameterModel types are : " << endl
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/newPhaseModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/newPhaseModel.C
index 0a577313b22..6c1ca526dbf 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/newPhaseModel.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/newPhaseModel.C
@@ -45,7 +45,7 @@ Foam::autoPtr<Foam::phaseModel> Foam::phaseModel::New
 
     if (cstrIter == phaseSystemConstructorTablePtr_->end())
     {
-        FatalErrorIn("phaseModel::New")
+        FatalErrorInFunction
             << "Unknown phaseModelType type "
             << phaseModelType << endl << endl
             << "Valid phaseModel types are : " << endl
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.C
index b40c4688b39..8d73c1286ce 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.C
@@ -175,7 +175,7 @@ const Foam::tmp<Foam::volScalarField>& Foam::phaseModel::divU() const
 
 void Foam::phaseModel::divU(const tmp<volScalarField>& divU)
 {
-    WarningIn("phaseModel::divU(const tmp<volScalarField>& divU)")
+    WarningInFunction
         << "Attempt to set the dilatation rate of an incompressible phase"
         << endl;
 }
@@ -196,7 +196,7 @@ const Foam::surfaceScalarField& Foam::phaseModel::DbyA() const
 
 void Foam::phaseModel::DbyA(const tmp<surfaceScalarField>& DbyA)
 {
-    WarningIn("phaseModel::DbyA(const surfaceScalarField& DbyA)")
+    WarningInFunction
         << "Attempt to set the dilatation rate of an incompressible phase"
         << endl;
 }
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/phasePair/phasePair.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/phasePair/phasePair.C
index 16478646d7d..70ddd042706 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/phasePair/phasePair.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/phasePair/phasePair.C
@@ -67,7 +67,7 @@ Foam::phasePair::~phasePair()
 
 const Foam::phaseModel& Foam::phasePair::dispersed() const
 {
-    FatalErrorIn("Foam::phasePair::dispersed() const")
+    FatalErrorInFunction
         << "Requested dispersed phase from an unordered pair."
         << exit(FatalError);
 
@@ -77,7 +77,7 @@ const Foam::phaseModel& Foam::phasePair::dispersed() const
 
 const Foam::phaseModel& Foam::phasePair::continuous() const
 {
-    FatalErrorIn("Foam::phasePair::dispersed() const")
+    FatalErrorInFunction
         << "Requested continuous phase from an unordered pair."
         << exit(FatalError);
 
@@ -191,7 +191,7 @@ Foam::tmp<Foam::volScalarField> Foam::phasePair::Ta() const
 
 Foam::tmp<Foam::volScalarField> Foam::phasePair::E() const
 {
-    FatalErrorIn("Foam::phasePair::E() const")
+    FatalErrorInFunction
         << "Requested aspect ratio of the dispersed phase in an unordered pair"
         << exit(FatalError);
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/phasePairKey/phasePairKey.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/phasePairKey/phasePairKey.C
index 13ae288f089..da6627b922c 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/phasePairKey/phasePairKey.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/phasePairKey/phasePairKey.C
@@ -133,14 +133,8 @@ Foam::Istream& Foam::operator>>(Istream& is, phasePairKey& key)
     }
     else
     {
-        FatalErrorIn
-        (
-            "friend Istream& operator>>"
-            "("
-                "Istream& is, "
-                "phasePairKey& key"
-            ")"
-        )   << "Phase pair type is not recognised. "
+        FatalErrorInFunction
+            << "Phase pair type is not recognised. "
             << temp
             << "Use (phaseDispersed in phaseContinuous) for an ordered"
             << "pair, or (phase1 and pase2) for an unordered pair."
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C
index fe1e4d4a8dd..2b06f1a7f45 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C
@@ -400,12 +400,8 @@ void Foam::multiphaseSystem::correctContactAngle
 
             if (tp == acap.thetaProps().end())
             {
-                FatalErrorIn
-                (
-                    "multiphaseSystem::correctContactAngle"
-                    "(const phaseModel& phase1, const phaseModel& phase2, "
-                    "fvPatchVectorFieldField& nHatb) const"
-                )   << "Cannot find interface "
+                FatalErrorInFunction
+                    << "Cannot find interface "
                     << phasePairKey(phase1.name(), phase2.name())
                     << "\n    in table of theta properties for patch "
                     << acap.patch().name()
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/newMultiphaseSystem.C b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/newMultiphaseSystem.C
index 79e3546c491..7ee24aa1aa6 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/newMultiphaseSystem.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/newMultiphaseSystem.C
@@ -56,7 +56,7 @@ Foam::autoPtr<Foam::multiphaseSystem> Foam::multiphaseSystem::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("multiphaseSystem::New")
+        FatalErrorInFunction
             << "Unknown multiphaseSystemType type "
             << multiphaseSystemType << endl << endl
             << "Valid multiphaseSystem types are : " << endl
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C
index a37553e338f..76b5879ac1d 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C
@@ -56,11 +56,7 @@ void alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField::checkType()
 {
     if (!isA<wallFvPatch>(patch()))
     {
-        FatalErrorIn
-        (
-            "alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField"
-            "::checkType()"
-        )
+        FatalErrorInFunction
             << "Patch type for patch " << patch().name() << " must be wall\n"
             << "Current patch type is " << patch().type() << nl
             << exit(FatalError);
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.C
index ea28dd01b51..c3d306738d0 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.C
@@ -89,16 +89,8 @@ JohnsonJacksonParticleSlipFvPatchVectorField
      || (specularityCoefficient_.value() > 1)
     )
     {
-        FatalErrorIn
-        (
-            "("
-                "Foam::JohnsonJacksonParticleSlipFvPatchVectorField::"
-                "JohnsonJacksonParticleSlipFvPatchVectorField"
-                "const fvPatch& p,"
-                "const DimensionedField<scalar, volMesh>& iF,"
-                "const dictionary& dict"
-            ")"
-        )   << "The specularity coefficient has to be between 0 and 1"
+        FatalErrorInFunction
+            << "The specularity coefficient has to be between 0 and 1"
             << abort(FatalError);
     }
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.C
index 93d97c650c7..f4d7dd4ee9e 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.C
@@ -97,16 +97,8 @@ JohnsonJacksonParticleThetaFvPatchScalarField
      || (restitutionCoefficient_.value() > 1)
     )
     {
-        FatalErrorIn
-        (
-            "Foam::JohnsonJacksonParticleThetaFvPatchScalarField::"
-            "JohnsonJacksonParticleThetaFvPatchScalarField"
-            "("
-                "const fvPatch& p,"
-                "const DimensionedField<scalar, volMesh>& iF,"
-                "const dictionary& dict"
-            ")"
-        )   << "The restitution coefficient has to be between 0 and 1"
+        FatalErrorInFunction
+            << "The restitution coefficient has to be between 0 and 1"
             << abort(FatalError);
     }
 
@@ -116,16 +108,8 @@ JohnsonJacksonParticleThetaFvPatchScalarField
      || (specularityCoefficient_.value() > 1)
     )
     {
-        FatalErrorIn
-        (
-            "Foam::JohnsonJacksonParticleThetaFvPatchScalarField::"
-            "JohnsonJacksonParticleThetaFvPatchScalarField"
-            "("
-                "const fvPatch& p,"
-                "const DimensionedField<scalar, volMesh>& iF,"
-                "const dictionary& dict"
-            ")"
-        )   << "The specularity coefficient has to be between 0 and 1"
+        FatalErrorInFunction
+            << "The specularity coefficient has to be between 0 and 1"
             << abort(FatalError);
     }
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C
index 92e97999207..dd110902b1d 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C
@@ -55,11 +55,8 @@ Foam::diameterModels::IATEsource::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "IATEsource::New"
-            "(const word& type, const IATE&, const dictionary&)"
-        )   << "Unknown IATE source type "
+        FatalErrorInFunction
+            << "Unknown IATE source type "
             << type << nl << nl
             << "Valid IATE source types : " << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/newTwoPhaseSystem.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/newTwoPhaseSystem.C
index 0324fb2f565..5477ae7c58b 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/newTwoPhaseSystem.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/newTwoPhaseSystem.C
@@ -56,7 +56,7 @@ Foam::autoPtr<Foam::twoPhaseSystem> Foam::twoPhaseSystem::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("twoPhaseSystem::New")
+        FatalErrorInFunction
             << "Unknown twoPhaseSystemType type "
             << twoPhaseSystemType << endl << endl
             << "Valid twoPhaseSystem types are : " << endl
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/newAspectRatioModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/newAspectRatioModel.C
index ff4cb63441f..568c1b26827 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/newAspectRatioModel.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/newAspectRatioModel.C
@@ -45,7 +45,7 @@ Foam::aspectRatioModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("aspectRatioModel::New")
+        FatalErrorInFunction
             << "Unknown aspectRatioModelType type "
             << aspectRatioModelType << endl << endl
             << "Valid aspectRatioModel types are : " << endl
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C
index ce06feab070..e077e31b2d3 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,7 +44,7 @@ Foam::autoPtr<Foam::dragModel> Foam::dragModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("dragModel::New")
+        FatalErrorInFunction
             << "Unknown dragModelType type "
             << dragModelType << endl << endl
             << "Valid dragModel types are : " << endl
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.C
index 4b1fc88ddc5..ca0a145f5bf 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.C
@@ -66,7 +66,7 @@ Foam::dragModels::segregated::~segregated()
 
 Foam::tmp<Foam::volScalarField> Foam::dragModels::segregated::CdRe() const
 {
-    FatalErrorIn("Foam::dragModels::segregated::CdRe() const")
+    FatalErrorInFunction
         << "Not implemented."
         << "Drag coefficient not defined for the segregated model."
         << exit(FatalError);
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/newHeatTransferModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/newHeatTransferModel.C
index bceb23cacc3..8cdb07f2976 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/newHeatTransferModel.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/newHeatTransferModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,7 +44,7 @@ Foam::autoPtr<Foam::heatTransferModel> Foam::heatTransferModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("heatTransferModel::New")
+        FatalErrorInFunction
             << "Unknown heatTransferModelType type "
             << heatTransferModelType << endl << endl
             << "Valid heatTransferModel types are : " << endl
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/Moraga/Moraga.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/Moraga/Moraga.C
index 5548dfd70af..fa364a68c1a 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/Moraga/Moraga.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/Moraga/Moraga.C
@@ -79,11 +79,8 @@ Foam::tmp<Foam::volScalarField> Foam::liftModels::Moraga::Cl() const
      || max(sqrSr).value() > 0.04
     )
     {
-        WarningIn
-        (
-            "Foam::tmp<Foam::volScalarField> "
-            "Foam::liftModels::Moraga::Cl() const"
-        )   << "Re and/or Sr are out of the range of applicability of the "
+        WarningInFunction
+            << "Re and/or Sr are out of the range of applicability of the "
             << "Moraga model. Clamping to range bounds"
             << endl;
     }
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/liftModel/newLiftModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/liftModel/newLiftModel.C
index e8a476d4414..3da4caee7ce 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/liftModel/newLiftModel.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/liftModel/newLiftModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,7 +44,7 @@ Foam::autoPtr<Foam::liftModel> Foam::liftModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("liftModel::New")
+        FatalErrorInFunction
             << "Unknown liftModelType type "
             << liftModelType << endl << endl
             << "Valid liftModel types are : " << endl
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/swarmCorrections/swarmCorrection/newSwarmCorrection.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/swarmCorrections/swarmCorrection/newSwarmCorrection.C
index 8c8f096a2ea..a7181b43968 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/swarmCorrections/swarmCorrection/newSwarmCorrection.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/swarmCorrections/swarmCorrection/newSwarmCorrection.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -45,7 +45,7 @@ Foam::swarmCorrection::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("swarmCorrection::New")
+        FatalErrorInFunction
             << "Unknown swarmCorrectionType type "
             << swarmCorrectionType << endl << endl
             << "Valid swarmCorrection types are : " << endl
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/newTurbulentDispersionModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/newTurbulentDispersionModel.C
index fa267e80d5b..e440e3d1ee6 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/newTurbulentDispersionModel.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/newTurbulentDispersionModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -45,7 +45,7 @@ Foam::turbulentDispersionModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("turbulentDispersionModel::New")
+        FatalErrorInFunction
             << "Unknown turbulentDispersionModelType type "
             << turbulentDispersionModelType << endl << endl
             << "Valid turbulentDispersionModel types are : " << endl
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/newVirtualMassModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/newVirtualMassModel.C
index 82b9b47f170..4c4ced9ddc1 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/newVirtualMassModel.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/newVirtualMassModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,7 +44,7 @@ Foam::autoPtr<Foam::virtualMassModel> Foam::virtualMassModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("virtualMassModel::New")
+        FatalErrorInFunction
             << "Unknown virtualMassModelType type "
             << virtualMassModelType << endl << endl
             << "Valid virtualMassModel types are : " << endl
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/newWallLubricationModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/newWallLubricationModel.C
index b9766e7d52b..08dfd7065da 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/newWallLubricationModel.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/newWallLubricationModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,7 +44,7 @@ Foam::autoPtr<Foam::wallLubricationModel> Foam::wallLubricationModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("wallLubricationModel::New")
+        FatalErrorInFunction
             << "Unknown wallLubricationModelType type "
             << wallLubricationModelType << endl << endl
             << "Valid wallLubricationModel types are : " << endl
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.C
index ea28dd01b51..c3d306738d0 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.C
@@ -89,16 +89,8 @@ JohnsonJacksonParticleSlipFvPatchVectorField
      || (specularityCoefficient_.value() > 1)
     )
     {
-        FatalErrorIn
-        (
-            "("
-                "Foam::JohnsonJacksonParticleSlipFvPatchVectorField::"
-                "JohnsonJacksonParticleSlipFvPatchVectorField"
-                "const fvPatch& p,"
-                "const DimensionedField<scalar, volMesh>& iF,"
-                "const dictionary& dict"
-            ")"
-        )   << "The specularity coefficient has to be between 0 and 1"
+        FatalErrorInFunction
+            << "The specularity coefficient has to be between 0 and 1"
             << abort(FatalError);
     }
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.C
index 93d97c650c7..f4d7dd4ee9e 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.C
@@ -97,16 +97,8 @@ JohnsonJacksonParticleThetaFvPatchScalarField
      || (restitutionCoefficient_.value() > 1)
     )
     {
-        FatalErrorIn
-        (
-            "Foam::JohnsonJacksonParticleThetaFvPatchScalarField::"
-            "JohnsonJacksonParticleThetaFvPatchScalarField"
-            "("
-                "const fvPatch& p,"
-                "const DimensionedField<scalar, volMesh>& iF,"
-                "const dictionary& dict"
-            ")"
-        )   << "The restitution coefficient has to be between 0 and 1"
+        FatalErrorInFunction
+            << "The restitution coefficient has to be between 0 and 1"
             << abort(FatalError);
     }
 
@@ -116,16 +108,8 @@ JohnsonJacksonParticleThetaFvPatchScalarField
      || (specularityCoefficient_.value() > 1)
     )
     {
-        FatalErrorIn
-        (
-            "Foam::JohnsonJacksonParticleThetaFvPatchScalarField::"
-            "JohnsonJacksonParticleThetaFvPatchScalarField"
-            "("
-                "const fvPatch& p,"
-                "const DimensionedField<scalar, volMesh>& iF,"
-                "const dictionary& dict"
-            ")"
-        )   << "The specularity coefficient has to be between 0 and 1"
+        FatalErrorInFunction
+            << "The specularity coefficient has to be between 0 and 1"
             << abort(FatalError);
     }
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/blendingMethod/newBlendingMethod.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/blendingMethod/newBlendingMethod.C
index 95b277fd99f..e2882355683 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/blendingMethod/newBlendingMethod.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/blendingMethod/newBlendingMethod.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -43,7 +43,7 @@ Foam::autoPtr<Foam::blendingMethod> Foam::blendingMethod::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("blendingMethod::New")
+        FatalErrorInFunction
             << "Unknown blendingMethodType type "
             << blendingMethodType << endl << endl
             << "Valid blendingMethod types are : " << endl
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/linear/linear.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/linear/linear.C
index 48dcd0855e2..f89804bb7d3 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/linear/linear.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/linear/linear.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -93,14 +93,8 @@ Foam::blendingMethods::linear::linear
           > maxPartlyDispersedAlpha_[*iter]
         )
         {
-            FatalErrorIn
-            (
-                "Foam::blendingMethods::linear::linear"
-                "("
-                    "const dictionary& dict,"
-                    "const wordList& phaseNames"
-                ")"
-            )   << "The supplied fully dispersed volume fraction for "
+            FatalErrorInFunction
+                << "The supplied fully dispersed volume fraction for "
                 << *iter
                 << " is greater than the partly dispersed value."
                 << endl << exit(FatalError);
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C
index 84db2829087..27fd28d68da 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,11 +56,8 @@ Foam::diameterModels::IATEsource::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "IATEsource::New"
-            "(const word& type, const IATE&, const dictionary&)"
-        )   << "Unknown IATE source type "
+        FatalErrorInFunction
+            << "Unknown IATE source type "
             << type << nl << nl
             << "Valid IATE source types : " << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/diameterModel/newDiameterModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/diameterModel/newDiameterModel.C
index b9014f3f46d..b58f00291bb 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/diameterModel/newDiameterModel.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/diameterModel/newDiameterModel.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -48,7 +48,7 @@ Foam::autoPtr<Foam::diameterModel> Foam::diameterModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("diameterModel::New")
+        FatalErrorInFunction
            << "Unknown diameterModelType type "
            << diameterModelType << endl << endl
            << "Valid diameterModel types are : " << endl
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/orderedPhasePair/orderedPhasePair.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/orderedPhasePair/orderedPhasePair.C
index 808208ea997..5e983b7c19d 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/orderedPhasePair/orderedPhasePair.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/orderedPhasePair/orderedPhasePair.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -85,7 +85,7 @@ Foam::tmp<Foam::volScalarField> Foam::orderedPhasePair::E() const
 {
     if (!aspectRatio_.valid())
     {
-        FatalErrorIn("Foam::orderedPhasePair::E() const")
+        FatalErrorInFunction
             << "Aspect ratio model not specified for " << *this << "."
             << exit(FatalError);
     }
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/phasePair/phasePair.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/phasePair/phasePair.C
index 0f77a41ad0d..ef4f6abb8e8 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/phasePair/phasePair.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/phasePair/phasePair.C
@@ -82,7 +82,7 @@ Foam::phasePair::~phasePair()
 
 const Foam::phaseModel& Foam::phasePair::dispersed() const
 {
-    FatalErrorIn("Foam::phasePair::dispersed() const")
+    FatalErrorInFunction
         << "Requested dispersed phase from an unordered pair."
         << exit(FatalError);
 
@@ -92,7 +92,7 @@ const Foam::phaseModel& Foam::phasePair::dispersed() const
 
 const Foam::phaseModel& Foam::phasePair::continuous() const
 {
-    FatalErrorIn("Foam::phasePair::dispersed() const")
+    FatalErrorInFunction
         << "Requested continuous phase from an unordered pair."
         << exit(FatalError);
 
@@ -185,7 +185,7 @@ Foam::tmp<Foam::volScalarField> Foam::phasePair::Ta() const
 
 Foam::tmp<Foam::volScalarField> Foam::phasePair::E() const
 {
-    FatalErrorIn("Foam::phasePair::E() const")
+    FatalErrorInFunction
         << "Requested aspect ratio of the dispersed phase in an unordered pair"
         << exit(FatalError);
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/phasePairKey/phasePairKey.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/phasePairKey/phasePairKey.C
index 4280dd5fb3b..d203fb03494 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/phasePairKey/phasePairKey.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/phasePairKey/phasePairKey.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -125,14 +125,8 @@ Foam::Istream& Foam::operator>>(Istream& is, phasePairKey& key)
     }
     else
     {
-        FatalErrorIn
-        (
-            "friend Istream& operator>>"
-            "("
-                "Istream& is, "
-                "phasePairKey& key"
-            ")"
-        )   << "Phase pair type is not recognised. "
+        FatalErrorInFunction
+            << "Phase pair type is not recognised. "
             << temp
             << "Use (phaseDispersed in phaseContinuous) for an ordered"
             << "pair, or (phase1 and pase2) for an unordered pair."
diff --git a/applications/solvers/stressAnalysis/solidDisplacementFoam/readMechanicalProperties.H b/applications/solvers/stressAnalysis/solidDisplacementFoam/readMechanicalProperties.H
index 4f85d6dad8c..eca43adbf7a 100644
--- a/applications/solvers/stressAnalysis/solidDisplacementFoam/readMechanicalProperties.H
+++ b/applications/solvers/stressAnalysis/solidDisplacementFoam/readMechanicalProperties.H
@@ -61,10 +61,8 @@
     }
     else
     {
-        FatalErrorIn
-        (
-            "readMechanicalProperties.H"
-        )   << "Valid type entries are uniform or field for rho"
+        FatalErrorInFunction
+            << "Valid type entries are uniform or field for rho"
             << abort(FatalError);
     }
 
@@ -119,10 +117,8 @@
     }
     else
     {
-        FatalErrorIn
-        (
-            "readMechanicalProperties.H"
-        )   << "Valid type entries are uniform or field for E"
+        FatalErrorInFunction
+            << "Valid type entries are uniform or field for E"
             << abort(FatalError);
     }
 
@@ -175,10 +171,8 @@
     }
     else
     {
-        FatalErrorIn
-        (
-            "readMechanicalProperties.H"
-        )   << "Valid type entries are uniform or field for nu"
+        FatalErrorInFunction
+            << "Valid type entries are uniform or field for nu"
             << abort(FatalError);
     }
 
diff --git a/applications/solvers/stressAnalysis/solidDisplacementFoam/readThermalProperties.H b/applications/solvers/stressAnalysis/solidDisplacementFoam/readThermalProperties.H
index afcff762e4d..45327c2b4be 100644
--- a/applications/solvers/stressAnalysis/solidDisplacementFoam/readThermalProperties.H
+++ b/applications/solvers/stressAnalysis/solidDisplacementFoam/readThermalProperties.H
@@ -96,10 +96,8 @@ if (thermalStress)
     }
     else
     {
-        FatalErrorIn
-        (
-             "readThermalProperties.H"
-        )   << "Valid type entries are uniform or field for C"
+        FatalErrorInFunction
+            << "Valid type entries are uniform or field for C"
             << abort(FatalError);
     }
 
@@ -154,10 +152,8 @@ if (thermalStress)
     }
     else
     {
-        FatalErrorIn
-        (
-             "readThermalProperties.H"
-        )   << "Valid type entries are uniform or field for K"
+        FatalErrorInFunction
+            << "Valid type entries are uniform or field for K"
             << abort(FatalError);
     }
 
@@ -212,10 +208,8 @@ if (thermalStress)
     }
     else
     {
-        FatalErrorIn
-        (
-            "readThermalProperties.H"
-        )   << "Valid type entries are uniform or field for alpha"
+        FatalErrorInFunction
+            << "Valid type entries are uniform or field for alpha"
             << abort(FatalError);
     }
 
diff --git a/applications/test/GAMGAgglomeration/Test-GAMGAgglomeration.C b/applications/test/GAMGAgglomeration/Test-GAMGAgglomeration.C
index 2dd7905294c..940bc871abb 100644
--- a/applications/test/GAMGAgglomeration/Test-GAMGAgglomeration.C
+++ b/applications/test/GAMGAgglomeration/Test-GAMGAgglomeration.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -130,7 +130,7 @@ int main(int argc, char *argv[])
         );
         if (!ok)
         {
-            WarningIn(args.executable())
+            WarningInFunction
                 << "At level " << level
                 << " there are " << coarseSize
                 << " agglomerated cells but " << newCoarseSize
diff --git a/applications/test/fieldMapping/Test-fieldMapping.C b/applications/test/fieldMapping/Test-fieldMapping.C
index e4bc1967778..38a4b110f96 100644
--- a/applications/test/fieldMapping/Test-fieldMapping.C
+++ b/applications/test/fieldMapping/Test-fieldMapping.C
@@ -225,7 +225,7 @@ int main(int argc, char *argv[])
         {
             if (mesh.V().size() != mesh.nCells())
             {
-                FatalErrorIn(args.executable())
+                FatalErrorInFunction
                     << "Volume not mapped. V:" << mesh.V().size()
                     << " nCells:" << mesh.nCells()
                     << exit(FatalError);
@@ -238,7 +238,7 @@ int main(int argc, char *argv[])
 
             if (mag(newVol-totalVol)/totalVol > 1e-10)
             {
-                FatalErrorIn(args.executable())
+                FatalErrorInFunction
                     << "Volume loss: old volume:" << totalVol
                     << "  new volume:" << newVol
                     << exit(FatalError);
@@ -260,7 +260,7 @@ int main(int argc, char *argv[])
 
             if (notEqual(max, 1.0, 1e-10) || notEqual(min, 1.0, 1e-10))
             {
-                FatalErrorIn(args.executable())
+                FatalErrorInFunction
                     << "Uniform volVectorField not preserved."
                     << " Min and max should both be 1.0. min:" << min
                     << " max:" << max
@@ -284,7 +284,7 @@ int main(int argc, char *argv[])
 
             if (notEqual(max, 0.0, 1e-10) || notEqual(min, 0.0, 1e-10))
             {
-                FatalErrorIn(args.executable())
+                FatalErrorInFunction
                     << "Linear profile not preserved."
                     << " Min and max should both be 0.0. min:" << min
                     << " max:" << max
@@ -307,7 +307,7 @@ int main(int argc, char *argv[])
 
             if (notEqual(max, 1.0, 1e-10) || notEqual(min, 1.0, 1e-10))
             {
-                FatalErrorIn(args.executable())
+                FatalErrorInFunction
                     << "Uniform surfaceScalarField not preserved."
                     << " Min and max should both be 1.0. min:" << min
                     << " max:" << max
diff --git a/applications/test/globalIndex/Test-globalIndex.C b/applications/test/globalIndex/Test-globalIndex.C
index 11078c858bb..0de4f04b3c3 100644
--- a/applications/test/globalIndex/Test-globalIndex.C
+++ b/applications/test/globalIndex/Test-globalIndex.C
@@ -53,14 +53,14 @@ int main(int argc, char *argv[])
 
     if (globalNumbering.localSize() != mesh.nCells())
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Problem." << abort(FatalError);
     }
 
 
     if (!Pstream::parRun())
     {
-        WarningIn(args.executable())
+        WarningInFunction
             << "globalIndex class is only useful in parallel code."
             << endl;
     }
@@ -77,14 +77,14 @@ int main(int argc, char *argv[])
 
         if (procI != Pstream::myProcNo() || localCellI != cellI)
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Problem. cellI:" << cellI << " localCellI:" << localCellI
                 << " procI:" << procI << abort(FatalError);
         }
 
         if (!globalNumbering.isLocal(globalCellI))
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Problem. cellI:" << cellI << " globalCellI:" << globalCellI
                 << " not local" << abort(FatalError);
         }
@@ -95,7 +95,7 @@ int main(int argc, char *argv[])
 
     if (mesh.nCells() < 1)
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Test needs to be run on a case with at least one"
             << " cell per processor." << abort(FatalError);
     }
@@ -109,7 +109,7 @@ int main(int argc, char *argv[])
 
         if (procI != Pstream::myProcNo()-1)
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Problem. global:" << prevProcCellI
                 << " expected on processor:" << Pstream::myProcNo()-1
                 << " but is calculated to be on procI:" << procI
@@ -118,14 +118,14 @@ int main(int argc, char *argv[])
 
         if (globalNumbering.isLocal(prevProcCellI))
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Problem. globalCellI:" << prevProcCellI
                 << " calculated as local" << abort(FatalError);
         }
 
         if (!globalNumbering.isLocal(procI, prevProcCellI))
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Problem. globalCellI:" << prevProcCellI
                 << " not calculated as local on processor:" << procI
                 << abort(FatalError);
@@ -140,7 +140,7 @@ int main(int argc, char *argv[])
 
         if (procI != Pstream::myProcNo()+1)
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Problem. global:" << nextProcCellI
                 << " expected on processor:" << Pstream::myProcNo()+1
                 << " but is calculated to be on procI:" << procI
@@ -149,14 +149,14 @@ int main(int argc, char *argv[])
 
         if (globalNumbering.isLocal(nextProcCellI))
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Problem. globalCellI:" << nextProcCellI
                 << " calculated as local" << abort(FatalError);
         }
 
         if (!globalNumbering.isLocal(procI, nextProcCellI))
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Problem. globalCellI:" << nextProcCellI
                 << " not calculated as local on processor:" << procI
                 << abort(FatalError);
diff --git a/applications/test/hexRef8/Test-hexRef8.C b/applications/test/hexRef8/Test-hexRef8.C
index 44a6094076d..f79628fd8c0 100644
--- a/applications/test/hexRef8/Test-hexRef8.C
+++ b/applications/test/hexRef8/Test-hexRef8.C
@@ -309,7 +309,7 @@ int main(int argc, char *argv[])
         {
             if (mesh.V().size() != mesh.nCells())
             {
-                FatalErrorIn(args.executable())
+                FatalErrorInFunction
                     << "Volume not mapped. V:" << mesh.V().size()
                     << " nCells:" << mesh.nCells()
                     << exit(FatalError);
@@ -322,7 +322,7 @@ int main(int argc, char *argv[])
 
             if (mag(newVol-totalVol)/totalVol > 1e-10)
             {
-                FatalErrorIn(args.executable())
+                FatalErrorInFunction
                     << "Volume loss: old volume:" << totalVol
                     << "  new volume:" << newVol
                     << exit(FatalError);
@@ -344,7 +344,7 @@ int main(int argc, char *argv[])
 
             if (notEqual(max, 1.0, 1e-10) || notEqual(min, 1.0, 1e-10))
             {
-                FatalErrorIn(args.executable())
+                FatalErrorInFunction
                     << "Uniform volVectorField not preserved."
                     << " Min and max should both be 1.0. min:" << min
                     << " max:" << max
@@ -389,7 +389,7 @@ int main(int argc, char *argv[])
 
             if (notEqual(max, 1.0, 1e-10) || notEqual(min, 1.0, 1e-10))
             {
-                FatalErrorIn(args.executable())
+                FatalErrorInFunction
                     << "Uniform surfaceScalarField not preserved."
                     << " Min and max should both be 1.0. min:" << min
                     << " max:" << max
diff --git a/applications/test/parallel-nonBlocking/Test-parallel-nonBlocking.C b/applications/test/parallel-nonBlocking/Test-parallel-nonBlocking.C
index ea27cfc7dfc..88c0a24571c 100644
--- a/applications/test/parallel-nonBlocking/Test-parallel-nonBlocking.C
+++ b/applications/test/parallel-nonBlocking/Test-parallel-nonBlocking.C
@@ -169,7 +169,7 @@ int main(int argc, char *argv[])
 
             if (data != procI)
             {
-                FatalErrorIn(args.executable())
+                FatalErrorInFunction
                     << "From processor " << procI << " received " << data
                     << " but expected " << procI
                     << exit(FatalError);
diff --git a/applications/test/primitivePatch/Test-PrimitivePatch.C b/applications/test/primitivePatch/Test-PrimitivePatch.C
index 60d321b2b7c..3f5e9161e3c 100644
--- a/applications/test/primitivePatch/Test-PrimitivePatch.C
+++ b/applications/test/primitivePatch/Test-PrimitivePatch.C
@@ -71,7 +71,7 @@ void checkFaceEdges
 
             if (edges[myEdges[fp]] != edge(f[fp], f[fp1]))
             {
-                FatalErrorIn("checkFaceEdges")
+                FatalErrorInFunction
                     << "Edges of face not in face point order:"
                     << "face:" << faceI << " localF:" << f
                     << " faceEdges:" << myEdges
diff --git a/applications/test/router/Gather/GatherBase.C b/applications/test/router/Gather/GatherBase.C
index 553e41a818a..e3f281db7e4 100644
--- a/applications/test/router/Gather/GatherBase.C
+++ b/applications/test/router/Gather/GatherBase.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -70,11 +70,8 @@ IndexType GatherBase::offset
 {
     if (values.size() != indices.size())
     {
-        FatalErrorIn
-        (
-            "GatherBase::offset(const List<DataType>&, "
-            "const List<IndexType>&, AddOp)"
-        )   << "Input data and indices lists not equal size." << endl
+        FatalErrorInFunction
+            << "Input data and indices lists not equal size." << endl
             << "data size:" << values.size()
             << "  indices:" << indices.size()
             << abort(FatalError);
diff --git a/applications/test/router/Test-processorRouter.C b/applications/test/router/Test-processorRouter.C
index 580277ee7ee..2c6e5b1e6dc 100644
--- a/applications/test/router/Test-processorRouter.C
+++ b/applications/test/router/Test-processorRouter.C
@@ -103,7 +103,7 @@ int main(int argc, char *argv[])
 
     if (!Pstream::parRun())
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Please run in parallel" << exit(FatalError);
     }
 
diff --git a/applications/test/router/router.C b/applications/test/router/router.C
index 84420a907c5..0b55495beaa 100644
--- a/applications/test/router/router.C
+++ b/applications/test/router/router.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -125,12 +125,8 @@ void Foam::router::fixWeights
 
     if (minNodeI == -1)
     {
-        WarningIn
-        (
-            "Foam::router::fixWeights"
-            "(const label startNodeI, const label endNodeI,"
-            "const label nodeI, const label prevNodeI)"
-        )   << "Cannot route from node " << nodeI
+        WarningInFunction
+            << "Cannot route from node " << nodeI
             << " since all neigbours of node "
             << "already allocated:" << endl;
 
@@ -138,12 +134,7 @@ void Foam::router::fixWeights
         {
             label nbrNodeI = myNeighbours[neighbourI];
 
-            WarningIn
-            (
-                "Foam::router::fixWeights"
-                "(const label startNodeI, const label endNodeI,"
-                "const label nodeI, const label prevNodeI)"
-            )   << "  neighbour:" << nbrNodeI
+            WarningInFunction
                 << "  weight:" << weights_[nbrNodeI] << endl;
         }
         return;
@@ -292,7 +283,7 @@ bool Foam::router::route(const labelList& path, const label pathValue)
 {
     if (pathValue >= 0)
     {
-        FatalErrorIn("router::route(const labelList&, const label)")
+        FatalErrorInFunction
             << "Illegal pathValue " << pathValue << exit(FatalError);
     }
 
@@ -382,7 +373,7 @@ Foam::labelList Foam::router::getRoute(const label pathValue) const
 
     if (pathNodeI == -1)
     {
-        FatalErrorIn("router::getRoute(const label)")
+        FatalErrorInFunction
             << "No route with value " << pathValue << endl;
     }
 
diff --git a/applications/test/syncTools/Test-syncTools.C b/applications/test/syncTools/Test-syncTools.C
index f7379b8cd5a..f9a77643844 100644
--- a/applications/test/syncTools/Test-syncTools.C
+++ b/applications/test/syncTools/Test-syncTools.C
@@ -29,7 +29,6 @@ Description
 
 \*---------------------------------------------------------------------------*/
 
-
 #include "syncTools.H"
 #include "argList.H"
 #include "polyMesh.H"
@@ -81,7 +80,7 @@ void testPackedList(const polyMesh& mesh, Random& rndGen)
              || maxEdgeValues[i] != label(maxBits.get(i))
             )
             {
-                FatalErrorIn("testPackedList()")
+                FatalErrorInFunction
                     << "edge:" << i
                     << " minlabel:" << edgeValues[i]
                     << " minbits:" << bits.get(i)
@@ -128,7 +127,7 @@ void testPackedList(const polyMesh& mesh, Random& rndGen)
              || maxPointValues[i] != label(maxBits.get(i))
             )
             {
-                FatalErrorIn("testPackedList()")
+                FatalErrorInFunction
                     << "point:" << i
                     << " at:" << mesh.points()[i]
                     << " minlabel:" << pointValues[i]
@@ -170,7 +169,7 @@ void testPackedList(const polyMesh& mesh, Random& rndGen)
              || maxFaceValues[faceI] != label(maxBits.get(faceI))
             )
             {
-                FatalErrorIn("testPackedList()")
+                FatalErrorInFunction
                     << "face:" << faceI
                     << " minlabel:" << faceValues[faceI]
                     << " minbits:" << bits.get(faceI)
@@ -187,7 +186,7 @@ void testSparseData(const polyMesh& mesh, Random& rndGen)
 {
     Info<< nl << "Testing Map synchronisation." << endl;
 
-    WarningIn("testSparseData()")
+    WarningInFunction
         << "Position test of sparse data only correct for cases without cyclics"
         << " with shared points." << endl;
 
@@ -252,7 +251,7 @@ void testSparseData(const polyMesh& mesh, Random& rndGen)
 
                 if (fullPt != sparsePt)
                 {
-                    FatalErrorIn("testSparseData()")
+                    FatalErrorInFunction
                         << "point:" << meshPointI
                         << " full:" << fullPt
                         << " sparse:" << sparsePt
@@ -270,7 +269,7 @@ void testSparseData(const polyMesh& mesh, Random& rndGen)
 
             if (fullPt != sparsePt)
             {
-                FatalErrorIn("testSparseData()")
+                FatalErrorInFunction
                     << "point:" << meshPointI
                     << " full:" << fullPt
                     << " sparse:" << sparsePt
@@ -335,7 +334,7 @@ void testSparseData(const polyMesh& mesh, Random& rndGen)
 
                 if (fullPt != sparsePt)
                 {
-                    FatalErrorIn("testSparseData()")
+                    FatalErrorInFunction
                         << "edge:" << meshEdgeI
                         << " points:" << mesh.edges()[meshEdgeI]
                         << " full:" << fullPt
@@ -359,7 +358,7 @@ void testSparseData(const polyMesh& mesh, Random& rndGen)
 
                 if (fullPt != sparsePt)
                 {
-                    FatalErrorIn("testSparseData()")
+                    FatalErrorInFunction
                         << "Extra edge:" << meshEdgeI
                         << " points:" << mesh.edges()[meshEdgeI]
                         << " full:" << fullPt
@@ -392,7 +391,7 @@ void testPointSync(const polyMesh& mesh, Random& rndGen)
         {
             if (mag(syncedPoints[pointI] - mesh.points()[pointI]) > SMALL)
             {
-                FatalErrorIn("testPointSync()")
+                FatalErrorInFunction
                     << "Point " << pointI
                     << " original location " << mesh.points()[pointI]
                     << " synced location " << syncedPoints[pointI]
@@ -428,13 +427,11 @@ void testPointSync(const polyMesh& mesh, Random& rndGen)
         {
             if (nMasters[pointI] != 1)
             {
-                //FatalErrorIn("testPointSync()")
-                WarningIn("testPointSync()")
+                WarningInFunction
                     << "Point " << pointI
                     << " original location " << mesh.points()[pointI]
                     << " has " << nMasters[pointI]
                     << " masters."
-                    //<< exit(FatalError);
                     << endl;
             }
         }
@@ -470,7 +467,7 @@ void testEdgeSync(const polyMesh& mesh, Random& rndGen)
 
             if (mag(syncedMids[edgeI] - eMid) > SMALL)
             {
-                FatalErrorIn("testEdgeSync()")
+                FatalErrorInFunction
                     << "Edge " << edgeI
                     << " original midpoint " << eMid
                     << " synced location " << syncedMids[edgeI]
@@ -507,13 +504,11 @@ void testEdgeSync(const polyMesh& mesh, Random& rndGen)
             if (nMasters[edgeI] != 1)
             {
                 const edge& e = edges[edgeI];
-                //FatalErrorIn("testEdgeSync()")
-                WarningIn("testEdgeSync()")
+                WarningInFunction
                     << "Edge " << edgeI
                     << " at:" << mesh.points()[e[0]] << mesh.points()[e[1]]
                     << " has " << nMasters[edgeI]
                     << " masters."
-                    //<< exit(FatalError);
                     << endl;
             }
         }
@@ -541,7 +536,7 @@ void testFaceSync(const polyMesh& mesh, Random& rndGen)
         {
             if (mag(syncedFc[faceI] - mesh.faceCentres()[faceI]) > SMALL)
             {
-                FatalErrorIn("testFaceSync()")
+                FatalErrorInFunction
                     << "Face " << faceI
                     << " original centre " << mesh.faceCentres()[faceI]
                     << " synced centre " << syncedFc[faceI]
@@ -576,7 +571,7 @@ void testFaceSync(const polyMesh& mesh, Random& rndGen)
         {
             if (nMasters[faceI] != 1)
             {
-                FatalErrorIn("testFaceSync()")
+                FatalErrorInFunction
                     << "Face " << faceI
                     << " centre " << mesh.faceCentres()[faceI]
                     << " has " << nMasters[faceI]
diff --git a/applications/test/tetTetOverlap/Test-tetTetOverlap.C b/applications/test/tetTetOverlap/Test-tetTetOverlap.C
index df6f2b8f83c..e3149316148 100644
--- a/applications/test/tetTetOverlap/Test-tetTetOverlap.C
+++ b/applications/test/tetTetOverlap/Test-tetTetOverlap.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -152,7 +152,7 @@ int main(int argc, char *argv[])
 
     if (mag(volInside+volOutside-tetA.mag()) > SMALL)
     {
-        FatalErrorIn("Test-tetetOverlap")
+        FatalErrorInFunction
             << "Tet volumes do not sum up to input tet."
             << exit(FatalError);
     }
diff --git a/applications/utilities/mesh/advanced/PDRMesh/PDRMesh.C b/applications/utilities/mesh/advanced/PDRMesh/PDRMesh.C
index 6473bb4d88b..e6df9ed9d4c 100644
--- a/applications/utilities/mesh/advanced/PDRMesh/PDRMesh.C
+++ b/applications/utilities/mesh/advanced/PDRMesh/PDRMesh.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -530,7 +530,7 @@ label findPatch(const polyBoundaryMesh& patches, const word& patchName)
 
     if (patchI == -1)
     {
-        FatalErrorIn("findPatch(const polyBoundaryMesh&, const word&)")
+        FatalErrorInFunction
             << "Illegal patch " << patchName
             << nl << "Valid patches are " << patches.names()
             << exit(FatalError);
@@ -543,7 +543,7 @@ label findPatch(const polyBoundaryMesh& patches, const word& patchName)
 
         if (newPatch != patchI)
         {
-            FatalErrorIn("findPatch(const polyBoundaryMesh&, const word&)")
+            FatalErrorInFunction
                 << "Patch " << patchName
                 << " should have the same patch index on all processors." << nl
                 << "On my processor it has index " << patchI
@@ -651,7 +651,7 @@ int main(int argc, char *argv[])
         {
             if (wantedPatch[iter.key()] != -1)
             {
-                FatalErrorIn(args.executable())
+                FatalErrorInFunction
                     << "Face " << iter.key()
                     << " is in faceSet " << setsAndPatches[setI][0]
                     << " destined for patch " << setsAndPatches[setI][1]
@@ -689,7 +689,7 @@ int main(int argc, char *argv[])
         {
             if (coupledWantedPatch[iter.key()] != -1)
             {
-                FatalErrorIn(args.executable())
+                FatalErrorInFunction
                     << "Face " << iter.key()
                     << " is in faceSet " << coupledAndPatches[setI][0]
                     << " destined for patch " << coupledAndPatches[setI][1]
@@ -1151,7 +1151,7 @@ int main(int argc, char *argv[])
 
     if (cellRegion.nRegions() > 1)
     {
-        WarningIn(args.executable())
+        WarningInFunction
             << "Removing blocked faces and cells created "
             << cellRegion.nRegions()
             << " regions that are not connected via a face." << nl
@@ -1167,7 +1167,7 @@ int main(int argc, char *argv[])
 
         if (startFrom != "latestTime")
         {
-            WarningIn(args.executable())
+            WarningInFunction
                 << "To run splitMeshRegions please set your"
                 << " startFrom entry to latestTime" << endl;
         }
diff --git a/applications/utilities/mesh/advanced/autoRefineMesh/autoRefineMesh.C b/applications/utilities/mesh/advanced/autoRefineMesh/autoRefineMesh.C
index 8daf4edc443..ed30517153a 100644
--- a/applications/utilities/mesh/advanced/autoRefineMesh/autoRefineMesh.C
+++ b/applications/utilities/mesh/advanced/autoRefineMesh/autoRefineMesh.C
@@ -365,7 +365,7 @@ bool limitRefinementLevel
                 {
                     if (refLevel[cellI] - refLevel[nbr] >= limitDiff)
                     {
-                        FatalErrorIn("limitRefinementLevel")
+                        FatalErrorInFunction
                             << "Level difference between neighbouring cells "
                             << cellI << " and " << nbr
                             << " greater than or equal to " << limitDiff << endl
@@ -705,7 +705,7 @@ int main(int argc, char *argv[])
 
     if (nCutLayers > 0 && selectInside)
     {
-        WarningIn(args.executable())
+        WarningInFunction
             << "Illogical settings : Both nCutLayers>0 and selectInside true."
             << endl
             << "This would mean that inside cells get removed but should be"
@@ -728,7 +728,7 @@ int main(int argc, char *argv[])
 
         if (queryMesh.findCell(outsidePoint, -1, false) == -1)
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "outsidePoint " << outsidePoint
                 << " is not inside any cell"
                 << exit(FatalError);
diff --git a/applications/utilities/mesh/advanced/collapseEdges/collapseEdges.C b/applications/utilities/mesh/advanced/collapseEdges/collapseEdges.C
index 134c735919a..9df985f42ef 100644
--- a/applications/utilities/mesh/advanced/collapseEdges/collapseEdges.C
+++ b/applications/utilities/mesh/advanced/collapseEdges/collapseEdges.C
@@ -98,7 +98,7 @@ int main(int argc, char *argv[])
 
     if (collapseFaces && collapseFaceSet)
     {
-        FatalErrorIn("main(int, char*[])")
+        FatalErrorInFunction
             << "Both face zone collapsing and face collapsing have been"
             << "selected. Choose only one of:" << nl
             << "    -collapseFaces" << nl
diff --git a/applications/utilities/mesh/advanced/combinePatchFaces/combinePatchFaces.C b/applications/utilities/mesh/advanced/combinePatchFaces/combinePatchFaces.C
index f4d5d13418d..9854ec2fef5 100644
--- a/applications/utilities/mesh/advanced/combinePatchFaces/combinePatchFaces.C
+++ b/applications/utilities/mesh/advanced/combinePatchFaces/combinePatchFaces.C
@@ -177,7 +177,7 @@ label mergePatchFaces
 
                         if (newVertI < 0)
                         {
-                            FatalErrorIn("mergePatchFaces")
+                            FatalErrorInFunction
                                 << "In set:" << setI << " old face labels:"
                                 << allFaceSets[setI] << " new face vertices:"
                                 << setFaceVerts[i] << " are unmapped vertices!"
diff --git a/applications/utilities/mesh/advanced/modifyMesh/modifyMesh.C b/applications/utilities/mesh/advanced/modifyMesh/modifyMesh.C
index c3f8bed837d..abd5eb45adc 100644
--- a/applications/utilities/mesh/advanced/modifyMesh/modifyMesh.C
+++ b/applications/utilities/mesh/advanced/modifyMesh/modifyMesh.C
@@ -399,7 +399,7 @@ int main(int argc, char *argv[])
      || (collapseEdge && cellsToSplit)
     )
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Used more than one mesh modifying module "
             << "(boundary cutting, cell splitting, edge collapsing)" << nl
             << "Please do them in separate passes." << exit(FatalError);
diff --git a/applications/utilities/mesh/advanced/refineWallLayer/refineWallLayer.C b/applications/utilities/mesh/advanced/refineWallLayer/refineWallLayer.C
index 2872db86d94..ba5b7f85482 100644
--- a/applications/utilities/mesh/advanced/refineWallLayer/refineWallLayer.C
+++ b/applications/utilities/mesh/advanced/refineWallLayer/refineWallLayer.C
@@ -86,7 +86,7 @@ int main(int argc, char *argv[])
 
     if (!patchSet.size())
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Cannot find any patches in set " << patches << endl
             << "Valid patches are " << mesh.boundaryMesh().names()
             << exit(FatalError);
diff --git a/applications/utilities/mesh/advanced/refinementLevel/refinementLevel.C b/applications/utilities/mesh/advanced/refinementLevel/refinementLevel.C
index a992deb519e..b3af03b509a 100644
--- a/applications/utilities/mesh/advanced/refinementLevel/refinementLevel.C
+++ b/applications/utilities/mesh/advanced/refinementLevel/refinementLevel.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -240,7 +240,7 @@ int main(int argc, char *argv[])
 
     if (!readLevel && refHeader.headerOk())
     {
-        WarningIn(args.executable())
+        WarningInFunction
             << "Detected " << refHeader.name() << " file in "
             << polyMesh::defaultRegion <<  " directory. Please remove to"
             << " recreate it or use the -readLevel option to use it"
diff --git a/applications/utilities/mesh/advanced/selectCells/selectCells.C b/applications/utilities/mesh/advanced/selectCells/selectCells.C
index 86eddffcf45..c71929e5003 100644
--- a/applications/utilities/mesh/advanced/selectCells/selectCells.C
+++ b/applications/utilities/mesh/advanced/selectCells/selectCells.C
@@ -174,7 +174,7 @@ void cutBySurface
         }
         else
         {
-            FatalErrorIn("cutBySurface")
+            FatalErrorInFunction
                 << "Multiple mesh regions in original mesh" << endl
                 << "Please use splitMeshRegions to separate these"
                 << exit(FatalError);
@@ -393,7 +393,7 @@ int main(int argc, char *argv[])
         label cellI = queryMesh.findCell(outsidePoint, -1, false);
         if (returnReduce(cellI, maxOp<label>()) == -1)
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "outsidePoint " << outsidePoint
                 << " is not inside any cell"
                 << exit(FatalError);
diff --git a/applications/utilities/mesh/advanced/splitCells/splitCells.C b/applications/utilities/mesh/advanced/splitCells/splitCells.C
index ec1a480ad87..0e1eb5b1e50 100644
--- a/applications/utilities/mesh/advanced/splitCells/splitCells.C
+++ b/applications/utilities/mesh/advanced/splitCells/splitCells.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -261,7 +261,7 @@ bool splitHex
 
     if (leftI == -1 || rightI == -1)
     {
-        FatalErrorIn("splitHex") << "Problem : leftI:" << leftI
+        FatalErrorInFunction
             << " rightI:" << rightI << abort(FatalError);
     }
 
diff --git a/applications/utilities/mesh/conversion/Optional/ccm26ToFoam/ccm26ToFoam.C b/applications/utilities/mesh/conversion/Optional/ccm26ToFoam/ccm26ToFoam.C
index 239bb208320..deda5581f8b 100644
--- a/applications/utilities/mesh/conversion/Optional/ccm26ToFoam/ccm26ToFoam.C
+++ b/applications/utilities/mesh/conversion/Optional/ccm26ToFoam/ccm26ToFoam.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -164,7 +164,7 @@ void CheckError(CCMIOError const &err, const Foam::string& str)
 {
     if (err != kCCMIONoErr)
     {
-        FatalErrorIn("CheckError")
+        FatalErrorInFunction
             << str << exit(FatalError);
     }
 }
@@ -625,14 +625,14 @@ int main(int argc, char *argv[])
 
         if (!isFile(ccmFile))
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Cannot read file " << ccmFile
                 << exit(FatalError);
         }
 
         if (ccmExt != "ccm" && ccmExt != "ccmg")
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Illegal extension " << ccmExt << " for file " << ccmFile
                 << nl << "Allowed extensions are '.ccm', '.ccmg'"
                 << exit(FatalError);
@@ -697,7 +697,7 @@ int main(int argc, char *argv[])
             );
             if (err != kCCMIONoErr)
             {
-                FatalErrorIn(args.executable())
+                FatalErrorInFunction
                     << "Could not read the file."
                     << exit(FatalError);
             }
@@ -838,7 +838,7 @@ int main(int argc, char *argv[])
 
         if (nbr >= foamCellType.size() || own >= foamCellType.size())
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "face:" << faceI
                 << " nbr:" << nbr
                 << " own:" << own
@@ -864,7 +864,7 @@ int main(int argc, char *argv[])
         {
             if (f[fp] < 0 || f[fp] >= foamPoints.size())
             {
-                FatalErrorIn(args.executable()) << "face:" << faceI
+                FatalErrorInFunction
                     << " f:" << f << abort(FatalError);
             }
         }
@@ -1002,7 +1002,7 @@ int main(int argc, char *argv[])
 
     if (meshFaceI != foamOwner.size())
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "meshFaceI:" << meshFaceI
             << " nFaces:" << foamOwner.size()
             << abort(FatalError);
diff --git a/applications/utilities/mesh/conversion/ansysToFoam/ansysToFoam.L b/applications/utilities/mesh/conversion/ansysToFoam/ansysToFoam.L
index f569b19612a..8e2a1749a93 100644
--- a/applications/utilities/mesh/conversion/ansysToFoam/ansysToFoam.L
+++ b/applications/utilities/mesh/conversion/ansysToFoam/ansysToFoam.L
@@ -285,7 +285,7 @@ label findFace(const polyMesh& mesh, const face& f)
         }
     }
 
-    FatalErrorIn("findFace(const polyMesh&, const face&)")
+    FatalErrorInFunction
         << "Cannot find a face matching " << f
         << exit(FatalError);
 
@@ -320,7 +320,7 @@ int main(int argc, char *argv[])
 
     if (!ansysStream)
     {
-        FatalErrorIn("ansysToFoam::main(int argc, char *argv[])")
+        FatalErrorInFunction
             << args.executable()
             << ": file " << ansysFile << " not found"
             << exit(FatalError);
diff --git a/applications/utilities/mesh/conversion/cfx4ToFoam/cfx4ToFoam.C b/applications/utilities/mesh/conversion/cfx4ToFoam/cfx4ToFoam.C
index 2c4d7b0eaa9..c3d2fef0732 100644
--- a/applications/utilities/mesh/conversion/cfx4ToFoam/cfx4ToFoam.C
+++ b/applications/utilities/mesh/conversion/cfx4ToFoam/cfx4ToFoam.C
@@ -235,7 +235,7 @@ int main(int argc, char *argv[])
 
         if (blockPFaces.size() != blockNFaces.size())
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Inconsistent number of faces for glue pair "
                 << glueI << " between blocks " << blockPlabel + 1
                 << " and " << blockNlabel + 1
@@ -417,7 +417,7 @@ int main(int argc, char *argv[])
 
     if (changedPointMerge == true)
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Point merging failed after max number of passes."
             << abort(FatalError);
     }
@@ -448,7 +448,7 @@ int main(int argc, char *argv[])
 
                 if (pointMergeList[PpointLabel] == -1)
                 {
-                    FatalErrorIn(args.executable())
+                    FatalErrorInFunction
                         << "Unable to merge point " << blockPFacePointI
                         << " of face " << blockPFaceLabel
                         << " of block " << blockPlabel
@@ -470,7 +470,7 @@ int main(int argc, char *argv[])
 
                 if (pointMergeList[NpointLabel] == -1)
                 {
-                    FatalErrorIn(args.executable())
+                    FatalErrorInFunction
                         << "Unable to merge point " << blockNFacePointI
                         << " of face " << blockNFaceLabel
                         << " of block " << blockNlabel
@@ -489,7 +489,7 @@ int main(int argc, char *argv[])
     {
         if (pointMergeList[pointLabel] > pointLabel)
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "ouch" << abort(FatalError);
         }
 
@@ -692,7 +692,7 @@ int main(int argc, char *argv[])
                 }
                 else
                 {
-                    FatalErrorIn(args.executable())
+                    FatalErrorInFunction
                         << "Unrecognised CFX patch type "
                         << cfxPatchTypes[patchI]
                         << abort(FatalError);
diff --git a/applications/utilities/mesh/conversion/cfx4ToFoam/hexBlock.C b/applications/utilities/mesh/conversion/cfx4ToFoam/hexBlock.C
index 1bbf6f55692..094627f7dab 100644
--- a/applications/utilities/mesh/conversion/cfx4ToFoam/hexBlock.C
+++ b/applications/utilities/mesh/conversion/cfx4ToFoam/hexBlock.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -136,7 +136,7 @@ labelListList hexBlock::blockCells() const
     }
     else
     {
-        FatalErrorIn("hexBlock::cellShapes()")
+        FatalErrorInFunction
             << "Unable to determine block handedness as points "
             << "have not been read in yet"
             << abort(FatalError);
@@ -155,10 +155,8 @@ faceList hexBlock::patchFaces(const label direc, const labelList& range) const
 {
     if (range.size() != 6)
     {
-        FatalErrorIn
-        (
-            "patchFaces(const label direc, const labelList& range) const"
-        )   << "Invalid size of the range array: " << range.size()
+        FatalErrorInFunction
+            << "Invalid size of the range array: " << range.size()
             << ". Should be 6 (xMin, xMax, yMin, yMax, zMin, zMax"
             << abort(FatalError);
     }
@@ -351,10 +349,8 @@ faceList hexBlock::patchFaces(const label direc, const labelList& range) const
 
         default:
         {
-            FatalErrorIn
-            (
-                "patchFaces(const label direc, const labelList& range) const"
-            )   << "direction out of range (1 to 6): " << direc
+            FatalErrorInFunction
+                << "direction out of range (1 to 6): " << direc
                 << abort(FatalError);
         }
     }
@@ -363,10 +359,8 @@ faceList hexBlock::patchFaces(const label direc, const labelList& range) const
     // Do nothing for the right-handed block
     if (blockHandedness_ == noPoints)
     {
-        FatalErrorIn
-        (
-            "patchFaces(const label direc, const labelList& range) const"
-        )   << "Unable to determine block handedness as points "
+        FatalErrorInFunction
+            << "Unable to determine block handedness as points "
             << "have not been read in yet"
             << abort(FatalError);
     }
diff --git a/applications/utilities/mesh/conversion/cfx4ToFoam/hexBlock.H b/applications/utilities/mesh/conversion/cfx4ToFoam/hexBlock.H
index 097cf1c8166..adec113adfe 100644
--- a/applications/utilities/mesh/conversion/cfx4ToFoam/hexBlock.H
+++ b/applications/utilities/mesh/conversion/cfx4ToFoam/hexBlock.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -124,7 +124,7 @@ public:
         {
             if (blockHandedness_ == noPoints)
             {
-                FatalErrorIn("hexBlock::points() const")
+                FatalErrorInFunction
                     << "points not read in yet"
                     << abort(FatalError);
             }
diff --git a/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L b/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L
index 830fecbb233..75a1cfcbc78 100644
--- a/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L
+++ b/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L
@@ -750,7 +750,7 @@ endOfSection               {space}")"{space}
 
 <*>. {
         // This is a catch all.
-        FatalErrorIn("fluentMeshToFoam::lexer")
+        FatalErrorInFunction
             << "Do not understand characters: " << YYText() << nl
             << "    on line " << lineNo
             << exit(FatalError);
@@ -826,7 +826,7 @@ int main(int argc, char *argv[])
 
     if (!fluentStream)
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << ": file " << fluentFile << " not found"
             << exit(FatalError);
     }
@@ -840,7 +840,7 @@ int main(int argc, char *argv[])
 
     if (dimensionOfGrid != 3)
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Mesh is not 3D, dimension of grid: " << dimensionOfGrid
             << exit(FatalError);
     }
@@ -1018,7 +1018,7 @@ int main(int argc, char *argv[])
             }
             else
             {
-                WarningIn(args.executable())
+                WarningInFunction
                     << "Unknown FaceGroup " << zoneID << " not in a zone"
                     << endl;
             }
@@ -1255,7 +1255,7 @@ int main(int argc, char *argv[])
             {
                 if (!doneWarning)
                 {
-                    WarningIn(args.executable())
+                    WarningInFunction
                         << "Ignoring internal face " << facei
                         << " on FaceZone " << zoneID
                         << " since owner " << owner[facei] << " or neighbour "
@@ -1306,7 +1306,7 @@ int main(int argc, char *argv[])
             {
                 if (!doneWarning)
                 {
-                    WarningIn(args.executable())
+                    WarningInFunction
                         << "Ignoring patch face " << facei
                         << " on FaceZone " << zoneID
                         << " since owner " << owner[facei] << " or neighbour "
@@ -1363,7 +1363,7 @@ int main(int argc, char *argv[])
             // Check the face being added as an internal face actually is one
             if (neighbour[facei] == -1)
             {
-                FatalErrorIn(args.executable())
+                FatalErrorInFunction
                     << "Attempt of add internal face " << facei
                     << " which is a boundary face"
                     << exit(FatalError);
@@ -1373,7 +1373,7 @@ int main(int argc, char *argv[])
             {
                 if (!doneWarning)
                 {
-                    WarningIn(args.executable())
+                    WarningInFunction
                         << "Ignoring internal face " << facei
                         << " since owner " << owner[facei] << " or neighbour "
                         << neighbour[facei] << " outside range of cells 0.."
diff --git a/applications/utilities/mesh/conversion/fluentMeshToFoam/create3DCellShape.C b/applications/utilities/mesh/conversion/fluentMeshToFoam/create3DCellShape.C
index 47cffc1789f..c0da25a0151 100644
--- a/applications/utilities/mesh/conversion/fluentMeshToFoam/create3DCellShape.C
+++ b/applications/utilities/mesh/conversion/fluentMeshToFoam/create3DCellShape.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -74,13 +74,8 @@ cellShape create3DCellShape
     // Checking
     if (faceLabels.size() != curModel.nFaces())
     {
-        FatalErrorIn
-        (
-            "create3DCellShape(const label cellIndex, "
-            "const labelList& faceLabels, const labelListList& faces, "
-            "const labelList& owner, const labelList& neighbour, "
-            "const label fluentCellModelID)"
-        )   << "Number of face labels not equal to"
+        FatalErrorInFunction
+            << "Number of face labels not equal to"
             << "number of face in the model. "
             << "Number of face labels: " << faceLabels.size()
             << " number of faces in model: " << curModel.nFaces()
@@ -113,13 +108,8 @@ cellShape create3DCellShape
         }
         else
         {
-            FatalErrorIn
-            (
-                "create3DCellShape(const label cellIndex, "
-                "const labelList& faceLabels, const labelListList& faces, "
-                "const labelList& owner, const labelList& neighbour, "
-                "const label fluentCellModelID)"
-            )   << "face " << curFaceLabel
+            FatalErrorInFunction
+                << "face " << curFaceLabel
                 << " does not belong to cell " << cellIndex
                 << ". Face owner: " << owner[curFaceLabel] << " neighbour: "
                 << neighbour[curFaceLabel]
@@ -176,13 +166,8 @@ cellShape create3DCellShape
 
     if (!found)
     {
-        FatalErrorIn
-        (
-            "create3DCellShape(const label cellIndex, "
-            "const labelList& faceLabels, const labelListList& faces, "
-            "const labelList& owner, const labelList& neighbour, "
-            "const label fluentCellModelID)"
-        )   << "Cannot find match for first face. "
+        FatalErrorInFunction
+            << "Cannot find match for first face. "
             << "cell model: " << curModel.name() << " first model face: "
             << firstModelFace << " Mesh faces: " << localFaces
             << abort(FatalError);
@@ -271,13 +256,8 @@ cellShape create3DCellShape
         if (!found)
         {
             // A model face is not matched. Shape detection failed
-            FatalErrorIn
-            (
-                "create3DCellShape(const label cellIndex, "
-                "const labelList& faceLabels, const labelListList& faces, "
-                "const labelList& owner, const labelList& neighbour, "
-                "const label fluentCellModelID)"
-            )   << "Cannot find match for face "
+            FatalErrorInFunction
+                << "Cannot find match for face "
                 << modelFaceI
                 << ".\nModel: " << curModel.name() << " model face: "
                 << curModelFace << " Mesh faces: " << localFaces
diff --git a/applications/utilities/mesh/conversion/fluentMeshToFoam/extrudedQuadCellShape.C b/applications/utilities/mesh/conversion/fluentMeshToFoam/extrudedQuadCellShape.C
index 44a60f1128f..c7aec883907 100644
--- a/applications/utilities/mesh/conversion/fluentMeshToFoam/extrudedQuadCellShape.C
+++ b/applications/utilities/mesh/conversion/fluentMeshToFoam/extrudedQuadCellShape.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -59,13 +59,8 @@ cellShape extrudedQuadCellShape
     // Checking
     if (faceLabels.size() != 4)
     {
-        FatalErrorIn
-        (
-            "extrudedQuadCellShape(const label cellIndex, "
-            "const labelList& faceLabels, const faceList& faces, "
-            "const labelList& owner, const labelList& neighbour, "
-            "const label pointOffset, faceList& frontAndBackFaces)"
-        )   << "Trying to create a quad with " << faceLabels.size() << " faces"
+        FatalErrorInFunction
+            << "Trying to create a quad with " << faceLabels.size() << " faces"
             << abort(FatalError);
     }
 
@@ -80,13 +75,8 @@ cellShape extrudedQuadCellShape
 
         if (curFace.size() != 2)
         {
-            FatalErrorIn
-            (
-                "extrudedQuadCellShape(const label cellIndex, "
-                "const labelList& faceLabels, const faceList& faces, "
-                "const labelList& owner, const labelList& neighbour, "
-                "const label pointOffset, faceList& frontAndBackFaces)"
-            )   << "face " << curFaceLabel
+            FatalErrorInFunction
+                << "face " << curFaceLabel
                 << "does not have 2 vertices. Number of vertices: " << curFace
                 << abort(FatalError);
         }
@@ -110,13 +100,8 @@ cellShape extrudedQuadCellShape
         }
         else
         {
-            FatalErrorIn
-            (
-                "extrudedQuadCellShape(const label cellIndex, "
-                "const labelList& faceLabels, const faceList& faces, "
-                "const labelList& owner, const labelList& neighbour, "
-                "const label pointOffset, faceList& frontAndBackFaces)"
-            )   << "face " << curFaceLabel
+            FatalErrorInFunction
+                << "face " << curFaceLabel
                 << " does not belong to cell " << cellIndex
                 << ". Face owner: " << owner[curFaceLabel] << " neighbour: "
                 << neighbour[curFaceLabel]
@@ -253,13 +238,8 @@ cellShape extrudedQuadCellShape
     }
     else
     {
-        FatalErrorIn
-        (
-            "extrudedQuadCellShape(const label cellIndex, "
-            "const labelList& faceLabels, const faceList& faces, "
-            "const labelList& owner, const labelList& neighbour, "
-            "const label pointOffset, faceList& frontAndBackFaces)"
-        )   << "Problem with edge matching. Edges: " << localFaces
+        FatalErrorInFunction
+            << "Problem with edge matching. Edges: " << localFaces
             << abort(FatalError);
     }
 
diff --git a/applications/utilities/mesh/conversion/fluentMeshToFoam/extrudedTriangleCellShape.C b/applications/utilities/mesh/conversion/fluentMeshToFoam/extrudedTriangleCellShape.C
index c3f482ad92e..ccf77d8258d 100644
--- a/applications/utilities/mesh/conversion/fluentMeshToFoam/extrudedTriangleCellShape.C
+++ b/applications/utilities/mesh/conversion/fluentMeshToFoam/extrudedTriangleCellShape.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -60,13 +60,8 @@ cellShape extrudedTriangleCellShape
     // Checking
     if (faceLabels.size() != 3)
     {
-        FatalErrorIn
-        (
-            "extrudedTriangleCellShape(const label cellIndex, "
-            "const labelList& faceLabels, const faceList& faces, "
-            "const labelList& owner, const labelList& neighbour, "
-            "const label pointOffset, faceList& frontAndBackFaces)"
-        )   << "Trying to create a triangle with " << faceLabels.size()
+        FatalErrorInFunction
+            << "Trying to create a triangle with " << faceLabels.size()
             << " faces"
             << abort(FatalError);
     }
@@ -82,13 +77,8 @@ cellShape extrudedTriangleCellShape
 
         if (curFace.size() != 2)
         {
-            FatalErrorIn
-            (
-                "extrudedTriangleCellShape(const label cellIndex, "
-                "const labelList& faceLabels, const faceList& faces, "
-                "const labelList& owner, const labelList& neighbour, "
-                "const label pointOffset, faceList& frontAndBackFaces)"
-            )   << "face " << curFaceLabel
+            FatalErrorInFunction
+                << "face " << curFaceLabel
                 << "does not have 2 vertices. Number of vertices: " << curFace
                 << abort(FatalError);
         }
@@ -112,13 +102,8 @@ cellShape extrudedTriangleCellShape
         }
         else
         {
-            FatalErrorIn
-            (
-                "extrudedTriangleCellShape(const label cellIndex, "
-                "const labelList& faceLabels, const faceList& faces, "
-                "const labelList& owner, const labelList& neighbour, "
-                "const label pointOffset, faceList& frontAndBackFaces)"
-            )   << "face " << curFaceLabel
+            FatalErrorInFunction
+                << "face " << curFaceLabel
                 << " does not belong to cell " << cellIndex
                 << ". Face owner: " << owner[curFaceLabel] << " neighbour: "
                 << neighbour[curFaceLabel]
@@ -193,13 +178,8 @@ cellShape extrudedTriangleCellShape
     }
     else
     {
-        FatalErrorIn
-        (
-            "extrudedTriangleCellShape(const label cellIndex, "
-            "const labelList& faceLabels, const faceList& faces, "
-            "const labelList& owner, const labelList& neighbour, "
-            "const label pointOffset, faceList& frontAndBackFaces)"
-        )   << "Problem with edge matching. Edges: " << localFaces
+        FatalErrorInFunction
+            << "Problem with edge matching. Edges: " << localFaces
             << abort(FatalError);
     }
 
diff --git a/applications/utilities/mesh/conversion/fluentMeshToFoam/fluentMeshToFoam.L b/applications/utilities/mesh/conversion/fluentMeshToFoam/fluentMeshToFoam.L
index ad55312e1c4..a040ca4195c 100644
--- a/applications/utilities/mesh/conversion/fluentMeshToFoam/fluentMeshToFoam.L
+++ b/applications/utilities/mesh/conversion/fluentMeshToFoam/fluentMeshToFoam.L
@@ -853,7 +853,7 @@ label findFace(const primitiveMesh& mesh, const face& f)
     }
 
     // Didn't find face. Do what?
-    FatalErrorIn("findFace(const primitiveMesh&, const face&)")
+    FatalErrorInFunction
         << "Problem : cannot find a single face in the mesh which uses"
         << " vertices " << f << exit(FatalError);
 
@@ -901,7 +901,7 @@ int main(int argc, char *argv[])
 
     if (!fluentStream)
     {
-        FatalErrorIn("fluentToFoam::main(int argc, char *argv[])")
+        FatalErrorInFunction
             << args.executable()
             << ": file " << fluentFile << " not found"
             << exit(FatalError);
@@ -1054,8 +1054,7 @@ int main(int argc, char *argv[])
 
                 default:
                 {
-                    FatalErrorIn("fluentToFoam::main(int argc, char *argv[])")
-                        << "unrecognised  2-D cell shape: "
+                    FatalErrorInFunction
                         << fluentCellModelID[celli]
                         << abort(FatalError);
                 }
@@ -1068,7 +1067,7 @@ int main(int argc, char *argv[])
 
             if (faces[faceI].size() != 2)
             {
-                FatalErrorIn("fluentToFoam::main(int argc, char *argv[])")
+                FatalErrorInFunction
                     << "fluentMeshToFoam: a 2-D face defined with "
                     << faces[faceI].size() << " points." << endl;
             }
@@ -1114,7 +1113,7 @@ int main(int argc, char *argv[])
             }
             else
             {
-                FatalErrorIn("fluentToFoam::main(int argc, char *argv[])")
+                FatalErrorInFunction
                     << "unrecognised 3-D cell shape: "
                     << fluentCellModelID[celli]
                     << abort(FatalError);
@@ -1255,7 +1254,7 @@ int main(int argc, char *argv[])
             }
             else
             {
-                FatalErrorIn("fluentToFoam::main(int argc, char *argv[])")
+                FatalErrorInFunction
                     << "unrecognised face shape with "
                     << patchFaces[faceI].size() << " vertices"
                     << abort(FatalError);
@@ -1340,7 +1339,7 @@ int main(int argc, char *argv[])
         }
         else //unknown face regions are not handled
         {
-            FatalErrorIn("fluentToFoam::main(int argc, char *argv[])")
+            FatalErrorInFunction
                 << "fluent patch type " << curPatchType << " not recognised."
                 << abort(FatalError);
         }
@@ -1417,7 +1416,7 @@ int main(int argc, char *argv[])
 
                 if (pShapeMesh.isInternalFace(faceI))
                 {
-                    FatalErrorIn(args.executable())
+                    FatalErrorInFunction
                         << "Face " << faceI << " on new patch "
                         << patchNames[patchI]
                         << " is not an external face of the mesh." << endl
@@ -1426,7 +1425,7 @@ int main(int argc, char *argv[])
 
                 if (facePatchID[faceI - pShapeMesh.nInternalFaces()]!= -1)
                 {
-                    FatalErrorIn(args.executable())
+                    FatalErrorInFunction
                         << "Face " << faceI << " on new patch "
                         << patchNames[patchI]
                         << " has already been marked for repatching to"
diff --git a/applications/utilities/mesh/conversion/foamMeshToFluent/fluentFvMesh.C b/applications/utilities/mesh/conversion/foamMeshToFluent/fluentFvMesh.C
index 05c27a15df5..0353caf74b5 100644
--- a/applications/utilities/mesh/conversion/foamMeshToFluent/fluentFvMesh.C
+++ b/applications/utilities/mesh/conversion/foamMeshToFluent/fluentFvMesh.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -254,7 +254,7 @@ void Foam::fluentFvMesh::writeFluentMesh() const
             {
                 hasWarned = true;
 
-                WarningIn("void fluentFvMesh::writeFluentMesh() const")
+                WarningInFunction
                     << "foamMeshToFluent: cell shape for cell "
                     << cellI << " only supported by Fluent polyhedral meshes."
                     << nl
diff --git a/applications/utilities/mesh/conversion/gambitToFoam/gambitToFoam.L b/applications/utilities/mesh/conversion/gambitToFoam/gambitToFoam.L
index 9f3f615dc67..2de3fa2932e 100644
--- a/applications/utilities/mesh/conversion/gambitToFoam/gambitToFoam.L
+++ b/applications/utilities/mesh/conversion/gambitToFoam/gambitToFoam.L
@@ -425,7 +425,7 @@ mtype                 {space}"MTYPE:"{space}
 
         if (curGroupID > 0)
         {
-            FatalErrorIn("gambitToFoam::main")
+            FatalErrorInFunction
                 << "<readCellStreamGroupID>{space}{label} : "
                 << "trying to reset group ID while active"
                 << abort(FatalError);
@@ -582,7 +582,7 @@ mtype                 {space}"MTYPE:"{space}
 <boundaryPatchFaces>{spaceNl}{label}({scalarList}|\n) {
 
         // Vertex-based boundary condition
-        FatalErrorIn("gambitToFoam::main")
+        FatalErrorInFunction
             << "<boundaryPatchFaces>{spaceNl}{label}{scalarList} : "
             << "boundary condition specified on vertices not supported"
             << abort(FatalError);
@@ -648,7 +648,7 @@ int main(int argc, char *argv[])
 
     if (!gambitStream)
     {
-        FatalErrorIn("gambitToFoam::main")
+        FatalErrorInFunction
             << args.executable()
             << ": file " << gambitFile << " not found"
             << abort(FatalError);
diff --git a/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C b/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C
index e606af501ee..5ed5279c9c1 100644
--- a/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C
+++ b/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C
@@ -257,7 +257,7 @@ scalar readMeshFormat(IFstream& inFile)
 
     if (asciiFlag != 0)
     {
-        FatalIOErrorIn("readMeshFormat(IFstream&)", inFile)
+        FatalIOErrorInFunction(inFile)
             << "Can only read ascii msh files."
             << exit(FatalIOError);
     }
@@ -268,7 +268,7 @@ scalar readMeshFormat(IFstream& inFile)
 
     if (tag != "$EndMeshFormat")
     {
-        FatalIOErrorIn("readMeshFormat(IFstream&)", inFile)
+        FatalIOErrorInFunction(inFile)
             << "Did not find $ENDNOD tag on line "
             << inFile.lineNumber() << exit(FatalIOError);
     }
@@ -323,7 +323,7 @@ void readPoints(IFstream& inFile, pointField& points, Map<label>& mshToFoam)
 
     if (tag != "$ENDNOD" && tag != "$EndNodes")
     {
-        FatalIOErrorIn("readPoints(..)", inFile)
+        FatalIOErrorInFunction(inFile)
             << "Did not find $ENDNOD tag on line "
             << inFile.lineNumber() << exit(FatalIOError);
     }
@@ -396,7 +396,7 @@ void readPhysNames(IFstream& inFile, Map<word>& physicalNames)
 
     if (tag != "$EndPhysicalNames")
     {
-        FatalIOErrorIn("readPhysicalNames(..)", inFile)
+        FatalIOErrorInFunction(inFile)
             << "Did not find $EndPhysicalNames tag on line "
             << inFile.lineNumber() << exit(FatalIOError);
     }
@@ -699,7 +699,7 @@ void readCells
 
     if (tag != "$ENDELM" && tag != "$EndElements")
     {
-        FatalIOErrorIn("readCells(..)", inFile)
+        FatalIOErrorInFunction(inFile)
             << "Did not find $ENDELM tag on line "
             << inFile.lineNumber() << exit(FatalIOError);
     }
@@ -723,7 +723,7 @@ void readCells
 
     if (cells.size() == 0)
     {
-        FatalIOErrorIn("readCells(..)", inFile)
+        FatalIOErrorInFunction(inFile)
             << "No cells read from file " << inFile.name() << nl
             << "Does your file specify any 3D elements (hex=" << MSHHEX
             << ", prism=" << MSHPRISM << ", pyramid=" << MSHPYR
@@ -969,7 +969,7 @@ int main(int argc, char *argv[])
                 }
                 else
                 {
-                    WarningIn(args.executable())
+                    WarningInFunction
                         << "Could not match gmsh face " << f
                         << " to any of the interior or exterior faces"
                         << " that share the same 0th point" << endl;
diff --git a/applications/utilities/mesh/conversion/ideasUnvToFoam/ideasUnvToFoam.C b/applications/utilities/mesh/conversion/ideasUnvToFoam/ideasUnvToFoam.C
index a0b6465a953..874f787119e 100644
--- a/applications/utilities/mesh/conversion/ideasUnvToFoam/ideasUnvToFoam.C
+++ b/applications/utilities/mesh/conversion/ideasUnvToFoam/ideasUnvToFoam.C
@@ -222,10 +222,8 @@ void readPoints
         {
             hasWarned = true;
 
-            IOWarningIn
+            IOWarningInFunction
             (
-                "readPoints(IFstream&, label&, DynamicList<point>"
-                ", DynamicList<label>&)",
                 is
             )   << "Points not in order starting at point " << pointI
                 //<< " at line " << is.lineNumber()
@@ -464,7 +462,7 @@ void readCells
         {
             if (skippedElements.insert(feID))
             {
-                IOWarningIn("readCells(IFstream&, label&)", is)
+                IOWarningInFunction(is)
                     << "Cell type " << feID << " not supported" << endl;
             }
             is.getLine(line);  // Do nothing
@@ -552,7 +550,7 @@ void readSets
         }
         else
         {
-            IOWarningIn("readSets(..)", is)
+            IOWarningInFunction(is)
                 << "When reading patches expect entity type code 8"
                 << nl << "    Skipping group code " << groupType
                 << endl;
@@ -672,7 +670,7 @@ int main(int argc, char *argv[])
 
     if (!inFile.good())
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Cannot open file " << ideasName
             << exit(FatalError);
     }
@@ -805,7 +803,7 @@ int main(int argc, char *argv[])
 
         if (findIndex(foamVerts, -1) != -1)
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Cell " << cellI
                 << " unv vertices " << cellVerts[cellI]
                 << " has some undefined vertices " << foamVerts
@@ -824,7 +822,7 @@ int main(int argc, char *argv[])
 
         if (findIndex(foamVerts, -1) != -1)
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Boundary face " << bFaceI
                 << " unv vertices " << boundaryFaces[bFaceI]
                 << " has some undefined vertices " << foamVerts
@@ -1045,7 +1043,7 @@ int main(int argc, char *argv[])
                 {
                     if (cnt != patchFaces.size())
                     {
-                        WarningIn(args.executable())
+                        WarningInFunction
                             << "For patch " << patchI << " there were "
                             << patchFaces.size()-cnt
                             << " faces not used because they seem"
@@ -1055,7 +1053,7 @@ int main(int argc, char *argv[])
                     }
                     else
                     {
-                        WarningIn(args.executable())
+                        WarningInFunction
                             << "Patch "
                             << patchI << " has faces that are already "
                             << " in use on other boundary-patches,"
@@ -1073,7 +1071,7 @@ int main(int argc, char *argv[])
                     {
                         if (cellCorrespondence[faceIndices[0]] < 0)
                         {
-                            FatalErrorIn(args.executable())
+                            FatalErrorInFunction
                                 << "The face index " << faceIndices[i]
                                 << " was not found amongst the cells."
                                 << " This kills the theory that "
diff --git a/applications/utilities/mesh/conversion/kivaToFoam/checkPatch.H b/applications/utilities/mesh/conversion/kivaToFoam/checkPatch.H
index dd4a6f2d0b0..6e9eaae3819 100644
--- a/applications/utilities/mesh/conversion/kivaToFoam/checkPatch.H
+++ b/applications/utilities/mesh/conversion/kivaToFoam/checkPatch.H
@@ -88,7 +88,7 @@
     }
     else
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "bc not defined for active cell = " << i
             << exit(FatalError);
     }
diff --git a/applications/utilities/mesh/conversion/kivaToFoam/kivaToFoam.C b/applications/utilities/mesh/conversion/kivaToFoam/kivaToFoam.C
index 36067bd18ea..99d522f7414 100644
--- a/applications/utilities/mesh/conversion/kivaToFoam/kivaToFoam.C
+++ b/applications/utilities/mesh/conversion/kivaToFoam/kivaToFoam.C
@@ -98,7 +98,7 @@ int main(int argc, char *argv[])
         }
         else
         {
-            FatalErrorIn("main(int argc, char *argv[])")
+            FatalErrorInFunction
                 << "KIVA file version " << versionName << " not supported"
                 << exit(FatalError);
 
diff --git a/applications/utilities/mesh/conversion/kivaToFoam/readKivaGrid.H b/applications/utilities/mesh/conversion/kivaToFoam/readKivaGrid.H
index 1505b74e457..a8ffe7b6b6b 100644
--- a/applications/utilities/mesh/conversion/kivaToFoam/readKivaGrid.H
+++ b/applications/utilities/mesh/conversion/kivaToFoam/readKivaGrid.H
@@ -2,7 +2,7 @@ ifstream kivaFile(kivaFileName.c_str());
 
 if (!kivaFile.good())
 {
-    FatalErrorIn(args.executable())
+    FatalErrorInFunction
         << "Cannot open file " << kivaFileName
         << exit(FatalError);
 }
@@ -76,7 +76,7 @@ kivaFile >> mTable;
 
 if (mTable == 0)
 {
-    FatalErrorIn(args.executable())
+    FatalErrorInFunction
         << "mTable == 0. This is not supported."
            " kivaToFoam needs complete neighbour information"
         << exit(FatalError);
diff --git a/applications/utilities/mesh/conversion/netgenNeutralToFoam/netgenNeutralToFoam.C b/applications/utilities/mesh/conversion/netgenNeutralToFoam/netgenNeutralToFoam.C
index 1259c1bbc54..065e36119b4 100644
--- a/applications/utilities/mesh/conversion/netgenNeutralToFoam/netgenNeutralToFoam.C
+++ b/applications/utilities/mesh/conversion/netgenNeutralToFoam/netgenNeutralToFoam.C
@@ -133,7 +133,7 @@ int main(int argc, char *argv[])
 
         if (domain != 1)
         {
-            WarningIn(args.executable())
+            WarningInFunction
                 << "Cannot handle multiple domains"
                 << nl << "Ignoring domain " << domain << " setting on line "
                 << str.lineNumber() << endl;
@@ -171,7 +171,7 @@ int main(int argc, char *argv[])
 
         if (patchI < 0)
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Invalid boundary region number " << patchI
                 << " on line " << str.lineNumber()
                 << exit(FatalError);
@@ -241,7 +241,7 @@ int main(int argc, char *argv[])
     if (vertsToBoundary.size())
     {
         // Didn't find cells connected to boundary faces.
-        WarningIn(args.executable())
+        WarningInFunction
             << "There are boundary faces without attached cells."
             << "Boundary faces (as triFaces):" << vertsToBoundary.toc()
             << endl;
diff --git a/applications/utilities/mesh/conversion/plot3dToFoam/hexBlock.C b/applications/utilities/mesh/conversion/plot3dToFoam/hexBlock.C
index 97a8a7c6ce2..73060e1d2c8 100644
--- a/applications/utilities/mesh/conversion/plot3dToFoam/hexBlock.C
+++ b/applications/utilities/mesh/conversion/plot3dToFoam/hexBlock.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -86,7 +86,7 @@ void hexBlock::setHandedness()
 
     if (blockHandedness_ == noPoints)
     {
-        WarningIn("hexBlock::hexBlock::setHandedness()")
+        WarningInFunction
             << "Cannot determine orientation of block."
             << " Continuing as if right handed." << endl;
         blockHandedness_ = right;
@@ -233,7 +233,7 @@ labelListList hexBlock::blockCells() const
     }
     else
     {
-        FatalErrorIn("hexBlock::cellShapes()")
+        FatalErrorInFunction
             << "Unable to determine block handedness as points "
             << "have not been read in yet"
             << abort(FatalError);
@@ -252,10 +252,8 @@ faceList hexBlock::patchFaces(const label direc, const labelList& range) const
 {
     if (range.size() != 6)
     {
-        FatalErrorIn
-        (
-            "patchFaces(const label direc, const labelList& range) const"
-        )   << "Invalid size of the range array: " << range.size()
+        FatalErrorInFunction
+            << "Invalid size of the range array: " << range.size()
             << ". Should be 6 (xMin, xMax, yMin, yMax, zMin, zMax"
             << abort(FatalError);
     }
@@ -448,10 +446,8 @@ faceList hexBlock::patchFaces(const label direc, const labelList& range) const
 
         default:
         {
-            FatalErrorIn
-            (
-                "patchFaces(const label direc, const labelList& range) const"
-            )   << "direction out of range (1 to 6): " << direc
+            FatalErrorInFunction
+                << "direction out of range (1 to 6): " << direc
                 << abort(FatalError);
         }
     }
@@ -460,10 +456,8 @@ faceList hexBlock::patchFaces(const label direc, const labelList& range) const
     // Do nothing for the right-handed block
     if (blockHandedness_ == noPoints)
     {
-        FatalErrorIn
-        (
-            "patchFaces(const label direc, const labelList& range) const"
-        )   << "Unable to determine block handedness as points "
+        FatalErrorInFunction
+            << "Unable to determine block handedness as points "
             << "have not been read in yet"
             << abort(FatalError);
     }
diff --git a/applications/utilities/mesh/conversion/plot3dToFoam/hexBlock.H b/applications/utilities/mesh/conversion/plot3dToFoam/hexBlock.H
index 3a91b036bbb..f7a1f82ee79 100644
--- a/applications/utilities/mesh/conversion/plot3dToFoam/hexBlock.H
+++ b/applications/utilities/mesh/conversion/plot3dToFoam/hexBlock.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -124,7 +124,7 @@ public:
         {
             if (blockHandedness_ == noPoints)
             {
-                FatalErrorIn("hexBlock::points() const")
+                FatalErrorInFunction
                     << "points not read in yet"
                     << abort(FatalError);
             }
diff --git a/applications/utilities/mesh/conversion/sammToFoam/calcPointCells.C b/applications/utilities/mesh/conversion/sammToFoam/calcPointCells.C
index 801b0a86391..d646428ade7 100644
--- a/applications/utilities/mesh/conversion/sammToFoam/calcPointCells.C
+++ b/applications/utilities/mesh/conversion/sammToFoam/calcPointCells.C
@@ -36,7 +36,7 @@ void Foam::sammMesh::calcPointCells() const
 
     if (pointCellsPtr_)
     {
-        FatalErrorIn("sammMesh::calcPointCells()")
+        FatalErrorInFunction
             << "PointCells already calculated"
             << abort(FatalError);
     }
diff --git a/applications/utilities/mesh/conversion/sammToFoam/createBoundaryFaces.C b/applications/utilities/mesh/conversion/sammToFoam/createBoundaryFaces.C
index a6ec4baf16d..b9ec74dabe3 100644
--- a/applications/utilities/mesh/conversion/sammToFoam/createBoundaryFaces.C
+++ b/applications/utilities/mesh/conversion/sammToFoam/createBoundaryFaces.C
@@ -112,7 +112,7 @@ void Foam::sammMesh::createBoundaryFaces()
             }
             if (!found)
             {
-                FatalErrorIn("sammMesh::createBoundaryFaces()")
+                FatalErrorInFunction
                     << "Face " << faceI
                     << " does not have neighbour cell." << endl
                     << "    face : " << endl << curFace
diff --git a/applications/utilities/mesh/conversion/sammToFoam/createPolyBoundary.C b/applications/utilities/mesh/conversion/sammToFoam/createPolyBoundary.C
index 1442909f3d7..25c44471770 100644
--- a/applications/utilities/mesh/conversion/sammToFoam/createPolyBoundary.C
+++ b/applications/utilities/mesh/conversion/sammToFoam/createPolyBoundary.C
@@ -83,10 +83,8 @@ void Foam::sammMesh::createPolyBoundary()
                              != -1
                             )
                             {
-                                FatalErrorIn
-                                (
-                                    "void sammMesh::createPolyBoundary()"
-                                )   << "This looks like an already detected "
+                                FatalErrorInFunction
+                                    << "This looks like an already detected "
                                     << "internal face"
                                     << abort(FatalError);
                             }
diff --git a/applications/utilities/mesh/conversion/sammToFoam/createPolyCells.C b/applications/utilities/mesh/conversion/sammToFoam/createPolyCells.C
index ed1ecc23172..0e2d71bd5c8 100644
--- a/applications/utilities/mesh/conversion/sammToFoam/createPolyCells.C
+++ b/applications/utilities/mesh/conversion/sammToFoam/createPolyCells.C
@@ -173,7 +173,7 @@ void Foam::sammMesh::createPolyCells()
             }
             else
             {
-              FatalErrorIn("void starMesh::createPolyCells()")
+              FatalErrorInFunction
                   << "Error in internal face insertion"
                   << abort(FatalError);
             }
diff --git a/applications/utilities/mesh/conversion/sammToFoam/fixCollapsedEdges.C b/applications/utilities/mesh/conversion/sammToFoam/fixCollapsedEdges.C
index 307c74e5771..edaf23a1cd5 100644
--- a/applications/utilities/mesh/conversion/sammToFoam/fixCollapsedEdges.C
+++ b/applications/utilities/mesh/conversion/sammToFoam/fixCollapsedEdges.C
@@ -128,7 +128,7 @@ void Foam::sammMesh::fixCollapsedEdges()
 
                 if (nNewVertices < 3)
                 {
-                    FatalErrorIn("void sammMesh::fixCollapsedEdges()")
+                    FatalErrorInFunction
                         << "face " << faceI << " of cell " << cellI
                         << " is colapsed down to a point or edge, which is "
                         << "not permitted" << endl
diff --git a/applications/utilities/mesh/conversion/sammToFoam/readBoundary.C b/applications/utilities/mesh/conversion/sammToFoam/readBoundary.C
index e81bbae2335..86aa2d6c1e2 100644
--- a/applications/utilities/mesh/conversion/sammToFoam/readBoundary.C
+++ b/applications/utilities/mesh/conversion/sammToFoam/readBoundary.C
@@ -116,7 +116,7 @@ void Foam::sammMesh::readBoundary()
         }
         else
         {
-            FatalErrorIn("void sammMesh::readBoundary()")
+            FatalErrorInFunction
                 << "Cannot read file "
                 << boundaryFileName
                 << abort(FatalError);
@@ -222,7 +222,7 @@ void Foam::sammMesh::readBoundary()
     }
     else
     {
-        FatalErrorIn("sammMesh::readBoundary()")
+        FatalErrorInFunction
             << "No boundary faces in file "
             << boundaryFileName
             << endl;
diff --git a/applications/utilities/mesh/conversion/sammToFoam/readCells.C b/applications/utilities/mesh/conversion/sammToFoam/readCells.C
index ea65b78b208..c46270c312b 100644
--- a/applications/utilities/mesh/conversion/sammToFoam/readCells.C
+++ b/applications/utilities/mesh/conversion/sammToFoam/readCells.C
@@ -146,11 +146,8 @@ void Foam::sammMesh::addSAMMcell
     // grab the shape from the table
     if (!sammShapeLookup[typeFlag] || !sammAddressingTable[typeFlag])
     {
-        FatalErrorIn
-        (
-            "sammMesh::addRegularCell(const labelList& labels, "
-            "const label nCreatedCells)"
-        )   << "SAMM type " << typeFlag << " has no registered label. BUG!"
+        FatalErrorInFunction
+            << "SAMM type " << typeFlag << " has no registered label. BUG!"
             << abort(FatalError);
     }
 
@@ -206,7 +203,7 @@ void Foam::sammMesh::readCells()
         }
         else
         {
-            FatalErrorIn("sammMesh::readCells()")
+            FatalErrorInFunction
                 << "Cannot read file "
                 << cellsFileName
                 << abort(FatalError);
@@ -243,7 +240,7 @@ void Foam::sammMesh::readCells()
             {
                 if (nLabels > 24)
                 {
-                    FatalErrorIn("sammMesh::readCells()")
+                    FatalErrorInFunction
                         << "Unknown SAMM cell. "
                         << "More than 24 vertices"
                         << abort(FatalError);
@@ -251,7 +248,7 @@ void Foam::sammMesh::readCells()
 
                 if ((cellsFile >> lineLabel).eof())
                 {
-                    FatalErrorIn("sammMesh::readCells()")
+                    FatalErrorInFunction
                         << "Reached end of cells file before "
                         << "all cells are read in."
                         << abort(FatalError);
@@ -311,7 +308,7 @@ void Foam::sammMesh::readCells()
     }
     else
     {
-        FatalErrorIn("sammMesh::readCells()")
+        FatalErrorInFunction
             << "No cells in file "
             << cellsFileName
             << abort(FatalError);
diff --git a/applications/utilities/mesh/conversion/star3ToFoam/calcPointCells.C b/applications/utilities/mesh/conversion/star3ToFoam/calcPointCells.C
index 668a452425f..044196c392a 100644
--- a/applications/utilities/mesh/conversion/star3ToFoam/calcPointCells.C
+++ b/applications/utilities/mesh/conversion/star3ToFoam/calcPointCells.C
@@ -36,7 +36,7 @@ void Foam::starMesh::calcPointCells() const
 
     if (pointCellsPtr_)
     {
-        FatalErrorIn("starMesh::calcPointCells() const")
+        FatalErrorInFunction
             << "pointCells already calculated"
             << abort(FatalError);
     }
diff --git a/applications/utilities/mesh/conversion/star3ToFoam/createBoundaryFaces.C b/applications/utilities/mesh/conversion/star3ToFoam/createBoundaryFaces.C
index 61dd9f7a0fb..976274c6a99 100644
--- a/applications/utilities/mesh/conversion/star3ToFoam/createBoundaryFaces.C
+++ b/applications/utilities/mesh/conversion/star3ToFoam/createBoundaryFaces.C
@@ -148,7 +148,7 @@ void Foam::starMesh::markBoundaryFaces()
             }
             if (!found)
             {
-                FatalErrorIn("starMesh::markBoundaryFaces()")
+                FatalErrorInFunction
                     << "Face " << faceI
                     << " does not have neighbour cell."
                     << " Face : " << endl << curFace << endl
diff --git a/applications/utilities/mesh/conversion/star3ToFoam/createCoupleMatches.C b/applications/utilities/mesh/conversion/star3ToFoam/createCoupleMatches.C
index 6ded0c84260..9f35fcb89b0 100644
--- a/applications/utilities/mesh/conversion/star3ToFoam/createCoupleMatches.C
+++ b/applications/utilities/mesh/conversion/star3ToFoam/createCoupleMatches.C
@@ -1097,7 +1097,7 @@ void Foam::starMesh::createCoupleMatches()
 
                     if (edgesToConsider.empty())
                     {
-                        FatalErrorIn("void starMesh::createCoupleMatches()")
+                        FatalErrorInFunction
                             << setprecision(12)
                             << "void starMesh::createCoupleMatches() : "
                             << endl << "error in face intersection: "
@@ -1219,7 +1219,7 @@ void Foam::starMesh::createCoupleMatches()
                         // Check if there is room for more points
                         if (nIntFacePoints >= intersectedFace.size())
                         {
-                            FatalErrorIn("void starMesh::createCoupleMatches()")
+                            FatalErrorInFunction
                                 << setprecision(12)
                                 << "void starMesh::createCoupleMatches() : "
                                 << endl << "error in intersected face: "
@@ -1270,7 +1270,7 @@ void Foam::starMesh::createCoupleMatches()
                     {
                         if (intersectedFace[checkI] == intersectedFace[checkJ])
                         {
-                            FatalErrorIn("void starMesh::createCoupleMatches()")
+                            FatalErrorInFunction
                                 << setprecision(12)
                                 << "void starMesh::createCoupleMatches() : "
                                 << endl << "error in intersected face: "
@@ -1294,7 +1294,7 @@ void Foam::starMesh::createCoupleMatches()
             }
             else
             {
-                FatalErrorIn("void starMesh::createCoupleMatches()")
+                FatalErrorInFunction
                     << setprecision(12)
                     << "void starMesh::createCoupleMatches() : " << endl
                     << "could not find start edge for intersection of couple "
diff --git a/applications/utilities/mesh/conversion/star3ToFoam/createPolyCells.C b/applications/utilities/mesh/conversion/star3ToFoam/createPolyCells.C
index c74fcccd913..084cf6eebdb 100644
--- a/applications/utilities/mesh/conversion/star3ToFoam/createPolyCells.C
+++ b/applications/utilities/mesh/conversion/star3ToFoam/createPolyCells.C
@@ -173,7 +173,7 @@ void Foam::starMesh::createPolyCells()
             }
             else
             {
-              FatalErrorIn("void starMesh::createPolyCells()")
+              FatalErrorInFunction
                   << "Error in internal face insertion"
                   << abort(FatalError);
             }
diff --git a/applications/utilities/mesh/conversion/star3ToFoam/fixCollapsedEdges.C b/applications/utilities/mesh/conversion/star3ToFoam/fixCollapsedEdges.C
index 422866f44c1..931d1a638d1 100644
--- a/applications/utilities/mesh/conversion/star3ToFoam/fixCollapsedEdges.C
+++ b/applications/utilities/mesh/conversion/star3ToFoam/fixCollapsedEdges.C
@@ -127,7 +127,7 @@ void Foam::starMesh::fixCollapsedEdges()
 
                 if (nNewVertices < 3)
                 {
-                    FatalErrorIn("starMesh::fixCollapsedEdges()")
+                    FatalErrorInFunction
                         << "Face " << faceI << " of cell " << cellI
                         << " is colapsed down to a point or edge, which is "
                         << "not permitted" << endl
diff --git a/applications/utilities/mesh/conversion/star3ToFoam/mergeCoupleFacePoints.C b/applications/utilities/mesh/conversion/star3ToFoam/mergeCoupleFacePoints.C
index 2e7a3cfa9c6..f71573c1120 100644
--- a/applications/utilities/mesh/conversion/star3ToFoam/mergeCoupleFacePoints.C
+++ b/applications/utilities/mesh/conversion/star3ToFoam/mergeCoupleFacePoints.C
@@ -266,7 +266,7 @@ void Foam::starMesh::mergeCoupleFacePoints()
             {
                 if (renumberPoints[oldFacePoints[pointI]] < 0)
                 {
-                    FatalErrorIn("starMesh::mergeCoupleFacePoints()")
+                    FatalErrorInFunction
                         << "Error in point renumbering. Old face: "
                         << oldFacePoints << endl
                         << "prelim face: " << prelimFacePoints
@@ -306,7 +306,7 @@ void Foam::starMesh::mergeCoupleFacePoints()
         {
             if (renumberPoints[curLabels[pointI]] == 0)
             {
-                FatalErrorIn("starMesh::mergeCoupleFacePoints()")
+                FatalErrorInFunction
                     << "Error in point merging for cell "
                     << cellI << ". STAR index: " << starCellID_[cellI]
                     << ". " << endl
@@ -360,7 +360,7 @@ void Foam::starMesh::mergeCoupleFacePoints()
             {
                 if (renumberPoints[oldFacePoints[pointI]] < 0)
                 {
-                    FatalErrorIn("starMesh::mergeCoupleFacePoints()")
+                    FatalErrorInFunction
                         << "Error in point renumbering for point "
                         << oldFacePoints[pointI]
                         << ". Renumbering index is -1." << endl
@@ -385,7 +385,7 @@ void Foam::starMesh::mergeCoupleFacePoints()
         {
             if (renumberPoints[curLabels[pointI]] < 0)
             {
-                FatalErrorIn("starMesh::mergeCoupleFacePoints()")
+                FatalErrorInFunction
                     << "Error in point renumbering for cell "
                     << cellI << ". STAR index: " << starCellID_[cellI]
                     << ". " << endl
diff --git a/applications/utilities/mesh/conversion/star3ToFoam/readBoundary.C b/applications/utilities/mesh/conversion/star3ToFoam/readBoundary.C
index 63aa38e0282..10b80fbcd7b 100644
--- a/applications/utilities/mesh/conversion/star3ToFoam/readBoundary.C
+++ b/applications/utilities/mesh/conversion/star3ToFoam/readBoundary.C
@@ -114,7 +114,7 @@ void Foam::starMesh::readBoundary()
         }
         else
         {
-            FatalErrorIn("starMesh::readBoundary()")
+            FatalErrorInFunction
                 << "Cannot read file "
                 << boundaryFileName
                 << abort(FatalError);
@@ -220,7 +220,7 @@ void Foam::starMesh::readBoundary()
     }
     else
     {
-        WarningIn("void starMesh::readBoundary()")
+        WarningInFunction
             << "no boundary faces in file "
             << boundaryFileName
             << endl;
diff --git a/applications/utilities/mesh/conversion/star3ToFoam/readCells.C b/applications/utilities/mesh/conversion/star3ToFoam/readCells.C
index b485a6115d5..265de9c72fc 100644
--- a/applications/utilities/mesh/conversion/star3ToFoam/readCells.C
+++ b/applications/utilities/mesh/conversion/star3ToFoam/readCells.C
@@ -179,11 +179,8 @@ void Foam::starMesh::addSAMMcell
 
         default:
         {
-            FatalErrorIn
-            (
-                "starMesh::addSAMMcell"
-                "(const labelList& labels, const label nCreatedCells)"
-            )   << "SAMM type " << sammTypeFlag << " is invalid"
+            FatalErrorInFunction
+                << "SAMM type " << sammTypeFlag << " is invalid"
                 << abort(FatalError);
         }
     }
@@ -245,7 +242,7 @@ void Foam::starMesh::readCells()
         }
         else
         {
-            FatalErrorIn("starMesh::readCells()")
+            FatalErrorInFunction
                 << "Cannot read file " << cellsFileName
                 << abort(FatalError);
         }
@@ -294,7 +291,7 @@ void Foam::starMesh::readCells()
             {
                 if ((cellsFile >> lineLabel).eof())
                 {
-                    FatalErrorIn("starMesh::readCells()")
+                    FatalErrorInFunction
                         << "Reached end of cells file before "
                         << "all cells are read in."
                         << abort(FatalError);
@@ -370,7 +367,7 @@ void Foam::starMesh::readCells()
             {
                 if (curShapeLabels[i] < 0)
                 {
-                    FatalErrorIn("starMesh::readCells()")
+                    FatalErrorInFunction
                         << "Invalid vertex found in cell " << cellI
                         << ". STAR cell no: " << lineLabel
                         << " labels: " << curShapeLabels
@@ -381,7 +378,7 @@ void Foam::starMesh::readCells()
     }
     else
     {
-        FatalErrorIn("starMesh::readCells()")
+        FatalErrorInFunction
             << "No cells in file " << cellsFileName
             << abort(FatalError);
     }
diff --git a/applications/utilities/mesh/conversion/star3ToFoam/readPoints.C b/applications/utilities/mesh/conversion/star3ToFoam/readPoints.C
index 19138a30114..3965e6e94bf 100644
--- a/applications/utilities/mesh/conversion/star3ToFoam/readPoints.C
+++ b/applications/utilities/mesh/conversion/star3ToFoam/readPoints.C
@@ -107,7 +107,7 @@ void Foam::starMesh::readPoints(const scalar scaleFactor)
         }
         else
         {
-            FatalErrorIn("starMesh::readPoints()")
+            FatalErrorInFunction
                 << "Cannot read file " << pointsFileName
                 << abort(FatalError);
         }
diff --git a/applications/utilities/mesh/conversion/star3ToFoam/readSeparatedPoints.C b/applications/utilities/mesh/conversion/star3ToFoam/readSeparatedPoints.C
index c13376dfd2d..73782190c27 100644
--- a/applications/utilities/mesh/conversion/star3ToFoam/readSeparatedPoints.C
+++ b/applications/utilities/mesh/conversion/star3ToFoam/readSeparatedPoints.C
@@ -58,7 +58,7 @@ void Foam::starMesh::readPoints(const scalar scaleFactor)
         }
         else
         {
-            FatalErrorIn("starMesh::readPoints()")
+            FatalErrorInFunction
                 << "Cannot read file " << pointsFileName
                 << abort(FatalError);
         }
diff --git a/applications/utilities/mesh/conversion/tetgenToFoam/tetgenToFoam.C b/applications/utilities/mesh/conversion/tetgenToFoam/tetgenToFoam.C
index f56e4997921..2a4de9c57b0 100644
--- a/applications/utilities/mesh/conversion/tetgenToFoam/tetgenToFoam.C
+++ b/applications/utilities/mesh/conversion/tetgenToFoam/tetgenToFoam.C
@@ -88,7 +88,7 @@ label findFace(const primitiveMesh& mesh, const face& f)
         }
     }
 
-    FatalErrorIn("findFace(const primitiveMesh&, const face&)")
+    FatalErrorInFunction
         << "Cannot find face " << f << " in mesh." << abort(FatalError);
 
     return -1;
@@ -135,14 +135,14 @@ int main(int argc, char *argv[])
 
     if (!isFile(nodeFile) || !isFile(eleFile))
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Cannot read " << nodeFile << " or " << eleFile
             << exit(FatalError);
     }
 
     if (readFaceFile && !isFile(faceFile))
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Cannot read " << faceFile << endl
             << "Did you run tetgen with -f option?" << endl
             << "If you don't want to read the .face file and thus not have"
@@ -267,7 +267,7 @@ int main(int argc, char *argv[])
 
     if (nElemAttr != 0)
     {
-        WarningIn(args.executable())
+        WarningInFunction
             << "Element attributes (third elemenent in .ele header)"
             << " not used" << endl;
     }
diff --git a/applications/utilities/mesh/generation/blockMesh/blockMeshApp.C b/applications/utilities/mesh/generation/blockMesh/blockMeshApp.C
index d1cbc0f4946..6e050b39dd0 100644
--- a/applications/utilities/mesh/generation/blockMesh/blockMeshApp.C
+++ b/applications/utilities/mesh/generation/blockMesh/blockMeshApp.C
@@ -146,8 +146,7 @@ int main(int argc, char *argv[])
 
     if (!meshDictIO.headerOk())
     {
-        FatalErrorIn(args.executable())
-            << "Cannot open mesh description file\n    "
+        FatalErrorInFunction
             << meshDictIO.objectPath()
             << nl
             << exit(FatalError);
@@ -334,7 +333,7 @@ int main(int argc, char *argv[])
     mesh.removeFiles();
     if (!mesh.write())
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Failed writing polyMesh."
             << exit(FatalError);
     }
diff --git a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C
index a7ec45eef47..c7f141a8b7d 100644
--- a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C
+++ b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C
@@ -138,7 +138,7 @@ label findPatchID(const polyBoundaryMesh& patches, const word& name)
 
     if (patchID == -1)
     {
-        FatalErrorIn("findPatchID(const polyBoundaryMesh&, const word&)")
+        FatalErrorInFunction
             << "Cannot find patch " << name
             << " in the source mesh.\n"
             << "Valid patch names are " << patches.names()
@@ -343,7 +343,7 @@ int main(int argc, char *argv[])
     {
         if (flipNormals && mode == MESH)
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Flipping normals not supported for extrusions from mesh."
                 << exit(FatalError);
         }
@@ -947,7 +947,7 @@ int main(int argc, char *argv[])
     {
         if (mode == MESH)
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Cannot stitch front and back of extrusion since"
                 << " in 'mesh' mode (extrusion appended to mesh)."
                 << exit(FatalError);
@@ -960,7 +960,7 @@ int main(int argc, char *argv[])
 
         if (frontPatchFaces.size() != backPatchFaces.size())
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Differing number of faces on front ("
                 << frontPatchFaces.size() << ") and back ("
                 << backPatchFaces.size() << ")"
@@ -1047,7 +1047,7 @@ int main(int argc, char *argv[])
 
     if (!mesh.write())
     {
-        FatalErrorIn(args.executable()) << "Failed writing mesh"
+        FatalErrorInFunction
             << exit(FatalError);
     }
 
@@ -1060,7 +1060,7 @@ int main(int argc, char *argv[])
             << nl << endl;
         if (!addedCells.write())
         {
-            FatalErrorIn(args.executable()) << "Failed writing cellSet"
+            FatalErrorInFunction
                 << addedCells.name()
                 << exit(FatalError);
         }
diff --git a/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/extrudeToRegionMesh.C b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/extrudeToRegionMesh.C
index e9444d0eae2..ff0837e690c 100644
--- a/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/extrudeToRegionMesh.C
+++ b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/extrudeToRegionMesh.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -175,11 +175,8 @@ label addPatch
         }
         else
         {
-            FatalErrorIn
-            (
-                "addPatch<PatchType>(const polyBoundaryMesh&,"
-                " const word&, DynamicList<polyPatch*>)"
-            )   << "Already have patch " << patchName
+            FatalErrorInFunction
+                << "Already have patch " << patchName
                 << " but of type " << newPatches[patchI]->type()
                 << exit(FatalError);
         }
@@ -233,11 +230,8 @@ label addPatch
         }
         else
         {
-            FatalErrorIn
-            (
-                "addPatch<PatchType>(const polyBoundaryMesh&,"
-                " const word&, DynamicList<polyPatch*>)"
-            )   << "Already have patch " << patchName
+            FatalErrorInFunction
+                << "Already have patch " << patchName
                 << " but of type " << newPatches[patchI]->type()
                 << exit(FatalError);
         }
@@ -436,7 +430,7 @@ void checkZoneInside
         label zoneI = zoneID[i];
         if (isInternal[zoneI] != mesh.isInternalFace(faceI))
         {
-            FatalErrorIn("checkZoneInside(..)")
+            FatalErrorInFunction
                 << "Zone " << zoneNames[zoneI]
                 << " is not consistently all internal or all boundary faces."
                 << " Face " << faceI << " at " << mesh.faceCentres()[faceI]
@@ -694,7 +688,7 @@ void countExtrudePatches
             {
                 const edge& e = extrudePatch.edges()[edgeI];
                 const pointField& pts = extrudePatch.localPoints();
-                WarningIn("countExtrudePatches(..)")
+                WarningInFunction
                     << "Edge " << edgeI
                     << "at " << pts[e[0]] << pts[e[1]]
                     << " is a coupled edge and inbetween two different zones "
@@ -954,20 +948,8 @@ void addCoupledPatches
                 }
                 else
                 {
-                    FatalErrorIn
-                    (
-                        "void addCoupledPatches"
-                        "("
-                            "const fvMesh&, "
-                            "const primitiveFacePatch&, "
-                            "const labelList&, "
-                            "const labelList&, "
-                            "const mapDistribute&, "
-                            "const labelListList&, "
-                            "labelList&, "
-                            "DynamicList<polyPatch*>&"
-                        ")"
-                    )   << "Unable to determine coupled patch addressing"
+                    FatalErrorInFunction
+                        << "Unable to determine coupled patch addressing"
                         << abort(FatalError);
                 }
             }
@@ -1054,7 +1036,7 @@ void addZoneSidePatches
             }
             else
             {
-                FatalErrorIn("addZoneSidePatches()")
+                FatalErrorInFunction
                     << "Type " << oneDPolyPatchType << " does not exist "
                     << exit(FatalError);
             }
@@ -1475,7 +1457,7 @@ void extrudeGeometricProperties
 
     if (!ok)
     {
-        FatalErrorIn("extrudeGeometricProperties(..)")
+        FatalErrorInFunction
             << "Failed writing " << faceCentres.objectPath()
             << " and " << cellCentres.objectPath()
             << exit(FatalError);
@@ -1503,7 +1485,7 @@ int main(int argc, char *argv[])
         Pstream::gatherList(allNames);
         Pstream::scatterList(allNames);
 
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Patches are not synchronised on all processors."
             << " Per processor patches " << allNames
             << exit(FatalError);
@@ -2654,7 +2636,7 @@ int main(int argc, char *argv[])
 
     if (!ok)
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Failed writing mesh " << regionMesh.name()
             << " at location " << regionMesh.facesInstance()
             << exit(FatalError);
@@ -2855,7 +2837,7 @@ int main(int argc, char *argv[])
 
         if (!mesh.write())
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Failed writing mesh " << mesh.name()
                 << " at location " << mesh.facesInstance()
                 << exit(FatalError);
diff --git a/applications/utilities/mesh/generation/extrude2DMesh/extrude2DMesh/extrude2DMesh/extrude2DMesh.C b/applications/utilities/mesh/generation/extrude2DMesh/extrude2DMesh/extrude2DMesh/extrude2DMesh.C
index 178df8fa4a4..5f6de0801d8 100644
--- a/applications/utilities/mesh/generation/extrude2DMesh/extrude2DMesh/extrude2DMesh/extrude2DMesh.C
+++ b/applications/utilities/mesh/generation/extrude2DMesh/extrude2DMesh/extrude2DMesh/extrude2DMesh.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -43,7 +43,7 @@ void Foam::extrude2DMesh::check2D() const
     {
         if (faces[faceI].size() != 2)
         {
-            FatalErrorIn("void Foam::extrude2DMesh::check2D() const")
+            FatalErrorInFunction
                 << "Face " << faceI << " size " << faces[faceI].size()
                 << " is not of size 2: mesh is not a valid two-dimensional "
                 << "mesh" << exit(FatalError);
diff --git a/applications/utilities/mesh/generation/extrude2DMesh/extrude2DMesh/patchToPoly2DMesh/patchToPoly2DMesh.C b/applications/utilities/mesh/generation/extrude2DMesh/extrude2DMesh/patchToPoly2DMesh/patchToPoly2DMesh.C
index 114b3706416..9f57be29290 100644
--- a/applications/utilities/mesh/generation/extrude2DMesh/extrude2DMesh/patchToPoly2DMesh/patchToPoly2DMesh.C
+++ b/applications/utilities/mesh/generation/extrude2DMesh/extrude2DMesh/patchToPoly2DMesh/patchToPoly2DMesh.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -88,7 +88,7 @@ void Foam::patchToPoly2DMesh::createNeighbours()
         }
         else
         {
-            FatalErrorIn("polyMesh neighbour construction")
+            FatalErrorInFunction
                 << abort(FatalError);
         }
     }
@@ -307,7 +307,7 @@ void Foam::patchToPoly2DMesh::createMesh()
     {
         if (patch_.edgeFaces()[edgeI].size() != 2)
         {
-            FatalErrorIn("patchToPoly2DMesh::patchToPoly2DMesh(..)")
+            FatalErrorInFunction
                 << "internal edge:" << edgeI
                 << " patch.edgeFaces()[edgeI]:" << patch_.edgeFaces()[edgeI]
                 << abort(FatalError);
@@ -323,7 +323,7 @@ void Foam::patchToPoly2DMesh::createMesh()
     {
         if (patch_.edgeFaces()[edgeI].size() != 1)
         {
-            FatalErrorIn("patchToPoly2DMesh::patchToPoly2DMesh(..)")
+            FatalErrorInFunction
                 << "boundary edge:" << edgeI
                 << " patch.edgeFaces()[edgeI]:" << patch_.edgeFaces()[edgeI]
                 << abort(FatalError);
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/DelaunayMesh/DelaunayMeshI.H b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/DelaunayMesh/DelaunayMeshI.H
index 3d015f2e94a..44c830b4520 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/DelaunayMesh/DelaunayMeshI.H
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/DelaunayMesh/DelaunayMeshI.H
@@ -66,10 +66,8 @@ inline Foam::label Foam::DelaunayMesh<Triangulation>::getNewCellIndex() const
 
     if (id == labelMax)
     {
-        WarningIn
-        (
-            "Foam::DelaunayMesh<Triangulation>::getNewCellIndex() const"
-        )   << "Cell counter has overflowed." << endl;
+        WarningInFunction
+            << "Cell counter has overflowed." << endl;
     }
 
     return id;
@@ -83,10 +81,8 @@ inline Foam::label Foam::DelaunayMesh<Triangulation>::getNewVertexIndex() const
 
     if (id == labelMax)
     {
-        WarningIn
-        (
-            "Foam::DelaunayMesh<Triangulation>::getNewVertexIndex() const"
-        )   << "Vertex counter has overflowed." << endl;
+        WarningInFunction
+            << "Vertex counter has overflowed." << endl;
     }
 
     return id;
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/DelaunayMesh/DelaunayMeshIO.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/DelaunayMesh/DelaunayMeshIO.C
index 644f48bde28..a2865609aca 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/DelaunayMesh/DelaunayMeshIO.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/DelaunayMesh/DelaunayMeshIO.C
@@ -306,7 +306,7 @@ void Foam::DelaunayMesh<Triangulation>::printVertexInfo(Ostream& os) const
 
     if (nTotalVertices != label(Triangulation::number_of_vertices()))
     {
-        WarningIn("Foam::conformalVoronoiMesh::printVertexInfo()")
+        WarningInFunction
             << nTotalVertices << " does not equal "
             << Triangulation::number_of_vertices()
             << endl;
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/DelaunayMesh/DistributedDelaunayMesh.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/DelaunayMesh/DistributedDelaunayMesh.C
index 425966a511d..7a672354ecd 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/DelaunayMesh/DistributedDelaunayMesh.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/DelaunayMesh/DistributedDelaunayMesh.C
@@ -954,11 +954,8 @@ Foam::DistributedDelaunayMesh<Triangulation>::rangeInsertReferredWithInfo
         }
         else if (lt == Triangulation::OUTSIDE_AFFINE_HULL)
         {
-            WarningIn
-            (
-                "Foam::DistributedDelaunayMesh<Triangulation>"
-                "::rangeInsertReferredWithInfo"
-            )   << "Point is outside affine hull! pt = " << pointToInsert
+            WarningInFunction
+                << "Point is outside affine hull! pt = " << pointToInsert
                 << endl;
         }
         else if (lt == Triangulation::OUTSIDE_CONVEX_HULL)
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/PrintTable/PrintTable.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/PrintTable/PrintTable.C
index 79df1e7c69a..3e64caa7171 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/PrintTable/PrintTable.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/PrintTable/PrintTable.C
@@ -222,11 +222,8 @@ void Foam::PrintTable<KeyType, DataType>::operator=
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn
-        (
-            "Foam::PrintTable<KeyType, DataType>::operator="
-            "(const Foam::PrintTable<KeyType, DataType>&)"
-        )   << "Attempted assignment to self"
+        FatalErrorInFunction
+            << "Attempted assignment to self"
             << abort(FatalError);
     }
 }
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/backgroundMeshDecomposition/backgroundMeshDecomposition.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/backgroundMeshDecomposition/backgroundMeshDecomposition.C
index 25e0f9a73e7..01d69a23769 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/backgroundMeshDecomposition/backgroundMeshDecomposition.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/backgroundMeshDecomposition/backgroundMeshDecomposition.C
@@ -834,24 +834,14 @@ Foam::backgroundMeshDecomposition::backgroundMeshDecomposition
 {
     if (!Pstream::parRun())
     {
-        FatalErrorIn
-        (
-            "Foam::backgroundMeshDecomposition::backgroundMeshDecomposition"
-            "("
-                "const dictionary& coeffsDict, "
-                "const conformalVoronoiMesh& foamyHexMesh"
-            ")"
-        )
+        FatalErrorInFunction
             << "This cannot be used when not running in parallel."
             << exit(FatalError);
     }
 
     if (!decomposerPtr_().parallelAware())
     {
-        FatalErrorIn
-        (
-            "void Foam::backgroundMeshDecomposition::initialRefinement() const"
-        )
+        FatalErrorInFunction
             << "You have selected decomposition method "
             << decomposerPtr_().typeName
             << " which is not parallel aware." << endl
@@ -1217,14 +1207,7 @@ Foam::labelList Foam::backgroundMeshDecomposition::processorNearestPosition
 
         if (ptNearestProc[pI] < 0)
         {
-            FatalErrorIn
-            (
-                "Foam::labelList"
-                "Foam::backgroundMeshDecomposition::processorNearestPosition"
-                "("
-                    "const List<point>& pts"
-                ") const"
-            )
+            FatalErrorInFunction
                 << "The position " << pts[pI]
                 << " did not find a nearest point on the background mesh."
                 << exit(FatalError);
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/backgroundMeshDecomposition/backgroundMeshDecompositionTemplates.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/backgroundMeshDecomposition/backgroundMeshDecompositionTemplates.C
index 4201caa5d8f..b6332107620 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/backgroundMeshDecomposition/backgroundMeshDecompositionTemplates.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/backgroundMeshDecomposition/backgroundMeshDecompositionTemplates.C
@@ -134,14 +134,7 @@ Foam::labelList Foam::backgroundMeshDecomposition::processorPosition
 
             if (!globalBackgroundBounds_.contains(pt))
             {
-                FatalErrorIn
-                (
-                    "Foam::labelList"
-                    "Foam::backgroundMeshDecomposition::processorPosition"
-                    "("
-                        "const List<point>&"
-                    ") const"
-                )
+                FatalErrorInFunction
                     << "The position " << pt
                     << " is not in any part of the background mesh "
                     << globalBackgroundBounds_ << endl
@@ -152,14 +145,8 @@ Foam::labelList Foam::backgroundMeshDecomposition::processorPosition
 
             if (debug)
             {
-                WarningIn
-                (
-                    "Foam::labelList"
-                    "Foam::backgroundMeshDecomposition::processorPosition"
-                    "("
-                        "const List<point>&"
-                    ") const"
-                )   << "The position " << pt
+                WarningInFunction
+                    << "The position " << pt
                     << " was not found in the background mesh "
                     << globalBackgroundBounds_ << ", finding nearest."
                     << endl;
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 15c67d6857c..ca65462488b 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellShapeControl/cellShapeControl.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellShapeControl/cellShapeControl.C
@@ -350,10 +350,8 @@ void Foam::cellShapeControl::cellSizeAndAlignment
 
             alignment = v;
 
-//            FatalErrorIn
-//            (
-//                "Foam::conformalVoronoiMesh::setVertexSizeAndAlignment()"
-//            )   << "Point has bad alignment! "
+//            FatalErrorInFunction
+//                << "Point has bad alignment! "
 //                << pt << " " << size << " " << alignment << nl
 //                << "Bary Coords = " << bary <<  nl
 //                << ch->vertex(0)->info() << nl
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 e7f7f5816c2..301e6b8074e 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellShapeControlMesh/cellShapeControlMesh.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellShapeControlMesh/cellShapeControlMesh.C
@@ -65,10 +65,8 @@ word cellShapeControlMesh::meshSubDir = "cellShapeControlMesh";
 //
 //    if (!surfHit.hit())
 //    {
-//        FatalErrorIn
-//        (
-//            "Foam::tensor Foam::conformalVoronoiMesh::requiredAlignment"
-//        )   << "findSurfaceNearest did not find a hit across the surfaces."
+//        FatalErrorInFunction
+//            << "findSurfaceNearest did not find a hit across the surfaces."
 //            << exit(FatalError) << endl;
 //    }
 //
@@ -174,13 +172,8 @@ word cellShapeControlMesh::meshSubDir = "cellShapeControlMesh";
 //
 //    if (closestSpokeSurface == -1)
 //    {
-////        WarningIn
-////        (
-////            "conformalVoronoiMesh::requiredAlignment"
-////            "("
-////                "const Foam::point& pt"
-////            ") const"
-////        )   << "No secondary surface hit found in spoke search "
+////        WarningInFunction
+////            << "No secondary surface hit found in spoke search "
 ////            << "using " << s
 ////            << " spokes, try increasing alignmentSearchSpokes."
 ////            << endl;
@@ -203,7 +196,7 @@ word cellShapeControlMesh::meshSubDir = "cellShapeControlMesh";
 //
 //    if (mag(ns) < SMALL)
 //    {
-//        FatalErrorIn("conformalVoronoiMesh::requiredAlignment")
+//        FatalErrorInFunction
 //            << "Parallel normals detected in spoke search." << nl
 //            << "point: " << pt << nl
 //            << "closest surface point: " << surfHit.hitPoint() << nl
@@ -355,10 +348,8 @@ void Foam::cellShapeControlMesh::writeTriangulation()
     }
     else
     {
-        FatalErrorIn
-        (
-            "Foam::triangulatedMesh::writeRefinementTriangulation()"
-        )   << "Triangulation is not valid"
+        FatalErrorInFunction
+            << "Triangulation is not valid"
             << abort(FatalError);
     }
 }
@@ -440,11 +431,8 @@ Foam::cellShapeControlMesh::cellShapeControlMesh(const Time& runTime)
             }
             else
             {
-                FatalErrorIn
-                (
-                    "Foam::cellShapeControlMesh::cellShapeControlMesh"
-                    "(const Time&)"
-                )   << "Cell size point field is not the same size as the "
+                FatalErrorInFunction
+                    << "Cell size point field is not the same size as the "
                     << "mesh."
                     << abort(FatalError);
             }
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellSizeAndAlignmentControl/cellSizeAndAlignmentControl/cellSizeAndAlignmentControl.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellSizeAndAlignmentControl/cellSizeAndAlignmentControl/cellSizeAndAlignmentControl.C
index 24eafe7cacf..4551fe2c6f4 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellSizeAndAlignmentControl/cellSizeAndAlignmentControl/cellSizeAndAlignmentControl.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellSizeAndAlignmentControl/cellSizeAndAlignmentControl/cellSizeAndAlignmentControl.C
@@ -92,10 +92,8 @@ Foam::cellSizeAndAlignmentControl::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "cellSizeAndAlignmentControl::New()"
-        )   << "Unknown cellSizeAndAlignmentControl type "
+        FatalErrorInFunction
+            << "Unknown cellSizeAndAlignmentControl type "
             << cellSizeAndAlignmentControlTypeName
             << endl << endl
             << "Valid cellSizeAndAlignmentControl types are :" << endl
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 981b18817a2..921298660d8 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
@@ -235,15 +235,8 @@ void Foam::fileControl::initialVertices
 
     if ((pts.size() != sizes.size()) || (pts.size() != alignments.size()))
     {
-        FatalErrorIn
-        (
-            "Foam::fileControl::initialVertices"
-            "("
-            "   pointField&,"
-            "   scalarField&,"
-            "   Field<triad>&"
-            ")"
-        )   << "Size of list of points, sizes and alignments do not match:"
+        FatalErrorInFunction
+            << "Size of list of points, sizes and alignments do not match:"
             << nl
             << "Points size     = " << pts.size() << nl
             << "Sizes size      = " << sizes.size() << nl
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellSizeAndAlignmentControl/searchableSurfaceControl/searchableSurfaceControl.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellSizeAndAlignmentControl/searchableSurfaceControl/searchableSurfaceControl.C
index 319a3808ddf..851a773b065 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellSizeAndAlignmentControl/searchableSurfaceControl/searchableSurfaceControl.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellSizeAndAlignmentControl/searchableSurfaceControl/searchableSurfaceControl.C
@@ -69,10 +69,7 @@ addToRunTimeSelectionTable
 ////
 ////    if (!surfHit.hit())
 ////    {
-////        FatalErrorIn
-////        (
-////            "Foam::tensor Foam::conformalVoronoiMesh::requiredAlignment"
-////        )
+////        FatalErrorInFunction
 ////            << "findSurfaceNearest did not find a hit across the surfaces."
 ////            << exit(FatalError) << endl;
 ////    }
@@ -125,7 +122,7 @@ addToRunTimeSelectionTable
 //
 //    if (mag(ns) < SMALL)
 //    {
-//        WarningIn("conformalVoronoiMesh::requiredAlignment")
+//        WarningInFunction
 //            << "Parallel normals detected in spoke search." << nl
 //            << "point: " << pt << nl
 //            << "np   : " << np << nl
@@ -466,11 +463,8 @@ void Foam::searchableSurfaceControl::initialVertices
         if (!cellSize(pts[pI], sizes[pI], priority))
         {
             sizes[pI] = defaultCellSize_;
-//            FatalErrorIn
-//            (
-//                "Foam::searchableSurfaceControl::initialVertices"
-//                "(pointField&, scalarField&, tensorField&)"
-//            )   << "Could not calculate cell size"
+//            FatalErrorInFunction
+//                << "Could not calculate cell size"
 //                << abort(FatalError);
         }
 
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/cellSizeFunction/cellSizeFunction/cellSizeFunction.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/cellSizeFunction/cellSizeFunction/cellSizeFunction.C
index 9f7f5d5e7aa..c0db55e5586 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/cellSizeFunction/cellSizeFunction/cellSizeFunction.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/cellSizeFunction/cellSizeFunction/cellSizeFunction.C
@@ -82,7 +82,7 @@ Foam::cellSizeFunction::cellSizeFunction
         }
         else
         {
-            FatalErrorIn("searchableSurfaceControl::searchableSurfaceControl")
+            FatalErrorInFunction
                 << "Unknown mode, expected: inside, outside or bothSides" << nl
                 << exit(FatalError);
         }
@@ -91,7 +91,7 @@ Foam::cellSizeFunction::cellSizeFunction
     {
         if (mode != "bothSides")
         {
-            WarningIn("searchableSurfaceControl::searchableSurfaceControl")
+            WarningInFunction
                 << "surface does not support volumeType, defaulting mode to "
                 << "bothSides."
                 << endl;
@@ -135,11 +135,8 @@ Foam::autoPtr<Foam::cellSizeFunction> Foam::cellSizeFunction::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "cellSizeFunction::New(dictionary&, "
-            "const conformalVoronoiMesh&, const searchableSurface&)"
-        )   << "Unknown cellSizeFunction type "
+        FatalErrorInFunction
+            << "Unknown cellSizeFunction type "
             << cellSizeFunctionTypeName
             << endl << endl
             << "Valid cellSizeFunction types are :" << endl
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/cellSizeFunction/cellSizeFunction/cellSizeFunction.H b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/cellSizeFunction/cellSizeFunction/cellSizeFunction.H
index c7cf2201f24..a6d802523bb 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/cellSizeFunction/cellSizeFunction/cellSizeFunction.H
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/cellSizeFunction/cellSizeFunction/cellSizeFunction.H
@@ -197,7 +197,7 @@ public:
             const pointField& pts
         )
         {
-            WarningIn("cellSizeFunction::setCellSize(const pointField&)")
+            WarningInFunction
                 << "Not overloaded."
                 << endl;
             return false;
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/cellSizeFunction/surfaceOffsetLinearDistance/surfaceOffsetLinearDistance.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/cellSizeFunction/surfaceOffsetLinearDistance/surfaceOffsetLinearDistance.C
index 36b02aa7a91..2502c3a6cbf 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/cellSizeFunction/surfaceOffsetLinearDistance/surfaceOffsetLinearDistance.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/cellSizeFunction/surfaceOffsetLinearDistance/surfaceOffsetLinearDistance.C
@@ -84,15 +84,7 @@ surfaceOffsetLinearDistance::surfaceOffsetLinearDistance
          && coeffsDict().found("linearDistanceCoeff")
         )
         {
-            FatalErrorIn
-            (
-                "surfaceOffsetLinearDistance::surfaceOffsetLinearDistance"
-                "("
-                "    const dictionary& initialPointsDict,"
-                "    const searchableSurface& surface,"
-                "    const scalar& defaultCellSize"
-                ")"
-            )
+            FatalErrorInFunction
                 << "totalDistanceCoeff and linearDistanceCoeff found, "
                 << "specify one or other, not both."
                 << nl << exit(FatalError) << endl;
@@ -114,15 +106,7 @@ surfaceOffsetLinearDistance::surfaceOffsetLinearDistance
     }
     else
     {
-        FatalErrorIn
-        (
-            "surfaceOffsetLinearDistance::surfaceOffsetLinearDistance"
-            "("
-            "    const dictionary& initialPointsDict,"
-            "    const searchableSurface& surface,"
-            "    const scalar& defaultCellSize"
-            ")"
-        )
+        FatalErrorInFunction
             << "totalDistanceCoeff or linearDistanceCoeff not found."
             << nl << exit(FatalError) << endl;
     }
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/cellSizeCalculationType/cellSizeCalculationType/cellSizeCalculationType.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/cellSizeCalculationType/cellSizeCalculationType/cellSizeCalculationType.C
index 0abe372910e..2e925b9b32c 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/cellSizeCalculationType/cellSizeCalculationType/cellSizeCalculationType.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/cellSizeCalculationType/cellSizeCalculationType/cellSizeCalculationType.C
@@ -73,11 +73,8 @@ Foam::autoPtr<Foam::cellSizeCalculationType> Foam::cellSizeCalculationType::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "cellSizeCalculationType::New(dictionary&, "
-            "const conformalVoronoiMesh&, const searchableSurface&)"
-        )   << "Unknown cellSizeCalculationType type "
+        FatalErrorInFunction
+            << "Unknown cellSizeCalculationType type "
             << cellSizeCalculationTypeTypeName
             << endl << endl
             << "Valid cellSizeCalculationType types are :" << endl
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/surfaceCellSizeFunction/surfaceCellSizeFunction.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/surfaceCellSizeFunction/surfaceCellSizeFunction.C
index c74a552e222..cac18370218 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/surfaceCellSizeFunction/surfaceCellSizeFunction.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/surfaceCellSizeFunction/surfaceCellSizeFunction.C
@@ -77,11 +77,8 @@ Foam::autoPtr<Foam::surfaceCellSizeFunction> Foam::surfaceCellSizeFunction::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "surfaceCellSizeFunction::New(dictionary&, "
-            "const conformalVoronoiMesh&, const searchableSurface&)"
-        )   << "Unknown surfaceCellSizeFunction type "
+        FatalErrorInFunction
+            << "Unknown surfaceCellSizeFunction type "
             << surfaceCellSizeFunctionTypeName
             << endl << endl
             << "Valid surfaceCellSizeFunction types are :" << endl
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMesh.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMesh.C
index 9cc9862129a..601fcc95a7b 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMesh.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMesh.C
@@ -284,11 +284,8 @@ void Foam::conformalVoronoiMesh::insertSurfacePointPairs
         }
         else
         {
-            WarningIn
-            (
-                "Foam::conformalVoronoiMesh::insertSurfacePointPairs"
-                "(const pointIndexHitAndFeatureList&, const fileName)"
-            )   << meshableSide << ", bad"
+            WarningInFunction
+                << meshableSide << ", bad"
                 << endl;
         }
     }
@@ -652,7 +649,7 @@ Foam::face Foam::conformalVoronoiMesh::buildDualFace
 //            DelaunayMeshTools::drawDelaunayCell(Pout, cc1);
 //            DelaunayMeshTools::drawDelaunayCell(Pout, cc2);
 
-            WarningIn("Foam::conformalVoronoiMesh::buildDualFace")
+            WarningInFunction
                 << "Dual face uses circumcenter defined by a "
                 << "Delaunay tetrahedron with no internal "
                 << "or boundary points.  Defining Delaunay edge ends: "
@@ -723,7 +720,7 @@ Foam::label Foam::conformalVoronoiMesh::maxFilterCount
             Vertex_handle vA = c->vertex(eit->second);
             Vertex_handle vB = c->vertex(eit->third);
 
-            FatalErrorIn("Foam::conformalVoronoiMesh::buildDualFace")
+            FatalErrorInFunction
                 << "Dual face uses circumcenter defined by a "
                 << "Delaunay tetrahedron with no internal "
                 << "or boundary points.  Defining Delaunay edge ends: "
@@ -780,16 +777,7 @@ bool Foam::conformalVoronoiMesh::ownerAndNeighbour
 
     if (dualCellIndexA == -1 && dualCellIndexB == -1)
     {
-        FatalErrorIn
-        (
-            "bool Foam::conformalVoronoiMesh::ownerAndNeighbour"
-            "("
-                "Vertex_handle vA,"
-                "Vertex_handle vB,"
-                "label& owner,"
-                "label& neighbour"
-            ") const"
-        )
+        FatalErrorInFunction
             << "Attempting to create a face joining "
             << "two unindexed dual cells "
             << exit(FatalError);
@@ -1614,7 +1602,7 @@ void Foam::conformalVoronoiMesh::move()
         {
             if (!vit->referred() && !usedIndices.insert(vit->index()))
             {
-                FatalErrorIn("Foam::conformalVoronoiMesh::move()")
+                FatalErrorInFunction
                     << "Index already used! Could not insert: " << nl
                     << vit->info()
                     << abort(FatalError);
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshCalcDualMesh.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshCalcDualMesh.C
index e88ee943690..2e351cf81af 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshCalcDualMesh.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshCalcDualMesh.C
@@ -234,8 +234,7 @@ void Foam::conformalVoronoiMesh::calcTetMesh
             {
                 patchIndex = patchNames.size() - 1;
 
-                WarningIn("Foam::conformalVoronoiMesh::calcTetMesh")
-                    << "Tet face centre at  " << nl
+                WarningInFunction
                     << newFace.centre(points) << nl
                     << "did not find a surface patch. Adding to "
                     << patchNames[patchIndex]
@@ -2479,15 +2478,7 @@ void Foam::conformalVoronoiMesh::sortProcPatches
              || slaves.size() != sortingIndices.size()
             )
             {
-                FatalErrorIn
-                (
-                    "void Foam::conformalVoronoiMesh::sortProcPatches"
-                    "("
-                        "List<DynamicList<face> >& patchFaces, "
-                        "List<DynamicList<label> >& patchOwners, "
-                        "const List<DynamicList<label> >& patchSortingIndices"
-                    ") const"
-                )
+                FatalErrorInFunction
                     << "patch size and size of sorting indices is inconsistent "
                     << " for patch " << patchI << nl
                     << " faces.size() " << faces.size() << nl
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshConformToSurface.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshConformToSurface.C
index bbe6337c599..fdc4ef43548 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshConformToSurface.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshConformToSurface.C
@@ -649,7 +649,7 @@ void Foam::conformalVoronoiMesh::buildSurfaceConformation()
 
         if (iterationNo == maxIterations)
         {
-            WarningIn("conformalVoronoiMesh::conformToSurface()")
+            WarningInFunction
                 << "Maximum surface conformation iterations ("
                 << maxIterations <<  ") reached." << endl;
         }
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshFeaturePoints.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshFeaturePoints.C
index f9a690c6d32..d886d195c0d 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshFeaturePoints.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshFeaturePoints.C
@@ -149,11 +149,8 @@ bool Foam::conformalVoronoiMesh::regionIsInside
     }
     else
     {
-        WarningIn
-        (
-            "Foam::conformalVoronoiMesh::regionIsInside"
-            "(volTypeA, normalA, volTypeB, normalB, masterPtVec)"
-        )   << ""
+        WarningInFunction
+            << ""
             << endl;
 
         return false;
@@ -252,16 +249,8 @@ void Foam::conformalVoronoiMesh::createEdgePointGroupByCirculating
                 }
                 else
                 {
-                    WarningIn
-                    (
-                        "Foam::conformalVoronoiMesh::"
-                        "createEdgePointGroupByCirculating"
-                        "("
-                        "    const extendedFeatureEdgeMesh&,"
-                        "    const pointIndexHit&,"
-                        "    DynamicList<Vb>&"
-                        ")"
-                    )   << "Failed to insert flat/open edge as volType is "
+                    WarningInFunction
+                        << "Failed to insert flat/open edge as volType is "
                         << extendedFeatureEdgeMesh::sideVolumeTypeNames_
                            [
                                volType
@@ -314,16 +303,8 @@ void Foam::conformalVoronoiMesh::createEdgePointGroupByCirculating
             }
             else
             {
-                WarningIn
-                (
-                    "Foam::conformalVoronoiMesh::"
-                    "createEdgePointGroupByCirculating"
-                    "("
-                    "    const extendedFeatureEdgeMesh&,"
-                    "    const pointIndexHit&,"
-                    "    DynamicList<Vb>&"
-                    ")"
-                )   << "Faces are parallel but master point is not inside"
+                WarningInFunction
+                    << "Faces are parallel but master point is not inside"
                     << endl;
             }
         }
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshI.H b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshI.H
index e3ef651d0fa..190e493322f 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshI.H
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshI.H
@@ -122,7 +122,7 @@ inline Foam::scalar Foam::conformalVoronoiMesh::averageAnyCellSize
 
     if (sizeSum < 0)
     {
-        WarningIn("averageAnyCellSize(const Delaunay::Finite_facets_iterator&)")
+        WarningInFunction
             << "sizeSum = " << sizeSum
             << endl;
 
@@ -558,11 +558,7 @@ Foam::conformalVoronoiMesh::decomposition() const
 {
     if (!Pstream::parRun())
     {
-        FatalErrorIn
-        (
-            "inline const Foam::backgroundMeshDecomposition& "
-            "Foam::conformalVoronoiMesh::decomposition() const"
-        )
+        FatalErrorInFunction
             << "The backgroundMeshDecomposition cannot be asked for in serial."
             << exit(FatalError) << endl;
     }
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshIO.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshIO.C
index 1c50486f97d..714cb2bfe2f 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshIO.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshIO.C
@@ -219,7 +219,7 @@ void Foam::conformalVoronoiMesh::writeMesh(const fileName& instance)
 //
 //            if (vertexToDualAddressing[vertI] != 0)
 //            {
-//                FatalErrorIn("conformalVoronoiMesh::writeMesh(..)")
+//                FatalErrorInFunction
 //                    << "Delaunay vertex " << vertI
 //                    << " from cell " << cellI
 //                    << " is already mapped to "
@@ -239,7 +239,7 @@ void Foam::conformalVoronoiMesh::writeMesh(const fileName& instance)
 //
 //                if (vertexToDualAddressing[vertI] > 0)
 //                {
-//                    FatalErrorIn("conformalVoronoiMesh::writeMesh(..)")
+//                    FatalErrorInFunction
 //                        << "Delaunay vertex " << vertI
 //                        << " from patch " << patchI
 //                        << " local index " << i
@@ -310,14 +310,8 @@ void Foam::conformalVoronoiMesh::writeMesh(const fileName& instance)
 //        label pointI = findIndex(pointDualAddressing, -1);
 //        if (pointI != -1)
 //        {
-//            WarningIn
-//            (
-//                "conformalVoronoiMesh::writeMesh\n"
-//                "(\n"
-//                "    const fileName& instance,\n"
-//                "    bool filterFaces\n"
-//                ")\n"
-//            )   << "Delaunay vertex " << pointI
+//            WarningInFunction
+//                << "Delaunay vertex " << pointI
 //                << " does not have a corresponding dual cell." << endl;
 //        }
 //
@@ -1060,7 +1054,7 @@ void Foam::conformalVoronoiMesh::writeMesh
 
     if (!mesh.write())
     {
-        FatalErrorIn("Foam::conformalVoronoiMesh::writeMesh(..)")
+        FatalErrorInFunction
             << "Failed writing polyMesh."
             << exit(FatalError);
     }
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshZones.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshZones.C
index 2bb549e3058..9bb7e33f958 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshZones.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshZones.C
@@ -43,7 +43,7 @@ void Foam::conformalVoronoiMesh::calcNeighbourCellCentres
 
     if (neiCc.size() != nBoundaryFaces)
     {
-        FatalErrorIn("conformalVoronoiMesh::calcNeighbourCellCentres(..)")
+        FatalErrorInFunction
             << "nBoundaries:" << nBoundaryFaces
             << " neiCc:" << neiCc.size()
             << abort(FatalError);
@@ -171,12 +171,8 @@ void Foam::conformalVoronoiMesh::findCellZoneInsideWalk
 
         if (keepRegionI == -1)
         {
-            FatalErrorIn
-            (
-                "conformalVoronoiMesh::findCellZoneInsideWalk"
-                "(const polyMesh&, const labelList&"
-                ", const labelList&, labelList&)"
-            )   << "Point " << insidePoint
+            FatalErrorInFunction
+                << "Point " << insidePoint
                 << " is not inside the mesh." << nl
                 << "Bounding box of the mesh:" << mesh.bounds()
                 << exit(FatalError);
@@ -193,12 +189,8 @@ void Foam::conformalVoronoiMesh::findCellZoneInsideWalk
                 }
                 else if (cellToSurface[cellI] != surfI)
                 {
-                    WarningIn
-                    (
-                        "conformalVoronoiMesh::findCellZoneInsideWalk"
-                        "(const labelList&, const labelList&"
-                        ", const labelList&, const labelList&)"
-                    )   << "Cell " << cellI
+                    WarningInFunction
+                        << "Cell " << cellI
                         << " at " << mesh.cellCentres()[cellI]
                         << " is inside surface " << surfName
                         << " but already marked as being in zone "
@@ -251,7 +243,7 @@ Foam::labelList Foam::conformalVoronoiMesh::calcCellZones
          && selectionMethod != surfaceZonesInfo::INSIDEPOINT
         )
         {
-            FatalErrorIn("conformalVoronoiMesh::calcCellZones(..)")
+            FatalErrorInFunction
                 << "Trying to use surface "
                 << surface.name()
                 << " which has non-geometric inside selection method "
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/featurePointConformer/featurePointConformerSpecialisations.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/featurePointConformer/featurePointConformerSpecialisations.C
index f119ccc056c..56c5929343b 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/featurePointConformer/featurePointConformerSpecialisations.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/featurePointConformer/featurePointConformerSpecialisations.C
@@ -100,15 +100,13 @@ bool Foam::featurePointConformer::createSpecialisedFeaturePoint
             }
             else if (eS == extendedFeatureEdgeMesh::FLAT)
             {
-                WarningIn("Foam::conformalVoronoiMesh::"
-                    "createSpecialisedFeaturePoint")
+                WarningInFunction
                     << "Edge " << eS << " is flat"
                     << endl;
             }
             else
             {
-                FatalErrorIn("Foam::conformalVoronoiMesh::"
-                    "createSpecialisedFeaturePoint")
+                FatalErrorInFunction
                     << "Edge " << eS << " not concave/convex"
                     << exit(FatalError);
             }
@@ -258,11 +256,7 @@ bool Foam::featurePointConformer::createSpecialisedFeaturePoint
 
             if ((convexEdgeA && convexEdgeB) || (!convexEdgeA && !convexEdgeB))
             {
-                WarningIn
-                    (
-                     "Foam::conformalVoronoiMesh"
-                     "::createSpecialisedFeaturePoint"
-                    )
+                WarningInFunction
                     << "Both or neither of the convex edges share the concave "
                     << "edge's normal."
                     << " convexEdgeA = " << convexEdgeA
@@ -538,15 +532,13 @@ bool Foam::featurePointConformer::createSpecialisedFeaturePoint
             }
             else if (eS == extendedFeatureEdgeMesh::FLAT)
             {
-                WarningIn("Foam::conformalVoronoiMesh::"
-                    "createSpecialisedFeaturePoint")
+                WarningInFunction
                     << "Edge " << eS << " is flat"
                     << endl;
             }
             else
             {
-                FatalErrorIn("Foam::conformalVoronoiMesh::"
-                    "createSpecialisedFeaturePoint")
+                FatalErrorInFunction
                     << "Edge " << eS << " not concave/convex"
                     << exit(FatalError);
             }
@@ -700,11 +692,8 @@ bool Foam::featurePointConformer::createSpecialisedFeaturePoint
              || (!concaveEdgeA && !concaveEdgeB)
             )
             {
-                WarningIn
-                (
-                 "Foam::conformalVoronoiMesh"
-                 "::createSpecialisedFeaturePoint"
-                )   << "Both or neither of the concave edges share the convex "
+                WarningInFunction
+                    << "Both or neither of the concave edges share the convex "
                     << "edge's normal."
                     << " concaveEdgeA = " << concaveEdgeA
                     << " concaveEdgeB = " << concaveEdgeB
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformationSurfaces/conformationSurfaces.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformationSurfaces/conformationSurfaces.C
index 8723f438481..464dd646ba3 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformationSurfaces/conformationSurfaces.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformationSurfaces/conformationSurfaces.C
@@ -187,11 +187,8 @@ void Foam::conformationSurfaces::readFeatures
         }
         else
         {
-            WarningIn
-            (
-                "Foam::conformationSurfaces::readFeatures"
-                "(const label, const dictionary&, const word&, label&)"
-            )   << surface.name() << " of type "
+            WarningInFunction
+                << surface.name() << " of type "
                 << surface.type() << " does not have features"
                 << endl;
         }
@@ -202,7 +199,7 @@ void Foam::conformationSurfaces::readFeatures
     }
     else
     {
-        FatalErrorIn("Foam::conformationSurfaces::readFeatures")
+        FatalErrorInFunction
             << "No valid featureMethod found for surface " << surfaceName
             << nl << "Use \"extendedFeatureEdgeMesh\" "
             << "or \"extractFeatures\"."
@@ -252,7 +249,7 @@ void Foam::conformationSurfaces::readFeatures
     }
     else
     {
-        FatalErrorIn("Foam::conformationSurfaces::readFeatures")
+        FatalErrorInFunction
             << "No valid featureMethod found for surface " << surfaceName
             << nl << "Use \"extendedFeatureEdgeMesh\" "
             << "or \"extractFeatures\"."
@@ -383,7 +380,7 @@ Foam::conformationSurfaces::conformationSurfaces
             {
                 if (!surface.hasVolumeType())
                 {
-                    WarningIn("conformationSurfaces::conformationSurfaces(..)")
+                    WarningInFunction
                         << "Non-baffle surface "
                         << surface.name()
                         << " does not allow inside/outside queries."
@@ -463,9 +460,8 @@ Foam::conformationSurfaces::conformationSurfaces
 
     if (unmatchedKeys.size() > 0)
     {
-        IOWarningIn
+        IOWarningInFunction
         (
-            "conformationSurfaces::conformationSurfaces(..)",
             surfacesDict
         )   << "Not all entries in conformationSurfaces dictionary were used."
             << " The following entries were not used : "
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/faceAreaWeightModel/faceAreaWeightModel/faceAreaWeightModel.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/faceAreaWeightModel/faceAreaWeightModel/faceAreaWeightModel.C
index 049d99abb22..6388c0c6c88 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/faceAreaWeightModel/faceAreaWeightModel/faceAreaWeightModel.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/faceAreaWeightModel/faceAreaWeightModel/faceAreaWeightModel.C
@@ -70,11 +70,8 @@ autoPtr<faceAreaWeightModel> faceAreaWeightModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "faceAreaWeightModel::New(const dictionary&, "
-            "const conformalVoronoiMesh&)"
-        )   << "Unknown faceAreaWeightModel type "
+        FatalErrorInFunction
+            << "Unknown faceAreaWeightModel type "
             << faceAreaWeightModelTypeName
             << endl << endl
             << "Valid faceAreaWeightModel types are :" << endl
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/autoDensity/autoDensity.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/autoDensity/autoDensity.C
index db905881a5a..5ce01e23b57 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/autoDensity/autoDensity.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/autoDensity/autoDensity.C
@@ -896,14 +896,8 @@ autoDensity::autoDensity
     {
         maxSizeRatio_ = 2.0;
 
-        WarningIn
-        (
-            "autoDensity::autoDensity"
-            "("
-                "const dictionary& initialPointsDict,"
-                "const conformalVoronoiMesh& foamyHexMesh"
-            ")"
-        )   << "The maxSizeRatio must be greater than one to be sensible, "
+        WarningInFunction
+            << "The maxSizeRatio must be greater than one to be sensible, "
             << "setting to " << maxSizeRatio_
             << endl;
     }
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/initialPointsMethod/initialPointsMethod.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/initialPointsMethod/initialPointsMethod.C
index 631ab3ebc8a..11007841552 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/initialPointsMethod/initialPointsMethod.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/initialPointsMethod/initialPointsMethod.C
@@ -96,11 +96,8 @@ autoPtr<initialPointsMethod> initialPointsMethod::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "initialPointsMethod::New(dictionary&, "
-            "const conformalVoronoiMesh&)"
-        )   << "Unknown initialPointsMethod type "
+        FatalErrorInFunction
+            << "Unknown initialPointsMethod type "
             << initialPointsMethodTypeName
             << endl << endl
             << "Valid initialPointsMethod types are :" << endl
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/pointFile/pointFile.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/pointFile/pointFile.C
index 0e510a4a687..bea71b9b5c6 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/pointFile/pointFile.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/pointFile/pointFile.C
@@ -91,7 +91,7 @@ List<Vb::Point> pointFile::initialPoints() const
 
     if (points.empty())
     {
-        FatalErrorIn("List<Vb::Point> pointFile::initialPoints() const")
+        FatalErrorInFunction
             << "Point file contain no points"
             << exit(FatalError) << endl;
     }
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/rayShooting/rayShooting.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/rayShooting/rayShooting.C
index bbed38b476b..103a09c23ae 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/rayShooting/rayShooting.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/rayShooting/rayShooting.C
@@ -104,15 +104,8 @@ void rayShooting::splitLine
             }
             else
             {
-                WarningIn
-                (
-                    "rayShooting::splitLine"
-                    "("
-                    "   const line<point,point>&,"
-                    "   const scalar&,"
-                    "   DynamicList<Vb::Point>&"
-                    ")"
-                )   << "Point perturbation crosses a surface. Not inserting."
+                WarningInFunction
+                    << "Point perturbation crosses a surface. Not inserting."
                     << endl;
             }
         }
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/relaxationModel/relaxationModel/relaxationModel.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/relaxationModel/relaxationModel/relaxationModel.C
index 78b1820866d..e47cbf4aaa1 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/relaxationModel/relaxationModel/relaxationModel.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/relaxationModel/relaxationModel/relaxationModel.C
@@ -73,11 +73,8 @@ autoPtr<relaxationModel> relaxationModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "relaxationModel::New(const dictionary&, "
-            "const conformalVoronoiMesh&)"
-        )   << "Unknown relaxationModel type "
+        FatalErrorInFunction
+            << "Unknown relaxationModel type "
             << relaxationModelTypeName
             << endl << endl
             << "Valid relaxationModel types are :" << endl
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/searchableSurfaceFeatures/searchableSurfaceFeatures.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/searchableSurfaceFeatures/searchableSurfaceFeatures.C
index cd9eb68312e..16dc56814d5 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/searchableSurfaceFeatures/searchableSurfaceFeatures.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/searchableSurfaceFeatures/searchableSurfaceFeatures.C
@@ -50,11 +50,8 @@ Foam::searchableSurfaceFeatures::New
 
     if (cstrIter == dictConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "searchableSurfaceFeatures::New(const word&,"
-            " const searchableSurface&, const dictionary&)"
-        )   << "Unknown searchableSurfaceFeatures type "
+        FatalErrorInFunction
+            << "Unknown searchableSurfaceFeatures type "
             << searchableSurfaceFeaturesType << endl << endl
             << "Valid searchableSurfaceFeatures types : " << endl
             << dictConstructorTablePtr_->sortedToc()
diff --git a/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/foamyHexMeshBackgroundMesh.C b/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/foamyHexMeshBackgroundMesh.C
index fc99f0fd054..68460e22e82 100644
--- a/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/foamyHexMeshBackgroundMesh.C
+++ b/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/foamyHexMeshBackgroundMesh.C
@@ -72,7 +72,7 @@ scalar getMergeDistance
 
     if (runTime.writeFormat() == IOstream::ASCII && mergeTol < writeTol)
     {
-        FatalErrorIn("getMergeDistance")
+        FatalErrorInFunction
             << "Your current settings specify ASCII writing with "
             << IOstream::defaultPrecision() << " digits precision." << endl
             << "Your merging tolerance (" << mergeTol << ") is finer than this."
@@ -367,7 +367,7 @@ tmp<scalarField> signedDistance
             }
             else
             {
-                FatalErrorIn("signedDistance()")
+                FatalErrorInFunction
                     << "getVolumeType failure, neither INSIDE or OUTSIDE"
                     << exit(FatalError);
             }
diff --git a/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/CV2D.C b/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/CV2D.C
index fdb73d17e73..f8cdecfd6fa 100644
--- a/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/CV2D.C
+++ b/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/CV2D.C
@@ -229,7 +229,7 @@ void Foam::CV2D::insertPoints(const fileName& pointFileName)
     }
     else
     {
-        FatalErrorIn("insertInitialPoints")
+        FatalErrorInFunction
             << "Could not open pointsFile " << pointFileName
             << exit(FatalError);
     }
@@ -913,7 +913,7 @@ void Foam::CV2D::newPoints()
 //             }
 //             else
 //             {
-//                 FatalErrorIn("CV2D::newPoints() const")
+//                 FatalErrorInFunction
 //                     << "Infinite triangle found in internal mesh"
 //                     << exit(FatalError);
 //             }
diff --git a/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/CV2DI.H b/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/CV2DI.H
index b5c3563ceae..9e04cdcbbfc 100644
--- a/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/CV2DI.H
+++ b/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/CV2DI.H
@@ -61,7 +61,7 @@ inline Foam::label Foam::CV2D::insertPoint
 
     if (nVert == number_of_vertices())
     {
-        WarningIn("Foam::CV2D::insertPoint")
+        WarningInFunction
             << "Failed to insert point " << toPoint2D(p) << endl;
     }
     else
diff --git a/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/CV2DIO.C b/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/CV2DIO.C
index 0048a07b32f..3896131c1f2 100644
--- a/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/CV2DIO.C
+++ b/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/CV2DIO.C
@@ -151,11 +151,8 @@ void Foam::CV2D::writeFaces(const fileName& fName, bool internalOnly) const
                 {
                     if (fc->faceIndex() < 0)
                     {
-                        FatalErrorIn
-                        (
-                            "Foam::CV2D::writeFaces"
-                            "(const fileName& fName, bool internalOnly)"
-                        )<< "Dual face uses vertex defined by a triangle"
+                        FatalErrorInFunction
+                         << "Dual face uses vertex defined by a triangle"
                             " defined by an external point"
                             << exit(FatalError);
                     }
@@ -222,7 +219,7 @@ void Foam::CV2D::extractPatches
             {
                 patchIndex = defaultPatchIndex;
 
-                WarningIn("Foam::CV2D::extractPatches")
+                WarningInFunction
                     << "Dual face found that is not on a surface "
                     << "patch. Adding to CV2D_default_patch."
                     << endl;
@@ -315,11 +312,8 @@ void Foam::CV2D::calcDual
                 {
                     if (fc->faceIndex() < 0)
                     {
-                        FatalErrorIn
-                        (
-                            "Foam::CV2D::calcDual"
-                            "(point2DField& dualPoints, faceList& dualFaces)"
-                        )<< "Dual face uses vertex defined by a triangle"
+                        FatalErrorInFunction
+                         << "Dual face uses vertex defined by a triangle"
                             " defined by an external point"
                             << exit(FatalError);
                     }
diff --git a/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/insertFeaturePoints.C b/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/insertFeaturePoints.C
index 740bff886b3..6ac1bc9bab7 100644
--- a/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/insertFeaturePoints.C
+++ b/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/insertFeaturePoints.C
@@ -61,7 +61,7 @@ void Foam::CV2D::insertFeaturePoints()
 
     if (feMeshes.empty())
     {
-        WarningIn("CV2D::insertFeaturePoints")
+        WarningInFunction
             << "Extended Feature Edge Mesh is empty so no feature points will "
             << "be found." << nl
             << "    Use: featureMethod extendedFeatureEdgeMesh;" << nl
@@ -341,7 +341,7 @@ void Foam::CV2D::insertFeaturePoints()
                 }
                 else
                 {
-                    WarningIn("void Foam::CV2D::insertFeaturePoints()")
+                    WarningInFunction
                         << "Feature Edge " << edges[edgeI] << nl
                         << "    points(" << points[edges[edgeI].start()]
                         << ", " << points[edges[edgeI].end()] << ")" << nl
@@ -352,7 +352,7 @@ void Foam::CV2D::insertFeaturePoints()
             }
             else
             {
-                WarningIn("void Foam::CV2D::insertFeaturePoints()")
+                WarningInFunction
                       << "Point " << featPoint << " is not on the line "
                       << line << endl;
             }
diff --git a/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/shortEdgeFilter2D.C b/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/shortEdgeFilter2D.C
index bac5c87ca1d..9220ca7bedf 100644
--- a/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/shortEdgeFilter2D.C
+++ b/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/shortEdgeFilter2D.C
@@ -109,7 +109,7 @@ void Foam::shortEdgeFilter2D::updateEdgeRegionMap
         {
             region = startPtRegions[0];
 
-            WarningIn("shortEdgeFilter2D()")
+            WarningInFunction
                 << "Both points in edge are in different regions."
                 << " Assigning edge to region " << region
                 << endl;
@@ -495,7 +495,7 @@ Foam::shortEdgeFilter2D::filter()
                         }
                         else
                         {
-                            WarningIn("shortEdgeFilter")
+                            WarningInFunction
                                 << "Point " << pChain
                                 << " marked for deletion as well as point "
                                 << pointI << nl
@@ -525,7 +525,7 @@ Foam::shortEdgeFilter2D::filter()
         }
         else
         {
-            FatalErrorIn("shortEdgeFilter")
+            FatalErrorInFunction
                 << "Only " << newFace.size() << " in face " << faceI
                 << exit(FatalError);
         }
@@ -553,7 +553,7 @@ Foam::shortEdgeFilter2D::filter()
     {
         if (newPointNumbers[pointI] == -1)
         {
-            WarningIn("shortEdgeFilter")
+            WarningInFunction
                 << pointI << " will be deleted and " << newPointNumbers[pointI]
                 << ", so it will not be replaced. "
                 << "This will cause edges to be deleted." << endl;
diff --git a/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C b/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C
index c6906a6c920..9c328113690 100644
--- a/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C
+++ b/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C
@@ -555,7 +555,7 @@ scalar getMergeDistance(const polyMesh& mesh, const scalar mergeTol)
 
         if (mergeTol < writeTol)
         {
-            FatalErrorIn("getMergeDistance(const polyMesh&, const dictionary&)")
+            FatalErrorInFunction
                 << "Your current settings specify ASCII writing with "
                 << IOstream::defaultPrecision() << " digits precision." << nl
                 << "Your merging tolerance (" << mergeTol
@@ -1290,7 +1290,7 @@ int main(int argc, char *argv[])
 
     if (Pstream::parRun() && !decomposer.parallelAware())
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "You have selected decomposition method "
             << decomposer.typeName
             << " which is not parallel aware." << endl
diff --git a/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.C b/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.C
index 68c316f24d2..2060a4687ec 100644
--- a/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.C
+++ b/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.C
@@ -402,13 +402,8 @@ bool Foam::checkCoupledPoints
 
                     if (f.size() != nbrPoints[bFaceI].size())
                     {
-                        FatalErrorIn
-                        (
-                            "Foam::checkCoupledPoints\n"
-                            "(\n"
-                            "   const polyMesh&, const bool, labelHashSet*\n"
-                            ")\n"
-                        )   << "Local face size : " << f.size()
+                        FatalErrorInFunction
+                            << "Local face size : " << f.size()
                             << " does not equal neighbour face size : "
                             << nbrPoints[bFaceI].size()
                             << abort(FatalError);
diff --git a/applications/utilities/mesh/manipulation/checkMesh/printMeshStats.C b/applications/utilities/mesh/manipulation/checkMesh/printMeshStats.C
index 9d49ffa2a93..f7e34d6ab56 100644
--- a/applications/utilities/mesh/manipulation/checkMesh/printMeshStats.C
+++ b/applications/utilities/mesh/manipulation/checkMesh/printMeshStats.C
@@ -29,7 +29,7 @@ void Foam::printMeshStats(const polyMesh& mesh, const bool allTopology)
 
         if (returnReduce(mesh.nInternalPoints(), minOp<label>()) == -1)
         {
-            WarningIn("Foam::printMeshStats(const polyMesh&, const bool)")
+            WarningInFunction
                 << "Some processors have their points sorted into internal"
                 << " and external and some do not." << endl
                 << "This can cause problems later on." << endl;
diff --git a/applications/utilities/mesh/manipulation/createBaffles/createBaffles.C b/applications/utilities/mesh/manipulation/createBaffles/createBaffles.C
index 66bc3bcb111..b53d29c836f 100644
--- a/applications/utilities/mesh/manipulation/createBaffles/createBaffles.C
+++ b/applications/utilities/mesh/manipulation/createBaffles/createBaffles.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -313,7 +313,7 @@ void createFaces
                     {
                         if (patchWarned.insert(patchI))
                         {
-                            WarningIn("createFaces(..)")
+                            WarningInFunction
                                 << "Found boundary face (in patch "
                                 << pp.name()
                                 << ") in faceZone " << fZone.name()
@@ -770,7 +770,7 @@ int main(int argc, char *argv[])
                 if (!hasWarned)
                 {
                     hasWarned = true;
-                    WarningIn(args.executable())
+                    WarningInFunction
                         << "Setting field on boundary faces to zero." << endl
                         << "You might have to edit these fields." << endl;
                 }
diff --git a/applications/utilities/mesh/manipulation/createBaffles/faceSelection/faceSelection.C b/applications/utilities/mesh/manipulation/createBaffles/faceSelection/faceSelection.C
index 57a6b554c79..25d8b3272c5 100644
--- a/applications/utilities/mesh/manipulation/createBaffles/faceSelection/faceSelection.C
+++ b/applications/utilities/mesh/manipulation/createBaffles/faceSelection/faceSelection.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -73,11 +73,8 @@ Foam::autoPtr<Foam::faceSelection> Foam::faceSelection::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "faceSelection::New"
-            "(const word&, const fvMesh&, const dictionary&)"
-        )   << "Unknown faceSelection type "
+        FatalErrorInFunction
+            << "Unknown faceSelection type "
             << sampleType << nl << nl
             << "Valid faceSelection types : " << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/applications/utilities/mesh/manipulation/createBaffles/faceSelection/faceZoneSelection.C b/applications/utilities/mesh/manipulation/createBaffles/faceSelection/faceZoneSelection.C
index bdc6d84e67d..5b81ea35320 100644
--- a/applications/utilities/mesh/manipulation/createBaffles/faceSelection/faceZoneSelection.C
+++ b/applications/utilities/mesh/manipulation/createBaffles/faceSelection/faceZoneSelection.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -71,10 +71,8 @@ void Foam::faceSelections::faceZoneSelection::select
 
     if (readID == -1)
     {
-        FatalErrorIn
-        (
-            "faceSelections::faceZoneSelection::select(labelList&) const"
-        )   << "Cannot find faceZone " << zoneName_ << nl << "Valid zones are "
+        FatalErrorInFunction
+            << "Cannot find faceZone " << zoneName_ << nl << "Valid zones are "
             << mesh_.faceZones().names()
             << exit(FatalError);
     }
@@ -92,10 +90,8 @@ void Foam::faceSelections::faceZoneSelection::select
         }
         else if (faceToZoneID[faceI] != zoneID)
         {
-            FatalErrorIn
-            (
-                "faceSelections::faceZoneSelection::select(labelList&) const"
-            )   << "Face " << faceI << " already in faceZone "
+            FatalErrorInFunction
+                << "Face " << faceI << " already in faceZone "
                 << faceToZoneID[faceI]
                 << exit(FatalError);
         }
diff --git a/applications/utilities/mesh/manipulation/createPatch/createPatch.C b/applications/utilities/mesh/manipulation/createPatch/createPatch.C
index deefbaef38c..da6b2ec09c6 100644
--- a/applications/utilities/mesh/manipulation/createPatch/createPatch.C
+++ b/applications/utilities/mesh/manipulation/createPatch/createPatch.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -284,10 +284,8 @@ void separateList
     }
     else
     {
-        FatalErrorIn
-        (
-            "separateList(const vectorField&, UList<vector>&)"
-        )   << "Sizes of field and transformation not equal. field:"
+        FatalErrorInFunction
+            << "Sizes of field and transformation not equal. field:"
             << field.size() << " transformation:" << separation.size()
             << abort(FatalError);
     }
@@ -306,11 +304,8 @@ void syncPoints
 {
     if (points.size() != mesh.nPoints())
     {
-        FatalErrorIn
-        (
-            "syncPoints"
-            "(const polyMesh&, pointField&, const CombineOp&, const point&)"
-        )   << "Number of values " << points.size()
+        FatalErrorInFunction
+            << "Number of values " << points.size()
             << " is not equal to the number of points in the mesh "
             << mesh.nPoints() << abort(FatalError);
     }
@@ -470,11 +465,8 @@ void syncPoints
     {
         if (hasTransformation)
         {
-            WarningIn
-            (
-                "syncPoints"
-                "(const polyMesh&, pointField&, const CombineOp&, const point&)"
-            )   << "There are decomposed cyclics in this mesh with"
+            WarningInFunction
+                << "There are decomposed cyclics in this mesh with"
                 << " transformations." << endl
                 << "This is not supported. The result will be incorrect"
                 << endl;
@@ -671,7 +663,7 @@ int main(int argc, char *argv[])
 
         if (destPatchI == -1)
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "patch " << patchName << " not added. Problem."
                 << abort(FatalError);
         }
@@ -728,7 +720,7 @@ int main(int argc, char *argv[])
 
                 if (mesh.isInternalFace(faceI))
                 {
-                    FatalErrorIn(args.executable())
+                    FatalErrorInFunction
                         << "Face " << faceI << " specified in set "
                         << faces.name()
                         << " is not an external face of the mesh." << endl
@@ -747,7 +739,7 @@ int main(int argc, char *argv[])
         }
         else
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Invalid source type " << sourceType << endl
                 << "Valid source types are 'patches' 'set'" << exit(FatalError);
         }
diff --git a/applications/utilities/mesh/manipulation/mergeMeshes/mergePolyMesh.C b/applications/utilities/mesh/manipulation/mergeMeshes/mergePolyMesh.C
index afe8c1ce63d..41e2aac9374 100644
--- a/applications/utilities/mesh/manipulation/mergeMeshes/mergePolyMesh.C
+++ b/applications/utilities/mesh/manipulation/mergeMeshes/mergePolyMesh.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -319,7 +319,7 @@ void Foam::mergePolyMesh::addMesh(const polyMesh& m)
             // Check that the face is valid
             if (min(newFace) < 0)
             {
-                FatalErrorIn("void mergePolyMesh::addMesh(const polyMesh&)")
+                FatalErrorInFunction
                     << "Error in point mapping for face " << faceI
                     << ".  Old face: " << curFace << " New face: " << newFace
                     << abort(FatalError);
diff --git a/applications/utilities/mesh/manipulation/mergeOrSplitBaffles/mergeOrSplitBaffles.C b/applications/utilities/mesh/manipulation/mergeOrSplitBaffles/mergeOrSplitBaffles.C
index e35efbd3a65..6db0d3abc63 100644
--- a/applications/utilities/mesh/manipulation/mergeOrSplitBaffles/mergeOrSplitBaffles.C
+++ b/applications/utilities/mesh/manipulation/mergeOrSplitBaffles/mergeOrSplitBaffles.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -175,7 +175,7 @@ labelList findBaffles(const polyMesh& mesh, const labelList& boundaryFaces)
 
             if (isA<processorPolyPatch>(patches[patchI]))
             {
-                FatalErrorIn("findBaffles(const polyMesh&, const labelList&)")
+                FatalErrorInFunction
                     << "Duplicate face " << faceI
                     << " is on a processorPolyPatch."
                     << "This is not allowed." << nl
diff --git a/applications/utilities/mesh/manipulation/mirrorMesh/mirrorFvMesh.C b/applications/utilities/mesh/manipulation/mirrorMesh/mirrorFvMesh.C
index a13f5ace435..5df88a4f3bb 100644
--- a/applications/utilities/mesh/manipulation/mirrorMesh/mirrorFvMesh.C
+++ b/applications/utilities/mesh/manipulation/mirrorMesh/mirrorFvMesh.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -155,7 +155,7 @@ Foam::mirrorFvMesh::mirrorFvMesh(const IOobject& io)
 
         if (curPatch.coupled())
         {
-            WarningIn("mirrorFvMesh::mirrorFvMesh(const IOobject&)")
+            WarningInFunction
                 << "Found coupled patch " << curPatch.name() << endl
                 << "    Mirroring faces on coupled patches destroys"
                 << " the ordering. This might be fixed by running a dummy"
diff --git a/applications/utilities/mesh/manipulation/objToVTK/objToVTK.C b/applications/utilities/mesh/manipulation/objToVTK/objToVTK.C
index ebaf8737b83..e0da25a5262 100644
--- a/applications/utilities/mesh/manipulation/objToVTK/objToVTK.C
+++ b/applications/utilities/mesh/manipulation/objToVTK/objToVTK.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -123,7 +123,7 @@ int main(int argc, char *argv[])
 
     if (!OBJfile.good())
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Cannot read file " << objName << exit(FatalError);
     }
 
@@ -176,7 +176,7 @@ int main(int argc, char *argv[])
             {
                 hasWarned = true;
 
-                WarningIn(args.executable())
+                WarningInFunction
                     << "Unrecognized OBJ command " << cmd << nl
                     << "In line " << lineStream.str()
                     << " at linenumber " << lineNo << nl
diff --git a/applications/utilities/mesh/manipulation/orientFaceZone/orientFaceZone.C b/applications/utilities/mesh/manipulation/orientFaceZone/orientFaceZone.C
index e446a5d81bd..1e92368b09e 100644
--- a/applications/utilities/mesh/manipulation/orientFaceZone/orientFaceZone.C
+++ b/applications/utilities/mesh/manipulation/orientFaceZone/orientFaceZone.C
@@ -66,7 +66,7 @@ int main(int argc, char *argv[])
 
     if (fZone.checkParallelSync())
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Face zone " << fZone.name()
             << " is not parallel synchronised."
             << " Any coupled face also needs its coupled version to be included"
@@ -334,7 +334,7 @@ int main(int argc, char *argv[])
                 }
                 else
                 {
-                    FatalErrorIn(args.executable())
+                    FatalErrorInFunction
                         << "Incorrect status for face " << meshFaceI
                         << abort(FatalError);
                 }
@@ -359,7 +359,7 @@ int main(int argc, char *argv[])
         }
         else
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Problem : unvisited face " << faceI
                 << " centre:" << mesh.faceCentres()[faceLabels[faceI]]
                 << abort(FatalError);
@@ -380,7 +380,7 @@ int main(int argc, char *argv[])
         mesh.faceZones()[zoneName].resetAddressing(faceLabels, newFlipMap);
         if (!mesh.faceZones().write())
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Failed writing faceZones" << exit(FatalError);
         }
     }
diff --git a/applications/utilities/mesh/manipulation/polyDualMesh/meshDualiser.C b/applications/utilities/mesh/manipulation/polyDualMesh/meshDualiser.C
index a86343da254..ce6e15e9fa7 100644
--- a/applications/utilities/mesh/manipulation/polyDualMesh/meshDualiser.C
+++ b/applications/utilities/mesh/manipulation/polyDualMesh/meshDualiser.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -68,10 +68,8 @@ void Foam::meshDualiser::checkPolyTopoChange(const polyTopoChange& meshMod)
         {
             if (newToOld[newI].size() != 1)
             {
-                FatalErrorIn
-                (
-                    "meshDualiser::checkPolyTopoChange(const polyTopoChange&)"
-                )   << "duplicate verts:" << newToOld[newI]
+                FatalErrorInFunction
+                    << "duplicate verts:" << newToOld[newI]
                     << " coords:"
                     << UIndirectList<point>(points, newToOld[newI])()
                     << abort(FatalError);
@@ -189,7 +187,7 @@ bool Foam::meshDualiser::sameDualCell
 {
     if (!mesh_.isInternalFace(faceI))
     {
-        FatalErrorIn("sameDualCell(const label, const label)")
+        FatalErrorInFunction
             << "face:" << faceI << " is not internal face."
             << abort(FatalError);
     }
@@ -236,7 +234,7 @@ Foam::label Foam::meshDualiser::addInternalFace
 
         if (nUnique < facePoints.size())
         {
-            FatalErrorIn("addInternalFace(..)")
+            FatalErrorInFunction
                 << "verts:" << verts << " newFace:" << newFace
                 << " face points:" << facePoints
                 << abort(FatalError);
@@ -607,7 +605,7 @@ void Foam::meshDualiser::createFaceFromInternalFace
             // Check: make sure that there is a midpoint on the edge.
             if (edgeToDualPoint_[edgeI] == -1)
             {
-                FatalErrorIn("createFacesFromInternalFace(..)")
+                FatalErrorInFunction
                     << "face:" << faceI << " verts:" << f
                     << " points:" << UIndirectList<point>(mesh_.points(), f)()
                     << " no feature edge between " << f[fp]
@@ -718,10 +716,8 @@ void Foam::meshDualiser::createFacesAroundBoundaryPoint
 
             if (faceI < pp.start() || faceI >= pp.start()+pp.size())
             {
-                FatalErrorIn
-                (
-                    "meshDualiser::createFacesAroundBoundaryPoint(..)"
-                )   << "Walked from face on patch:" << patchI
+                FatalErrorInFunction
+                    << "Walked from face on patch:" << patchI
                     << " to face:" << faceI
                     << " fc:" << mesh_.faceCentres()[faceI]
                     << " on patch:" << patches.whichPatch(faceI)
@@ -731,10 +727,8 @@ void Foam::meshDualiser::createFacesAroundBoundaryPoint
             // Check if different cell.
             if (dualCellI != findDualCell(own[faceI], pointI))
             {
-                FatalErrorIn
-                (
-                    "meshDualiser::createFacesAroundBoundaryPoint(..)"
-                )   << "Different dual cells but no feature edge"
+                FatalErrorInFunction
+                    << "Different dual cells but no feature edge"
                     << " inbetween point:" << pointI
                     << " coord:" << mesh_.points()[pointI]
                     << abort(FatalError);
@@ -926,12 +920,8 @@ void Foam::meshDualiser::setRefinement
 
         if (faceI != -1)
         {
-            FatalErrorIn
-            (
-                "meshDualiser::setRefinement"
-                "(const labelList&, const labelList&, const labelList&"
-                ", const labelList, polyTopoChange&)"
-            )   << "In split-face-mode (splitFace=true) but not all faces"
+            FatalErrorInFunction
+                << "In split-face-mode (splitFace=true) but not all faces"
                 << " marked as feature faces." << endl
                 << "First conflicting face:" << faceI
                 << " centre:" << mesh_.faceCentres()[faceI]
@@ -948,12 +938,8 @@ void Foam::meshDualiser::setRefinement
         if (edgeI != -1)
         {
             const edge& e = mesh_.edges()[edgeI];
-            FatalErrorIn
-            (
-                "meshDualiser::setRefinement"
-                "(const labelList&, const labelList&, const labelList&"
-                ", const labelList, polyTopoChange&)"
-            )   << "In split-face-mode (splitFace=true) but not all edges"
+            FatalErrorInFunction
+                << "In split-face-mode (splitFace=true) but not all edges"
                 << " marked as feature edges." << endl
                 << "First conflicting edge:" << edgeI
                 << " verts:" << e
@@ -979,12 +965,8 @@ void Foam::meshDualiser::setRefinement
         {
             if (!featureFaceSet[faceI])
             {
-                FatalErrorIn
-                (
-                    "meshDualiser::setRefinement"
-                    "(const labelList&, const labelList&, const labelList&"
-                    ", const labelList, polyTopoChange&)"
-                )   << "Not all boundary faces marked as feature faces."
+                FatalErrorInFunction
+                    << "Not all boundary faces marked as feature faces."
                     << endl
                     << "First conflicting face:" << faceI
                     << " centre:" << mesh_.faceCentres()[faceI]
@@ -1071,12 +1053,8 @@ void Foam::meshDualiser::setRefinement
 
         if (pointToDualCells_[pointI].size() > 0)
         {
-            FatalErrorIn
-            (
-                "meshDualiser::setRefinement"
-                "(const labelList&, const labelList&, const labelList&"
-                ", const labelList, polyTopoChange&)"
-            )   << "Point " << pointI << " at:" << mesh_.points()[pointI]
+            FatalErrorInFunction
+                << "Point " << pointI << " at:" << mesh_.points()[pointI]
                 << " is both in singleCellFeaturePoints"
                 << " and multiCellFeaturePoints."
                 << abort(FatalError);
diff --git a/applications/utilities/mesh/manipulation/polyDualMesh/polyDualMeshApp.C b/applications/utilities/mesh/manipulation/polyDualMesh/polyDualMeshApp.C
index 9f7b6057ed6..f0c4c16d71b 100644
--- a/applications/utilities/mesh/manipulation/polyDualMesh/polyDualMeshApp.C
+++ b/applications/utilities/mesh/manipulation/polyDualMesh/polyDualMeshApp.C
@@ -246,7 +246,7 @@ void simpleMarkFeatures
     {
         if (faceZones.size() > 0)
         {
-            WarningIn("simpleMarkFeatures(..)")
+            WarningInFunction
                 << "Detected " << faceZones.size()
                 << " faceZones. These will not be preserved."
                 << endl;
diff --git a/applications/utilities/mesh/manipulation/refineMesh/refineMesh.C b/applications/utilities/mesh/manipulation/refineMesh/refineMesh.C
index 2e32767822e..05a548eeeec 100644
--- a/applications/utilities/mesh/manipulation/refineMesh/refineMesh.C
+++ b/applications/utilities/mesh/manipulation/refineMesh/refineMesh.C
@@ -189,7 +189,7 @@ int main(int argc, char *argv[])
 
         if (!dictIO.headerOk())
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Cannot open specified refinement dictionary "
                 << dictPath
                 << exit(FatalError);
diff --git a/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C b/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C
index 1c7748c1bf6..65f1f25b457 100644
--- a/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C
+++ b/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C
@@ -244,11 +244,8 @@ labelList getFaceOrder
     {
         if (oldToNewFace[faceI] == -1)
         {
-            FatalErrorIn
-            (
-                "getFaceOrder"
-                "(const primitiveMesh&, const labelList&, const labelList&)"
-            )   << "Did not determine new position" << " for face " << faceI
+            FatalErrorInFunction
+                << "Did not determine new position" << " for face " << faceI
                 << abort(FatalError);
         }
     }
@@ -386,11 +383,8 @@ labelList getRegionFaceOrder
     {
         if (oldToNewFace[faceI] == -1)
         {
-            FatalErrorIn
-            (
-                "getRegionFaceOrder"
-                "(const primitveMesh&, const labelList&, const labelList&)"
-            )   << "Did not determine new position"
+            FatalErrorInFunction
+                << "Did not determine new position"
                 << " for face " << faceI
                 << abort(FatalError);
         }
@@ -738,7 +732,7 @@ int main(int argc, char *argv[])
 
             if (blockSize < 0 || blockSize >= mesh.nCells())
             {
-                FatalErrorIn(args.executable())
+                FatalErrorInFunction
                     << "Block size " << blockSize
                     << " should be positive integer"
                     << " and less than the number of cells in the mesh."
@@ -1118,7 +1112,7 @@ int main(int argc, char *argv[])
 
             if (masterFaceI == 0)
             {
-                FatalErrorIn(args.executable()) << "problem faceI:" << faceI
+                FatalErrorInFunction
                     << " masterFaceI:" << masterFaceI << exit(FatalError);
             }
         }
diff --git a/applications/utilities/mesh/manipulation/setSet/setSet.C b/applications/utilities/mesh/manipulation/setSet/setSet.C
index a30f49767ed..07b146f6746 100644
--- a/applications/utilities/mesh/manipulation/setSet/setSet.C
+++ b/applications/utilities/mesh/manipulation/setSet/setSet.C
@@ -174,12 +174,8 @@ void writeVTK
     }
     else
     {
-        WarningIn
-        (
-            "void writeVTK"
-            "(const polyMesh& mesh, const topoSet& currentSet,"
-            "const fileName& vtkName)"
-        )   << "Don't know how to handle set of type " << currentSet.type()
+        WarningInFunction
+            << "Don't know how to handle set of type " << currentSet.type()
             << endl;
     }
 }
@@ -690,7 +686,7 @@ polyMesh::readUpdateState meshReadUpdate(polyMesh& mesh)
         }
         default:
         {
-            FatalErrorIn("meshReadUpdate(polyMesh&)")
+            FatalErrorInFunction
                 << "Illegal mesh update state "
                 << stat  << abort(FatalError);
             break;
@@ -770,11 +766,8 @@ commandStatus parseType
     }
     else
     {
-        SeriousErrorIn
-        (
-            "commandStatus parseType(Time&, polyMesh&, const word&"
-            ", IStringStream&)"
-        )   << "Illegal command " << setType << endl
+        SeriousErrorInFunction
+            << "Illegal command " << setType << endl
             << "Should be one of 'help', 'list', 'time' or a set type :"
             << " 'cellSet', 'faceSet', 'pointSet', 'faceZoneSet'"
             << endl;
@@ -839,7 +832,7 @@ int main(int argc, char *argv[])
 
     if (loop && !batch)
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Can only loop in batch mode."
             << exit(FatalError);
     }
@@ -889,7 +882,7 @@ int main(int argc, char *argv[])
             // we cannot handle .gz files
             if (!isFile(batchFile, false))
             {
-                FatalErrorIn(args.executable())
+                FatalErrorInFunction
                     << "Cannot open file " << batchFile << exit(FatalError);
             }
 
diff --git a/applications/utilities/mesh/manipulation/setsToZones/setsToZones.C b/applications/utilities/mesh/manipulation/setsToZones/setsToZones.C
index 60484b356a2..da157f75773 100644
--- a/applications/utilities/mesh/manipulation/setsToZones/setsToZones.C
+++ b/applications/utilities/mesh/manipulation/setsToZones/setsToZones.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -211,7 +211,7 @@ int main(int argc, char *argv[])
                     }
                     else
                     {
-                        FatalErrorIn(args.executable())
+                        FatalErrorInFunction
                             << "One of owner or neighbour of internal face "
                             << faceI << " should be in cellSet " << cells.name()
                             << " to be able to determine orientation." << endl
@@ -328,7 +328,7 @@ int main(int argc, char *argv[])
 
     if (!mesh.write())
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Failed writing polyMesh."
             << exit(FatalError);
     }
diff --git a/applications/utilities/mesh/manipulation/singleCellMesh/singleCellMesh.C b/applications/utilities/mesh/manipulation/singleCellMesh/singleCellMesh.C
index 5289a03d9db..7ce51edf612 100644
--- a/applications/utilities/mesh/manipulation/singleCellMesh/singleCellMesh.C
+++ b/applications/utilities/mesh/manipulation/singleCellMesh/singleCellMesh.C
@@ -82,7 +82,7 @@ int main(int argc, char *argv[])
 
     if (regionName == singleCellName)
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Cannot convert region " << singleCellName
             << " since result would overwrite it. Please rename your region."
             << exit(FatalError);
diff --git a/applications/utilities/mesh/manipulation/splitMesh/regionSide.C b/applications/utilities/mesh/manipulation/splitMesh/regionSide.C
index 50decb45d39..324143751c5 100644
--- a/applications/utilities/mesh/manipulation/splitMesh/regionSide.C
+++ b/applications/utilities/mesh/manipulation/splitMesh/regionSide.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -101,11 +101,8 @@ Foam::label Foam::regionSide::otherEdge
         }
     }
 
-    FatalErrorIn
-    (
-        "regionSide::otherEdge(const primitiveMesh&, const label, const label"
-        ", const label)"
-    )   << "Cannot find other edge on face " << faceI << " that uses point "
+    FatalErrorInFunction
+        << "Cannot find other edge on face " << faceI << " that uses point "
         << pointI << " but not point " << freePointI << endl
         << "Edges on face:" << fEdges
         << " verts:" << UIndirectList<edge>(mesh.edges(), fEdges)()
diff --git a/applications/utilities/mesh/manipulation/splitMesh/splitMesh.C b/applications/utilities/mesh/manipulation/splitMesh/splitMesh.C
index f1ed44e653f..7d40e2449a6 100644
--- a/applications/utilities/mesh/manipulation/splitMesh/splitMesh.C
+++ b/applications/utilities/mesh/manipulation/splitMesh/splitMesh.C
@@ -75,10 +75,8 @@ label findEdge(const primitiveMesh& mesh, const label v0, const label v1)
         }
     }
 
-    FatalErrorIn
-    (
-        "findEdge(const primitiveMesh&, const label, const label)"
-    )   << "Cannot find edge between mesh points " << v0 << " and " << v1
+    FatalErrorInFunction
+        << "Cannot find edge between mesh points " << v0 << " and " << v1
         << abort(FatalError);
 
     return -1;
@@ -92,7 +90,7 @@ void checkPatch(const polyBoundaryMesh& bMesh, const word& name)
 
     if (patchI == -1)
     {
-        FatalErrorIn("checkPatch(const polyBoundaryMesh&, const word&)")
+        FatalErrorInFunction
             << "Cannot find patch " << name << nl
             << "It should be present but of zero size" << endl
             << "Valid patches are " << bMesh.names()
@@ -101,7 +99,7 @@ void checkPatch(const polyBoundaryMesh& bMesh, const word& name)
 
     if (bMesh[patchI].size())
     {
-        FatalErrorIn("checkPatch(const polyBoundaryMesh&, const word&)")
+        FatalErrorInFunction
             << "Patch " << name << " is present but non-zero size"
             << exit(FatalError);
     }
@@ -143,7 +141,7 @@ int main(int argc, char *argv[])
     {
         if (!mesh.isInternalFace(faces[i]))
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
             << "Face " << faces[i] << " in faceSet " << setName
             << " is not an internal face."
             << exit(FatalError);
@@ -282,7 +280,7 @@ int main(int argc, char *argv[])
     Info<< "Writing mesh to " << runTime.timeName() << endl;
     if (!mesh.write())
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Failed writing polyMesh."
             << exit(FatalError);
     }
diff --git a/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C b/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C
index 6565776cdf2..da3c2ac7c83 100644
--- a/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C
+++ b/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C
@@ -126,10 +126,8 @@ void renamePatches
 
         if (isA<coupledPolyPatch>(pp))
         {
-            WarningIn
-            (
-                "renamePatches(fvMesh&, const word&, const labelList&"
-            )   << "Encountered coupled patch " << pp.name()
+            WarningInFunction
+                << "Encountered coupled patch " << pp.name()
                 << ". Will only rename the patch itself,"
                 << " not any referred patches."
                 << " This might have to be done by hand."
@@ -695,7 +693,7 @@ autoPtr<mapPolyMesh> createRegionMesh
         }
         else
         {
-            FatalErrorIn("createRegionMesh(..)")
+            FatalErrorInFunction
                 << "Exposed face:" << faceI
                 << " fc:" << mesh.faceCentres()[faceI]
                 << " has owner region " << ownRegion
@@ -1209,7 +1207,7 @@ void getZoneID
             }
             else
             {
-                FatalErrorIn("getZoneID(..)")
+                FatalErrorInFunction
                     << "Cell " << cellI << " with cell centre "
                     << mesh.cellCentres()[cellI]
                     << " is multiple zones. This is not allowed." << endl
@@ -1267,7 +1265,7 @@ void matchRegions
         {
             if (zoneNames[procI] != zoneNames[0])
             {
-                FatalErrorIn("matchRegions(..)")
+                FatalErrorInFunction
                     << "cellZones not synchronised across processors." << endl
                     << "Master has cellZones " << zoneNames[0] << endl
                     << "Processor " << procI
@@ -1501,7 +1499,7 @@ int main(int argc, char *argv[])
      && (useCellZones || blockedFacesName.size())
     )
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "You cannot specify both -cellZonesOnly or -cellZonesFileOnly"
             << " (which specify complete split)"
             << " in combination with -blockedFaces or -cellZones"
@@ -1526,7 +1524,7 @@ int main(int argc, char *argv[])
 
     if (insidePoint && largestOnly)
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "You cannot specify both -largestOnly"
             << " (keep region with most cells)"
             << " and -insidePoint (keep region containing point)"
@@ -1566,7 +1564,7 @@ int main(int argc, char *argv[])
         label unzonedCellI = findIndex(zoneID, -1);
         if (unzonedCellI != -1)
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "For the cellZonesOnly option all cells "
                 << "have to be in a cellZone." << endl
                 << "Cell " << unzonedCellI
@@ -1615,7 +1613,7 @@ int main(int argc, char *argv[])
         label unzonedCellI = findIndex(newZoneID, -1);
         if (unzonedCellI != -1)
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "For the cellZonesFileOnly option all cells "
                 << "have to be in a cellZone." << endl
                 << "Cell " << unzonedCellI
@@ -2012,7 +2010,7 @@ int main(int argc, char *argv[])
 
             if (regionI == -1)
             {
-                FatalErrorIn(args.executable())
+                FatalErrorInFunction
                     << "Point " << insidePoint
                     << " is not inside the mesh." << nl
                     << "Bounding box of the mesh:" << mesh.bounds()
diff --git a/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C b/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C
index 8e64c28a381..c6409dbf988 100644
--- a/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C
+++ b/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C
@@ -177,7 +177,7 @@ void checkPatch(const polyBoundaryMesh& bMesh, const word& name)
 
     if (patchI == -1)
     {
-        FatalErrorIn("checkPatch(const polyBoundaryMesh&, const word&)")
+        FatalErrorInFunction
             << "Cannot find patch " << name << endl
             << "It should be present and of non-zero size" << endl
             << "Valid patches are " << bMesh.names()
@@ -186,7 +186,7 @@ void checkPatch(const polyBoundaryMesh& bMesh, const word& name)
 
     if (bMesh[patchI].empty())
     {
-        FatalErrorIn("checkPatch(const polyBoundaryMesh&, const word&)")
+        FatalErrorInFunction
             << "Patch " << name << " is present but zero size"
             << exit(FatalError);
     }
@@ -244,7 +244,7 @@ int main(int argc, char *argv[])
 
     if (partialCover && perfectCover)
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Cannot supply both partial and perfect." << endl
             << "Use perfect match option if the patches perfectly align"
             << " (both vertex positions and face centres)" << endl
@@ -487,7 +487,7 @@ int main(int argc, char *argv[])
         )
     )
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Failed writing polyMesh."
             << exit(FatalError);
     }
diff --git a/applications/utilities/mesh/manipulation/subsetMesh/subsetMesh.C b/applications/utilities/mesh/manipulation/subsetMesh/subsetMesh.C
index 63d91ac1788..180c736b92d 100644
--- a/applications/utilities/mesh/manipulation/subsetMesh/subsetMesh.C
+++ b/applications/utilities/mesh/manipulation/subsetMesh/subsetMesh.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -217,7 +217,7 @@ int main(int argc, char *argv[])
 
         if (patchI == -1)
         {
-            FatalErrorIn(args.executable()) << "Illegal patch " << patchName
+            FatalErrorInFunction
                 << nl << "Valid patches are " << mesh.boundaryMesh().names()
                 << exit(FatalError);
         }
diff --git a/applications/utilities/mesh/manipulation/topoSet/topoSet.C b/applications/utilities/mesh/manipulation/topoSet/topoSet.C
index a64c051a09c..4112e4df19f 100644
--- a/applications/utilities/mesh/manipulation/topoSet/topoSet.C
+++ b/applications/utilities/mesh/manipulation/topoSet/topoSet.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -181,7 +181,7 @@ polyMesh::readUpdateState meshReadUpdate(polyMesh& mesh)
         }
         default:
         {
-            FatalErrorIn("meshReadUpdate(polyMesh&)")
+            FatalErrorInFunction
                 << "Illegal mesh update state "
                 << stat  << abort(FatalError);
             break;
@@ -354,7 +354,7 @@ int main(int argc, char *argv[])
 
 
                 default:
-                    WarningIn(args.executable())
+                    WarningInFunction
                         << "Unhandled action " << action << endl;
                 break;
             }
diff --git a/applications/utilities/mesh/manipulation/transformPoints/transformPoints.C b/applications/utilities/mesh/manipulation/transformPoints/transformPoints.C
index 692cfd76db3..aa946b1e562 100644
--- a/applications/utilities/mesh/manipulation/transformPoints/transformPoints.C
+++ b/applications/utilities/mesh/manipulation/transformPoints/transformPoints.C
@@ -213,7 +213,7 @@ int main(int argc, char *argv[])
     // this is not actually stringent enough:
     if (args.options().empty())
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "No options supplied, please use one or more of "
                "-translate, -rotate or -scale options."
             << exit(FatalError);
diff --git a/applications/utilities/miscellaneous/foamHelp/helpTypes/helpBoundary/helpBoundary.C b/applications/utilities/miscellaneous/foamHelp/helpTypes/helpBoundary/helpBoundary.C
index 9fd46f35c10..fcde0657ee6 100644
--- a/applications/utilities/miscellaneous/foamHelp/helpTypes/helpBoundary/helpBoundary.C
+++ b/applications/utilities/miscellaneous/foamHelp/helpTypes/helpBoundary/helpBoundary.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -92,14 +92,7 @@ void Foam::helpTypes::helpBoundary::execute
     bool abortVar(env("FOAM_ABORT"));
     if (abortVar)
     {
-        FatalErrorIn
-        (
-            "void Foam::helpTypes::helpBoundary::execute"
-            "("
-                "const argList&, "
-                "const fvMesh&"
-            ")"
-        )
+        FatalErrorInFunction
             << "Please unset FOAM_ABORT to use this utlity"
             << exit(FatalError);
     }
@@ -155,27 +148,13 @@ void Foam::helpTypes::helpBoundary::execute
         }
         else
         {
-            FatalErrorIn
-            (
-                "void Foam::helpTypes::helpBoundary::execute"
-                "("
-                    "const argList&, "
-                    "const fvMesh&"
-                ")"
-            )
+            FatalErrorInFunction
                 << "Unable to read field " << fieldName << exit(FatalError);
         }
     }
     else if (args.optionReadIfPresent("fixedValue", fieldName))
     {
-        FatalErrorIn
-        (
-            "void Foam::helpTypes::helpBoundary::execute"
-            "("
-                "const argList&, "
-                "const fvMesh&"
-            ")"
-        )
+        FatalErrorInFunction
             << "-field option must be specified when using the -fixedValue "
             << "option" << exit(FatalError);
     }
diff --git a/applications/utilities/miscellaneous/foamHelp/helpTypes/helpType/helpType.C b/applications/utilities/miscellaneous/foamHelp/helpTypes/helpType/helpType.C
index 65c3fcaca67..d20e9061aaa 100644
--- a/applications/utilities/miscellaneous/foamHelp/helpTypes/helpType/helpType.C
+++ b/applications/utilities/miscellaneous/foamHelp/helpTypes/helpType/helpType.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -146,15 +146,7 @@ void Foam::helpType::displayDoc
     }
     else
     {
-        FatalErrorIn
-        (
-            "void Foam::helpType::displayDoc"
-            "("
-                "const word&, "
-                "const string&, "
-                "const bool"
-            ")"
-        )
+        FatalErrorInFunction
             << "No help for type " << className << " found."
             << "  Valid options include:" << SortableList<word>(parser.toc())
             << exit(FatalError);
diff --git a/applications/utilities/miscellaneous/foamHelp/helpTypes/helpType/helpTypeNew.C b/applications/utilities/miscellaneous/foamHelp/helpTypes/helpType/helpTypeNew.C
index 607ca9b4355..c6e45dd6882 100644
--- a/applications/utilities/miscellaneous/foamHelp/helpTypes/helpType/helpTypeNew.C
+++ b/applications/utilities/miscellaneous/foamHelp/helpTypes/helpType/helpTypeNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -43,14 +43,14 @@ Foam::autoPtr<Foam::helpType> Foam::helpType::New
         // exit without stack trace
         if (helpTypeName == "-help")
         {
-            FatalErrorIn("helpType::New()")
+            FatalErrorInFunction
                 << "Valid helpType selections are:" << nl
                 << dictionaryConstructorTablePtr_->sortedToc() << nl
                 << exit(FatalError);
         }
         else
         {
-            FatalErrorIn("helpType::New()")
+            FatalErrorInFunction
                 << "Unknown helpType type " << helpTypeName << nl
                 << "Valid helpType selections are:" << nl
                 << dictionaryConstructorTablePtr_->sortedToc() << nl
diff --git a/applications/utilities/miscellaneous/foamInfoExec/foamInfoExec.C b/applications/utilities/miscellaneous/foamInfoExec/foamInfoExec.C
index e0dda32b2a7..74d9028c2bb 100644
--- a/applications/utilities/miscellaneous/foamInfoExec/foamInfoExec.C
+++ b/applications/utilities/miscellaneous/foamInfoExec/foamInfoExec.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -143,7 +143,7 @@ int main(int argc, char *argv[])
                             }
                             else
                             {
-                                FatalErrorIn(args.executable())
+                                FatalErrorInFunction
                                     << "Cannot find sub-entry " << entryNames[i]
                                     << " in entry " << args["entry"]
                                     << " in dictionary " << dictFileName;
@@ -161,7 +161,7 @@ int main(int argc, char *argv[])
                         /*
                         if (ent[1] != token::BEGIN_BLOCK)
                         {
-                            FatalErrorIn(args.executable())
+                            FatalErrorInFunction
                                 << "Cannot find entry "
                                 << args["entry"]
                                 << " in dictionary " << dictFileName
@@ -183,7 +183,7 @@ int main(int argc, char *argv[])
                 }
                 else
                 {
-                    FatalErrorIn(args.executable())
+                    FatalErrorInFunction
                         << "Cannot find entry "
                         << entryName
                         << " in dictionary " << dictFileName;
@@ -204,7 +204,7 @@ int main(int argc, char *argv[])
         }
         else
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Cannot open file " << dictFileName;
             FatalError.exit(1);
         }
diff --git a/applications/utilities/parallelProcessing/decomposePar/decomposePar.C b/applications/utilities/parallelProcessing/decomposePar/decomposePar.C
index 60206085415..165c7c273f4 100644
--- a/applications/utilities/parallelProcessing/decomposePar/decomposePar.C
+++ b/applications/utilities/parallelProcessing/decomposePar/decomposePar.C
@@ -283,7 +283,7 @@ int main(int argc, char *argv[])
             // Sanity check on previously decomposed case
             if (nProcs != nDomains)
             {
-                FatalErrorIn(args.executable())
+                FatalErrorInFunction
                     << "Specified -fields, but the case was decomposed with "
                     << nProcs << " domains"
                     << nl
@@ -329,7 +329,7 @@ int main(int argc, char *argv[])
 
             if (procDirsProblem)
             {
-                FatalErrorIn(args.executable())
+                FatalErrorInFunction
                     << "Case is already decomposed with " << nProcs
                     << " domains, use the -force option or manually" << nl
                     << "remove processor directories before decomposing. e.g.,"
@@ -640,7 +640,7 @@ int main(int argc, char *argv[])
                         // Check
                         if (celli < 0 || celli >= mesh.nCells())
                         {
-                            FatalErrorIn(args.executable())
+                            FatalErrorInFunction
                                 << "Illegal cell number " << celli
                                 << " for particle with index " << iter().index()
                                 << " at position " << iter().position() << nl
diff --git a/applications/utilities/parallelProcessing/decomposePar/lagrangianFieldDecomposer.C b/applications/utilities/parallelProcessing/decomposePar/lagrangianFieldDecomposer.C
index 817d0a9f646..361c930ad24 100644
--- a/applications/utilities/parallelProcessing/decomposePar/lagrangianFieldDecomposer.C
+++ b/applications/utilities/parallelProcessing/decomposePar/lagrangianFieldDecomposer.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -30,7 +30,6 @@ Description
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-// Construct from components
 Foam::lagrangianFieldDecomposer::lagrangianFieldDecomposer
 (
     const polyMesh& mesh,
@@ -77,22 +76,8 @@ Foam::lagrangianFieldDecomposer::lagrangianFieldDecomposer
 
                 // if (mappedTetFace == -1)
                 // {
-                //     FatalErrorIn
-                //     (
-                //         "Foam::lagrangianFieldDecomposer"
-                //         "::lagrangianFieldDecomposer"
-                //         "("
-                //             "const polyMesh& mesh, "
-                //             "const polyMesh& procMesh, "
-                //             "const labelList& faceProcAddressing, "
-                //             "const labelList& cellProcAddressing, "
-                //             "const word& cloudName, "
-                //             "const Cloud<indexedParticle>& "
-                //             "lagrangianPositions, "
-                //             "const List<SLList<indexedParticle*>*>& "
-                //             "cellParticles"
-                //         ")"
-                //     )   << "Face lookup failure." << nl
+                //     FatalErrorInFunction
+                //         << "Face lookup failure." << nl
                 //         << abort(FatalError);
                 // }
 
diff --git a/applications/utilities/parallelProcessing/decomposePar/pointFieldDecomposer.C b/applications/utilities/parallelProcessing/decomposePar/pointFieldDecomposer.C
index 3934fdc021d..92b9a4c4e45 100644
--- a/applications/utilities/parallelProcessing/decomposePar/pointFieldDecomposer.C
+++ b/applications/utilities/parallelProcessing/decomposePar/pointFieldDecomposer.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -67,10 +67,8 @@ Foam::pointFieldDecomposer::patchFieldDecomposer::patchFieldDecomposer
     {
         hasUnmapped_ = true;
 
-        FatalErrorIn
-        (
-            "pointFieldDecomposer::patchFieldDecomposer()"
-        )   << "Incomplete patch point addressing"
+        FatalErrorInFunction
+            << "Incomplete patch point addressing"
             << abort(FatalError);
     }
 }
diff --git a/applications/utilities/parallelProcessing/reconstructPar/checkFaceAddressingComp.H b/applications/utilities/parallelProcessing/reconstructPar/checkFaceAddressingComp.H
index 733d64f5ff0..03458a29644 100644
--- a/applications/utilities/parallelProcessing/reconstructPar/checkFaceAddressingComp.H
+++ b/applications/utilities/parallelProcessing/reconstructPar/checkFaceAddressingComp.H
@@ -23,7 +23,7 @@
 
     if (minFaceIndex < 1)
     {
-        WarningIn(args.executable())
+        WarningInFunction
             << "parallel decomposition addressing." << endl
             << "It looks like you are trying to reconstruct the case "
             << "decomposed with an earlier version of FOAM, which could\n"
diff --git a/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C b/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C
index 38a3c90f2fe..cbe43b7ff59 100644
--- a/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C
+++ b/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C
@@ -145,7 +145,7 @@ int main(int argc, char *argv[])
     {
         if (noLagrangian)
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Cannot specify noLagrangian and lagrangianFields "
                 << "options together."
                 << exit(FatalError);
@@ -168,7 +168,7 @@ int main(int argc, char *argv[])
 
     if (!nProcs)
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "No processor* directories found"
             << exit(FatalError);
     }
@@ -207,7 +207,7 @@ int main(int argc, char *argv[])
 
     if (timeDirs.empty())
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "No times selected"
             << exit(FatalError);
     }
@@ -347,7 +347,7 @@ int main(int argc, char *argv[])
             }
             else if (meshStat != procStat)
             {
-                WarningIn(args.executable())
+                WarningInFunction
                     << "readUpdate for the reconstructed mesh:"
                     << meshStat << nl
                     << "readUpdate for the processor meshes  :"
diff --git a/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C b/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C
index cfa77f70235..dbe38743b24 100644
--- a/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C
+++ b/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C
@@ -268,7 +268,7 @@ autoPtr<mapPolyMesh> mergeSharedPoints
             }
             else
             {
-                FatalErrorIn("fvMeshDistribute::mergeSharedPoints()")
+                FatalErrorInFunction
                     << "Problem. oldPointI:" << oldPointI
                     << " newPointI:" << newPointI << abort(FatalError);
             }
@@ -301,7 +301,7 @@ boundBox procBounds
 
         if (pointsInstance != databases[procI].timeName())
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Your time was specified as " << databases[procI].timeName()
                 << " but there is no polyMesh/points in that time." << endl
                 << "(there is a points file in " << pointsInstance
@@ -497,7 +497,7 @@ int main(int argc, char *argv[])
 
     if (runTime.writeFormat() == IOstream::ASCII && mergeTol < writeTol)
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Your current settings specify ASCII writing with "
             << IOstream::defaultPrecision() << " digits precision." << endl
             << "Your merging tolerance (" << mergeTol << ") is finer than this."
@@ -726,7 +726,7 @@ int main(int argc, char *argv[])
 
             if (!masterMesh.write())
             {
-                FatalErrorIn(args.executable())
+                FatalErrorInFunction
                     << "Failed writing polyMesh."
                     << exit(FatalError);
             }
diff --git a/applications/utilities/parallelProcessing/redistributePar/loadOrCreateMesh.C b/applications/utilities/parallelProcessing/redistributePar/loadOrCreateMesh.C
index aa792712108..5b248783bce 100644
--- a/applications/utilities/parallelProcessing/redistributePar/loadOrCreateMesh.C
+++ b/applications/utilities/parallelProcessing/redistributePar/loadOrCreateMesh.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -236,10 +236,8 @@ Foam::autoPtr<Foam::fvMesh> Foam::loadOrCreateMesh
 
             if (patchI >= patches.size())
             {
-                FatalErrorIn
-                (
-                    "createMesh(const Time&, const fileName&, const bool)"
-                )   << "Non-processor patches not synchronised."
+                FatalErrorInFunction
+                    << "Non-processor patches not synchronised."
                     << endl
                     << "Processor " << Pstream::myProcNo()
                     << " has only " << patches.size()
@@ -254,10 +252,8 @@ Foam::autoPtr<Foam::fvMesh> Foam::loadOrCreateMesh
              || name != patches[patchI].name()
             )
             {
-                FatalErrorIn
-                (
-                    "createMesh(const Time&, const fileName&, const bool)"
-                )   << "Non-processor patches not synchronised."
+                FatalErrorInFunction
+                    << "Non-processor patches not synchronised."
                     << endl
                     << "Master patch " << patchI
                     << " name:" << type
diff --git a/applications/utilities/parallelProcessing/redistributePar/redistributePar.C b/applications/utilities/parallelProcessing/redistributePar/redistributePar.C
index 7cc21c4adc8..92afcdbaec5 100644
--- a/applications/utilities/parallelProcessing/redistributePar/redistributePar.C
+++ b/applications/utilities/parallelProcessing/redistributePar/redistributePar.C
@@ -82,7 +82,7 @@ scalar getMergeDistance
 
     if (runTime.writeFormat() == IOstream::ASCII && mergeTol < writeTol)
     {
-        FatalErrorIn("getMergeDistance")
+        FatalErrorInFunction
             << "Your current settings specify ASCII writing with "
             << IOstream::defaultPrecision() << " digits precision." << endl
             << "Your merging tolerance (" << mergeTol << ") is finer than this."
@@ -272,7 +272,7 @@ void readFields
 
     if (haveMesh[Pstream::myProcNo()] && objectNames != masterNames)
     {
-        FatalErrorIn("readFields()")
+        FatalErrorInFunction
             << "differing fields of type " << GeoField::typeName
             << " on processors." << endl
             << "Master has:" << masterNames << endl
@@ -373,11 +373,8 @@ void compareFields
     {
         if (mag(b[cellI] - a[cellI]) > tolDim)
         {
-            FatalErrorIn
-            (
-                "compareFields"
-                "(const scalar, const volVectorField&, const volVectorField&)"
-            )   << "Did not map volVectorField correctly:" << nl
+            FatalErrorInFunction
+                << "Did not map volVectorField correctly:" << nl
                 << "cell:" << cellI
                 << " transfer b:" << b[cellI]
                 << " real cc:" << a[cellI]
@@ -401,12 +398,8 @@ void compareFields
             {
                 if (mag(aBoundary[i] - bBoundary[i]) > tolDim)
                 {
-                    WarningIn
-                    (
-                        "compareFields"
-                        "(const scalar, const volVectorField&"
-                        ", const volVectorField&)"
-                    )   << "Did not map volVectorField correctly:"
+                    WarningInFunction
+                        << "Did not map volVectorField correctly:"
                         << endl
                         << "patch:" << patchI << " patchFace:" << i
                         << " cc:" << endl
@@ -441,7 +434,7 @@ int main(int argc, char *argv[])
 
     if (env("FOAM_SIGFPE"))
     {
-        WarningIn(args.executable())
+        WarningInFunction
             << "Detected floating point exception trapping (FOAM_SIGFPE)."
             << " This might give" << nl
             << "    problems when mapping fields. Switch it off in case"
@@ -550,7 +543,7 @@ int main(int argc, char *argv[])
 
         if (!decomposer().parallelAware())
         {
-            WarningIn(args.executable())
+            WarningInFunction
                 << "You have selected decomposition method "
                 << decomposer().typeName
                 << " which does" << endl
@@ -596,7 +589,7 @@ int main(int argc, char *argv[])
 
         if (nonProcI == -1)
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Cannot find non-processor patch on processor "
                 << Pstream::myProcNo() << endl
                 << " Current patches:" << patches.names() << abort(FatalError);
diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/foamToTecplot360.C b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/foamToTecplot360.C
index 617811cfec2..3cf58fde370 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/foamToTecplot360.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/foamToTecplot360.C
@@ -224,14 +224,14 @@ int main(int argc, char *argv[])
 
     if (nearCellValue)
     {
-        WarningIn(args.executable())
+        WarningInFunction
             << "Using neighbouring cell value instead of patch value"
             << nl << endl;
     }
 
     if (noPointValues)
     {
-        WarningIn(args.executable())
+        WarningInFunction
             << "Outputting cell values only" << nl << endl;
     }
 
diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecplotWriter.C b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecplotWriter.C
index f545c8d2036..f19ebf36f46 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecplotWriter.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecplotWriter.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -69,7 +69,7 @@ Pout<< endl
         )
     )
     {
-//        FatalErrorIn("tecplotWriter::writeInit(..) const")
+//        FatalErrorInFunction
 //            << "Error in TECINI112." << exit(FatalError);
     }
 }
@@ -148,7 +148,7 @@ Pout<< "zoneName:" << zoneName
         )
     )
     {
-//        FatalErrorIn("tecplotWriter::writePolyhedralZone(..) const")
+//        FatalErrorInFunction
 //            << "Error in TECZNE112." << exit(FatalError);
     }
 }
@@ -228,7 +228,7 @@ Pout<< "zoneName:" << zoneName
         )
     )
     {
-//        FatalErrorIn("tecplotWriter::writePolygonalZone(..) const")
+//        FatalErrorInFunction
 //            << "Error in TECZNE112." << exit(FatalError);
     }
 }
@@ -308,7 +308,7 @@ Pout<< "zoneName:" << zoneName
         )
     )
     {
-//        FatalErrorIn("tecplotWriter::writePolygonalZone(..) const")
+//        FatalErrorInFunction
 //            << "Error in TECZNE112." << exit(FatalError);
     }
 }
@@ -379,7 +379,7 @@ void Foam::tecplotWriter::writeConnectivity(const fvMesh& mesh) const
         )
     )
     {
-//        FatalErrorIn("tecplotWriter::writeConnectivity(const fvMesh&) const")
+//        FatalErrorInFunction
 //            << "Error in TECPOLY112." << exit(FatalError);
     }
 }
@@ -493,7 +493,7 @@ void Foam::tecplotWriter::writeConnectivity
         )
     )
     {
-//        FatalErrorIn("tecplotWriter::writeConnectivity(..) const")
+//        FatalErrorInFunction
 //            << "Error in TECPOLY112." << exit(FatalError);
     }
 }
@@ -505,7 +505,7 @@ Pout<< "writeEnd" << endl;
 
     if (!TECEND112())
     {
-//        FatalErrorIn("tecplotWriter::writeEnd() const")
+//        FatalErrorInFunction
 //            << "Error in TECEND112." << exit(FatalError);
     }
 
diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecplotWriterTemplates.C b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecplotWriterTemplates.C
index 95095cdff19..16416593cb4 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecplotWriterTemplates.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecplotWriterTemplates.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -57,7 +57,7 @@ void Foam::tecplotWriter::writeField(const Field<Type>& fld) const
 
         if (!TECDAT112(&size, floats.begin(), &IsDouble))
         {
-//            FatalErrorIn("tecplotWriter::writeField(..) const")
+//            FatalErrorInFunction
 //                << "Error in TECDAT112." << exit(FatalError);
         }
     }
diff --git a/applications/utilities/postProcessing/dataConversion/foamToTetDualMesh/foamToTetDualMesh.C b/applications/utilities/postProcessing/dataConversion/foamToTetDualMesh/foamToTetDualMesh.C
index 2fe59bdc5af..888d274dea3 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToTetDualMesh/foamToTetDualMesh.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToTetDualMesh/foamToTetDualMesh.C
@@ -29,7 +29,6 @@ Description
 
 \*---------------------------------------------------------------------------*/
 
-
 #include "argList.H"
 #include "fvMesh.H"
 #include "volFields.H"
@@ -120,7 +119,7 @@ void ReadAndMapFields
                 }
                 //else
                 //{
-                //    FatalErrorIn("ReadAndMapFields(..)")
+                //    FatalErrorInFunction
                 //        << "Face " << faceI << " from index " << index
                 //        << " is not a boundary face." << abort(FatalError);
                 //}
@@ -128,7 +127,7 @@ void ReadAndMapFields
             }
             //else
             //{
-            //    WarningIn("ReadAndMapFields(..)")
+            //    WarningInFunction
             //        << "Point " << pointI << " at "
             //        << tetDualMesh.points()[pointI]
             //        << " has no dual correspondence." << endl;
@@ -188,7 +187,7 @@ int main(int argc, char *argv[])
 
     if (pointDualAddressing.size() != tetDualMesh.nPoints())
     {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Size " << pointDualAddressing.size()
                 << " of addressing map " << pointDualAddressing.objectPath()
                 << " differs from number of points in mesh "
@@ -218,7 +217,7 @@ int main(int argc, char *argv[])
             label faceI = -index-1;
             if (faceI < mesh.nInternalFaces())
             {
-                FatalErrorIn(args.executable())
+                FatalErrorInFunction
                     << "Face " << faceI << " from index " << index
                     << " is not a boundary face."
                     << " nInternalFaces:" << mesh.nInternalFaces()
diff --git a/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C b/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C
index 2ef824b1694..b11a5c9c685 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -332,7 +332,7 @@ int main(int argc, char *argv[])
 
     if (binary && (sizeof(floatScalar) != 4 || sizeof(label) != 4))
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "floatScalar and/or label are not 4 bytes in size" << nl
             << "Hence cannot use binary VTK format. Please use -ascii"
             << exit(FatalError);
@@ -342,7 +342,7 @@ int main(int argc, char *argv[])
 
     if (nearCellValue)
     {
-        WarningIn(args.executable())
+        WarningInFunction
             << "Using neighbouring cell value instead of patch value"
             << nl << endl;
     }
@@ -351,7 +351,7 @@ int main(int argc, char *argv[])
 
     if (noPointValues)
     {
-        WarningIn(args.executable())
+        WarningInFunction
             << "Outputting cell values only" << nl << endl;
     }
 
@@ -1235,7 +1235,7 @@ int main(int argc, char *argv[])
                     );
                     if (system(cmd.c_str()) == -1)
                     {
-                        WarningIn(args.executable())
+                        WarningInFunction
                             << "Could not execute command " << cmd << endl;
                     }
                 }
diff --git a/applications/utilities/postProcessing/dataConversion/smapToFoam/smapToFoam.C b/applications/utilities/postProcessing/dataConversion/smapToFoam/smapToFoam.C
index 7c6c462a39c..2b186d88bad 100644
--- a/applications/utilities/postProcessing/dataConversion/smapToFoam/smapToFoam.C
+++ b/applications/utilities/postProcessing/dataConversion/smapToFoam/smapToFoam.C
@@ -70,7 +70,7 @@ int main(int argc, char *argv[])
 
     if (!smapFile.good())
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Cannot open SMAP file " << smapFile.name()
             << exit(FatalError);
     }
@@ -92,7 +92,7 @@ int main(int argc, char *argv[])
          && fieldName.wordToken() != "CELL"
         )
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Expected first CELL, found "
                 << fieldName
                 << exit(FatalError);
@@ -222,7 +222,7 @@ int main(int argc, char *argv[])
 
         if (cell != 0)
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Expected first SMAP dummy entry to be cell 0, found "
                 << cell
                 << exit(FatalError);
diff --git a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3FoamUtils.C b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3FoamUtils.C
index 10551b1ad93..00430a61445 100644
--- a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3FoamUtils.C
+++ b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3FoamUtils.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -90,7 +90,7 @@ void Foam::vtkPV3Foam::AddToBlock
     {
         if (blockDO)
         {
-            FatalErrorIn("Foam::vtkPV3Foam::AddToBlock")
+            FatalErrorInFunction
                 << "Block already has a vtkDataSet assigned to it"
                 << endl;
             return;
diff --git a/applications/utilities/postProcessing/graphics/PV3Readers/PV3blockMeshReader/vtkPV3blockMesh/vtkPV3blockMeshUtils.C b/applications/utilities/postProcessing/graphics/PV3Readers/PV3blockMeshReader/vtkPV3blockMesh/vtkPV3blockMeshUtils.C
index da8a942a626..fb26fceba1b 100644
--- a/applications/utilities/postProcessing/graphics/PV3Readers/PV3blockMeshReader/vtkPV3blockMesh/vtkPV3blockMeshUtils.C
+++ b/applications/utilities/postProcessing/graphics/PV3Readers/PV3blockMeshReader/vtkPV3blockMesh/vtkPV3blockMeshUtils.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -84,7 +84,7 @@ void Foam::vtkPV3blockMesh::AddToBlock
     {
         if (blockDO)
         {
-            FatalErrorIn("Foam::vtkPV3blockMesh::AddToBlock")
+            FatalErrorInFunction
                 << "Block already has a vtkDataSet assigned to it"
                 << endl;
             return;
diff --git a/applications/utilities/postProcessing/graphics/PV3Readers/vtkPV3Readers/vtkPV3Readers.C b/applications/utilities/postProcessing/graphics/PV3Readers/vtkPV3Readers/vtkPV3Readers.C
index 4daf45fc481..5740476e665 100644
--- a/applications/utilities/postProcessing/graphics/PV3Readers/vtkPV3Readers/vtkPV3Readers.C
+++ b/applications/utilities/postProcessing/graphics/PV3Readers/vtkPV3Readers/vtkPV3Readers.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -93,7 +93,7 @@ void Foam::vtkPV3Readers::AddToBlock
     {
         if (blockDO)
         {
-            FatalErrorIn("Foam::vtkPV3Readers::AddToBlock")
+            FatalErrorInFunction
                 << "Block already has a vtkDataSet assigned to it"
                 << endl;
             return;
diff --git a/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamUtils.C b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamUtils.C
index 707914711bc..18573ec94f9 100644
--- a/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamUtils.C
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamUtils.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -90,7 +90,7 @@ void Foam::vtkPV4Foam::AddToBlock
     {
         if (blockDO)
         {
-            FatalErrorIn("Foam::vtkPV4Foam::AddToBlock")
+            FatalErrorInFunction
                 << "Block already has a vtkDataSet assigned to it"
                 << endl;
             return;
diff --git a/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/vtkPV4blockMesh/vtkPV4blockMeshUtils.C b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/vtkPV4blockMesh/vtkPV4blockMeshUtils.C
index d0a55bbd7b1..7cb10730580 100644
--- a/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/vtkPV4blockMesh/vtkPV4blockMeshUtils.C
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/vtkPV4blockMesh/vtkPV4blockMeshUtils.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -84,7 +84,7 @@ void Foam::vtkPV4blockMesh::AddToBlock
     {
         if (blockDO)
         {
-            FatalErrorIn("Foam::vtkPV4blockMesh::AddToBlock")
+            FatalErrorInFunction
                 << "Block already has a vtkDataSet assigned to it"
                 << endl;
             return;
diff --git a/applications/utilities/postProcessing/graphics/PV4Readers/vtkPV4Readers/vtkPV4Readers.C b/applications/utilities/postProcessing/graphics/PV4Readers/vtkPV4Readers/vtkPV4Readers.C
index 710fcc361ba..dfb95119998 100644
--- a/applications/utilities/postProcessing/graphics/PV4Readers/vtkPV4Readers/vtkPV4Readers.C
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/vtkPV4Readers/vtkPV4Readers.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -93,7 +93,7 @@ void Foam::vtkPV4Readers::AddToBlock
     {
         if (blockDO)
         {
-            FatalErrorIn("Foam::vtkPV4Readers::AddToBlock")
+            FatalErrorInFunction
                 << "Block already has a vtkDataSet assigned to it"
                 << endl;
             return;
diff --git a/applications/utilities/postProcessing/lagrangian/steadyParticleTracks/steadyParticleTracksTemplates.C b/applications/utilities/postProcessing/lagrangian/steadyParticleTracks/steadyParticleTracksTemplates.C
index 3dcc365c1de..edf43c9a293 100644
--- a/applications/utilities/postProcessing/lagrangian/steadyParticleTracks/steadyParticleTracksTemplates.C
+++ b/applications/utilities/postProcessing/lagrangian/steadyParticleTracks/steadyParticleTracksTemplates.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -57,15 +57,7 @@ tmp<Field<Type> > readParticleField
         return tmp<Field<Type> >(new Field<Type>(newField.xfer()));
     }
 
-    FatalErrorIn
-    (
-        "template<class Type>"
-        "void readParticleField"
-        "("
-            "const word&, "
-            "const IOobjectList"
-        ")"
-    )
+    FatalErrorInFunction
         << "error: cloud field name " << name << " not found"
         << abort(FatalError);
 
@@ -94,16 +86,7 @@ void readFields
         }
         else
         {
-            FatalErrorIn
-            (
-                "template<class Type>"
-                "void readFields"
-                "("
-                    "PtrList<List<Type> >&, "
-                    "const List<word>&, "
-                    "const IOobjectList&"
-                ")"
-            )
+            FatalErrorInFunction
                 << "Unable to read field " << fieldNames[j]
                 << abort(FatalError);
         }
diff --git a/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/execFlowFunctionObjects.C b/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/execFlowFunctionObjects.C
index 8e0c2ce7cf4..aa4ecba0926 100644
--- a/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/execFlowFunctionObjects.C
+++ b/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/execFlowFunctionObjects.C
@@ -84,12 +84,8 @@ wordList ReadUniformFields
 
             if (iter == localNamesSet.end())
             {
-                FatalErrorIn
-                (
-                    "ReadFields<class GeoField>"
-                    "(const IOobjectList&, PtrList<GeoField>&"
-                    ", const bool)"
-                )   << "Fields not synchronised across processors." << endl
+                FatalErrorInFunction
+                    << "Fields not synchronised across processors." << endl
                     << "Master has fields " << masterNames
                     << "  processor " << Pstream::myProcNo()
                     << " has fields " << localNames << exit(FatalError);
@@ -102,12 +98,8 @@ wordList ReadUniformFields
 
         forAllConstIter(HashSet<word>, localNamesSet, iter)
         {
-            FatalErrorIn
-            (
-                "ReadFields<class GeoField>"
-                "(const IOobjectList&, PtrList<GeoField>&"
-                ", const bool)"
-            )   << "Fields not synchronised across processors." << endl
+            FatalErrorInFunction
+                << "Fields not synchronised across processors." << endl
                 << "Master has fields " << masterNames
                 << "  processor " << Pstream::myProcNo()
                 << " has fields " << localNames << exit(FatalError);
@@ -400,7 +392,7 @@ void calc
         }
         else
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Incorrect dimensions of phi: " << phi.dimensions()
                 << nl << exit(FatalError);
         }
diff --git a/applications/utilities/postProcessing/miscellaneous/foamListTimes/foamListTimes.C b/applications/utilities/postProcessing/miscellaneous/foamListTimes/foamListTimes.C
index 8659f0205fd..88be47e53df 100644
--- a/applications/utilities/postProcessing/miscellaneous/foamListTimes/foamListTimes.C
+++ b/applications/utilities/postProcessing/miscellaneous/foamListTimes/foamListTimes.C
@@ -80,7 +80,7 @@ int main(int argc, char *argv[])
 
         if (!nProcs)
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "No processor* directories found"
                 << exit(FatalError);
         }
diff --git a/applications/utilities/postProcessing/miscellaneous/postChannel/channelIndex.C b/applications/utilities/postProcessing/miscellaneous/postChannel/channelIndex.C
index bd1c302481a..501fea6203b 100644
--- a/applications/utilities/postProcessing/miscellaneous/postChannel/channelIndex.C
+++ b/applications/utilities/postProcessing/miscellaneous/postChannel/channelIndex.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -113,7 +113,7 @@ void Foam::channelIndex::walkOppositeFaces
 
                 if (oppositeFaceI == -1)
                 {
-                    FatalErrorIn("channelIndex::walkOppositeFaces(..)")
+                    FatalErrorInFunction
                         << "Face:" << faceI << " owner cell:" << ownCell
                         << " is not a hex?" << abort(FatalError);
                 }
@@ -135,7 +135,7 @@ void Foam::channelIndex::walkOppositeFaces
 
                 if (oppositeFaceI == -1)
                 {
-                    FatalErrorIn("channelIndex::walkOppositeFaces(..)")
+                    FatalErrorInFunction
                         << "Face:" << faceI << " neighbour cell:" << neiCell
                         << " is not a hex?" << abort(FatalError);
                 }
@@ -247,7 +247,7 @@ Foam::channelIndex::channelIndex
 
         if (patchI == -1)
         {
-            FatalErrorIn("channelIndex::channelIndex(const polyMesh&)")
+            FatalErrorInFunction
                 << "Illegal patch " << patchNames[i]
                 << ". Valid patches are " << patches.name()
                 << exit(FatalError);
diff --git a/applications/utilities/postProcessing/noise/noise.C b/applications/utilities/postProcessing/noise/noise.C
index 6b6628f0802..4f4cb599ff0 100644
--- a/applications/utilities/postProcessing/noise/noise.C
+++ b/applications/utilities/postProcessing/noise/noise.C
@@ -107,7 +107,7 @@ Foam::scalar checkUniformTimeStep(const scalarField& t)
 
             if (mag(deltaT - dT) > SMALL)
             {
-                FatalErrorIn("checkUniformTimeStep(const scalarField&)")
+                FatalErrorInFunction
                     << "Unable to process data with a variable time step"
                     << exit(FatalError);
             }
@@ -115,7 +115,7 @@ Foam::scalar checkUniformTimeStep(const scalarField& t)
     }
     else
     {
-        FatalErrorIn("checkUniformTimeStep(const scalarField&)")
+        FatalErrorInFunction
             << "Unable to create FFT with a single value"
             << exit(FatalError);
     }
@@ -145,7 +145,7 @@ int main(int argc, char *argv[])
 
     if (t.size() < N)
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Block size N = " << N
             << " is larger than number of data = " << t.size()
             << exit(FatalError);
diff --git a/applications/utilities/postProcessing/velocityField/Co/Co.C b/applications/utilities/postProcessing/velocityField/Co/Co.C
index 9e6d6d2485e..03718ef523a 100644
--- a/applications/utilities/postProcessing/velocityField/Co/Co.C
+++ b/applications/utilities/postProcessing/velocityField/Co/Co.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -104,7 +104,7 @@ void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
         }
         else
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Incorrect dimensions of phi: " << phi.dimensions()
                 << abort(FatalError);
         }
diff --git a/applications/utilities/postProcessing/velocityField/Pe/Pe.C b/applications/utilities/postProcessing/velocityField/Pe/Pe.C
index a82837d83cd..999e287d946 100644
--- a/applications/utilities/postProcessing/velocityField/Pe/Pe.C
+++ b/applications/utilities/postProcessing/velocityField/Pe/Pe.C
@@ -241,7 +241,7 @@ void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
         }
         else
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Incorrect dimensions of phi: " << phi.dimensions()
                     << abort(FatalError);
         }
diff --git a/applications/utilities/postProcessing/velocityField/streamFunction/streamFunction.C b/applications/utilities/postProcessing/velocityField/streamFunction/streamFunction.C
index 2c59611d316..620c4fdb78b 100644
--- a/applications/utilities/postProcessing/velocityField/streamFunction/streamFunction.C
+++ b/applications/utilities/postProcessing/velocityField/streamFunction/streamFunction.C
@@ -56,7 +56,7 @@ int main(int argc, char *argv[])
 
     if (nD != 2)
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Case is not 2D, stream-function cannot be computed"
             << exit(FatalError);
     }
@@ -232,7 +232,7 @@ int main(int argc, char *argv[])
                         }
                         else
                         {
-                            FatalErrorIn(args.executable())
+                            FatalErrorInFunction
                                 << "Cannot find initialisation face or a cell."
                                 << abort(FatalError);
                         }
@@ -476,7 +476,7 @@ int main(int argc, char *argv[])
         }
         else
         {
-            WarningIn(args.executable())
+            WarningInFunction
                 << "Flux field does not exist."
                 << " Stream function not calculated" << endl;
         }
diff --git a/applications/utilities/preProcessing/applyBoundaryLayer/applyBoundaryLayer.C b/applications/utilities/preProcessing/applyBoundaryLayer/applyBoundaryLayer.C
index 4f2a30fb5f4..146878e272d 100644
--- a/applications/utilities/preProcessing/applyBoundaryLayer/applyBoundaryLayer.C
+++ b/applications/utilities/preProcessing/applyBoundaryLayer/applyBoundaryLayer.C
@@ -77,7 +77,7 @@ int main(int argc, char *argv[])
 
     if (!args.optionFound("ybl") && !args.optionFound("Cbl"))
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Neither option 'ybl' or 'Cbl' have been provided to calculate "
             << "the boundary-layer thickness.\n"
             << "Please choose either 'ybl' OR 'Cbl'."
@@ -85,7 +85,7 @@ int main(int argc, char *argv[])
     }
     else if (args.optionFound("ybl") && args.optionFound("Cbl"))
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Both 'ybl' and 'Cbl' have been provided to calculate "
             << "the boundary-layer thickness.\n"
             << "Please choose either 'ybl' OR 'Cbl'."
diff --git a/applications/utilities/preProcessing/changeDictionary/changeDictionary.C b/applications/utilities/preProcessing/changeDictionary/changeDictionary.C
index a6b18b6114f..98906f927d1 100644
--- a/applications/utilities/preProcessing/changeDictionary/changeDictionary.C
+++ b/applications/utilities/preProcessing/changeDictionary/changeDictionary.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -420,7 +420,7 @@ int main(int argc, char *argv[])
     instantList times = timeSelector::selectIfPresent(runTime, args);
     if (times.size() < 1)
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "No times selected." << exit(FatalError);
     }
     runTime.setTime(times[0], 0);
diff --git a/applications/utilities/preProcessing/dsmcInitialise/dsmcInitialise.C b/applications/utilities/preProcessing/dsmcInitialise/dsmcInitialise.C
index 45025948263..e873f10d770 100644
--- a/applications/utilities/preProcessing/dsmcInitialise/dsmcInitialise.C
+++ b/applications/utilities/preProcessing/dsmcInitialise/dsmcInitialise.C
@@ -73,7 +73,7 @@ int main(int argc, char *argv[])
 
     if (!mesh.write())
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Failed writing dsmcCloud."
             << nl << exit(FatalError);
     }
diff --git a/applications/utilities/preProcessing/mapFields/mapFields.C b/applications/utilities/preProcessing/mapFields/mapFields.C
index 929776d9df6..2147dbfeb3f 100644
--- a/applications/utilities/preProcessing/mapFields/mapFields.C
+++ b/applications/utilities/preProcessing/mapFields/mapFields.C
@@ -278,7 +278,7 @@ int main(int argc, char *argv[])
         }
         else
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Unknown mapMethod " << mapMethod << ". Valid options are: "
                 << "mapNearest, interpolate and cellPointInterpolate"
                 << exit(FatalError);
diff --git a/applications/utilities/preProcessing/mdInitialise/mdInitialise.C b/applications/utilities/preProcessing/mdInitialise/mdInitialise.C
index ef2686f3b79..7af246cb25d 100644
--- a/applications/utilities/preProcessing/mdInitialise/mdInitialise.C
+++ b/applications/utilities/preProcessing/mdInitialise/mdInitialise.C
@@ -80,7 +80,7 @@ int main(int argc, char *argv[])
 
     if (!mesh.write())
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Failed writing moleculeCloud."
             << nl << exit(FatalError);
     }
diff --git a/applications/utilities/preProcessing/setFields/setFields.C b/applications/utilities/preProcessing/setFields/setFields.C
index 0dbc03540f5..eedce844bc3 100644
--- a/applications/utilities/preProcessing/setFields/setFields.C
+++ b/applications/utilities/preProcessing/setFields/setFields.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -106,22 +106,14 @@ bool setCellFieldType
 
         if (!field.write())
         {
-            FatalErrorIn
-            (
-                "void setCellFieldType"
-                "(const fvMesh& mesh, const labelList& selectedCells,"
-                "Istream& fieldValueStream)"
-            ) << "Failed writing field " << fieldName << endl;
+            FatalErrorInFunction
+              << "Failed writing field " << fieldName << endl;
         }
     }
     else
     {
-        WarningIn
-        (
-            "void setCellFieldType"
-            "(const fvMesh& mesh, const labelList& selectedCells,"
-            "Istream& fieldValueStream)"
-        ) << "Field " << fieldName << " not found" << endl;
+        WarningInFunction
+          << "Field " << fieldName << " not found" << endl;
 
         // Consume value
         (void)pTraits<Type>(fieldValueStream);
@@ -177,7 +169,7 @@ public:
                 )
             )
             {
-                WarningIn("setCellField::iNew::operator()(Istream& is)")
+                WarningInFunction
                     << "field type " << fieldType << " not currently supported"
                     << endl;
             }
@@ -266,7 +258,7 @@ bool setFaceFieldType
                 if (!hasWarned)
                 {
                     hasWarned = true;
-                    WarningIn("setFaceFieldType(..)")
+                    WarningInFunction
                         << "Ignoring internal face " << facei
                         << ". Suppressing further warnings." << endl;
                 }
@@ -302,22 +294,14 @@ bool setFaceFieldType
 
         if (!field.write())
         {
-            FatalErrorIn
-            (
-                "void setFaceFieldType"
-                "(const fvMesh& mesh, const labelList& selectedFaces,"
-                "Istream& fieldValueStream)"
-            )   << "Failed writing field " << field.name() << exit(FatalError);
+            FatalErrorInFunction
+                << "Failed writing field " << field.name() << exit(FatalError);
         }
     }
     else
     {
-        WarningIn
-        (
-            "void setFaceFieldType"
-            "(const fvMesh& mesh, const labelList& selectedFaces,"
-            "Istream& fieldValueStream)"
-        ) << "Field " << fieldName << " not found" << endl;
+        WarningInFunction
+          << "Field " << fieldName << " not found" << endl;
 
         // Consume value
         (void)pTraits<Type>(fieldValueStream);
@@ -373,7 +357,7 @@ public:
                 )
             )
             {
-                WarningIn("setFaceField::iNew::operator()(Istream& is)")
+                WarningInFunction
                     << "field type " << fieldType << " not currently supported"
                     << endl;
             }
diff --git a/applications/utilities/preProcessing/viewFactorsGen/shootRays.H b/applications/utilities/preProcessing/viewFactorsGen/shootRays.H
index d20b204f036..20d1c5066d3 100644
--- a/applications/utilities/preProcessing/viewFactorsGen/shootRays.H
+++ b/applications/utilities/preProcessing/viewFactorsGen/shootRays.H
@@ -60,10 +60,8 @@ for (label procI = 0; procI < Pstream::nProcs(); procI++)
                         endAgg.append(globalNumbering.toGlobal(procI, remAgg));
                         if (startIndex.size() > maxDynListLength)
                         {
-                            FatalErrorIn
-                            (
-                                "shootRays"
-                            )   << "Dynamic list need from capacity."
+                            FatalErrorInFunction
+                                << "Dynamic list need from capacity."
                                 << "Actual size maxDynListLength : "
                                 <<  maxDynListLength
                                 << abort(FatalError);
diff --git a/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/SpaldingsLaw/SpaldingsLaw.C b/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/SpaldingsLaw/SpaldingsLaw.C
index fc0df720ba3..24834c227f2 100644
--- a/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/SpaldingsLaw/SpaldingsLaw.C
+++ b/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/SpaldingsLaw/SpaldingsLaw.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -104,7 +104,7 @@ void Foam::tabulatedWallFunctions::SpaldingsLaw::invertFunction()
 
         if (iter == maxIters_)
         {
-            WarningIn("SpaldingsLaw::invertFunction()")
+            WarningInFunction
                 << "Newton iterations not converged:" << nl
                 << "    iters = " << iter << ", error = " << error << endl;
         }
diff --git a/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/general/general.C b/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/general/general.C
index 3ef4cdfd24f..73d87c004bb 100644
--- a/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/general/general.C
+++ b/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/general/general.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -119,15 +119,8 @@ Foam::scalar Foam::tabulatedWallFunctions::general::interpolate
         }
         default:
         {
-            FatalErrorIn
-            (
-                "tabulatedWallFunctions::general::interpolate"
-                "("
-                    "const scalar, "
-                    "const scalarList&, "
-                    "const scalarList&"
-                ")"
-            )   << "Unknown interpolation method" << nl
+            FatalErrorInFunction
+                << "Unknown interpolation method" << nl
                 << abort(FatalError);
         }
     }
@@ -154,14 +147,8 @@ Foam::tabulatedWallFunctions::general::general
     List<Tuple2<scalar, scalar> > inputTable = coeffDict_.lookup("inputTable");
     if (inputTable.size() < 2)
     {
-        FatalErrorIn
-        (
-            "tabulatedWallFunctions::general::general"
-            "("
-                "const dictionary&, "
-                "const polyMesh&"
-            ")"
-        )   << "Input table must have at least 2 values" << nl
+        FatalErrorInFunction
+            << "Input table must have at least 2 values" << nl
             << exit(FatalError);
     }
 
diff --git a/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/tabulatedWallFunction/tabulatedWallFunctionNew.C b/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/tabulatedWallFunction/tabulatedWallFunctionNew.C
index 89c6a95fb0e..0c2c1a19243 100644
--- a/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/tabulatedWallFunction/tabulatedWallFunctionNew.C
+++ b/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/tabulatedWallFunction/tabulatedWallFunctionNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -49,10 +49,8 @@ autoPtr<tabulatedWallFunction> tabulatedWallFunction::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "tabulatedWallFunction::New(const dictionary&, const polyMesh&)"
-        )   << "Unknown tabulatedWallFunction type " << twfTypeName
+        FatalErrorInFunction
+            << "Unknown tabulatedWallFunction type " << twfTypeName
             << nl << nl << "Valid tabulatedWallFunction types are:" << nl
             << dictionaryConstructorTablePtr_->toc()
             << exit(FatalError);
diff --git a/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C b/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C
index 97a7fb4730e..ea697d17336 100644
--- a/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C
+++ b/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C
@@ -437,7 +437,7 @@ int main(int argc, char *argv[])
 
     if (!validActions.found(action))
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Unsupported action " << action << endl
             << "Supported actions:" << validActions.toc() << abort(FatalError);
     }
@@ -468,7 +468,7 @@ int main(int argc, char *argv[])
 
     if (invertedSpace && validActions[action] == booleanSurface::DIFFERENCE)
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Inverted space only makes sense for union or intersection."
             << exit(FatalError);
     }
@@ -708,7 +708,7 @@ int main(int argc, char *argv[])
     }
     else
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Unsupported booleanSurface:booleanOpType and space "
             << action << " " << invertedSpace
             << abort(FatalError);
diff --git a/applications/utilities/surface/surfaceCheck/surfaceCheck.C b/applications/utilities/surface/surfaceCheck/surfaceCheck.C
index 6ec067aa847..fa3ab851ef3 100644
--- a/applications/utilities/surface/surfaceCheck/surfaceCheck.C
+++ b/applications/utilities/surface/surfaceCheck/surfaceCheck.C
@@ -57,7 +57,7 @@ bool validTri
     {
         if (f[fp] < 0 || f[fp] >= surf.points().size())
         {
-            WarningIn("validTri(const triSurface&, const label)")
+            WarningInFunction
                 << "triangle " << faceI << " vertices " << f
                 << " uses point indices outside point range 0.."
                 << surf.points().size()-1 << endl;
@@ -67,7 +67,7 @@ bool validTri
 
     if ((f[0] == f[1]) || (f[0] == f[2]) || (f[1] == f[2]))
     {
-        WarningIn("validTri(const triSurface&, const label)")
+        WarningInFunction
             << "triangle " << faceI
             << " uses non-unique vertices " << f
             << " coords:" << f.points(surf.points())
@@ -100,7 +100,7 @@ bool validTri
          && ((f[2] == nbrF[0]) || (f[2] == nbrF[1]) || (f[2] == nbrF[2]))
         )
         {
-            WarningIn("validTri(const triSurface&, const label)")
+            WarningInFunction
                 << "triangle " << faceI << " vertices " << f
                 << " has the same vertices as triangle " << nbrFaceI
                 << " vertices " << nbrF
@@ -146,11 +146,8 @@ labelList countBins
 
             if ((index < 0) || (index >= nBins))
             {
-                WarningIn
-                (
-                    "countBins(const scalar, const scalar, const label"
-                    ", const scalarField&)"
-                )   << "value " << val << " at index " << i
+                WarningInFunction
+                    << "value " << val << " at index " << i
                     << " outside range " << min << " .. " << max << endl;
 
                 if (index < 0)
@@ -257,7 +254,7 @@ int main(int argc, char *argv[])
 
             if (region < 0 || region >= regionSize.size())
             {
-                WarningIn(args.executable())
+                WarningInFunction
                     << "Triangle " << faceI << " vertices " << surf[faceI]
                     << " has region " << region << " which is outside the range"
                     << " of regions 0.." << surf.patches().size()-1
@@ -371,7 +368,7 @@ int main(int argc, char *argv[])
 
         if (triQ[minIndex] < SMALL)
         {
-            WarningIn(args.executable()) << "Minimum triangle quality is "
+            WarningInFunction
                 << triQ[minIndex] << ". This might give problems in"
                 << " self-intersection testing later on." << endl;
         }
diff --git a/applications/utilities/surface/surfaceClean/collapseBase.C b/applications/utilities/surface/surfaceClean/collapseBase.C
index ceb834b56f1..0bf67176286 100644
--- a/applications/utilities/surface/surfaceClean/collapseBase.C
+++ b/applications/utilities/surface/surfaceClean/collapseBase.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -175,7 +175,7 @@ static void splitTri
     }
     else
     {
-        FatalErrorIn("splitTri(..)")
+        FatalErrorInFunction
             << "Edge " << e << " not part of triangle " << f
             << " fp:" << fp
             << " fp1:" << fp1
@@ -206,14 +206,14 @@ static bool insertSorted
 {
     if (findIndex(sortedVerts, vertI) != -1)
     {
-        FatalErrorIn("insertSorted(..)") << "Trying to insert vertex " << vertI
+        FatalErrorInFunction
             << " which is already in list of sorted vertices "
             << sortedVerts << abort(FatalError);
     }
 
     if (weight <= 0 || weight >= 1)
     {
-        FatalErrorIn("insertSorted(..)") << "Trying to insert vertex " << vertI
+        FatalErrorInFunction
             << " with illegal weight " << weight
             << " into list of sorted vertices "
             << sortedVerts << abort(FatalError);
@@ -228,7 +228,7 @@ static bool insertSorted
 
         if (mag(w - weight) < SMALL)
         {
-            WarningIn("insertSorted(..)")
+            WarningInFunction
                 << "Trying to insert weight " << weight << " which is close to"
                 << " existing weight " << w << " in " << sortedWeights
                 << endl;
@@ -359,7 +359,7 @@ static void markCollapsedFaces
                 // Mark face as being collapsed
                 if (faceToEdge[faceI] != -1)
                 {
-                    FatalErrorIn("markCollapsedFaces(..)")
+                    FatalErrorInFunction
                         << "Cannot collapse face " << faceI << " since "
                         << " is marked to be collapsed both to edge "
                         << faceToEdge[faceI] << " and " << edgeI
@@ -386,7 +386,7 @@ static void markRegion
 {
     if (faceToEdge[faceI] == -1 || collapseRegion[faceI] != -1)
     {
-        FatalErrorIn("markRegion(..)")
+        FatalErrorInFunction
             << "Problem : crossed into uncollapsed/regionized face"
             << abort(FatalError);
     }
@@ -422,7 +422,7 @@ static void markRegion
                 }
                 else if (collapseRegion[nbrFaceI] != regionI)
                 {
-                    FatalErrorIn("markRegion(..)")
+                    FatalErrorInFunction
                         << "Edge:" << edgeI << " between face " << faceI
                         << " with region " << regionI
                         << " and face " << nbrFaceI
@@ -494,7 +494,7 @@ static label edgeType
         }
         else if (usesRegion != region)
         {
-            FatalErrorIn("edgeRegion") << abort(FatalError);
+            FatalErrorInFunction << abort(FatalError);
         }
         else
         {
@@ -519,7 +519,7 @@ static label edgeType
     {
         if (usesRegion == -1)
         {
-            FatalErrorIn("edgeRegion") << abort(FatalError);
+            FatalErrorInFunction << abort(FatalError);
             return -2;
         }
         else
@@ -640,7 +640,7 @@ static void projectNonSpanPoints
 
             if (!pHit.hit())
             {
-                FatalErrorIn("projectNonSpanPoints")
+                FatalErrorInFunction
                     << abort(FatalError);
             }
 
@@ -737,7 +737,7 @@ static void getSplitVerts
 
         if (i0 == -1 || i1 == -1)
         {
-            FatalErrorIn("getSplitVerts")
+            FatalErrorInFunction
                 << "Did not find edge in projected vertices." << nl
                 << "region:" << regionI << nl
                 << "spanPoints:" << spanPoints
diff --git a/applications/utilities/surface/surfaceCoarsen/surfaceCoarsen.C b/applications/utilities/surface/surfaceCoarsen/surfaceCoarsen.C
index 4fcb9b1978d..7603f8a4a85 100644
--- a/applications/utilities/surface/surfaceCoarsen/surfaceCoarsen.C
+++ b/applications/utilities/surface/surfaceCoarsen/surfaceCoarsen.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -77,7 +77,7 @@ int main(int argc, char *argv[])
 
     if (reduction <= 0 || reduction > 1)
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Reduction factor " << reduction
             << " should be within 0..1" << endl
             << "(it is the reduction in number of vertices)"
diff --git a/applications/utilities/surface/surfaceConvert/surfaceConvert.C b/applications/utilities/surface/surfaceConvert/surfaceConvert.C
index 5d826824d07..1d79b08059b 100644
--- a/applications/utilities/surface/surfaceConvert/surfaceConvert.C
+++ b/applications/utilities/surface/surfaceConvert/surfaceConvert.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -107,7 +107,7 @@ int main(int argc, char *argv[])
 
     if (importName == exportName)
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Output file " << exportName << " would overwrite input file."
             << exit(FatalError);
     }
diff --git a/applications/utilities/surface/surfaceFeatureConvert/surfaceFeatureConvert.C b/applications/utilities/surface/surfaceFeatureConvert/surfaceFeatureConvert.C
index fadf9a7ec78..8e4d178462b 100644
--- a/applications/utilities/surface/surfaceFeatureConvert/surfaceFeatureConvert.C
+++ b/applications/utilities/surface/surfaceFeatureConvert/surfaceFeatureConvert.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -64,7 +64,7 @@ int main(int argc, char *argv[])
     // disable inplace editing
     if (importName == exportName)
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Output file " << exportName << " would overwrite input file."
             << exit(FatalError);
     }
diff --git a/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C b/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C
index db28d8fbe1d..a763c90c29d 100644
--- a/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C
+++ b/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C
@@ -73,7 +73,7 @@ scalar calcVertexNormalWeight
 
     if (index == -1)
     {
-        FatalErrorIn("calcVertexNormals()")
+        FatalErrorInFunction
             << "Point not in face" << abort(FatalError);
     }
 
@@ -853,7 +853,7 @@ surfaceFeatures::edgeStatus checkFlatRegionEdge
             }
             else if (dir == 0)
             {
-                FatalErrorIn("problem.")
+                FatalErrorInFunction
                     << exit(FatalError);
             }
             else
@@ -1083,7 +1083,7 @@ int main(int argc, char *argv[])
         }
         else
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "No initial feature set. Provide either one"
                 << " of extractFromFile (to read existing set)" << nl
                 << " or extractFromSurface (to construct new set from angle)"
diff --git a/applications/utilities/surface/surfaceHookUp/surfaceHookUp.C b/applications/utilities/surface/surfaceHookUp/surfaceHookUp.C
index 7813eaba790..4c5a91d1080 100644
--- a/applications/utilities/surface/surfaceHookUp/surfaceHookUp.C
+++ b/applications/utilities/surface/surfaceHookUp/surfaceHookUp.C
@@ -471,7 +471,7 @@ int main(int argc, char *argv[])
 
                     if (eFaces.size() != 1)
                     {
-                        WarningIn(args.executable())
+                        WarningInFunction
                             << "Edge is attached to " << eFaces.size()
                             << " faces." << endl;
 
diff --git a/applications/utilities/surface/surfaceInertia/surfaceInertia.C b/applications/utilities/surface/surfaceInertia/surfaceInertia.C
index 6b30f610b13..fa714c2bb50 100644
--- a/applications/utilities/surface/surfaceInertia/surfaceInertia.C
+++ b/applications/utilities/surface/surfaceInertia/surfaceInertia.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-2015 OpenFOAM Foundation
     \\/      M anipulation   |
 -------------------------------------------------------------------------------
 License
@@ -103,7 +103,7 @@ int main(int argc, char *argv[])
 
     if (m < 0)
     {
-        WarningIn(args.executable() + "::main")
+        WarningInFunction
             << "Negative mass detected, the surface may be inside-out." << endl;
     }
 
@@ -117,7 +117,7 @@ int main(int argc, char *argv[])
 
     while ((magSqr(eVal) < VSMALL) && pertI < 10)
     {
-        WarningIn(args.executable() + "::main")
+        WarningInFunction
             << "No eigenValues found, shape may have symmetry, "
             << "perturbing inertia tensor diagonal" << endl;
 
@@ -320,7 +320,7 @@ int main(int argc, char *argv[])
     }
     else
     {
-        WarningIn(args.executable() + "::main")
+        WarningInFunction
             << "Non-unique eigenvectors, cannot compute transformation "
             << "from Cartesian axes" << endl;
 
@@ -337,7 +337,7 @@ int main(int argc, char *argv[])
 
         if (f[0] == f[1] || f[0] == f[2] || f[1] == f[2])
         {
-            WarningIn(args.executable())
+            WarningInFunction
                << "Illegal triangle " << faceI << " vertices " << f
                << " coords " << f.points(surf.points()) << endl;
         }
diff --git a/applications/utilities/surface/surfaceLambdaMuSmooth/surfaceLambdaMuSmooth.C b/applications/utilities/surface/surfaceLambdaMuSmooth/surfaceLambdaMuSmooth.C
index d1e725faee2..6c1cf3cf7b4 100644
--- a/applications/utilities/surface/surfaceLambdaMuSmooth/surfaceLambdaMuSmooth.C
+++ b/applications/utilities/surface/surfaceLambdaMuSmooth/surfaceLambdaMuSmooth.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -109,7 +109,7 @@ void getFixedPoints
 
     if (!matchedAll)
     {
-        WarningIn("getFixedPoints(const edgeMesh&, const pointField&)")
+        WarningInFunction
             << "Did not match all feature points to points on the surface"
             << endl;
     }
@@ -150,14 +150,14 @@ int main(int argc, char *argv[])
 
     if (lambda < 0 || lambda > 1)
     {
-        FatalErrorIn(args.executable()) << "Illegal relaxation factor "
+        FatalErrorInFunction
             << lambda << endl
             << "0: no change   1: move vertices to average of neighbours"
             << exit(FatalError);
     }
     if (mu < 0 || mu > 1)
     {
-        FatalErrorIn(args.executable()) << "Illegal relaxation factor "
+        FatalErrorInFunction
             << mu << endl
             << "0: no change   1: move vertices to average of neighbours"
             << exit(FatalError);
diff --git a/applications/utilities/surface/surfaceMeshConvert/surfaceMeshConvert.C b/applications/utilities/surface/surfaceMeshConvert/surfaceMeshConvert.C
index 849cf6ea716..17e22f8c07f 100644
--- a/applications/utilities/surface/surfaceMeshConvert/surfaceMeshConvert.C
+++ b/applications/utilities/surface/surfaceMeshConvert/surfaceMeshConvert.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -124,7 +124,7 @@ int main(int argc, char *argv[])
     // disable inplace editing
     if (importName == exportName)
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Output file " << exportName << " would overwrite input file."
             << exit(FatalError);
     }
@@ -196,8 +196,7 @@ int main(int argc, char *argv[])
 
         if (!csDictIoPtr->headerOk())
         {
-            FatalErrorIn(args.executable())
-                << "Cannot open coordinateSystems file\n    "
+            FatalErrorInFunction
                 << csDictIoPtr->objectPath() << nl
                 << exit(FatalError);
         }
@@ -211,7 +210,7 @@ int main(int argc, char *argv[])
             const label csIndex = csLst.findIndex(csName);
             if (csIndex < 0)
             {
-                FatalErrorIn(args.executable())
+                FatalErrorInFunction
                     << "Cannot find -from " << csName << nl
                     << "available coordinateSystems: " << csLst.toc() << nl
                     << exit(FatalError);
@@ -227,7 +226,7 @@ int main(int argc, char *argv[])
             const label csIndex = csLst.findIndex(csName);
             if (csIndex < 0)
             {
-                FatalErrorIn(args.executable())
+                FatalErrorInFunction
                     << "Cannot find -to " << csName << nl
                     << "available coordinateSystems: " << csLst.toc() << nl
                     << exit(FatalError);
@@ -240,8 +239,7 @@ int main(int argc, char *argv[])
         // maybe fix this later
         if (fromCsys.valid() && toCsys.valid())
         {
-            FatalErrorIn(args.executable())
-                << "Only allowed  '-from' or '-to' option at the moment."
+            FatalErrorInFunction
                 << exit(FatalError);
         }
     }
diff --git a/applications/utilities/surface/surfaceMeshConvertTesting/surfaceMeshConvertTesting.C b/applications/utilities/surface/surfaceMeshConvertTesting/surfaceMeshConvertTesting.C
index 896f2b27451..12bd9f32e22 100644
--- a/applications/utilities/surface/surfaceMeshConvertTesting/surfaceMeshConvertTesting.C
+++ b/applications/utilities/surface/surfaceMeshConvertTesting/surfaceMeshConvertTesting.C
@@ -103,7 +103,7 @@ int main(int argc, char *argv[])
 
     if (importName == exportName)
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Output file " << exportName << " would overwrite input file."
             << exit(FatalError);
     }
diff --git a/applications/utilities/surface/surfaceMeshExport/surfaceMeshExport.C b/applications/utilities/surface/surfaceMeshExport/surfaceMeshExport.C
index bfc46ccd758..4b8d230080a 100644
--- a/applications/utilities/surface/surfaceMeshExport/surfaceMeshExport.C
+++ b/applications/utilities/surface/surfaceMeshExport/surfaceMeshExport.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -176,8 +176,7 @@ int main(int argc, char *argv[])
 
         if (!ioPtr->headerOk())
         {
-            FatalErrorIn(args.executable())
-                << "Cannot open coordinateSystems file\n    "
+            FatalErrorInFunction
                 << ioPtr->objectPath() << nl
                 << exit(FatalError);
         }
@@ -191,7 +190,7 @@ int main(int argc, char *argv[])
             const label csIndex = csLst.findIndex(csName);
             if (csIndex < 0)
             {
-                FatalErrorIn(args.executable())
+                FatalErrorInFunction
                     << "Cannot find -from " << csName << nl
                     << "available coordinateSystems: " << csLst.toc() << nl
                     << exit(FatalError);
@@ -207,7 +206,7 @@ int main(int argc, char *argv[])
             const label csIndex = csLst.findIndex(csName);
             if (csIndex < 0)
             {
-                FatalErrorIn(args.executable())
+                FatalErrorInFunction
                     << "Cannot find -to " << csName << nl
                     << "available coordinateSystems: " << csLst.toc() << nl
                     << exit(FatalError);
@@ -220,8 +219,7 @@ int main(int argc, char *argv[])
         // maybe fix this later
         if (fromCsys.valid() && toCsys.valid())
         {
-            FatalErrorIn(args.executable())
-                << "Only allowed  '-from' or '-to' option at the moment."
+            FatalErrorInFunction
                 << exit(FatalError);
         }
     }
diff --git a/applications/utilities/surface/surfaceMeshImport/surfaceMeshImport.C b/applications/utilities/surface/surfaceMeshImport/surfaceMeshImport.C
index a8a09386818..2bf0c9c014e 100644
--- a/applications/utilities/surface/surfaceMeshImport/surfaceMeshImport.C
+++ b/applications/utilities/surface/surfaceMeshImport/surfaceMeshImport.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -189,8 +189,7 @@ int main(int argc, char *argv[])
 
         if (!ioPtr->headerOk())
         {
-            FatalErrorIn(args.executable())
-                << "Cannot open coordinateSystems file\n    "
+            FatalErrorInFunction
                 << ioPtr->objectPath() << nl
                 << exit(FatalError);
         }
@@ -204,7 +203,7 @@ int main(int argc, char *argv[])
             const label csIndex = csLst.findIndex(csName);
             if (csIndex < 0)
             {
-                FatalErrorIn(args.executable())
+                FatalErrorInFunction
                     << "Cannot find -from " << csName << nl
                     << "available coordinateSystems: " << csLst.toc() << nl
                     << exit(FatalError);
@@ -220,7 +219,7 @@ int main(int argc, char *argv[])
             const label csIndex = csLst.findIndex(csName);
             if (csIndex < 0)
             {
-                FatalErrorIn(args.executable())
+                FatalErrorInFunction
                     << "Cannot find -to " << csName << nl
                     << "available coordinateSystems: " << csLst.toc() << nl
                     << exit(FatalError);
@@ -233,8 +232,7 @@ int main(int argc, char *argv[])
         // maybe fix this later
         if (fromCsys.valid() && toCsys.valid())
         {
-            FatalErrorIn(args.executable())
-                << "Only allowed  '-from' or '-to' option at the moment."
+            FatalErrorInFunction
                 << exit(FatalError);
         }
     }
diff --git a/applications/utilities/surface/surfaceMeshTriangulate/surfaceMeshTriangulate.C b/applications/utilities/surface/surfaceMeshTriangulate/surfaceMeshTriangulate.C
index 098f9e019c8..580411eda64 100644
--- a/applications/utilities/surface/surfaceMeshTriangulate/surfaceMeshTriangulate.C
+++ b/applications/utilities/surface/surfaceMeshTriangulate/surfaceMeshTriangulate.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -162,7 +162,7 @@ int main(int argc, char *argv[])
 
             if (zoneIDs.empty())
             {
-                WarningIn(args.executable())
+                WarningInFunction
                     << "Cannot find any faceZone name matching "
                     << zoneName << endl;
             }
diff --git a/applications/utilities/surface/surfaceRedistributePar/surfaceRedistributePar.C b/applications/utilities/surface/surfaceRedistributePar/surfaceRedistributePar.C
index 6e4db35a0bd..03195b46647 100644
--- a/applications/utilities/surface/surfaceRedistributePar/surfaceRedistributePar.C
+++ b/applications/utilities/surface/surfaceRedistributePar/surfaceRedistributePar.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -137,7 +137,7 @@ int main(int argc, char *argv[])
 
     if (!Pstream::parRun())
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Please run this program on the decomposed case."
             << " It will read surface " << surfFileName
             << " and decompose it such that it overlaps the mesh bounding box."
diff --git a/applications/utilities/surface/surfaceSplitByTopology/surfaceSplitByTopology.C b/applications/utilities/surface/surfaceSplitByTopology/surfaceSplitByTopology.C
index 93a7caa3655..3e924513692 100644
--- a/applications/utilities/surface/surfaceSplitByTopology/surfaceSplitByTopology.C
+++ b/applications/utilities/surface/surfaceSplitByTopology/surfaceSplitByTopology.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -151,7 +151,7 @@ int main(int argc, char *argv[])
 
         if (iterationNo == iterationLimit)
         {
-            WarningIn("surfaceSplitByTopology")
+            WarningInFunction
             << "Iteration limit of " << iterationLimit << "reached" << endl;
         }
 
diff --git a/applications/utilities/surface/surfaceSplitNonManifolds/surfaceSplitNonManifolds.C b/applications/utilities/surface/surfaceSplitNonManifolds/surfaceSplitNonManifolds.C
index 184d326e268..e3a4bc56de1 100644
--- a/applications/utilities/surface/surfaceSplitNonManifolds/surfaceSplitNonManifolds.C
+++ b/applications/utilities/surface/surfaceSplitNonManifolds/surfaceSplitNonManifolds.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -152,14 +152,14 @@ void testSortedEdgeFaces(const triSurface& surf)
         {
             if (findIndex(sortMyFaces, myFaces[i]) == -1)
             {
-                FatalErrorIn("testSortedEdgeFaces(..)") << abort(FatalError);
+                FatalErrorInFunction << abort(FatalError);
             }
         }
         forAll(sortMyFaces, i)
         {
             if (findIndex(myFaces, sortMyFaces[i]) == -1)
             {
-                FatalErrorIn("testSortedEdgeFaces(..)") << abort(FatalError);
+                FatalErrorInFunction << abort(FatalError);
             }
         }
     }
@@ -299,7 +299,7 @@ label findEdge
     }
 
 
-    FatalErrorIn("findEdge(..)") << "Cannot find edge with labels " << v0
+    FatalErrorInFunction
         << ' ' << v1 << " in candidates " << edgeLabels
         << " with vertices:" << UIndirectList<edge>(surf.edges(), edgeLabels)()
         << abort(FatalError);
@@ -338,7 +338,7 @@ label otherEdge
         }
     }
 
-    FatalErrorIn("otherEdge(..)") << "Cannot find other edge on face " << faceI
+    FatalErrorInFunction
         << " verts:" << surf.localPoints()[faceI]
         << " connected to point " << pointI
         << " faceEdges:" << UIndirectList<edge>(surf.edges(), fEdges)()
@@ -404,7 +404,7 @@ void walkSplitLine
 
             if (eFaces.size() != 2)
             {
-                FatalErrorIn("walkSplitPoint(..)")
+                FatalErrorInFunction
                     << "Can only handle edges with 2 or 4 edges for now."
                     << abort(FatalError);
             }
@@ -419,7 +419,7 @@ void walkSplitLine
             }
             else
             {
-                FatalErrorIn("walkSplitPoint(..)") << abort(FatalError);
+                FatalErrorInFunction << abort(FatalError);
             }
         }
         while (true);
@@ -539,7 +539,7 @@ void calcPointVecs
 
                 surf.write("errorSurf.obj");
 
-                FatalErrorIn("calcPointVecs(..)")
+                FatalErrorInFunction
                     << "Cannot find two faces using border edge " << edgeI
                     << " verts:" << edges[edgeI]
                     << " eFaces:" << eFaces << endl
diff --git a/applications/utilities/surface/surfaceSubset/surfaceSubset.C b/applications/utilities/surface/surfaceSubset/surfaceSubset.C
index c0ae6bd2418..562b7bd302c 100644
--- a/applications/utilities/surface/surfaceSubset/surfaceSubset.C
+++ b/applications/utilities/surface/surfaceSubset/surfaceSubset.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -93,7 +93,7 @@ int main(int argc, char *argv[])
 
     if (markedZone.size() && markedZone.size() != 2)
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "zone specification should be two points, min and max of "
             << "the boundingbox" << endl
             << "zone:" << markedZone
@@ -132,7 +132,7 @@ int main(int argc, char *argv[])
              || markedPoints[pointI] >= surf1.nPoints()
             )
             {
-                FatalErrorIn(args.executable())
+                FatalErrorInFunction
                     << "localPoint label " << markedPoints[pointI]
                     << "out of range."
                     << " The mesh has got "
@@ -170,7 +170,7 @@ int main(int argc, char *argv[])
              || markedEdges[edgeI] >= surf1.nEdges()
             )
             {
-                FatalErrorIn(args.executable())
+                FatalErrorInFunction
                     << "edge label " << markedEdges[edgeI]
                     << "out of range."
                     << " The mesh has got "
@@ -323,7 +323,7 @@ int main(int argc, char *argv[])
              || markedFaces[faceI] >= surf1.size()
             )
             {
-                FatalErrorIn(args.executable())
+                FatalErrorInFunction
                     << "Face label " << markedFaces[faceI] << "out of range."
                     << " The mesh has got "
                     << surf1.size() << " faces."
diff --git a/applications/utilities/surface/surfaceTransformPoints/surfaceTransformPoints.C b/applications/utilities/surface/surfaceTransformPoints/surfaceTransformPoints.C
index 8bdcd357417..e4653d1d61a 100644
--- a/applications/utilities/surface/surfaceTransformPoints/surfaceTransformPoints.C
+++ b/applications/utilities/surface/surfaceTransformPoints/surfaceTransformPoints.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -106,7 +106,7 @@ int main(int argc, char *argv[])
 
     if (args.options().empty())
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "No options supplied, please use one or more of "
                "-translate, -rotate or -scale options."
             << exit(FatalError);
diff --git a/applications/utilities/thermophysical/adiabaticFlameT/adiabaticFlameT.C b/applications/utilities/thermophysical/adiabaticFlameT/adiabaticFlameT.C
index 9c51adb8b46..51aaab6669b 100644
--- a/applications/utilities/thermophysical/adiabaticFlameT/adiabaticFlameT.C
+++ b/applications/utilities/thermophysical/adiabaticFlameT/adiabaticFlameT.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -62,7 +62,7 @@ int main(int argc, char *argv[])
     // Check controlFile stream is OK
     if (!controlFile.good())
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Cannot read file " << controlFileName
             << exit(FatalError);
     }
@@ -87,7 +87,7 @@ int main(int argc, char *argv[])
     // Check thermoData stream is OK
     if (!thermoDataFile.good())
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Cannot read file " << thermoDataFileName
             << exit(FatalError);
     }
diff --git a/applications/utilities/thermophysical/equilibriumFlameT/equilibriumFlameT.C b/applications/utilities/thermophysical/equilibriumFlameT/equilibriumFlameT.C
index 9879031cf8e..4642bde45f5 100644
--- a/applications/utilities/thermophysical/equilibriumFlameT/equilibriumFlameT.C
+++ b/applications/utilities/thermophysical/equilibriumFlameT/equilibriumFlameT.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -64,7 +64,7 @@ int main(int argc, char *argv[])
     // Check controlFile stream is OK
     if (!controlFile.good())
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Cannot read file " << controlFileName
             << abort(FatalError);
     }
@@ -88,7 +88,7 @@ int main(int argc, char *argv[])
     // Check thermoData stream is OK
     if (!thermoDataFile.good())
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Cannot read file " << thermoDataFileName
             << abort(FatalError);
     }
diff --git a/applications/utilities/thermophysical/mixtureAdiabaticFlameT/mixture.H b/applications/utilities/thermophysical/mixtureAdiabaticFlameT/mixture.H
index f5bd3dcd5a9..cf5d7e81b20 100644
--- a/applications/utilities/thermophysical/mixtureAdiabaticFlameT/mixture.H
+++ b/applications/utilities/thermophysical/mixtureAdiabaticFlameT/mixture.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -78,7 +78,7 @@ public:
 
             if (volTot > 1.001 || volTot < 0.999)
             {
-                FatalErrorIn("mixture::mixture(istream& is)")
+                FatalErrorInFunction
                     << "Sum of volume fractions for Mixture " << name_
                     << " = " << volTot << endl
                     << "Should equal one."
diff --git a/applications/utilities/thermophysical/mixtureAdiabaticFlameT/mixtureAdiabaticFlameT.C b/applications/utilities/thermophysical/mixtureAdiabaticFlameT/mixtureAdiabaticFlameT.C
index 742de4b8077..358bb7ab0fc 100644
--- a/applications/utilities/thermophysical/mixtureAdiabaticFlameT/mixtureAdiabaticFlameT.C
+++ b/applications/utilities/thermophysical/mixtureAdiabaticFlameT/mixtureAdiabaticFlameT.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -62,7 +62,7 @@ int main(int argc, char *argv[])
     // Check controlFile stream is OK
     if (!controlFile.good())
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Cannot read file " << controlFileName
             << abort(FatalError);
     }
@@ -86,7 +86,7 @@ int main(int argc, char *argv[])
     // Check thermoData stream is OK
     if (!thermoDataFile.good())
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Cannot read file " << thermoDataFileName
             << abort(FatalError);
     }
diff --git a/src/finiteVolume/fvMesh/fvMeshMapper/fvPatchMapper.C b/src/finiteVolume/fvMesh/fvMeshMapper/fvPatchMapper.C
index 9c0ff2cec67..a1039f2a71b 100644
--- a/src/finiteVolume/fvMesh/fvMeshMapper/fvPatchMapper.C
+++ b/src/finiteVolume/fvMesh/fvMeshMapper/fvPatchMapper.C
@@ -92,11 +92,9 @@ void Foam::fvPatchMapper::calcAddressing() const
         {
             if (min(addr) < 0)
             {
-                //FatalErrorIn
                 WarningInFunction
                     << "Unmapped entry in patch mapping for patch "
                     << patch_.index() << " named " << patch_.name()
-                    //<< abort(FatalError);
                     << endl;
             }
         }
@@ -294,13 +292,4 @@ const Foam::scalarListList& Foam::fvPatchMapper::weights() const
 }
 
 
-// * * * * * * * * * * * * * * * Member Operators  * * * * * * * * * * * * * //
-
-
-// * * * * * * * * * * * * * * * Friend Functions  * * * * * * * * * * * * * //
-
-
-// * * * * * * * * * * * * * * * Friend Operators  * * * * * * * * * * * * * //
-
-
 // ************************************************************************* //
diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/FitData/FitData.C b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/FitData/FitData.C
index 6c3500e17fd..ba213d0d08e 100644
--- a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/FitData/FitData.C
+++ b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/FitData/FitData.C
@@ -253,11 +253,8 @@ void Foam::FitData<FitDataType, ExtendedStencil, Polynomial>::calcFit
         {
             // if (iIt == 7)
             // {
-            //     WarningIn
-            //     (
-            //         "FitData<Polynomial>::calcFit"
-            //         "(const List<point>& C, const label facei"
-            //     )   << "Cannot fit face " << facei << " iteration " << iIt
+            //     WarningInFunction
+            //         << "Cannot fit face " << facei << " iteration " << iIt
             //         << " with sum of weights " << sum(coeffsi) << nl
             //         << "    Weights " << coeffsi << nl
             //         << "    Linear weights " << wLin << " " << 1 - wLin << nl
-- 
GitLab


From dc43311e623d225a0e05a7a9f31c40942df4a1da Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Tue, 10 Nov 2015 21:13:04 +0000
Subject: [PATCH 055/141] src/OpenFOAM: Update ...IOErrorIn ->
 ...IOErrorInFunction Avoids the clutter and maintenance effort associated
 with providing the function signature string.

---
 .../HashTables/HashPtrTable/HashPtrTableIO.C  | 11 ++---
 .../HashTables/HashTable/HashTableIO.C        | 11 ++---
 .../LinkedLists/accessTypes/ILList/ILListIO.C |  7 ++--
 .../LinkedLists/accessTypes/LList/LListIO.C   |  5 +--
 .../accessTypes/LPtrList/LPtrListIO.C         |  8 ++--
 .../containers/Lists/FixedList/FixedListIO.C  |  2 +-
 src/OpenFOAM/containers/Lists/List/ListIO.C   |  6 +--
 .../containers/Lists/PackedList/PackedList.C  | 18 ++-------
 .../containers/Lists/PtrList/PtrListIO.C      |  9 ++---
 src/OpenFOAM/containers/Lists/UList/UListIO.C | 10 ++---
 src/OpenFOAM/db/IOobject/IOobjectReadHeader.C | 12 +++---
 .../IOobjects/CompactIOField/CompactIOField.C |  5 +--
 .../IOobjects/CompactIOList/CompactIOList.C   |  5 +--
 src/OpenFOAM/db/IOobjects/IOField/IOField.C   | 14 +++----
 src/OpenFOAM/db/IOobjects/IOList/IOList.C     | 14 +++----
 .../db/IOobjects/IOdictionary/IOdictionary.C  | 10 ++---
 .../db/IOstreams/IOstreams/IOstream.C         | 16 +++-----
 src/OpenFOAM/db/IOstreams/IOstreams/Istream.C | 16 ++++----
 src/OpenFOAM/db/IOstreams/Sstreams/ISstream.C | 34 ++++++++--------
 src/OpenFOAM/db/IOstreams/Sstreams/OSstream.C |  2 +-
 src/OpenFOAM/db/IOstreams/Sstreams/ReadHex.C  |  2 +-
 src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C |  3 +-
 src/OpenFOAM/db/IOstreams/token/token.C       | 11 ++---
 src/OpenFOAM/db/IOstreams/token/tokenIO.C     |  6 +--
 src/OpenFOAM/db/Time/Time.C                   | 14 +++----
 src/OpenFOAM/db/Time/TimeIO.C                 | 10 ++---
 src/OpenFOAM/db/Time/timeSelector.C           |  2 +-
 src/OpenFOAM/db/dictionary/dictionary.C       | 40 +++++++------------
 .../dictionaryEntry/dictionaryEntry.C         |  4 +-
 src/OpenFOAM/db/dictionary/dictionaryIO.C     |  6 +--
 .../db/dictionary/dictionaryTemplates.C       |  6 +--
 src/OpenFOAM/db/dictionary/entry/entryIO.C    | 14 ++-----
 .../functionEntries/codeStream/codeStream.C   | 20 ++++------
 .../includeEntry/includeEntry.C               | 10 ++---
 .../includeEtcEntry/includeEtcEntry.C         |  8 +---
 .../inputModeEntry/inputModeEntry.C           |  4 +-
 .../primitiveEntry/primitiveEntryIO.C         |  5 +--
 .../db/dynamicLibrary/codedBase/codedBase.C   | 26 +++++-------
 .../dlLibraryTable/dlLibraryTable.C           | 14 +++----
 .../dlLibraryTable/dlLibraryTableTemplates.C  | 18 +++------
 src/OpenFOAM/db/error/IOerror.C               |  5 +--
 .../db/objectRegistry/objectRegistry.C        |  6 +--
 .../db/regIOobject/regIOobjectWrite.C         |  6 +--
 src/OpenFOAM/dimensionSet/dimensionSetIO.C    | 35 +++++-----------
 src/OpenFOAM/dimensionSet/dimensionSets.C     |  8 ++--
 .../FieldField/FieldFieldFunctions.C          |  6 +--
 .../fields/Fields/Field/FieldFunctions.C      |  6 +--
 .../GeometricField/GeometricField.C           | 13 ++----
 src/OpenFOAM/global/debug/debug.C             |  3 +-
 .../splineInterpolationWeights.C              |  9 ++---
 .../LduMatrix/LduMatrixPreconditioner.C       | 14 ++-----
 .../LduMatrix/LduMatrix/LduMatrixSmoother.C   | 20 ++++------
 .../LduMatrix/LduMatrix/LduMatrixSolver.C     | 20 ++++------
 src/OpenFOAM/matrices/Matrix/MatrixIO.C       |  2 +-
 .../lduMatrix/lduMatrix/lduMatrixOperations.C |  4 +-
 .../lduMatrix/lduMatrixPreconditioner.C       | 14 ++-----
 .../lduMatrix/lduMatrix/lduMatrixSmoother.C   | 20 ++++------
 .../lduMatrix/lduMatrix/lduMatrixSolver.C     | 20 ++++------
 .../matrices/scalarMatrices/SVD/SVD.C         |  9 ++---
 src/OpenFOAM/matrices/solution/solution.C     | 12 +++---
 .../meshes/meshShapes/cellModel/cellModel.C   |  6 +--
 .../meshes/meshShapes/cellShape/cellShapeIO.C |  6 +--
 .../mapDistribute/IOmapDistribute.C           |  8 ++--
 .../basic/coupled/coupledPolyPatch.C          | 14 ++-----
 .../polyMesh/zones/cellZone/cellZoneNew.C     |  6 +--
 .../polyMesh/zones/faceZone/faceZoneNew.C     |  6 +--
 .../polyMesh/zones/pointZone/pointZoneNew.C   |  6 +--
 .../PatchTools/PatchToolsSortPoints.C         |  6 +--
 .../treeBoundBox/treeBoundBoxTemplates.C      |  9 ++---
 src/OpenFOAM/primitives/Scalar/Scalar.C       |  2 +-
 .../primitives/Tensor/tensor/tensor.C         |  4 +-
 .../primitives/bools/Switch/SwitchIO.C        |  6 +--
 .../functions/DataEntry/TableFile/TableFile.C |  3 +-
 .../primitives/hashes/SHA1/SHA1Digest.C       |  4 +-
 src/OpenFOAM/primitives/ints/int32/int32IO.C  |  2 +-
 src/OpenFOAM/primitives/ints/int64/int64IO.C  |  2 +-
 .../primitives/ints/uint32/uint32IO.C         |  4 +-
 .../primitives/ints/uint64/uint64IO.C         |  4 +-
 .../random/cachedRandom/cachedRandom.C        |  6 +--
 .../primitives/strings/fileName/fileNameIO.C  |  4 +-
 .../primitives/strings/keyType/keyType.C      |  6 +--
 .../primitives/strings/string/stringIO.C      |  4 +-
 src/OpenFOAM/primitives/strings/word/wordIO.C |  6 +--
 .../primitives/strings/wordRe/wordRe.C        |  6 +--
 84 files changed, 309 insertions(+), 491 deletions(-)

diff --git a/src/OpenFOAM/containers/HashTables/HashPtrTable/HashPtrTableIO.C b/src/OpenFOAM/containers/HashTables/HashPtrTable/HashPtrTableIO.C
index b6440ac2860..283968a9b42 100644
--- a/src/OpenFOAM/containers/HashTables/HashPtrTable/HashPtrTableIO.C
+++ b/src/OpenFOAM/containers/HashTables/HashPtrTable/HashPtrTableIO.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -76,9 +76,8 @@ void Foam::HashPtrTable<T, Key, Hash>::read(Istream& is, const INew& inewt)
             }
             else
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "HashPtrTable<T, Key, Hash>::read(Istream&, const INew&)",
                     is
                 )   << "incorrect first token, '(', found " << firstToken.info()
                     << exit(FatalIOError);
@@ -92,9 +91,8 @@ void Foam::HashPtrTable<T, Key, Hash>::read(Istream& is, const INew& inewt)
     {
         if (firstToken.pToken() != token::BEGIN_LIST)
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "HashPtrTable<T, Key, Hash>::read(Istream&, const INew&)",
                 is
             )   << "incorrect first token, '(', found " << firstToken.info()
                 << exit(FatalIOError);
@@ -125,9 +123,8 @@ void Foam::HashPtrTable<T, Key, Hash>::read(Istream& is, const INew& inewt)
     }
     else
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "HashPtrTable<T, Key, Hash>::read(Istream&, const INew&)",
             is
         )   << "incorrect first token, expected <int> or '(', found "
             << firstToken.info()
diff --git a/src/OpenFOAM/containers/HashTables/HashTable/HashTableIO.C b/src/OpenFOAM/containers/HashTables/HashTable/HashTableIO.C
index 676c6977c7f..f56429ce5e2 100644
--- a/src/OpenFOAM/containers/HashTables/HashTable/HashTableIO.C
+++ b/src/OpenFOAM/containers/HashTables/HashTable/HashTableIO.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -145,9 +145,8 @@ Foam::Istream& Foam::operator>>
             }
             else
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "operator>>(Istream&, HashTable<T, Key, Hash>&)",
                     is
                 )   << "incorrect first token, '(', found " << firstToken.info()
                     << exit(FatalIOError);
@@ -161,9 +160,8 @@ Foam::Istream& Foam::operator>>
     {
         if (firstToken.pToken() != token::BEGIN_LIST)
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "operator>>(Istream&, HashTable<T, Key, Hash>&)",
                 is
             )   << "incorrect first token, '(', found " << firstToken.info()
                 << exit(FatalIOError);
@@ -199,9 +197,8 @@ Foam::Istream& Foam::operator>>
     }
     else
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "operator>>(Istream&, HashTable<T, Key, Hash>&)",
             is
         )   << "incorrect first token, expected <int> or '(', found "
             << firstToken.info()
diff --git a/src/OpenFOAM/containers/LinkedLists/accessTypes/ILList/ILListIO.C b/src/OpenFOAM/containers/LinkedLists/accessTypes/ILList/ILListIO.C
index 6a1971bd2a7..befc71d1ebf 100644
--- a/src/OpenFOAM/containers/LinkedLists/accessTypes/ILList/ILListIO.C
+++ b/src/OpenFOAM/containers/LinkedLists/accessTypes/ILList/ILListIO.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -89,9 +89,8 @@ void Foam::ILList<LListBase, T>::read(Istream& is, const INew& iNew)
     {
         if (firstToken.pToken() != token::BEGIN_LIST)
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "operator>>(Istream&, ILList<LListBase, T>&)",
                 is
             )   << "incorrect first token, '(', found " << firstToken.info()
                 << exit(FatalIOError);
@@ -117,7 +116,7 @@ void Foam::ILList<LListBase, T>::read(Istream& is, const INew& iNew)
     }
     else
     {
-        FatalIOErrorIn("operator>>(Istream&, ILList<LListBase, T>&)", is)
+        FatalIOErrorInFunction(is)
             << "incorrect first token, expected <int> or '(', found "
             << firstToken.info()
             << exit(FatalIOError);
diff --git a/src/OpenFOAM/containers/LinkedLists/accessTypes/LList/LListIO.C b/src/OpenFOAM/containers/LinkedLists/accessTypes/LList/LListIO.C
index 9907cbbf70f..c14ff358ea6 100644
--- a/src/OpenFOAM/containers/LinkedLists/accessTypes/LList/LListIO.C
+++ b/src/OpenFOAM/containers/LinkedLists/accessTypes/LList/LListIO.C
@@ -90,9 +90,8 @@ Foam::Istream& Foam::operator>>(Istream& is, LList<LListBase, T>& L)
     {
         if (firstToken.pToken() != token::BEGIN_LIST)
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                " operator>>(Istream&, LList<LListBase, T>&)",
                 is
             )   << "incorrect first token, '(', found " << firstToken.info()
                 << exit(FatalIOError);
@@ -120,7 +119,7 @@ Foam::Istream& Foam::operator>>(Istream& is, LList<LListBase, T>& L)
     }
     else
     {
-        FatalIOErrorIn(" operator>>(Istream&, LList<LListBase, T>&)", is)
+        FatalIOErrorInFunction(is)
             << "incorrect first token, expected <int> or '(', found "
             << firstToken.info()
             << exit(FatalIOError);
diff --git a/src/OpenFOAM/containers/LinkedLists/accessTypes/LPtrList/LPtrListIO.C b/src/OpenFOAM/containers/LinkedLists/accessTypes/LPtrList/LPtrListIO.C
index 089fd58c2ff..6a691c078a7 100644
--- a/src/OpenFOAM/containers/LinkedLists/accessTypes/LPtrList/LPtrListIO.C
+++ b/src/OpenFOAM/containers/LinkedLists/accessTypes/LPtrList/LPtrListIO.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -94,9 +94,8 @@ void Foam::LPtrList<LListBase, T>::read(Istream& is, const INew& iNew)
     {
         if (firstToken.pToken() != token::BEGIN_LIST)
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "LPtrList<LListBase, T>::read(Istream&, const INew&)",
                 is
             )   << "incorrect first token, '(', found " << firstToken.info()
                 << exit(FatalIOError);
@@ -125,9 +124,8 @@ void Foam::LPtrList<LListBase, T>::read(Istream& is, const INew& iNew)
     }
     else
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "LPtrList<LListBase, T>::read(Istream&, const INew&)",
             is
         )   << "incorrect first token, expected <int> or '(', found "
             << firstToken.info()
diff --git a/src/OpenFOAM/containers/Lists/FixedList/FixedListIO.C b/src/OpenFOAM/containers/Lists/FixedList/FixedListIO.C
index 76970057a1c..62e801dd986 100644
--- a/src/OpenFOAM/containers/Lists/FixedList/FixedListIO.C
+++ b/src/OpenFOAM/containers/Lists/FixedList/FixedListIO.C
@@ -68,7 +68,7 @@ Foam::Istream& Foam::operator>>(Foam::Istream& is, FixedList<T, Size>& L)
         }
         else if (!firstToken.isPunctuation())
         {
-            FatalIOErrorIn("operator>>(Istream&, FixedList<T, Size>&)", is)
+            FatalIOErrorInFunction(is)
                 << "incorrect first token, expected <label> "
                    "or '(' or '{', found "
                 << firstToken.info()
diff --git a/src/OpenFOAM/containers/Lists/List/ListIO.C b/src/OpenFOAM/containers/Lists/List/ListIO.C
index 51c7805d72a..4480234cd09 100644
--- a/src/OpenFOAM/containers/Lists/List/ListIO.C
+++ b/src/OpenFOAM/containers/Lists/List/ListIO.C
@@ -129,7 +129,7 @@ Foam::Istream& Foam::operator>>(Istream& is, List<T>& L)
     {
         if (firstToken.pToken() != token::BEGIN_LIST)
         {
-            FatalIOErrorIn("operator>>(Istream&, List<T>&)", is)
+            FatalIOErrorInFunction(is)
                 << "incorrect first token, expected '(', found "
                 << firstToken.info()
                 << exit(FatalIOError);
@@ -146,7 +146,7 @@ Foam::Istream& Foam::operator>>(Istream& is, List<T>& L)
     }
     else
     {
-        FatalIOErrorIn("operator>>(Istream&, List<T>&)", is)
+        FatalIOErrorInFunction(is)
             << "incorrect first token, expected <int> or '(', found "
             << firstToken.info()
             << exit(FatalIOError);
@@ -167,7 +167,7 @@ Foam::List<T> Foam::readList(Istream& is)
     {
         if (firstToken.pToken() != token::BEGIN_LIST)
         {
-            FatalIOErrorIn("readList<T>(Istream&)", is)
+            FatalIOErrorInFunction(is)
                 << "incorrect first token, expected '(', found "
                 << firstToken.info()
                 << exit(FatalIOError);
diff --git a/src/OpenFOAM/containers/Lists/PackedList/PackedList.C b/src/OpenFOAM/containers/Lists/PackedList/PackedList.C
index 03a5088f7b2..a33a3bac163 100644
--- a/src/OpenFOAM/containers/Lists/PackedList/PackedList.C
+++ b/src/OpenFOAM/containers/Lists/PackedList/PackedList.C
@@ -306,11 +306,7 @@ Foam::Istream& Foam::PackedList<nBits>::read(Istream& is)
                 }
                 else
                 {
-                    FatalIOErrorIn
-                    (
-                        "PackedList<nBits>::read(Istream&)",
-                        is
-                    )
+                    FatalIOErrorInFunction(is)
                         << "incorrect list token, expected '(' or '{', found "
                         << firstTok.info()
                         << exit(FatalIOError);
@@ -380,11 +376,7 @@ Foam::Istream& Foam::PackedList<nBits>::read(Istream& is)
         }
         else
         {
-            FatalIOErrorIn
-            (
-                "PackedList<nBits>::read(Istream&)",
-                is
-            )
+            FatalIOErrorInFunction(is)
                 << "incorrect first token, expected '(', found "
                 << firstTok.info()
                 << exit(FatalIOError);
@@ -392,11 +384,7 @@ Foam::Istream& Foam::PackedList<nBits>::read(Istream& is)
     }
     else
     {
-        FatalIOErrorIn
-        (
-            "PackedList<nBits>::read(Istream&)",
-            is
-        )
+        FatalIOErrorInFunction(is)
             << "incorrect first token, expected <int>, '(' or '{', found "
             << firstTok.info()
             << exit(FatalIOError);
diff --git a/src/OpenFOAM/containers/Lists/PtrList/PtrListIO.C b/src/OpenFOAM/containers/Lists/PtrList/PtrListIO.C
index b3728e56ef1..81741ed1c6b 100644
--- a/src/OpenFOAM/containers/Lists/PtrList/PtrListIO.C
+++ b/src/OpenFOAM/containers/Lists/PtrList/PtrListIO.C
@@ -95,9 +95,8 @@ void Foam::PtrList<T>::read(Istream& is, const INew& inewt)
     {
         if (firstToken.pToken() != token::BEGIN_LIST)
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "PtrList<T>::read(Istream&, const INew&)",
                 is
             )   << "incorrect first token, '(', found " << firstToken.info()
                 << exit(FatalIOError);
@@ -118,9 +117,8 @@ void Foam::PtrList<T>::read(Istream& is, const INew& inewt)
 
             if (is.eof())
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "PtrList<T>::read(Istream&, const INew&)",
                     is
                 )   << "Premature EOF after reading " << lastToken.info()
                     << exit(FatalIOError);
@@ -145,9 +143,8 @@ void Foam::PtrList<T>::read(Istream& is, const INew& inewt)
     }
     else
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "PtrList<T>::read(Istream&, const INew&)",
             is
         )   << "incorrect first token, expected <int> or '(', found "
             << firstToken.info()
diff --git a/src/OpenFOAM/containers/Lists/UList/UListIO.C b/src/OpenFOAM/containers/Lists/UList/UListIO.C
index 92ac734cd11..bb888a7fd27 100644
--- a/src/OpenFOAM/containers/Lists/UList/UListIO.C
+++ b/src/OpenFOAM/containers/Lists/UList/UListIO.C
@@ -162,7 +162,7 @@ Foam::Istream& Foam::operator>>(Istream& is, UList<T>& L)
 
         if (s != L.size())
         {
-            FatalIOErrorIn("operator>>(Istream&, UList<T>&)", is)
+            FatalIOErrorInFunction(is)
                 << "incorrect length for UList. Read " << s
                 << " expected " << L.size()
                 << exit(FatalIOError);
@@ -179,7 +179,7 @@ Foam::Istream& Foam::operator>>(Istream& is, UList<T>& L)
         // Set list length to that read
         if (s != L.size())
         {
-            FatalIOErrorIn("operator>>(Istream&, UList<T>&)", is)
+            FatalIOErrorInFunction(is)
                 << "incorrect length for UList. Read " << s
                 << " expected " << L.size()
                 << exit(FatalIOError);
@@ -244,7 +244,7 @@ Foam::Istream& Foam::operator>>(Istream& is, UList<T>& L)
     {
         if (firstToken.pToken() != token::BEGIN_LIST)
         {
-            FatalIOErrorIn("operator>>(Istream&, UList<T>&)", is)
+            FatalIOErrorInFunction(is)
                 << "incorrect first token, expected '(', found "
                 << firstToken.info()
                 << exit(FatalIOError);
@@ -258,7 +258,7 @@ Foam::Istream& Foam::operator>>(Istream& is, UList<T>& L)
 
         if (sll.size() != L.size())
         {
-            FatalIOErrorIn("operator>>(Istream&, UList<T>&)", is)
+            FatalIOErrorInFunction(is)
                 << "incorrect length for UList. Read " << sll.size()
                 << " expected " << L.size()
                 << exit(FatalIOError);
@@ -279,7 +279,7 @@ Foam::Istream& Foam::operator>>(Istream& is, UList<T>& L)
     }
     else
     {
-        FatalIOErrorIn("operator>>(Istream&, UList<T>&)", is)
+        FatalIOErrorInFunction(is)
             << "incorrect first token, expected <int> or '(', found "
             << firstToken.info()
             << exit(FatalIOError);
diff --git a/src/OpenFOAM/db/IOobject/IOobjectReadHeader.C b/src/OpenFOAM/db/IOobject/IOobjectReadHeader.C
index 41f0ff99166..98b5e3e3ee3 100644
--- a/src/OpenFOAM/db/IOobject/IOobjectReadHeader.C
+++ b/src/OpenFOAM/db/IOobject/IOobjectReadHeader.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -41,7 +41,7 @@ bool Foam::IOobject::readHeader(Istream& is)
     {
         if (rOpt_ == MUST_READ || rOpt_ == MUST_READ_IF_MODIFIED)
         {
-            FatalIOErrorIn("IOobject::readHeader(Istream&)", is)
+            FatalIOErrorInFunction(is)
                 << " stream not open for reading essential object from file "
                 << is.name()
                 << exit(FatalIOError);
@@ -49,7 +49,7 @@ bool Foam::IOobject::readHeader(Istream& is)
 
         if (IOobject::debug)
         {
-            SeriousIOErrorIn("IOobject::readHeader(Istream&)", is)
+            SeriousIOErrorInFunction(is)
                 << " stream not open for reading from file "
                 << is.name() << endl;
         }
@@ -75,7 +75,7 @@ bool Foam::IOobject::readHeader(Istream& is)
         const word headerObject(headerDict.lookup("object"));
         if (IOobject::debug && headerObject != name())
         {
-            IOWarningIn("IOobject::readHeader(Istream&)", is)
+            IOWarningInFunction(is)
                 << " object renamed from "
                 << name() << " to " << headerObject
                 << " for file " << is.name() << endl;
@@ -86,7 +86,7 @@ bool Foam::IOobject::readHeader(Istream& is)
     }
     else
     {
-        IOWarningIn("IOobject::readHeader(Istream&)", is)
+        IOWarningInFunction(is)
             << "First token could not be read or is not the keyword 'FoamFile'"
             << nl << nl << "Check header is of the form:" << nl << endl;
 
@@ -104,7 +104,7 @@ bool Foam::IOobject::readHeader(Istream& is)
     {
         if (rOpt_ == MUST_READ || rOpt_ == MUST_READ_IF_MODIFIED)
         {
-            FatalIOErrorIn("IOobject::readHeader(Istream&)", is)
+            FatalIOErrorInFunction(is)
                 << " stream failure while reading header"
                 << " on line " << is.lineNumber()
                 << " of file " << is.name()
diff --git a/src/OpenFOAM/db/IOobjects/CompactIOField/CompactIOField.C b/src/OpenFOAM/db/IOobjects/CompactIOField/CompactIOField.C
index ca6c9fe8d2e..9cdaf8de889 100644
--- a/src/OpenFOAM/db/IOobjects/CompactIOField/CompactIOField.C
+++ b/src/OpenFOAM/db/IOobjects/CompactIOField/CompactIOField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -45,9 +45,8 @@ void Foam::CompactIOField<T, BaseType>::readFromStream()
     }
     else
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "CompactIOField<T, BaseType>::readFromStream()",
             is
         )   << "unexpected class name " << headerClassName()
             << " expected " << typeName << " or " << IOField<T>::typeName
diff --git a/src/OpenFOAM/db/IOobjects/CompactIOList/CompactIOList.C b/src/OpenFOAM/db/IOobjects/CompactIOList/CompactIOList.C
index a7ada172d4f..5d7756dd42f 100644
--- a/src/OpenFOAM/db/IOobjects/CompactIOList/CompactIOList.C
+++ b/src/OpenFOAM/db/IOobjects/CompactIOList/CompactIOList.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -45,9 +45,8 @@ void Foam::CompactIOList<T, BaseType>::readFromStream()
     }
     else
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "CompactIOList<T, BaseType>::readFromStream()",
             is
         )   << "unexpected class name " << headerClassName()
             << " expected " << typeName << " or " << IOList<T>::typeName
diff --git a/src/OpenFOAM/db/IOobjects/IOField/IOField.C b/src/OpenFOAM/db/IOobjects/IOField/IOField.C
index 34b4d9bdca6..9d47700da8f 100644
--- a/src/OpenFOAM/db/IOobjects/IOField/IOField.C
+++ b/src/OpenFOAM/db/IOobjects/IOField/IOField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -35,7 +35,7 @@ Foam::IOField<Type>::IOField(const IOobject& io)
     // Temporary warning
     if (io.readOpt() == IOobject::MUST_READ_IF_MODIFIED)
     {
-        WarningIn("IOField::IOField(const IOobject&)")
+        WarningInFunction
             << "IOField " << name()
             << " constructed with IOobject::MUST_READ_IF_MODIFIED"
             " but IOField does not support automatic rereading."
@@ -65,7 +65,7 @@ Foam::IOField<Type>::IOField(const IOobject& io, const label size)
     // Temporary warning
     if (io.readOpt() == IOobject::MUST_READ_IF_MODIFIED)
     {
-        WarningIn("IOField::IOField(const IOobject&, const label)")
+        WarningInFunction
             << "IOField " << name()
             << " constructed with IOobject::MUST_READ_IF_MODIFIED"
             " but IOField does not support automatic rereading."
@@ -99,7 +99,7 @@ Foam::IOField<Type>::IOField(const IOobject& io, const Field<Type>& f)
     // Temporary warning
     if (io.readOpt() == IOobject::MUST_READ_IF_MODIFIED)
     {
-        WarningIn("IOField::IOField(const IOobject&, const Field<Type>&)")
+        WarningInFunction
             << "IOField " << name()
             << " constructed with IOobject::MUST_READ_IF_MODIFIED"
             " but IOField does not support automatic rereading."
@@ -133,10 +133,8 @@ Foam::IOField<Type>::IOField(const IOobject& io, const Xfer<Field<Type> >& f)
     // Temporary warning
     if (io.readOpt() == IOobject::MUST_READ_IF_MODIFIED)
     {
-        WarningIn
-        (
-            "IOField::IOField(const IOobject&, const Xfer<Field<Type> >&)"
-        )   << "IOField " << name()
+        WarningInFunction
+            << "IOField " << name()
             << " constructed with IOobject::MUST_READ_IF_MODIFIED"
             " but IOField does not support automatic rereading."
             << endl;
diff --git a/src/OpenFOAM/db/IOobjects/IOList/IOList.C b/src/OpenFOAM/db/IOobjects/IOList/IOList.C
index 23760268ef8..1bd99eff9a9 100644
--- a/src/OpenFOAM/db/IOobjects/IOList/IOList.C
+++ b/src/OpenFOAM/db/IOobjects/IOList/IOList.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -35,7 +35,7 @@ Foam::IOList<T>::IOList(const IOobject& io)
     // Temporary warning
     if (io.readOpt() == IOobject::MUST_READ_IF_MODIFIED)
     {
-        WarningIn("IOList::IOList(const IOobject&)")
+        WarningInFunction
             << "IOList " << name()
             << " constructed with IOobject::MUST_READ_IF_MODIFIED"
             " but IOList does not support automatic rereading."
@@ -64,7 +64,7 @@ Foam::IOList<T>::IOList(const IOobject& io, const label size)
     // Temporary warning
     if (io.readOpt() == IOobject::MUST_READ_IF_MODIFIED)
     {
-        WarningIn("IOList::IOList(const IOobject&, const label)")
+        WarningInFunction
             << "IOList " << name()
             << " constructed with IOobject::MUST_READ_IF_MODIFIED"
             " but IOList does not support automatic rereading."
@@ -97,7 +97,7 @@ Foam::IOList<T>::IOList(const IOobject& io, const List<T>& list)
     // Temporary warning
     if (io.readOpt() == IOobject::MUST_READ_IF_MODIFIED)
     {
-        WarningIn("IOList::IOList(const IOobject&, const List<T>&)")
+        WarningInFunction
             << "IOList " << name()
             << " constructed with IOobject::MUST_READ_IF_MODIFIED"
             " but IOList does not support automatic rereading."
@@ -131,10 +131,8 @@ Foam::IOList<T>::IOList(const IOobject& io, const Xfer<List<T> >& list)
     // Temporary warning
     if (io.readOpt() == IOobject::MUST_READ_IF_MODIFIED)
     {
-        WarningIn
-        (
-            "IOList::IOList(const IOobject&, const Xfer<List<T> >&)"
-        )   << "IOList " << name()
+        WarningInFunction
+            << "IOList " << name()
             << " constructed with IOobject::MUST_READ_IF_MODIFIED"
             " but IOList does not support automatic rereading."
             << endl;
diff --git a/src/OpenFOAM/db/IOobjects/IOdictionary/IOdictionary.C b/src/OpenFOAM/db/IOobjects/IOdictionary/IOdictionary.C
index 75dbaa8dd43..d14ffb8e0f9 100644
--- a/src/OpenFOAM/db/IOobjects/IOdictionary/IOdictionary.C
+++ b/src/OpenFOAM/db/IOobjects/IOdictionary/IOdictionary.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -49,7 +49,7 @@ Foam::IOdictionary::IOdictionary(const IOobject& io)
     // Temporary warning
     if (debug && io.readOpt() == IOobject::MUST_READ)
     {
-        WarningIn("IOdictionary::IOdictionary(const IOobject&)")
+        WarningInFunction
             << "Dictionary " << name()
             << " constructed with IOobject::MUST_READ"
             " instead of IOobject::MUST_READ_IF_MODIFIED." << nl
@@ -105,10 +105,8 @@ Foam::IOdictionary::IOdictionary(const IOobject& io, const dictionary& dict)
     // Temporary warning
     if (debug && io.readOpt() == IOobject::MUST_READ)
     {
-        WarningIn
-        (
-            "IOdictionary::IOdictionary(const IOobject& const dictionary&)"
-        )   << "Dictionary " << name()
+        WarningInFunction
+            << "Dictionary " << name()
             << " constructed with IOobject::MUST_READ"
             " instead of IOobject::MUST_READ_IF_MODIFIED." << nl
             << "Use MUST_READ_IF_MODIFIED if you need automatic rereading."
diff --git a/src/OpenFOAM/db/IOstreams/IOstreams/IOstream.C b/src/OpenFOAM/db/IOstreams/IOstreams/IOstream.C
index 5b8dd83c354..5f80c3a4a36 100644
--- a/src/OpenFOAM/db/IOstreams/IOstreams/IOstream.C
+++ b/src/OpenFOAM/db/IOstreams/IOstreams/IOstream.C
@@ -48,7 +48,7 @@ Foam::IOstream::formatEnum(const word& format)
     }
     else
     {
-        WarningIn("IOstream::formatEnum(const word&)")
+        WarningInFunction
             << "bad format specifier '" << format << "', using 'ascii'"
             << endl;
 
@@ -77,7 +77,7 @@ Foam::IOstream::compressionEnum(const word& compression)
     }
     else
     {
-        WarningIn("IOstream::compressionEnum(const word&)")
+        WarningInFunction
             << "bad compression specifier '" << compression
             << "', using 'uncompressed'"
             << endl;
@@ -93,10 +93,8 @@ bool Foam::IOstream::check(const char* operation) const
 {
     if (bad())
     {
-        FatalIOErrorIn
-        (
-            "IOstream::check(const char*) const", *this
-        )   << "error in IOstream " << name() << " for operation " << operation
+        FatalIOErrorInFunction(*this)
+            << "error in IOstream " << name() << " for operation " << operation
             << exit(FatalIOError);
     }
 
@@ -108,10 +106,8 @@ void Foam::IOstream::fatalCheck(const char* operation) const
 {
     if (bad())
     {
-        FatalIOErrorIn
-        (
-            "IOstream::fatalCheck(const char*) const", *this
-        )   << "error in IOstream " << name() << " for operation " << operation
+        FatalIOErrorInFunction(*this)
+            << "error in IOstream " << name() << " for operation " << operation
             << exit(FatalIOError);
     }
 }
diff --git a/src/OpenFOAM/db/IOstreams/IOstreams/Istream.C b/src/OpenFOAM/db/IOstreams/IOstreams/Istream.C
index 070bf9e07ba..06dcc9200e8 100644
--- a/src/OpenFOAM/db/IOstreams/IOstreams/Istream.C
+++ b/src/OpenFOAM/db/IOstreams/IOstreams/Istream.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -31,13 +31,13 @@ void Foam::Istream::putBack(const token& t)
 {
     if (bad())
     {
-        FatalIOErrorIn("void Istream::putBack(const token&)", *this)
+        FatalIOErrorInFunction(*this)
             << "Attempt to put back onto bad stream"
             << exit(FatalIOError);
     }
     else if (putBack_)
     {
-        FatalIOErrorIn("void Istream::putBack(const token&)", *this)
+        FatalIOErrorInFunction(*this)
             << "Attempt to put back another token"
             << exit(FatalIOError);
     }
@@ -53,7 +53,7 @@ bool Foam::Istream::getBack(token& t)
 {
     if (bad())
     {
-        FatalIOErrorIn("void Istream::getBack(token&)", *this)
+        FatalIOErrorInFunction(*this)
             << "Attempt to get back from bad stream"
             << exit(FatalIOError);
     }
@@ -91,7 +91,7 @@ Foam::Istream& Foam::Istream::readBegin(const char* funcName)
     if (delimiter != token::BEGIN_LIST)
     {
         setBad();
-        FatalIOErrorIn("Istream::readBegin(const char*)", *this)
+        FatalIOErrorInFunction(*this)
             << "Expected a '" << token::BEGIN_LIST
             << "' while reading " << funcName
             << ", found " << delimiter.info()
@@ -108,7 +108,7 @@ Foam::Istream& Foam::Istream::readEnd(const char* funcName)
     if (delimiter != token::END_LIST)
     {
         setBad();
-        FatalIOErrorIn("Istream::readEnd(const char*)", *this)
+        FatalIOErrorInFunction(*this)
             << "Expected a '" << token::END_LIST
             << "' while reading " << funcName
             << ", found " << delimiter.info()
@@ -135,7 +135,7 @@ char Foam::Istream::readBeginList(const char* funcName)
     if (delimiter != token::BEGIN_LIST && delimiter != token::BEGIN_BLOCK)
     {
         setBad();
-        FatalIOErrorIn("Istream::readBeginList(const char*)", *this)
+        FatalIOErrorInFunction(*this)
             << "Expected a '" << token::BEGIN_LIST
             << "' or a '" << token::BEGIN_BLOCK
             << "' while reading " << funcName
@@ -156,7 +156,7 @@ char Foam::Istream::readEndList(const char* funcName)
     if (delimiter != token::END_LIST && delimiter != token::END_BLOCK)
     {
         setBad();
-        FatalIOErrorIn("Istream::readEndList(const char*)", *this)
+        FatalIOErrorInFunction(*this)
             << "Expected a '" << token::END_LIST
             << "' or a '" << token::END_BLOCK
             << "' while reading " << funcName
diff --git a/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.C b/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.C
index 119da7dd124..1cfabe128c1 100644
--- a/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.C
+++ b/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.C
@@ -321,7 +321,7 @@ Foam::Istream& Foam::ISstream::read(token& t)
                     // runaway argument - avoid buffer overflow
                     buf[maxLen-1] = '\0';
 
-                    FatalIOErrorIn("ISstream::read(token&)", *this)
+                    FatalIOErrorInFunction(*this)
                         << "number '" << buf << "...'\n"
                         << "    is too long (max. " << maxLen << " characters)"
                         << exit(FatalIOError);
@@ -440,7 +440,7 @@ Foam::Istream& Foam::ISstream::read(word& str)
         {
             buf[errLen] = '\0';
 
-            FatalIOErrorIn("ISstream::read(word&)", *this)
+            FatalIOErrorInFunction(*this)
                 << "word '" << buf << "...'\n"
                 << "    is too long (max. " << maxLen << " characters)"
                 << exit(FatalIOError);
@@ -454,7 +454,7 @@ Foam::Istream& Foam::ISstream::read(word& str)
     {
         buf[errLen] = buf[nChar] = '\0';
 
-        FatalIOErrorIn("ISstream::read(word&)", *this)
+        FatalIOErrorInFunction(*this)
             << "problem while reading word '" << buf << "...' after "
             << nChar << " characters\n"
             << exit(FatalIOError);
@@ -464,7 +464,7 @@ Foam::Istream& Foam::ISstream::read(word& str)
 
     if (nChar == 0)
     {
-        FatalIOErrorIn("ISstream::read(word&)", *this)
+        FatalIOErrorInFunction(*this)
             << "invalid first character found : " << c
             << exit(FatalIOError);
     }
@@ -488,7 +488,7 @@ Foam::Istream& Foam::ISstream::read(string& str)
 
     if (!get(c))
     {
-        FatalIOErrorIn("ISstream::read(string&)", *this)
+        FatalIOErrorInFunction(*this)
             << "cannot read start of string"
             << exit(FatalIOError);
 
@@ -498,7 +498,7 @@ Foam::Istream& Foam::ISstream::read(string& str)
     // Note, we could also handle single-quoted strings here (if desired)
     if (c != token::BEGIN_STRING)
     {
-        FatalIOErrorIn("ISstream::read(string&)", *this)
+        FatalIOErrorInFunction(*this)
             << "Incorrect start of string character found : " << c
             << exit(FatalIOError);
 
@@ -536,7 +536,7 @@ Foam::Istream& Foam::ISstream::read(string& str)
             {
                 buf[errLen] = buf[nChar] = '\0';
 
-                FatalIOErrorIn("ISstream::read(string&)", *this)
+                FatalIOErrorInFunction(*this)
                     << "found '\\n' while reading string \""
                     << buf << "...\""
                     << exit(FatalIOError);
@@ -558,7 +558,7 @@ Foam::Istream& Foam::ISstream::read(string& str)
         {
             buf[errLen] = '\0';
 
-            FatalIOErrorIn("ISstream::read(string&)", *this)
+            FatalIOErrorInFunction(*this)
                 << "string \"" << buf << "...\"\n"
                 << "    is too long (max. " << maxLen << " characters)"
                 << exit(FatalIOError);
@@ -571,7 +571,7 @@ Foam::Istream& Foam::ISstream::read(string& str)
     // don't worry about a dangling backslash if string terminated prematurely
     buf[errLen] = buf[nChar] = '\0';
 
-    FatalIOErrorIn("ISstream::read(string&)", *this)
+    FatalIOErrorInFunction(*this)
         << "problem while reading string \"" << buf << "...\""
         << exit(FatalIOError);
 
@@ -592,7 +592,7 @@ Foam::Istream& Foam::ISstream::readVariable(string& str)
 
     if (!get(c) || c != '$')
     {
-        FatalIOErrorIn("ISstream::readVariable(string&)", *this)
+        FatalIOErrorInFunction(*this)
             << "invalid first character found : " << c
             << exit(FatalIOError);
     }
@@ -620,7 +620,7 @@ Foam::Istream& Foam::ISstream::readVariable(string& str)
             {
                 buf[errLen] = '\0';
 
-                FatalIOErrorIn("ISstream::readVariable(string&)", *this)
+                FatalIOErrorInFunction(*this)
                     << "word '" << buf << "...'\n"
                     << "    is too long (max. " << maxLen << " characters)"
                     << exit(FatalIOError);
@@ -656,7 +656,7 @@ Foam::Istream& Foam::ISstream::readVariable(string& str)
             {
                 buf[errLen] = '\0';
 
-                FatalIOErrorIn("ISstream::readVariable(string&)", *this)
+                FatalIOErrorInFunction(*this)
                     << "word '" << buf << "...'\n"
                     << "    is too long (max. " << maxLen << " characters)"
                     << exit(FatalIOError);
@@ -671,7 +671,7 @@ Foam::Istream& Foam::ISstream::readVariable(string& str)
     {
         buf[errLen] = buf[nChar] = '\0';
 
-        FatalIOErrorIn("ISstream::readVariable(string&)", *this)
+        FatalIOErrorInFunction(*this)
             << "problem while reading string '" << buf << "...' after "
             << nChar << " characters\n"
             << exit(FatalIOError);
@@ -681,7 +681,7 @@ Foam::Istream& Foam::ISstream::readVariable(string& str)
 
     if (nChar == 0)
     {
-        FatalIOErrorIn("ISstream::readVariable(string&)", *this)
+        FatalIOErrorInFunction(*this)
             << "invalid first character found : " << c
             << exit(FatalIOError);
     }
@@ -733,7 +733,7 @@ Foam::Istream& Foam::ISstream::readVerbatim(string& str)
         {
             buf[errLen] = '\0';
 
-            FatalIOErrorIn("ISstream::readVerbatim(string&)", *this)
+            FatalIOErrorInFunction(*this)
                 << "string \"" << buf << "...\"\n"
                 << "    is too long (max. " << maxLen << " characters)"
                 << exit(FatalIOError);
@@ -746,7 +746,7 @@ Foam::Istream& Foam::ISstream::readVerbatim(string& str)
     // don't worry about a dangling backslash if string terminated prematurely
     buf[errLen] = buf[nChar] = '\0';
 
-    FatalIOErrorIn("ISstream::readVerbatim(string&)", *this)
+    FatalIOErrorInFunction(*this)
         << "problem while reading string \"" << buf << "...\""
         << exit(FatalIOError);
 
@@ -783,7 +783,7 @@ Foam::Istream& Foam::ISstream::read(char* buf, std::streamsize count)
 {
     if (format() != BINARY)
     {
-        FatalIOErrorIn("ISstream::read(char*, std::streamsize)", *this)
+        FatalIOErrorInFunction(*this)
             << "stream format not binary"
             << exit(FatalIOError);
     }
diff --git a/src/OpenFOAM/db/IOstreams/Sstreams/OSstream.C b/src/OpenFOAM/db/IOstreams/Sstreams/OSstream.C
index 1657e755bcb..2d35ae11939 100644
--- a/src/OpenFOAM/db/IOstreams/Sstreams/OSstream.C
+++ b/src/OpenFOAM/db/IOstreams/Sstreams/OSstream.C
@@ -219,7 +219,7 @@ Foam::Ostream& Foam::OSstream::write(const char* buf, std::streamsize count)
 {
     if (format() != BINARY)
     {
-        FatalIOErrorIn("Ostream::write(const char*, std::streamsize)", *this)
+        FatalIOErrorInFunction(*this)
             << "stream format not binary"
             << abort(FatalIOError);
     }
diff --git a/src/OpenFOAM/db/IOstreams/Sstreams/ReadHex.C b/src/OpenFOAM/db/IOstreams/Sstreams/ReadHex.C
index fd1033dd207..2ab4265b1a6 100644
--- a/src/OpenFOAM/db/IOstreams/Sstreams/ReadHex.C
+++ b/src/OpenFOAM/db/IOstreams/Sstreams/ReadHex.C
@@ -52,7 +52,7 @@ T Foam::ReadHex(ISstream& is)
 
         if (!isxdigit(c))
         {
-            FatalIOErrorIn("ReadHex(ISstream&)", is)
+            FatalIOErrorInFunction(is)
                 << "Illegal hex digit: '" << c << "'"
                 << exit(FatalIOError);
         }
diff --git a/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C b/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C
index 7549fac3754..c9dae122947 100644
--- a/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C
+++ b/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C
@@ -76,9 +76,8 @@ Foam::Istream& Foam::ITstream::read(token& t)
     {
         if (eof())
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "ITstream::read(token&)",
                 *this
             )   << "attempt to read beyond EOF"
                 << exit(FatalIOError);
diff --git a/src/OpenFOAM/db/IOstreams/token/token.C b/src/OpenFOAM/db/IOstreams/token/token.C
index 83b5542c64a..857d4f6b482 100644
--- a/src/OpenFOAM/db/IOstreams/token/token.C
+++ b/src/OpenFOAM/db/IOstreams/token/token.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -67,7 +67,7 @@ Foam::autoPtr<Foam::token::compound> Foam::token::compound::New
 
     if (cstrIter == IstreamConstructorTablePtr_->end())
     {
-        FatalIOErrorIn("token::compound::New(const word&, Istream&)", is)
+        FatalIOErrorInFunction(is)
             << "Unknown compound type " << compoundType << nl << nl
             << "Valid compound types:" << endl
             << IstreamConstructorTablePtr_->sortedToc()
@@ -96,11 +96,8 @@ Foam::token::compound& Foam::token::transferCompoundToken(const Istream& is)
     {
         if (compoundTokenPtr_->empty())
         {
-            FatalIOErrorIn
-            (
-                "token::transferCompoundToken(const Istream& is)",
-                is
-            )   << "compound has already been transfered from token\n    "
+            FatalIOErrorInFunction(is)
+                << "compound has already been transfered from token\n    "
                 << info() << abort(FatalIOError);
         }
         else
diff --git a/src/OpenFOAM/db/IOstreams/token/tokenIO.C b/src/OpenFOAM/db/IOstreams/token/tokenIO.C
index 7dc65240b88..2a2a8a70063 100644
--- a/src/OpenFOAM/db/IOstreams/token/tokenIO.C
+++ b/src/OpenFOAM/db/IOstreams/token/tokenIO.C
@@ -54,7 +54,7 @@ Foam::Ostream& Foam::operator<<(Ostream& os, const token& t)
     {
         case token::UNDEFINED:
             os << "UNDEFINED";
-            WarningIn("Ostream& operator<<(Ostream&, const token&)")
+            WarningInFunction
                 << "Undefined token" << endl;
         break;
 
@@ -94,13 +94,13 @@ Foam::Ostream& Foam::operator<<(Ostream& os, const token& t)
 
         case token::ERROR:
             os << "ERROR";
-            WarningIn("Ostream& operator<<(Ostream&, const token&)")
+            WarningInFunction
                 << "Error token" << endl;
         break;
 
         default:
             os << "UNKNOWN";
-            SeriousErrorIn("Ostream& operator<<(Ostream&, const token&)")
+            SeriousErrorInFunction
                 << "Unknown token"
                 << endl;
     }
diff --git a/src/OpenFOAM/db/Time/Time.C b/src/OpenFOAM/db/Time/Time.C
index 77ca3ca783d..da9a9807c37 100644
--- a/src/OpenFOAM/db/Time/Time.C
+++ b/src/OpenFOAM/db/Time/Time.C
@@ -178,7 +178,7 @@ void Foam::Time::setControls()
         }
         else
         {
-            FatalIOErrorIn("Time::setControls()", controlDict_)
+            FatalIOErrorInFunction(controlDict_)
                 << "expected startTime, firstTime or latestTime"
                 << " found '" << startFrom << "'"
                 << exit(FatalIOError);
@@ -225,7 +225,7 @@ void Foam::Time::setControls()
             // Update the time formatting
             setTime(startTime_, 0);
 
-            WarningIn("Time::setControls()")
+            WarningInFunction
                 << "Increasing the timePrecision from " << oldPrecision
                 << " to " << precision_
                 << " to support the formatting of the current time directory "
@@ -251,7 +251,7 @@ void Foam::Time::setControls()
           > Pstream::nProcs()*deltaT_/10.0
         )
         {
-            FatalIOErrorIn("Time::setControls()", controlDict_)
+            FatalIOErrorInFunction(controlDict_)
                 << "Start time is not the same for all processors" << nl
                 << "processor " << Pstream::myProcNo() << " has startTime "
                 << startTime_ << exit(FatalIOError);
@@ -318,7 +318,7 @@ void Foam::Time::setControls()
 
             if (storedTimeName != timeName())
             {
-                IOWarningIn("Time::setControls()", timeDict)
+                IOWarningInFunction(timeDict)
                     << "Time read from time dictionary " << storedTimeName
                     << " differs from actual time " << timeName() << '.' << nl
                     << "    This may cause unexpected database behaviour."
@@ -1308,7 +1308,7 @@ Foam::Time& Foam::Time::operator++()
 
                 if (precision_ != oldPrecision)
                 {
-                    WarningIn("Time::operator++()")
+                    WarningInFunction
                         << "Increased the timePrecision from " << oldPrecision
                         << " to " << precision_
                         << " to distinguish between timeNames at time "
@@ -1318,7 +1318,7 @@ Foam::Time& Foam::Time::operator++()
                     if (precision_ == maxPrecision_)
                     {
                         // Reached maxPrecision limit
-                        WarningIn("Time::operator++()")
+                        WarningInFunction
                             << "Current time name " << dimensionedScalar::name()
                             << nl
                             << "    The maximum time precision has been reached"
@@ -1338,7 +1338,7 @@ Foam::Time& Foam::Time::operator++()
                         )
                     )
                     {
-                        WarningIn("Time::operator++()")
+                        WarningInFunction
                             << "Current time name " << dimensionedScalar::name()
                             << " is set to an instance prior to the "
                                "previous one "
diff --git a/src/OpenFOAM/db/Time/TimeIO.C b/src/OpenFOAM/db/Time/TimeIO.C
index 692b83db44f..10b00f77f67 100644
--- a/src/OpenFOAM/db/Time/TimeIO.C
+++ b/src/OpenFOAM/db/Time/TimeIO.C
@@ -213,7 +213,7 @@ void Foam::Time::readDict()
     {
         if (writeControl_ == wcTimeStep && label(writeInterval_) < 1)
         {
-            FatalIOErrorIn("Time::readDict()", controlDict_)
+            FatalIOErrorInFunction(controlDict_)
                 << "writeInterval < 1 for writeControl timeStep"
                 << exit(FatalIOError);
         }
@@ -247,7 +247,7 @@ void Foam::Time::readDict()
              && label(secondaryWriteInterval_) < 1
             )
             {
-                FatalIOErrorIn("Time::readDict()", controlDict_)
+                FatalIOErrorInFunction(controlDict_)
                     << "secondaryWriteInterval < 1"
                     << " for secondaryWriteControl timeStep"
                     << exit(FatalIOError);
@@ -307,7 +307,7 @@ void Foam::Time::readDict()
     {
         if (purgeWrite_ < 0)
         {
-            WarningIn("Time::readDict()")
+            WarningInFunction
                 << "invalid value for purgeWrite " << purgeWrite_
                 << ", should be >= 0, setting to 0"
                 << endl;
@@ -320,7 +320,7 @@ void Foam::Time::readDict()
     {
         if (secondaryPurgeWrite_ < 0)
         {
-            WarningIn("Time::readDict()")
+            WarningInFunction
                 << "invalid value for secondaryPurgeWrite "
                 << secondaryPurgeWrite_
                 << ", should be >= 0, setting to 0"
@@ -348,7 +348,7 @@ void Foam::Time::readDict()
         }
         else
         {
-            WarningIn("Time::readDict()")
+            WarningInFunction
                 << "unsupported time format " << formatName
                 << endl;
         }
diff --git a/src/OpenFOAM/db/Time/timeSelector.C b/src/OpenFOAM/db/Time/timeSelector.C
index 5b66e7a2640..ecffc55dc98 100644
--- a/src/OpenFOAM/db/Time/timeSelector.C
+++ b/src/OpenFOAM/db/Time/timeSelector.C
@@ -267,7 +267,7 @@ Foam::instantList Foam::timeSelector::select0
 
     if (timeDirs.empty())
     {
-        WarningIn(args.executable())
+        WarningInFunction
             << "No time specified or available, selecting 'constant'"
             << endl;
 
diff --git a/src/OpenFOAM/db/dictionary/dictionary.C b/src/OpenFOAM/db/dictionary/dictionary.C
index d8d791a21d6..0221242a832 100644
--- a/src/OpenFOAM/db/dictionary/dictionary.C
+++ b/src/OpenFOAM/db/dictionary/dictionary.C
@@ -435,9 +435,8 @@ const Foam::entry& Foam::dictionary::lookupEntry
 
     if (entryPtr == NULL)
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "dictionary::lookupEntry(const word&, bool, bool) const",
             *this
         )   << "keyword " << keyword << " is undefined in dictionary "
             << name()
@@ -515,10 +514,8 @@ const Foam::entry* Foam::dictionary::lookupScopedEntryPtr
                     // Go to parent
                     if (&dictPtr->parent_ == &dictionary::null)
                     {
-                        FatalIOErrorIn
+                        FatalIOErrorInFunction
                         (
-                            "dictionary::lookupScopedEntryPtr"
-                            "(const word&, bool, bool)",
                             *this
                         )   << "No parent of current dictionary"
                             << " when searching for "
@@ -549,10 +546,8 @@ const Foam::entry* Foam::dictionary::lookupScopedEntryPtr
 
                 if (!entPtr)
                 {
-                    FatalIOErrorIn
+                    FatalIOErrorInFunction
                     (
-                        "dictionary::lookupScopedEntryPtr"
-                        "(const word&, bool, bool)",
                         *this
                     )   << "keyword " << firstWord
                         << " is undefined in dictionary "
@@ -641,9 +636,8 @@ const Foam::dictionary& Foam::dictionary::subDict(const word& keyword) const
 
     if (entryPtr == NULL)
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "dictionary::subDict(const word& keyword) const",
             *this
         )   << "keyword " << keyword << " is undefined in dictionary "
             << name()
@@ -659,9 +653,8 @@ Foam::dictionary& Foam::dictionary::subDict(const word& keyword)
 
     if (entryPtr == NULL)
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "dictionary::subDict(const word& keyword)",
             *this
         )   << "keyword " << keyword << " is undefined in dictionary "
             << name()
@@ -683,9 +676,8 @@ Foam::dictionary Foam::dictionary::subOrEmptyDict
     {
         if (mustRead)
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "dictionary::subOrEmptyDict(const word& keyword, const bool)",
                 *this
             )   << "keyword " << keyword << " is undefined in dictionary "
                 << name()
@@ -777,7 +769,7 @@ bool Foam::dictionary::add(entry* entryPtr, bool mergeEntry)
             }
             else
             {
-                IOWarningIn("dictionary::add(entry*, bool)", (*this))
+                IOWarningInFunction((*this))
                     << "problem replacing entry "<< entryPtr->keyword()
                     << " in dictionary " << name() << endl;
 
@@ -806,7 +798,7 @@ bool Foam::dictionary::add(entry* entryPtr, bool mergeEntry)
     }
     else
     {
-        IOWarningIn("dictionary::add(entry*, bool)", (*this))
+        IOWarningInFunction((*this))
             << "attempt to add entry "<< entryPtr->keyword()
             << " which already exists in dictionary " << name()
             << endl;
@@ -943,9 +935,8 @@ bool Foam::dictionary::changeKeyword
 
     if (iter()->keyword().isPattern())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "dictionary::changeKeyword(const word&, const word&, bool)",
             *this
         )   << "Old keyword "<< oldKeyword
             << " is a pattern."
@@ -984,9 +975,8 @@ bool Foam::dictionary::changeKeyword
         }
         else
         {
-            IOWarningIn
+            IOWarningInFunction
             (
-                "dictionary::changeKeyword(const word&, const word&, bool)",
                 *this
             )   << "cannot rename keyword "<< oldKeyword
                 << " to existing keyword " << newKeyword
@@ -1019,7 +1009,7 @@ bool Foam::dictionary::merge(const dictionary& dict)
     // Check for assignment to self
     if (this == &dict)
     {
-        FatalIOErrorIn("dictionary::merge(const dictionary&)", *this)
+        FatalIOErrorInFunction(*this)
             << "attempted merge to self for dictionary " << name()
             << abort(FatalIOError);
     }
@@ -1100,7 +1090,7 @@ void Foam::dictionary::operator=(const dictionary& rhs)
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalIOErrorIn("dictionary::operator=(const dictionary&)", *this)
+        FatalIOErrorInFunction(*this)
             << "attempted assignment to self for dictionary " << name()
             << abort(FatalIOError);
     }
@@ -1123,7 +1113,7 @@ void Foam::dictionary::operator+=(const dictionary& rhs)
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalIOErrorIn("dictionary::operator+=(const dictionary&)", *this)
+        FatalIOErrorInFunction(*this)
             << "attempted addition assignment to self for dictionary " << name()
             << abort(FatalIOError);
     }
@@ -1140,7 +1130,7 @@ void Foam::dictionary::operator|=(const dictionary& rhs)
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalIOErrorIn("dictionary::operator|=(const dictionary&)", *this)
+        FatalIOErrorInFunction(*this)
             << "attempted assignment to self for dictionary " << name()
             << abort(FatalIOError);
     }
@@ -1160,7 +1150,7 @@ void Foam::dictionary::operator<<=(const dictionary& rhs)
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalIOErrorIn("dictionary::operator<<=(const dictionary&)", *this)
+        FatalIOErrorInFunction(*this)
             << "attempted assignment to self for dictionary " << name()
             << abort(FatalIOError);
     }
diff --git a/src/OpenFOAM/db/dictionary/dictionaryEntry/dictionaryEntry.C b/src/OpenFOAM/db/dictionary/dictionaryEntry/dictionaryEntry.C
index 26a6a45f575..9ffe1016205 100644
--- a/src/OpenFOAM/db/dictionary/dictionaryEntry/dictionaryEntry.C
+++ b/src/OpenFOAM/db/dictionary/dictionaryEntry/dictionaryEntry.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -80,7 +80,7 @@ Foam::label Foam::dictionaryEntry::endLineNumber() const
 
 Foam::ITstream& Foam::dictionaryEntry::stream() const
 {
-    FatalIOErrorIn("ITstream& primitiveEntry::stream() const", *this)
+    FatalIOErrorInFunction(*this)
         << "Attempt to return dictionary entry as a primitive"
         << abort(FatalIOError);
 
diff --git a/src/OpenFOAM/db/dictionary/dictionaryIO.C b/src/OpenFOAM/db/dictionary/dictionaryIO.C
index 48e92e5340e..f6beeb1e916 100644
--- a/src/OpenFOAM/db/dictionary/dictionaryIO.C
+++ b/src/OpenFOAM/db/dictionary/dictionaryIO.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -88,7 +88,7 @@ bool Foam::dictionary::read(Istream& is, const bool keepHeader)
 
     if (!is.good())
     {
-        FatalIOErrorIn("dictionary::read(Istream&, bool)", is)
+        FatalIOErrorInFunction(is)
             << "Istream not OK for reading dictionary "
             << exit(FatalIOError);
 
@@ -193,7 +193,7 @@ void Foam::dictionary::write(Ostream& os, bool subDict) const
         // Check stream before going to next entry.
         if (!os.good())
         {
-            WarningIn("dictionary::write(Ostream&, bool subDict)")
+            WarningInFunction
                 << "Can't write entry " << iter().keyword()
                 << " for dictionary " << name()
                 << endl;
diff --git a/src/OpenFOAM/db/dictionary/dictionaryTemplates.C b/src/OpenFOAM/db/dictionary/dictionaryTemplates.C
index 313c06ccd76..5d2164e52be 100644
--- a/src/OpenFOAM/db/dictionary/dictionaryTemplates.C
+++ b/src/OpenFOAM/db/dictionary/dictionaryTemplates.C
@@ -47,7 +47,7 @@ T Foam::dictionary::lookupOrDefault
     {
         if (writeOptionalEntries)
         {
-            IOInfoIn("dictionary::lookupOrDefault", *this)
+            IOInfoInFunction(*this)
                 << "Optional entry '" << keyword << "' is not present,"
                 << " returning the default value '" << deflt << "'"
                 << endl;
@@ -77,7 +77,7 @@ T Foam::dictionary::lookupOrAddDefault
     {
         if (writeOptionalEntries)
         {
-            IOInfoIn("dictionary::lookupOrAddDefault", *this)
+            IOInfoInFunction(*this)
                 << "Optional entry '" << keyword << "' is not present,"
                 << " adding and returning the default value '" << deflt << "'"
                 << endl;
@@ -109,7 +109,7 @@ bool Foam::dictionary::readIfPresent
     {
         if (writeOptionalEntries)
         {
-            IOInfoIn("dictionary::readIfPresent", *this)
+            IOInfoInFunction(*this)
                 << "Optional entry '" << keyword << "' is not present,"
                 << " the default value '" << val << "' will be used."
                 << endl;
diff --git a/src/OpenFOAM/db/dictionary/entry/entryIO.C b/src/OpenFOAM/db/dictionary/entry/entryIO.C
index 296def78ed2..6e7d257688d 100644
--- a/src/OpenFOAM/db/dictionary/entry/entryIO.C
+++ b/src/OpenFOAM/db/dictionary/entry/entryIO.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -156,11 +156,7 @@ bool Foam::entry::New(dictionary& parentDict, Istream& is)
                 }
                 else
                 {
-                    FatalIOErrorIn
-                    (
-                        "entry::New(const dictionary& parentDict, Istream&)",
-                        is
-                    )
+                    FatalIOErrorInFunction(is)
                         << "Attempt to use undefined variable " << varName
                         << " as keyword"
                         << exit(FatalIOError);
@@ -228,11 +224,7 @@ bool Foam::entry::New(dictionary& parentDict, Istream& is)
                 }
                 else if (functionEntries::inputModeEntry::error())
                 {
-                    FatalIOErrorIn
-                    (
-                        "entry::New(const dictionary& parentDict, Istream&)",
-                        is
-                    )
+                    FatalIOErrorInFunction(is)
                         << "ERROR! duplicate entry: " << keyword
                         << exit(FatalIOError);
 
diff --git a/src/OpenFOAM/db/dictionary/functionEntries/codeStream/codeStream.C b/src/OpenFOAM/db/dictionary/functionEntries/codeStream/codeStream.C
index 380f5dfd22d..f0e90284fb8 100644
--- a/src/OpenFOAM/db/dictionary/functionEntries/codeStream/codeStream.C
+++ b/src/OpenFOAM/db/dictionary/functionEntries/codeStream/codeStream.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -158,9 +158,8 @@ Foam::functionEntries::codeStream::getFunction
 
                 if (!dynCode.copyOrCreateFiles(true))
                 {
-                    FatalIOErrorIn
+                    FatalIOErrorInFunction
                     (
-                        "functionEntries::codeStream::execute(..)",
                         parentDict
                     )   << "Failed writing files for" << nl
                         << dynCode.libRelPath() << nl
@@ -170,9 +169,8 @@ Foam::functionEntries::codeStream::getFunction
 
             if (!dynCode.wmakeLibso())
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "functionEntries::codeStream::execute(..)",
                     parentDict
                 )   << "Failed wmake " << dynCode.libRelPath() << nl
                     << exit(FatalIOError);
@@ -223,9 +221,8 @@ Foam::functionEntries::codeStream::getFunction
 
                 if (mySize < masterSize)
                 {
-                    FatalIOErrorIn
+                    FatalIOErrorInFunction
                     (
-                        "functionEntries::codeStream::execute(..)",
                         parentDict
                     )   << "Cannot read (NFS mounted) library " << nl
                         << libPath << nl
@@ -262,9 +259,8 @@ Foam::functionEntries::codeStream::getFunction
 
             if (!dlLibs.open(libPath, false))
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "functionEntries::codeStream::execute(..)",
                     parentDict
                 )   << "Failed loading library " << libPath << nl
                     << "Did you add all libraries to the 'libs' entry"
@@ -293,9 +289,8 @@ Foam::functionEntries::codeStream::getFunction
 
     if (!haveLib)
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "functionEntries::codeStream::execute(..)",
             parentDict
         )   << "Failed loading library " << libPath
             << " on some processors."
@@ -313,9 +308,8 @@ Foam::functionEntries::codeStream::getFunction
 
     if (!function)
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "functionEntries::codeStream::execute(..)",
             parentDict
         )   << "Failed looking up symbol " << dynCode.codeName()
             << " in library " << lib << exit(FatalIOError);
diff --git a/src/OpenFOAM/db/dictionary/functionEntries/includeEntry/includeEntry.C b/src/OpenFOAM/db/dictionary/functionEntries/includeEntry/includeEntry.C
index 5a60eadd49b..8e836e50f6b 100644
--- a/src/OpenFOAM/db/dictionary/functionEntries/includeEntry/includeEntry.C
+++ b/src/OpenFOAM/db/dictionary/functionEntries/includeEntry/includeEntry.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -140,10 +140,8 @@ bool Foam::functionEntries::includeEntry::execute
     }
     else
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "functionEntries::includeEntry::includeEntry"
-            "(dictionary& parentDict, Istream&)",
             is
         )   << "Cannot open include file "
             << (ifs.name().size() ? ifs.name() : rawFName)
@@ -180,10 +178,8 @@ bool Foam::functionEntries::includeEntry::execute
     }
     else
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "functionEntries::includeEntry::includeEntry"
-            "(dictionary& parentDict, primitiveEntry&, Istream&)",
             is
         )   << "Cannot open include file "
             << (ifs.name().size() ? ifs.name() : rawFName)
diff --git a/src/OpenFOAM/db/dictionary/functionEntries/includeEtcEntry/includeEtcEntry.C b/src/OpenFOAM/db/dictionary/functionEntries/includeEtcEntry/includeEtcEntry.C
index f16e159c7fe..4831eb85f42 100644
--- a/src/OpenFOAM/db/dictionary/functionEntries/includeEtcEntry/includeEtcEntry.C
+++ b/src/OpenFOAM/db/dictionary/functionEntries/includeEtcEntry/includeEtcEntry.C
@@ -118,10 +118,8 @@ bool Foam::functionEntries::includeEtcEntry::execute
     }
     else
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "functionEntries::includeEtcEntry::includeEtcEntry"
-            "(dictionary& parentDict, Istream&)",
             is
         )   << "Cannot open etc file "
             << (ifs.name().size() ? ifs.name() : rawFName)
@@ -158,10 +156,8 @@ bool Foam::functionEntries::includeEtcEntry::execute
     }
     else
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "functionEntries::includeEtcEntry::includeEtcEntry"
-            "(dictionary& parentDict, primitiveEntry&, Istream&)",
             is
         )   << "Cannot open etc file "
             << (ifs.name().size() ? ifs.name() : rawFName)
diff --git a/src/OpenFOAM/db/dictionary/functionEntries/inputModeEntry/inputModeEntry.C b/src/OpenFOAM/db/dictionary/functionEntries/inputModeEntry/inputModeEntry.C
index 235a0198c17..96472b71cd4 100644
--- a/src/OpenFOAM/db/dictionary/functionEntries/inputModeEntry/inputModeEntry.C
+++ b/src/OpenFOAM/db/dictionary/functionEntries/inputModeEntry/inputModeEntry.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -85,7 +85,7 @@ void Foam::functionEntries::inputModeEntry::setMode(Istream& is)
     }
     else
     {
-        WarningIn("Foam::functionEntries::inputModeEntry::setMode(Istream&)")
+        WarningInFunction
             << "unsupported input mode '" << mode
             << "' ... defaulting to 'merge'"
             << endl;
diff --git a/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntryIO.C b/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntryIO.C
index 04cb8cf1652..8777819d450 100644
--- a/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntryIO.C
+++ b/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntryIO.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -182,9 +182,8 @@ void Foam::primitiveEntry::readEntry(const dictionary& dict, Istream& is)
             << " on line " << keywordLineNumber
             << " and ending at line " << is.lineNumber();
 
-        SafeFatalIOErrorIn
+        SafeFatalIOErrorInFunction
         (
-            "primitiveEntry::readEntry(const dictionary&, Istream&)",
             is,
             os.str()
         );
diff --git a/src/OpenFOAM/db/dynamicLibrary/codedBase/codedBase.C b/src/OpenFOAM/db/dynamicLibrary/codedBase/codedBase.C
index c256333cb8a..17aad06a00d 100644
--- a/src/OpenFOAM/db/dynamicLibrary/codedBase/codedBase.C
+++ b/src/OpenFOAM/db/dynamicLibrary/codedBase/codedBase.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -76,9 +76,8 @@ void* Foam::codedBase::loadLibrary
                     }
                     else
                     {
-                        FatalIOErrorIn
+                        FatalIOErrorInFunction
                         (
-                            "codedBase::updateLibrary()",
                             contextDict
                         )   << "Failed looking up symbol " << globalFuncName
                             << nl << "from " << libPath << exit(FatalIOError);
@@ -86,9 +85,8 @@ void* Foam::codedBase::loadLibrary
                 }
                 else
                 {
-                    FatalIOErrorIn
+                    FatalIOErrorInFunction
                     (
-                        "codedBase::loadLibrary()",
                         contextDict
                     )   << "Failed looking up symbol " << globalFuncName << nl
                         << "from " << libPath << exit(FatalIOError);
@@ -96,9 +94,8 @@ void* Foam::codedBase::loadLibrary
                     lib = 0;
                     if (!libs().close(libPath, false))
                     {
-                        FatalIOErrorIn
+                        FatalIOErrorInFunction
                         (
-                            "codedBase::loadLibrary()",
                             contextDict
                         )   << "Failed unloading library "
                             << libPath
@@ -149,9 +146,8 @@ void Foam::codedBase::unloadLibrary
         }
         else
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "codedBase::unloadLibrary()",
                 contextDict
             )   << "Failed looking up symbol " << globalFuncName << nl
                 << "from " << libPath << exit(FatalIOError);
@@ -160,9 +156,8 @@ void Foam::codedBase::unloadLibrary
 
     if (!libs().close(libPath, false))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "codedBase::updateLibrary()",
             contextDict
         )   << "Failed unloading library " << libPath
             << exit(FatalIOError);
@@ -194,9 +189,8 @@ void Foam::codedBase::createLibrary
 
             if (!dynCode.copyOrCreateFiles(true))
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "codedBase::createLibrary(..)",
                     context.dict()
                 )   << "Failed writing files for" << nl
                     << dynCode.libRelPath() << nl
@@ -206,9 +200,8 @@ void Foam::codedBase::createLibrary
 
         if (!dynCode.wmakeLibso())
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "codedBase::createLibrary(..)",
                 context.dict()
             )   << "Failed wmake " << dynCode.libRelPath() << nl
                 << exit(FatalIOError);
@@ -257,9 +250,8 @@ void Foam::codedBase::createLibrary
 
             if (mySize < masterSize)
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "functionEntries::codeStream::execute(..)",
                     context.dict()
                 )   << "Cannot read (NFS mounted) library " << nl
                     << libPath << nl
diff --git a/src/OpenFOAM/db/dynamicLibrary/dlLibraryTable/dlLibraryTable.C b/src/OpenFOAM/db/dynamicLibrary/dlLibraryTable/dlLibraryTable.C
index d1f2f209d3f..a052289eb6f 100644
--- a/src/OpenFOAM/db/dynamicLibrary/dlLibraryTable/dlLibraryTable.C
+++ b/src/OpenFOAM/db/dynamicLibrary/dlLibraryTable/dlLibraryTable.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -93,10 +93,8 @@ bool Foam::dlLibraryTable::open
         {
             if (verbose)
             {
-                WarningIn
-                (
-                    "dlLibraryTable::open(const fileName&, const bool)"
-                )   << "could not load " << functionLibName
+                WarningInFunction
+                    << "could not load " << functionLibName
                     << endl;
             }
 
@@ -149,10 +147,8 @@ bool Foam::dlLibraryTable::close
         {
             if (verbose)
             {
-                WarningIn
-                (
-                    "dlLibraryTable::close(const fileName&)"
-                )   << "could not close " << functionLibName
+                WarningInFunction
+                    << "could not close " << functionLibName
                     << endl;
             }
 
diff --git a/src/OpenFOAM/db/dynamicLibrary/dlLibraryTable/dlLibraryTableTemplates.C b/src/OpenFOAM/db/dynamicLibrary/dlLibraryTable/dlLibraryTableTemplates.C
index db53368a9af..62796ab0624 100644
--- a/src/OpenFOAM/db/dynamicLibrary/dlLibraryTable/dlLibraryTableTemplates.C
+++ b/src/OpenFOAM/db/dynamicLibrary/dlLibraryTable/dlLibraryTableTemplates.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -59,22 +59,14 @@ bool Foam::dlLibraryTable::open
 
             if (!opened)
             {
-                WarningIn
-                (
-                    "dlLibraryTable::open"
-                    "(const dictionary&, const word&, "
-                    "const TablePtr&)"
-                )   << "Could not open library " << libName
+                WarningInFunction
+                    << "Could not open library " << libName
                     << endl << endl;
             }
             else if (debug && (!tablePtr || tablePtr->size() <= nEntries))
             {
-                WarningIn
-                (
-                    "dlLibraryTable::open"
-                    "(const dictionary&, const word&, "
-                    "const TablePtr&)"
-                )   << "library " << libName
+                WarningInFunction
+                    << "library " << libName
                     << " did not introduce any new entries"
                     << endl << endl;
             }
diff --git a/src/OpenFOAM/db/error/IOerror.C b/src/OpenFOAM/db/error/IOerror.C
index 08f490c0bd8..859ed3246e6 100644
--- a/src/OpenFOAM/db/error/IOerror.C
+++ b/src/OpenFOAM/db/error/IOerror.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -125,9 +125,8 @@ void Foam::IOerror::SafeFatalIOError
 {
     if (JobInfo::constructed)
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "primitiveEntry::readEntry(const dictionary&, Istream&)",
             ioStream
         )   << msg << Foam::exit(FatalIOError);
     }
diff --git a/src/OpenFOAM/db/objectRegistry/objectRegistry.C b/src/OpenFOAM/db/objectRegistry/objectRegistry.C
index 4903ca4e285..12961c1daa3 100644
--- a/src/OpenFOAM/db/objectRegistry/objectRegistry.C
+++ b/src/OpenFOAM/db/objectRegistry/objectRegistry.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -185,7 +185,7 @@ Foam::label Foam::objectRegistry::getEvent() const
     {
         if (objectRegistry::debug)
         {
-            WarningIn("objectRegistry::getEvent() const")
+            WarningInFunction
                 << "Event counter has overflowed. "
                 << "Resetting counter on all dependent objects." << nl
                 << "This might cause extra evaluations." << endl;
@@ -246,7 +246,7 @@ bool Foam::objectRegistry::checkOut(regIOobject& io) const
         {
             if (objectRegistry::debug)
             {
-                WarningIn("objectRegistry::checkOut(regIOobject&)")
+                WarningInFunction
                     << name() << " : attempt to checkOut copy of "
                     << iter.key()
                     << endl;
diff --git a/src/OpenFOAM/db/regIOobject/regIOobjectWrite.C b/src/OpenFOAM/db/regIOobject/regIOobjectWrite.C
index bca640ea0a9..3b436890fbc 100644
--- a/src/OpenFOAM/db/regIOobject/regIOobjectWrite.C
+++ b/src/OpenFOAM/db/regIOobject/regIOobjectWrite.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -42,7 +42,7 @@ bool Foam::regIOobject::writeObject
 {
     if (!good())
     {
-        SeriousErrorIn("regIOobject::write()")
+        SeriousErrorInFunction
             << "bad object " << name()
             << endl;
 
@@ -51,7 +51,7 @@ bool Foam::regIOobject::writeObject
 
     if (instance().empty())
     {
-        SeriousErrorIn("regIOobject::write()")
+        SeriousErrorInFunction
             << "instance undefined for object " << name()
             << endl;
 
diff --git a/src/OpenFOAM/dimensionSet/dimensionSetIO.C b/src/OpenFOAM/dimensionSet/dimensionSetIO.C
index b7a2cbc5ae8..7f7648e10d1 100644
--- a/src/OpenFOAM/dimensionSet/dimensionSetIO.C
+++ b/src/OpenFOAM/dimensionSet/dimensionSetIO.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -292,11 +292,8 @@ Foam::dimensionedScalar Foam::dimensionSet::parse
                 token t = tis.nextToken();
                 if (!t.isPunctuation()  || t.pToken() !=  token::END_LIST)
                 {
-                    FatalIOErrorIn
+                    FatalIOErrorInFunction
                     (
-                        "dimensionSet::parse"
-                        "(const label, tokeniser&"
-                        ", const HashTable<dimensionedScalar>&)",
                         tis.stream()
                     )   << "Illegal token " << t << exit(FatalIOError);
                 }
@@ -364,22 +361,16 @@ Foam::dimensionedScalar Foam::dimensionSet::parse
             }
             else
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "dimensionSet::parse"
-                    "(const label, tokeniser&"
-                    ", const HashTable<dimensionedScalar>&)",
                     tis.stream()
                 )   << "Illegal token " << nextToken << exit(FatalIOError);
             }
         }
         else
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "dimensionSet::parse"
-                "(const label, tokeniser&"
-                ", const HashTable<dimensionedScalar>&)",
                 tis.stream()
             )   << "Illegal token " << nextToken << exit(FatalIOError);
         }
@@ -422,10 +413,8 @@ Foam::Istream& Foam::dimensionSet::read
 
     if (startToken != token::BEGIN_SQR)
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "dimensionSet::read"
-            "(Istream&, scalar&, const HashTable<dimensionedScalar>&)",
             is
         )   << "expected a " << token::BEGIN_SQR << " in dimensionSet"
             << endl << "in stream " << is.info()
@@ -480,10 +469,8 @@ Foam::Istream& Foam::dimensionSet::read
         // Check end of dimensionSet
         if (nextToken != token::END_SQR)
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "dimensionSet::read"
-                "(Istream&, scalar&, const HashTable<dimensionedScalar>&)",
                 is
             )   << "expected a " << token::END_SQR << " in dimensionSet "
                 << endl << "in stream " << is.info()
@@ -521,10 +508,8 @@ Foam::Istream& Foam::dimensionSet::read
 
     if (startToken != token::BEGIN_SQR)
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "dimensionSet::read"
-            "(Istream&, scalar&, const dictionary&)",
             is
         )   << "expected a " << token::BEGIN_SQR << " in dimensionSet"
             << endl << "in stream " << is.info()
@@ -623,10 +608,8 @@ Foam::Istream& Foam::dimensionSet::read
         // Check end of dimensionSet
         if (nextToken != token::END_SQR)
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "dimensionSet::read"
-                "(Istream&, scalar&, const dictionary&)",
                 is
             )   << "expected a " << token::END_SQR << " in dimensionSet "
                 << endl << "in stream " << is.info()
@@ -734,7 +717,7 @@ Foam::Istream& Foam::operator>>(Istream& is, dimensionSet& dset)
 
     if (mag(multiplier-1.0) > dimensionSet::smallExponent)
     {
-        FatalIOErrorIn("Foam::operator>>(Istream&, dimensionSet&)", is)
+        FatalIOErrorInFunction(is)
             << "Cannot use scaled units in dimensionSet"
             << exit(FatalIOError);
     }
diff --git a/src/OpenFOAM/dimensionSet/dimensionSets.C b/src/OpenFOAM/dimensionSet/dimensionSets.C
index dde9d170827..a2ad4482dd6 100644
--- a/src/OpenFOAM/dimensionSet/dimensionSets.C
+++ b/src/OpenFOAM/dimensionSet/dimensionSets.C
@@ -102,7 +102,7 @@ const HashTable<dimensionedScalar>& unitSet()
 
         if (!dict.found("unitSet"))
         {
-            FatalIOErrorIn("unitSet()", dict)
+            FatalIOErrorInFunction(dict)
                 << "Cannot find unitSet in dictionary " << dict.name()
                 << exit(FatalIOError);
         }
@@ -111,7 +111,7 @@ const HashTable<dimensionedScalar>& unitSet()
 
         if (!dict.found(unitSetCoeffs))
         {
-            FatalIOErrorIn("unitSet()", dict)
+            FatalIOErrorInFunction(dict)
                 << "Cannot find " << unitSetCoeffs << " in dictionary "
                 << dict.name() << exit(FatalIOError);
         }
@@ -129,7 +129,7 @@ const HashTable<dimensionedScalar>& unitSet()
                 bool ok = unitSetPtr_->insert(iter().keyword(), dt);
                 if (!ok)
                 {
-                    FatalIOErrorIn("unitSet()", dict)
+                    FatalIOErrorInFunction(dict)
                         << "Duplicate unit " << iter().keyword()
                         << " in DimensionSets dictionary"
                         << exit(FatalIOError);
@@ -150,7 +150,7 @@ const HashTable<dimensionedScalar>& unitSet()
 
         if (writeUnitNames.size() != 0 && writeUnitNames.size() != 7)
         {
-            FatalIOErrorIn("unitSet()", dict)
+            FatalIOErrorInFunction(dict)
                 << "Cannot find entry \"writeUnits\" in " << unitDict.name()
                 << " or it is not a wordList of size 7"
                 << exit(FatalIOError);
diff --git a/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldFunctions.C b/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldFunctions.C
index 4dfc131e4bc..1c6a990f358 100644
--- a/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldFunctions.C
+++ b/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldFunctions.C
@@ -524,7 +524,7 @@ Type average(const FieldField<Field, Type>& f)
 
         if (n == 0)
         {
-            WarningIn("average(const FieldField<Field, Type>&) const")
+            WarningInFunction
                 << "empty fieldField, returning zero" << endl;
 
             return pTraits<Type>::zero;
@@ -536,7 +536,7 @@ Type average(const FieldField<Field, Type>& f)
     }
     else
     {
-        WarningIn("average(const FieldField<Field, Type>&) const")
+        WarningInFunction
             << "empty fieldField, returning zero" << endl;
 
         return pTraits<Type>::zero;
@@ -587,7 +587,7 @@ Type gAverage(const FieldField<Field, Type>& f)
     }
     else
     {
-        WarningIn("gAverage(const FieldField<Field, Type>&) const")
+        WarningInFunction
             << "empty fieldField, returning zero" << endl;
 
         return pTraits<Type>::zero;
diff --git a/src/OpenFOAM/fields/Fields/Field/FieldFunctions.C b/src/OpenFOAM/fields/Fields/Field/FieldFunctions.C
index 3566395fb96..f7bd1753087 100644
--- a/src/OpenFOAM/fields/Fields/Field/FieldFunctions.C
+++ b/src/OpenFOAM/fields/Fields/Field/FieldFunctions.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -517,7 +517,7 @@ Type average(const UList<Type>& f)
     }
     else
     {
-        WarningIn("average(const UList<Type>&)")
+        WarningInFunction
             << "empty field, returning zero" << endl;
 
         return pTraits<Type>::zero;
@@ -594,7 +594,7 @@ Type gAverage
     }
     else
     {
-        WarningIn("gAverage(const UList<Type>&)")
+        WarningInFunction
             << "empty field, returning zero." << endl;
 
         return pTraits<Type>::zero;
diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C
index b516b8ba7b5..fe5a34c6def 100644
--- a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C
+++ b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C
@@ -100,10 +100,8 @@ bool Foam::GeometricField<Type, PatchField, GeoMesh>::readIfPresent()
      || this->readOpt() == IOobject::MUST_READ_IF_MODIFIED
     )
     {
-        WarningIn
-        (
-            "GeometricField<Type, PatchField, GeoMesh>::readIfPresent()"
-        )   << "read option IOobject::MUST_READ or MUST_READ_IF_MODIFIED"
+        WarningInFunction
+            << "read option IOobject::MUST_READ or MUST_READ_IF_MODIFIED"
             << " suggests that a read constructor for field " << this->name()
             << " would be more appropriate." << endl;
     }
@@ -871,11 +869,8 @@ void Foam::GeometricField<Type, PatchField, GeoMesh>::relax(const scalar alpha)
 {
     if (debug)
     {
-        InfoIn
-        (
-            "GeometricField<Type, PatchField, GeoMesh>::relax"
-            "(const scalar alpha)"
-        )  << "Relaxing" << endl << this->info() << " by " << alpha << endl;
+        InfoInFunction
+           << "Relaxing" << endl << this->info() << " by " << alpha << endl;
     }
 
     operator==(prevIter() + alpha*(*this - prevIter()));
diff --git a/src/OpenFOAM/global/debug/debug.C b/src/OpenFOAM/global/debug/debug.C
index 19b579a4601..d7517922c0b 100644
--- a/src/OpenFOAM/global/debug/debug.C
+++ b/src/OpenFOAM/global/debug/debug.C
@@ -99,9 +99,8 @@ Foam::dictionary& Foam::debug::controlDict()
 
             if (!ifs.good())
             {
-                SafeFatalIOErrorIn
+                SafeFatalIOErrorInFunction
                 (
-                    "debug::controlDict()",
                     ifs,
                     "Cannot open controlDict"
                 );
diff --git a/src/OpenFOAM/interpolations/interpolationWeights/splineInterpolationWeights/splineInterpolationWeights.C b/src/OpenFOAM/interpolations/interpolationWeights/splineInterpolationWeights/splineInterpolationWeights.C
index 854146cdff5..5722ac7f92b 100644
--- a/src/OpenFOAM/interpolations/interpolationWeights/splineInterpolationWeights/splineInterpolationWeights.C
+++ b/src/OpenFOAM/interpolations/interpolationWeights/splineInterpolationWeights/splineInterpolationWeights.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -64,11 +64,8 @@ splineInterpolationWeights::splineInterpolationWeights
 
             if (mag(d-interval) > SMALL)
             {
-                WarningIn
-                (
-                    "splineInterpolationWeights::splineInterpolationWeights"
-                    "(const scalarField&)"
-                )   << "Spline interpolation only valid for constant intervals."
+                WarningInFunction
+                    << "Spline interpolation only valid for constant intervals."
                     << nl
                     << "Interval 0-1 : " << interval << nl
                     << "Interval " << i-1 << '-' << i << " : "
diff --git a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixPreconditioner.C b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixPreconditioner.C
index 230eb0d2b65..aafaf20c09f 100644
--- a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixPreconditioner.C
+++ b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixPreconditioner.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,10 +44,8 @@ Foam::LduMatrix<Type, DType, LUType>::preconditioner::New
 
         if (constructorIter == symMatrixConstructorTablePtr_->end())
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "LduMatrix<Type, DType, LUType>::preconditioner::New"
-                "(const solver&, Istream&)",
                 preconditionerDict
             )   << "Unknown symmetric matrix preconditioner "
                 << preconditionerName << endl << endl
@@ -72,10 +70,8 @@ Foam::LduMatrix<Type, DType, LUType>::preconditioner::New
 
         if (constructorIter == asymMatrixConstructorTablePtr_->end())
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "LduMatrix<Type, DType, LUType>::preconditioner::New"
-                "(const solver&, Istream&)",
                 preconditionerDict
             )   << "Unknown asymmetric matrix preconditioner "
                 << preconditionerName << endl << endl
@@ -95,10 +91,8 @@ Foam::LduMatrix<Type, DType, LUType>::preconditioner::New
     }
     else
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "LduMatrix<Type, DType, LUType>::preconditioner::New"
-            "(const solver&, Istream&)",
             preconditionerDict
         )   << "cannot preconditione incomplete matrix, "
                "no diagonal or off-diagonal coefficient"
diff --git a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixSmoother.C b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixSmoother.C
index 4377f6da941..f15c0fac47c 100644
--- a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixSmoother.C
+++ b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixSmoother.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -45,10 +45,8 @@ Foam::LduMatrix<Type, DType, LUType>::smoother::New
 
         if (constructorIter == symMatrixConstructorTablePtr_->end())
         {
-            FatalIOErrorIn
-            (
-                "LduMatrix<Type, DType, LUType>::smoother::New", smootherDict
-            )   << "Unknown symmetric matrix smoother " << smootherName
+            FatalIOErrorInFunction(smootherDict)
+                << "Unknown symmetric matrix smoother " << smootherName
                 << endl << endl
                 << "Valid symmetric matrix smoothers are :" << endl
                 << symMatrixConstructorTablePtr_->toc()
@@ -71,10 +69,8 @@ Foam::LduMatrix<Type, DType, LUType>::smoother::New
 
         if (constructorIter == asymMatrixConstructorTablePtr_->end())
         {
-            FatalIOErrorIn
-            (
-                "LduMatrix<Type, DType, LUType>::smoother::New", smootherDict
-            )   << "Unknown asymmetric matrix smoother " << smootherName
+            FatalIOErrorInFunction(smootherDict)
+                << "Unknown asymmetric matrix smoother " << smootherName
                 << endl << endl
                 << "Valid asymmetric matrix smoothers are :" << endl
                 << asymMatrixConstructorTablePtr_->toc()
@@ -92,10 +88,8 @@ Foam::LduMatrix<Type, DType, LUType>::smoother::New
     }
     else
     {
-        FatalIOErrorIn
-        (
-            "LduMatrix<Type, DType, LUType>::smoother::New", smootherDict
-        )   << "cannot solve incomplete matrix, no off-diagonal coefficients"
+        FatalIOErrorInFunction(smootherDict)
+            << "cannot solve incomplete matrix, no off-diagonal coefficients"
             << exit(FatalIOError);
 
         return autoPtr<typename LduMatrix<Type, DType, LUType>::smoother>(NULL);
diff --git a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixSolver.C b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixSolver.C
index fcd1400d591..8aed474b36a 100644
--- a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixSolver.C
+++ b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixSolver.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -58,10 +58,8 @@ Foam::LduMatrix<Type, DType, LUType>::solver::New
 
         if (constructorIter == symMatrixConstructorTablePtr_->end())
         {
-            FatalIOErrorIn
-            (
-                "LduMatrix<Type, DType, LUType>::solver::New", solverDict
-            )   << "Unknown symmetric matrix solver " << solverName
+            FatalIOErrorInFunction(solverDict)
+                << "Unknown symmetric matrix solver " << solverName
                 << endl << endl
                 << "Valid symmetric matrix solvers are :" << endl
                 << symMatrixConstructorTablePtr_->toc()
@@ -85,10 +83,8 @@ Foam::LduMatrix<Type, DType, LUType>::solver::New
 
         if (constructorIter == asymMatrixConstructorTablePtr_->end())
         {
-            FatalIOErrorIn
-            (
-                "LduMatrix<Type, DType, LUType>::solver::New", solverDict
-            )   << "Unknown asymmetric matrix solver " << solverName
+            FatalIOErrorInFunction(solverDict)
+                << "Unknown asymmetric matrix solver " << solverName
                 << endl << endl
                 << "Valid asymmetric matrix solvers are :" << endl
                 << asymMatrixConstructorTablePtr_->toc()
@@ -107,10 +103,8 @@ Foam::LduMatrix<Type, DType, LUType>::solver::New
     }
     else
     {
-        FatalIOErrorIn
-        (
-            "LduMatrix<Type, DType, LUType>::solver::New", solverDict
-        )   << "cannot solve incomplete matrix, "
+        FatalIOErrorInFunction(solverDict)
+            << "cannot solve incomplete matrix, "
                "no diagonal or off-diagonal coefficient"
             << exit(FatalIOError);
 
diff --git a/src/OpenFOAM/matrices/Matrix/MatrixIO.C b/src/OpenFOAM/matrices/Matrix/MatrixIO.C
index 29c9a237e7a..8c52bdebc5d 100644
--- a/src/OpenFOAM/matrices/Matrix/MatrixIO.C
+++ b/src/OpenFOAM/matrices/Matrix/MatrixIO.C
@@ -138,7 +138,7 @@ Foam::Istream& Foam::operator>>(Istream& is, Matrix<Form, Type>& M)
     }
     else
     {
-        FatalIOErrorIn("operator>>(Istream&, Matrix<Form, Type>&)", is)
+        FatalIOErrorInFunction(is)
             << "incorrect first token, expected <int>, found "
             << firstToken.info()
             << exit(FatalIOError);
diff --git a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixOperations.C b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixOperations.C
index fa65a51b6dc..3bf180e493f 100644
--- a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixOperations.C
+++ b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixOperations.C
@@ -204,7 +204,7 @@ void Foam::lduMatrix::operator+=(const lduMatrix& A)
     {
         if (debug > 1)
         {
-            WarningIn("lduMatrix::operator+=(const lduMatrix& A)")
+            WarningInFunction
                 << "Unknown matrix type combination" << nl
                 << "    this :"
                 << " diagonal:" << diagonal()
@@ -283,7 +283,7 @@ void Foam::lduMatrix::operator-=(const lduMatrix& A)
     {
         if (debug > 1)
         {
-            WarningIn("lduMatrix::operator-=(const lduMatrix& A)")
+            WarningInFunction
                 << "Unknown matrix type combination" << nl
                 << "    this :"
                 << " diagonal:" << diagonal()
diff --git a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixPreconditioner.C b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixPreconditioner.C
index 3c2131fed40..065079ee2cc 100644
--- a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixPreconditioner.C
+++ b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixPreconditioner.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -87,10 +87,8 @@ Foam::lduMatrix::preconditioner::New
 
         if (constructorIter == symMatrixConstructorTablePtr_->end())
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "lduMatrix::preconditioner::New"
-                "(const solver&, const dictionary&)",
                 controls
             )   << "Unknown symmetric matrix preconditioner "
                 << name << nl << nl
@@ -115,10 +113,8 @@ Foam::lduMatrix::preconditioner::New
 
         if (constructorIter == asymMatrixConstructorTablePtr_->end())
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "lduMatrix::preconditioner::New"
-                "(const solver&, const dictionary&)",
                 controls
             )   << "Unknown asymmetric matrix preconditioner "
                 << name << nl << nl
@@ -138,10 +134,8 @@ Foam::lduMatrix::preconditioner::New
     }
     else
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "lduMatrix::preconditioner::New"
-            "(const solver&, const dictionary&)",
             controls
         )   << "cannot solve incomplete matrix, "
                "no diagonal or off-diagonal coefficient"
diff --git a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixSmoother.C b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixSmoother.C
index 730bd869f66..f24a990f9d8 100644
--- a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixSmoother.C
+++ b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixSmoother.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -91,10 +91,8 @@ Foam::autoPtr<Foam::lduMatrix::smoother> Foam::lduMatrix::smoother::New
 
         if (constructorIter == symMatrixConstructorTablePtr_->end())
         {
-            FatalIOErrorIn
-            (
-                "lduMatrix::smoother::New", solverControls
-            )   << "Unknown symmetric matrix smoother "
+            FatalIOErrorInFunction(solverControls)
+                << "Unknown symmetric matrix smoother "
                 << name << nl << nl
                 << "Valid symmetric matrix smoothers are :" << endl
                 << symMatrixConstructorTablePtr_->sortedToc()
@@ -120,10 +118,8 @@ Foam::autoPtr<Foam::lduMatrix::smoother> Foam::lduMatrix::smoother::New
 
         if (constructorIter == asymMatrixConstructorTablePtr_->end())
         {
-            FatalIOErrorIn
-            (
-                "lduMatrix::smoother::New", solverControls
-            )   << "Unknown asymmetric matrix smoother "
+            FatalIOErrorInFunction(solverControls)
+                << "Unknown asymmetric matrix smoother "
                 << name << nl << nl
                 << "Valid asymmetric matrix smoothers are :" << endl
                 << asymMatrixConstructorTablePtr_->sortedToc()
@@ -144,10 +140,8 @@ Foam::autoPtr<Foam::lduMatrix::smoother> Foam::lduMatrix::smoother::New
     }
     else
     {
-        FatalIOErrorIn
-        (
-            "lduMatrix::smoother::New", solverControls
-        )   << "cannot solve incomplete matrix, "
+        FatalIOErrorInFunction(solverControls)
+            << "cannot solve incomplete matrix, "
                "no diagonal or off-diagonal coefficient"
             << exit(FatalIOError);
 
diff --git a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixSolver.C b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixSolver.C
index aed21fe9f73..1f6bd82d118 100644
--- a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixSolver.C
+++ b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixSolver.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -71,10 +71,8 @@ Foam::autoPtr<Foam::lduMatrix::solver> Foam::lduMatrix::solver::New
 
         if (constructorIter == symMatrixConstructorTablePtr_->end())
         {
-            FatalIOErrorIn
-            (
-                "lduMatrix::solver::New", solverControls
-            )   << "Unknown symmetric matrix solver " << name << nl << nl
+            FatalIOErrorInFunction(solverControls)
+                << "Unknown symmetric matrix solver " << name << nl << nl
                 << "Valid symmetric matrix solvers are :" << endl
                 << symMatrixConstructorTablePtr_->sortedToc()
                 << exit(FatalIOError);
@@ -100,10 +98,8 @@ Foam::autoPtr<Foam::lduMatrix::solver> Foam::lduMatrix::solver::New
 
         if (constructorIter == asymMatrixConstructorTablePtr_->end())
         {
-            FatalIOErrorIn
-            (
-                "lduMatrix::solver::New", solverControls
-            )   << "Unknown asymmetric matrix solver " << name << nl << nl
+            FatalIOErrorInFunction(solverControls)
+                << "Unknown asymmetric matrix solver " << name << nl << nl
                 << "Valid asymmetric matrix solvers are :" << endl
                 << asymMatrixConstructorTablePtr_->sortedToc()
                 << exit(FatalIOError);
@@ -124,10 +120,8 @@ Foam::autoPtr<Foam::lduMatrix::solver> Foam::lduMatrix::solver::New
     }
     else
     {
-        FatalIOErrorIn
-        (
-            "lduMatrix::solver::New", solverControls
-        )   << "cannot solve incomplete matrix, "
+        FatalIOErrorInFunction(solverControls)
+            << "cannot solve incomplete matrix, "
                "no diagonal or off-diagonal coefficient"
             << exit(FatalIOError);
 
diff --git a/src/OpenFOAM/matrices/scalarMatrices/SVD/SVD.C b/src/OpenFOAM/matrices/scalarMatrices/SVD/SVD.C
index 9a6ba2f138c..3b3092f3a65 100644
--- a/src/OpenFOAM/matrices/scalarMatrices/SVD/SVD.C
+++ b/src/OpenFOAM/matrices/scalarMatrices/SVD/SVD.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -293,11 +293,8 @@ Foam::SVD::SVD(const scalarRectangularMatrix& A, const scalar minCondition)
             }
             if (its == 34)
             {
-                WarningIn
-                (
-                    "SVD::SVD"
-                    "(scalarRectangularMatrix& A, const scalar minCondition)"
-                )   << "no convergence in 35 SVD iterations"
+                WarningInFunction
+                    << "no convergence in 35 SVD iterations"
                     << endl;
             }
 
diff --git a/src/OpenFOAM/matrices/solution/solution.C b/src/OpenFOAM/matrices/solution/solution.C
index f3251d3c50b..6ece7ccc89d 100644
--- a/src/OpenFOAM/matrices/solution/solution.C
+++ b/src/OpenFOAM/matrices/solution/solution.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -306,9 +306,8 @@ Foam::scalar Foam::solution::fieldRelaxationFactor(const word& name) const
     }
     else
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "Foam::solution::fieldRelaxationFactor(const word&)",
             fieldRelaxDict_
         )   << "Cannot find variable relaxation factor for '" << name
             << "' or a suitable default value."
@@ -336,9 +335,8 @@ Foam::scalar Foam::solution::equationRelaxationFactor(const word& name) const
     }
     else
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "Foam::solution::eqnRelaxationFactor(const word&)",
             eqnRelaxDict_
         )   << "Cannot find equation relaxation factor for '" << name
             << "' or a suitable default value."
@@ -366,7 +364,7 @@ const Foam::dictionary& Foam::solution::solverDict(const word& name) const
 {
     if (debug)
     {
-        InfoIn("solution::solverDict(const word&)")
+        InfoInFunction
             << "Lookup solver for " << name << endl;
     }
 
@@ -378,7 +376,7 @@ const Foam::dictionary& Foam::solution::solver(const word& name) const
 {
     if (debug)
     {
-        InfoIn("solution::solver(const word&)")
+        InfoInFunction
             << "Lookup solver for " << name << endl;
     }
 
diff --git a/src/OpenFOAM/meshes/meshShapes/cellModel/cellModel.C b/src/OpenFOAM/meshes/meshShapes/cellModel/cellModel.C
index 149d68a7173..a8c014b3354 100644
--- a/src/OpenFOAM/meshes/meshShapes/cellModel/cellModel.C
+++ b/src/OpenFOAM/meshes/meshShapes/cellModel/cellModel.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -67,7 +67,7 @@ Foam::vector Foam::cellModel::centre
 
         if (pyrVol > SMALL)
         {
-            WarningIn("cellModel::centre(const labelList&, const pointField&)")
+            WarningInFunction
                 << "zero or negative pyramid volume: " << -pyrVol
                 << " for face " << i
                 << endl;
@@ -125,7 +125,7 @@ Foam::scalar Foam::cellModel::mag
 
         if (pyrVol > SMALL)
         {
-            WarningIn("cellModel::mag(const labelList&, const pointField&)")
+            WarningInFunction
                 << "zero or negative pyramid volume: " << -pyrVol
                 << " for face " << i
                 << endl;
diff --git a/src/OpenFOAM/meshes/meshShapes/cellShape/cellShapeIO.C b/src/OpenFOAM/meshes/meshShapes/cellShape/cellShapeIO.C
index 9a2854cdb73..d6ecb1723b9 100644
--- a/src/OpenFOAM/meshes/meshShapes/cellShape/cellShapeIO.C
+++ b/src/OpenFOAM/meshes/meshShapes/cellShape/cellShapeIO.C
@@ -46,7 +46,7 @@ Foam::Istream& Foam::operator>>(Istream& is, cellShape& s)
         }
         else
         {
-            FatalIOErrorIn("operator>>(Istream&, cellShape& s)", is)
+            FatalIOErrorInFunction(is)
                 << "incorrect first token, expected '(', found "
                 << t.info()
                 << exit(FatalIOError);
@@ -64,7 +64,7 @@ Foam::Istream& Foam::operator>>(Istream& is, cellShape& s)
     }
     else
     {
-        FatalIOErrorIn("operator>>(Istream& is, cellShape& s)", is)
+        FatalIOErrorInFunction(is)
             << "Bad type of token for cellShape symbol " << t.info()
             << exit(FatalIOError);
         return is;
@@ -73,7 +73,7 @@ Foam::Istream& Foam::operator>>(Istream& is, cellShape& s)
     // Check that a model was found
     if (!s.m)
     {
-        FatalIOErrorIn("operator>>(Istream& is, cellShape& s)", is)
+        FatalIOErrorInFunction(is)
             << "CellShape has unknown model " << t.info()
             << exit(FatalIOError);
         return is;
diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/IOmapDistribute.C b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/IOmapDistribute.C
index bb057b63f41..bd76a8a50bf 100644
--- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/IOmapDistribute.C
+++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/IOmapDistribute.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -42,7 +42,7 @@ Foam::IOmapDistribute::IOmapDistribute(const IOobject& io)
     // Temporary warning
     if (io.readOpt() == IOobject::MUST_READ_IF_MODIFIED)
     {
-        WarningIn("IOmapDistribute::IOmapDistribute(const IOobject&)")
+        WarningInFunction
             << "IOmapDistribute " << name()
             << " constructed with IOobject::MUST_READ_IF_MODIFIED"
             " but IOmapDistribute does not support automatic rereading."
@@ -75,7 +75,7 @@ Foam::IOmapDistribute::IOmapDistribute
      // Temporary warning
     if (io.readOpt() == IOobject::MUST_READ_IF_MODIFIED)
     {
-        WarningIn("IOmapDistribute::IOmapDistribute(const IOobject&)")
+        WarningInFunction
             << "IOmapDistribute " << name()
             << " constructed with IOobject::MUST_READ_IF_MODIFIED"
             " but IOmapDistribute does not support automatic rereading."
@@ -112,7 +112,7 @@ Foam::IOmapDistribute::IOmapDistribute
     // Temporary warning
     if (io.readOpt() == IOobject::MUST_READ_IF_MODIFIED)
     {
-        WarningIn("IOmapDistribute::IOmapDistribute(const IOobject&)")
+        WarningInFunction
             << "IOmapDistribute " << name()
             << " constructed with IOobject::MUST_READ_IF_MODIFIED"
             " but IOmapDistribute does not support automatic rereading."
diff --git a/src/OpenFOAM/meshes/polyMesh/polyPatches/basic/coupled/coupledPolyPatch.C b/src/OpenFOAM/meshes/polyMesh/polyPatches/basic/coupled/coupledPolyPatch.C
index 8a4f913ce30..8c4eea8f294 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyPatches/basic/coupled/coupledPolyPatch.C
+++ b/src/OpenFOAM/meshes/polyMesh/polyPatches/basic/coupled/coupledPolyPatch.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -270,16 +270,8 @@ Foam::label Foam::coupledPolyPatch::getRotation
 
             if (distSqr == minDistSqr && fp != anchorFp)
             {
-                WarningIn
-                (
-                    "label coupledPolyPatch::getRotation\n"
-                    "(\n"
-                    "    const pointField&,\n"
-                    "    const face&,\n"
-                    "    const point&,\n"
-                    "    const scalar\n"
-                    ")"
-                )   << "Cannot determine unique anchor point on face "
+                WarningInFunction
+                    << "Cannot determine unique anchor point on face "
                     << UIndirectList<point>(points, f)
                     << endl
                     << "Both at index " << anchorFp << " and " << fp
diff --git a/src/OpenFOAM/meshes/polyMesh/zones/cellZone/cellZoneNew.C b/src/OpenFOAM/meshes/polyMesh/zones/cellZone/cellZoneNew.C
index 869914608db..983ff5d8b8a 100644
--- a/src/OpenFOAM/meshes/polyMesh/zones/cellZone/cellZoneNew.C
+++ b/src/OpenFOAM/meshes/polyMesh/zones/cellZone/cellZoneNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -50,10 +50,8 @@ Foam::autoPtr<Foam::cellZone> Foam::cellZone::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "cellZone::New(const word&, const dictionary&, "
-            "const label, const cellZoneMesh&)",
             dict
         )   << "Unknown cellZone type "
             << zoneType << nl << nl
diff --git a/src/OpenFOAM/meshes/polyMesh/zones/faceZone/faceZoneNew.C b/src/OpenFOAM/meshes/polyMesh/zones/faceZone/faceZoneNew.C
index e38849d9839..8c75b01c088 100644
--- a/src/OpenFOAM/meshes/polyMesh/zones/faceZone/faceZoneNew.C
+++ b/src/OpenFOAM/meshes/polyMesh/zones/faceZone/faceZoneNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -50,10 +50,8 @@ Foam::autoPtr<Foam::faceZone> Foam::faceZone::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "faceZone::New(const word&, const dictionary&, "
-            "const label, const faceZoneMesh&)",
             dict
         )   << "Unknown faceZone type "
             << zoneType << nl << nl
diff --git a/src/OpenFOAM/meshes/polyMesh/zones/pointZone/pointZoneNew.C b/src/OpenFOAM/meshes/polyMesh/zones/pointZone/pointZoneNew.C
index 6b873943b62..f2ddb5480c5 100644
--- a/src/OpenFOAM/meshes/polyMesh/zones/pointZone/pointZoneNew.C
+++ b/src/OpenFOAM/meshes/polyMesh/zones/pointZone/pointZoneNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -50,10 +50,8 @@ Foam::autoPtr<Foam::pointZone> Foam::pointZone::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "pointZone::New(const word&, const dictionary&, "
-            "const label, const pointZoneMesh&)",
             dict
         )   << "Unknown pointZone type "
             << zoneType << nl << nl
diff --git a/src/OpenFOAM/meshes/primitiveMesh/PatchTools/PatchToolsSortPoints.C b/src/OpenFOAM/meshes/primitiveMesh/PatchTools/PatchToolsSortPoints.C
index e6e507caaa6..a1e93db9fc4 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/PatchTools/PatchToolsSortPoints.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/PatchTools/PatchToolsSortPoints.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -110,7 +110,7 @@ Foam::PatchTools::sortedPointEdges
             nVisitedEdges++;
             if (nVisitedEdges > nPointEdges)
             {
-                WarningIn("Foam::PatchTools::sortedPointEdges()")
+                WarningInFunction
                     << "Unable to order pointEdges as the face connections "
                     << "are not circular" << nl
                     << "    Original pointEdges = " << pEdges << nl
@@ -130,7 +130,7 @@ Foam::PatchTools::sortedPointEdges
             {
                 if (findIndex(newEdgeList, pEdges[eI]) == -1)
                 {
-                    WarningIn("Foam::PatchTools::sortedPointEdges()")
+                    WarningInFunction
                         << "Cannot find all original edges in the new list"
                         << nl
                         << "    Original pointEdges = " << pEdges << nl
diff --git a/src/OpenFOAM/meshes/treeBoundBox/treeBoundBoxTemplates.C b/src/OpenFOAM/meshes/treeBoundBox/treeBoundBoxTemplates.C
index 3e7fd2d1aa6..a06469fbfdf 100644
--- a/src/OpenFOAM/meshes/treeBoundBox/treeBoundBoxTemplates.C
+++ b/src/OpenFOAM/meshes/treeBoundBox/treeBoundBoxTemplates.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -42,11 +42,8 @@ Foam::treeBoundBox::treeBoundBox
     // points may be empty, but a FixedList is never empty
     if (points.empty())
     {
-        WarningIn
-        (
-            "treeBoundBox::treeBoundBox"
-            "(const UList<point>&, const FixedList<label, Size>&)"
-        )   << "cannot find bounding box for zero-sized pointField, "
+        WarningInFunction
+            << "cannot find bounding box for zero-sized pointField, "
             << "returning zero" << endl;
 
         return;
diff --git a/src/OpenFOAM/primitives/Scalar/Scalar.C b/src/OpenFOAM/primitives/Scalar/Scalar.C
index e6dd0e08c53..05db9a2d80d 100644
--- a/src/OpenFOAM/primitives/Scalar/Scalar.C
+++ b/src/OpenFOAM/primitives/Scalar/Scalar.C
@@ -90,7 +90,7 @@ Istream& operator>>(Istream& is, Scalar& s)
     else
     {
         is.setBad();
-        FatalIOErrorIn("operator>>(Istream&, Scalar&)", is)
+        FatalIOErrorInFunction(is)
             << "wrong token type - expected Scalar, found " << t.info()
             << exit(FatalIOError);
 
diff --git a/src/OpenFOAM/primitives/Tensor/tensor/tensor.C b/src/OpenFOAM/primitives/Tensor/tensor/tensor.C
index fa20ef6bf66..fd636a2529a 100644
--- a/src/OpenFOAM/primitives/Tensor/tensor/tensor.C
+++ b/src/OpenFOAM/primitives/Tensor/tensor/tensor.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -165,7 +165,7 @@ Foam::vector Foam::eigenValues(const tensor& t)
         // based on the above logic, PPP must be less than QQ
         else
         {
-            WarningIn("eigenValues(const tensor&)")
+            WarningInFunction
                 << "complex eigenvalues detected for tensor: " << t
                 << endl;
 
diff --git a/src/OpenFOAM/primitives/bools/Switch/SwitchIO.C b/src/OpenFOAM/primitives/bools/Switch/SwitchIO.C
index 2719328524b..e716820d5f0 100644
--- a/src/OpenFOAM/primitives/bools/Switch/SwitchIO.C
+++ b/src/OpenFOAM/primitives/bools/Switch/SwitchIO.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -62,7 +62,7 @@ Foam::Istream& Foam::operator>>(Istream& is, Switch& s)
         else
         {
             is.setBad();
-            FatalIOErrorIn("operator>>(Istream&, bool/Switch&)", is)
+            FatalIOErrorInFunction(is)
                 << "expected 'true/false', 'on/off' ... found " << t.wordToken()
                 << exit(FatalIOError);
 
@@ -72,7 +72,7 @@ Foam::Istream& Foam::operator>>(Istream& is, Switch& s)
     else
     {
         is.setBad();
-        FatalIOErrorIn("operator>>(Istream&, bool/Switch&)", is)
+        FatalIOErrorInFunction(is)
             << "wrong token type - expected bool, found " << t
             << exit(FatalIOError);
 
diff --git a/src/OpenFOAM/primitives/functions/DataEntry/TableFile/TableFile.C b/src/OpenFOAM/primitives/functions/DataEntry/TableFile/TableFile.C
index 20f8a4b1d07..25ed90dc68f 100644
--- a/src/OpenFOAM/primitives/functions/DataEntry/TableFile/TableFile.C
+++ b/src/OpenFOAM/primitives/functions/DataEntry/TableFile/TableFile.C
@@ -46,9 +46,8 @@ Foam::TableFile<Type>::TableFile(const word& entryName, const dictionary& dict)
 
     if (!is.good())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "TableFile<Type>::TableFile(const word&, const dictionary&)",
             is
         )   << "Cannot open file." << exit(FatalIOError);
     }
diff --git a/src/OpenFOAM/primitives/hashes/SHA1/SHA1Digest.C b/src/OpenFOAM/primitives/hashes/SHA1/SHA1Digest.C
index 834223fccd1..478681b2049 100644
--- a/src/OpenFOAM/primitives/hashes/SHA1/SHA1Digest.C
+++ b/src/OpenFOAM/primitives/hashes/SHA1/SHA1Digest.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -57,7 +57,7 @@ unsigned char Foam::SHA1Digest::readHexDigit(Istream& is)
 
     if (!isxdigit(c))
     {
-        FatalIOErrorIn("SHA1Digest::readHexDigit(Istream&)", is)
+        FatalIOErrorInFunction(is)
             << "Illegal hex digit: '" << c << "'"
             << exit(FatalIOError);
     }
diff --git a/src/OpenFOAM/primitives/ints/int32/int32IO.C b/src/OpenFOAM/primitives/ints/int32/int32IO.C
index ae4a2a1d642..33dd078e354 100644
--- a/src/OpenFOAM/primitives/ints/int32/int32IO.C
+++ b/src/OpenFOAM/primitives/ints/int32/int32IO.C
@@ -61,7 +61,7 @@ Foam::Istream& Foam::operator>>(Istream& is, int32_t& i)
     else
     {
         is.setBad();
-        FatalIOErrorIn("operator>>(Istream&, int32_t&)", is)
+        FatalIOErrorInFunction(is)
             << "wrong token type - expected int32_t, found " << t.info()
             << exit(FatalIOError);
 
diff --git a/src/OpenFOAM/primitives/ints/int64/int64IO.C b/src/OpenFOAM/primitives/ints/int64/int64IO.C
index 1cba3d0b533..bb897d0d176 100644
--- a/src/OpenFOAM/primitives/ints/int64/int64IO.C
+++ b/src/OpenFOAM/primitives/ints/int64/int64IO.C
@@ -61,7 +61,7 @@ Foam::Istream& Foam::operator>>(Istream& is, int64_t& i)
     else
     {
         is.setBad();
-        FatalIOErrorIn("operator>>(Istream&, int64_t&)", is)
+        FatalIOErrorInFunction(is)
             << "wrong token type - expected int64_t, found " << t.info()
             << exit(FatalIOError);
 
diff --git a/src/OpenFOAM/primitives/ints/uint32/uint32IO.C b/src/OpenFOAM/primitives/ints/uint32/uint32IO.C
index 688834e7371..a57bcfbd4c2 100644
--- a/src/OpenFOAM/primitives/ints/uint32/uint32IO.C
+++ b/src/OpenFOAM/primitives/ints/uint32/uint32IO.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -59,7 +59,7 @@ Foam::Istream& Foam::operator>>(Istream& is, uint32_t& i)
     else
     {
         is.setBad();
-        FatalIOErrorIn("operator>>(Istream&, uint32_t&)", is)
+        FatalIOErrorInFunction(is)
             << "wrong token type - expected uint32_t, found " << t.info()
             << exit(FatalIOError);
 
diff --git a/src/OpenFOAM/primitives/ints/uint64/uint64IO.C b/src/OpenFOAM/primitives/ints/uint64/uint64IO.C
index 39737bc9344..d814a996642 100644
--- a/src/OpenFOAM/primitives/ints/uint64/uint64IO.C
+++ b/src/OpenFOAM/primitives/ints/uint64/uint64IO.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -59,7 +59,7 @@ Foam::Istream& Foam::operator>>(Istream& is, uint64_t& i)
     else
     {
         is.setBad();
-        FatalIOErrorIn("operator>>(Istream&, uint64_t&)", is)
+        FatalIOErrorInFunction(is)
             << "wrong token type - expected uint64_t, found " << t.info()
             << exit(FatalIOError);
 
diff --git a/src/OpenFOAM/primitives/random/cachedRandom/cachedRandom.C b/src/OpenFOAM/primitives/random/cachedRandom/cachedRandom.C
index c7e65ac558d..afba64df742 100644
--- a/src/OpenFOAM/primitives/random/cachedRandom/cachedRandom.C
+++ b/src/OpenFOAM/primitives/random/cachedRandom/cachedRandom.C
@@ -97,10 +97,8 @@ Foam::cachedRandom::cachedRandom(const cachedRandom& cr, const bool reset)
     }
     if (sampleI_ == -1)
     {
-        WarningIn
-        (
-            "Foam::cachedRandom::cachedRandom(const cachedRandom& cr)"
-        )   << "Copy constructor called, but samples not being cached. "
+        WarningInFunction
+            << "Copy constructor called, but samples not being cached. "
             << "This may lead to non-repeatable behaviour" << endl;
 
         osRandomSeed(seed_);
diff --git a/src/OpenFOAM/primitives/strings/fileName/fileNameIO.C b/src/OpenFOAM/primitives/strings/fileName/fileNameIO.C
index 3a45b884f66..b87431ca5c9 100644
--- a/src/OpenFOAM/primitives/strings/fileName/fileNameIO.C
+++ b/src/OpenFOAM/primitives/strings/fileName/fileNameIO.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -53,7 +53,7 @@ Foam::Istream& Foam::operator>>(Istream& is, fileName& fn)
     else
     {
         is.setBad();
-        FatalIOErrorIn("operator>>(Istream&, fileName&)", is)
+        FatalIOErrorInFunction(is)
             << "wrong token type - expected string, found " << t.info()
             << exit(FatalIOError);
 
diff --git a/src/OpenFOAM/primitives/strings/keyType/keyType.C b/src/OpenFOAM/primitives/strings/keyType/keyType.C
index fd2925fe71b..3df927921e3 100644
--- a/src/OpenFOAM/primitives/strings/keyType/keyType.C
+++ b/src/OpenFOAM/primitives/strings/keyType/keyType.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -93,7 +93,7 @@ Foam::Istream& Foam::operator>>(Istream& is, keyType& kw)
         if (kw.empty())
         {
             is.setBad();
-            FatalIOErrorIn("operator>>(Istream&, keyType&)", is)
+            FatalIOErrorInFunction(is)
                 << "empty word/expression "
                 << exit(FatalIOError);
             return is;
@@ -102,7 +102,7 @@ Foam::Istream& Foam::operator>>(Istream& is, keyType& kw)
     else
     {
         is.setBad();
-        FatalIOErrorIn("operator>>(Istream&, keyType&)", is)
+        FatalIOErrorInFunction(is)
             << "wrong token type - expected word or string, found "
             << t.info()
             << exit(FatalIOError);
diff --git a/src/OpenFOAM/primitives/strings/string/stringIO.C b/src/OpenFOAM/primitives/strings/string/stringIO.C
index ab76e7135d9..954290fff7b 100644
--- a/src/OpenFOAM/primitives/strings/string/stringIO.C
+++ b/src/OpenFOAM/primitives/strings/string/stringIO.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -53,7 +53,7 @@ Foam::Istream& Foam::operator>>(Istream& is, string& s)
     else
     {
         is.setBad();
-        FatalIOErrorIn("operator>>(Istream&, string&)", is)
+        FatalIOErrorInFunction(is)
             << "wrong token type - expected string, found " << t.info()
             << exit(FatalIOError);
 
diff --git a/src/OpenFOAM/primitives/strings/word/wordIO.C b/src/OpenFOAM/primitives/strings/word/wordIO.C
index eca5d3a27e5..19221fa2b7f 100644
--- a/src/OpenFOAM/primitives/strings/word/wordIO.C
+++ b/src/OpenFOAM/primitives/strings/word/wordIO.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -60,7 +60,7 @@ Foam::Istream& Foam::operator>>(Istream& is, word& w)
         if (w.empty() || w.size() != t.stringToken().size())
         {
             is.setBad();
-            FatalIOErrorIn("operator>>(Istream&, word&)", is)
+            FatalIOErrorInFunction(is)
                 << "wrong token type - expected word, found "
                 "non-word characters "
                 << t.info()
@@ -71,7 +71,7 @@ Foam::Istream& Foam::operator>>(Istream& is, word& w)
     else
     {
         is.setBad();
-        FatalIOErrorIn("operator>>(Istream&, word&)", is)
+        FatalIOErrorInFunction(is)
             << "wrong token type - expected word, found "
             << t.info()
             << exit(FatalIOError);
diff --git a/src/OpenFOAM/primitives/strings/wordRe/wordRe.C b/src/OpenFOAM/primitives/strings/wordRe/wordRe.C
index aff4e226c89..95fd22dc8a4 100644
--- a/src/OpenFOAM/primitives/strings/wordRe/wordRe.C
+++ b/src/OpenFOAM/primitives/strings/wordRe/wordRe.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -68,7 +68,7 @@ Foam::Istream& Foam::operator>>(Istream& is, wordRe& w)
         if (w.empty())
         {
             is.setBad();
-            FatalIOErrorIn("operator>>(Istream&, wordRe&)", is)
+            FatalIOErrorInFunction(is)
                 << "empty word/expression "
                 << exit(FatalIOError);
             return is;
@@ -77,7 +77,7 @@ Foam::Istream& Foam::operator>>(Istream& is, wordRe& w)
     else
     {
         is.setBad();
-        FatalIOErrorIn("operator>>(Istream&, wordRe&)", is)
+        FatalIOErrorInFunction(is)
             << "wrong token type - expected word or string, found "
             << t.info()
             << exit(FatalIOError);
-- 
GitLab


From c4d5f65a1077b7bf909a093ec0c552009174b809 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Wed, 11 Nov 2015 09:03:39 +0000
Subject: [PATCH 056/141] Completed update ...ErrorIn -> ...ErrorInFunction
 Avoids the clutter and maintenance effort associated with providing the
 function signature string.

---
 applications/test/error/Test-error.C          |   2 +-
 doc/codingStyleGuide.org                      |   4 +-
 etc/codeTemplates/source/_Template.C          |   2 +-
 .../template/_TemplateTemplate.C              |   9 +-
 src/ODE/ODESolvers/ODESolver/ODESolver.C      |   8 +-
 src/ODE/ODESolvers/ODESolver/ODESolverNew.C   |   9 +-
 src/ODE/ODESolvers/SIBS/SIBS.C                |   2 +-
 .../adaptiveSolver/adaptiveSolver.C           |   4 +-
 src/ODE/ODESolvers/seulex/seulex.C            |   2 +-
 src/OSspecific/POSIX/POSIX.C                  |  60 ++---
 src/OSspecific/POSIX/fileMonitor.C            |  25 +-
 src/OSspecific/POSIX/regExp.C                 |   6 +-
 src/OSspecific/POSIX/signals/sigFpe.C         |  24 +-
 src/OSspecific/POSIX/signals/sigInt.C         |  26 +-
 src/OSspecific/POSIX/signals/sigQuit.C        |  26 +-
 src/OSspecific/POSIX/signals/sigSegv.C        |  26 +-
 .../POSIX/signals/sigStopAtWriteNow.C         |  28 +-
 src/OSspecific/POSIX/signals/sigWriteNow.C    |  14 +-
 src/OSspecific/POSIX/timer.C                  |  21 +-
 .../GAMGAgglomeration/GAMGAgglomeration.C     |   2 +-
 src/Pstream/dummy/UPstream.C                  |   2 +-
 src/Pstream/mpi/PstreamGlobals.C              |   8 +-
 src/Pstream/mpi/UIPread.C                     |  30 +--
 src/Pstream/mpi/UOPwrite.C                    |   8 +-
 src/Pstream/mpi/UPstream.C                    |  60 ++---
 src/Pstream/mpi/allReduceTemplates.C          |  58 +---
 ...oupledTemperatureMixedFvPatchScalarField.C |  10 +-
 ...allHeatFluxTemperatureFvPatchScalarField.C |  28 +-
 .../temperatureCoupledBase.C                  |  15 +-
 .../thermalBaffle1DFvPatchScalarField.C       |   5 +-
 ...entHeatFluxTemperatureFvPatchScalarField.C |   6 +-
 ...tureCoupledBaffleMixedFvPatchScalarField.C |  11 +-
 ...eratureRadCoupledMixedFvPatchScalarField.C |  11 +-
 ...ayatillekeWallFunctionFvPatchScalarField.C |   5 +-
 ...ayatillekeWallFunctionFvPatchScalarField.C |   6 +-
 .../turbulenceModels/LES/LESModel/LESModel.C  |  13 +-
 .../LES/LESdeltas/IDDESDelta/IDDESDelta.C     |   4 +-
 .../LES/LESdeltas/LESdelta/LESdelta.C         |  14 +-
 .../cubeRootVolDelta/cubeRootVolDelta.C       |   4 +-
 .../LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.C   |   4 +-
 .../LES/LESfilters/LESfilter/LESfilter.C      |   6 +-
 .../turbulenceModels/RAS/RASModel/RASModel.C  |  13 +-
 .../RAS/SpalartAllmaras/SpalartAllmaras.C     |   2 +-
 .../atmBoundaryLayer/atmBoundaryLayer.C       |   6 +-
 .../ReynoldsStress/ReynoldsStress.C           |   6 +-
 .../TurbulenceModel/TurbulenceModel.C         |  11 +-
 .../epsilonWallFunctionFvPatchScalarField.C   |   2 +-
 .../fWallFunctionFvPatchScalarField.C         |   2 +-
 .../kLowReWallFunctionFvPatchScalarField.C    |   2 +-
 .../kqRWallFunctionFvPatchField.C             |   2 +-
 .../nutWallFunctionFvPatchScalarField.C       |   2 +-
 .../omegaWallFunctionFvPatchScalarField.C     |   2 +-
 .../v2WallFunctionFvPatchScalarField.C        |   2 +-
 .../reactionRateFlameAreaNew.C                |   5 +-
 .../combustionModel/combustionModelI.H        |  14 +-
 .../psiCombustionModelNew.C                   |   6 +-
 .../rhoCombustionModelNew.C                   |   6 +-
 .../singleStepCombustion.C                    |  11 +-
 src/conversion/ensight/part/ensightPart.C     |   5 +-
 src/conversion/meshReader/calcPointCells.C    |   4 +-
 src/conversion/meshReader/createPolyCells.C   |   4 +-
 .../meshReader/starcd/STARCDMeshReader.C      |  11 +-
 .../meshWriter/starcd/STARCDMeshWriter.C      |   4 +-
 src/conversion/polyDualMesh/polyDualMesh.C    |  28 +-
 src/dummyThirdParty/MGridGen/dummyMGridGen.C  |   4 +-
 .../metisDecomp/dummyMetisDecomp.C            |  46 +---
 .../ptscotchDecomp/dummyPtscotchDecomp.C      |  62 +----
 .../scotchDecomp/dummyScotchDecomp.C          |  47 +---
 .../dynamicFvMesh/dynamicFvMeshNew.C          |  14 +-
 .../dynamicRefineFvMesh/dynamicRefineFvMesh.C |  18 +-
 .../multiSolidBodyMotionFvMesh.C              |  12 +-
 .../solidBodyMotionFunctionNew.C              |  12 +-
 .../tabulated6DoFMotion/tabulated6DoFMotion.C |  19 +-
 .../solidBodyMotionFvMesh.C                   |  21 +-
 src/dynamicMesh/attachDetach/attachDetach.C   |  43 +--
 .../attachDetach/attachDetachPointMatchMap.C  |   8 +-
 .../attachDetach/detachInterface.C            |   9 +-
 src/dynamicMesh/boundaryMesh/boundaryMesh.C   |  16 +-
 src/dynamicMesh/boundaryMesh/boundaryMesh.H   |   2 +-
 .../createShellMesh/createShellMesh.C         |  14 +-
 .../fvMeshAdder/fvMeshAdderTemplates.C        |   6 +-
 .../fvMeshDistribute/fvMeshDistribute.C       |  22 +-
 .../fvMeshDistributeTemplates.C               |   4 +-
 src/dynamicMesh/fvMeshTools/fvMeshTools.C     |   6 +-
 .../layerAdditionRemoval/addCellLayer.C       |   9 +-
 .../layerAdditionRemoval.C                    |  32 +--
 .../layerAdditionRemoval/setLayerPairing.C    |  20 +-
 src/dynamicMesh/meshCut/cellCuts/cellCuts.C   |  78 +++---
 .../meshCut/cellLooper/cellLooper.C           |  14 +-
 .../meshCut/cellLooper/hexCellLooper.C        |   8 +-
 .../meshCut/cellLooper/topoCellLooper.C       |  12 +-
 .../directions/directionInfo/directionInfo.C  |  10 +-
 .../meshCut/directions/directions.C           |  31 +--
 .../meshCut/edgeVertex/edgeVertex.C           |   9 +-
 .../meshCut/edgeVertex/edgeVertex.H           |  30 +--
 .../boundaryCutter/boundaryCutter.C           |  14 +-
 .../meshCutAndRemove/meshCutAndRemove.C       |  61 ++---
 .../meshModifiers/meshCutter/meshCutter.C     |  30 +--
 .../multiDirRefinement/multiDirRefinement.C   |  37 +--
 .../refinementIterator/refinementIterator.C   |   6 +-
 .../undoableMeshCutter/undoableMeshCutter.C   |  59 ++--
 .../meshCut/refineCell/refineCell.C           |   6 +-
 src/dynamicMesh/meshCut/splitCell/splitCell.C |  12 +-
 .../wallNormalInfo/wallNormalInfoI.H          |   8 +-
 .../motionSmoother/motionSmootherAlgo.C       |  40 +--
 .../motionSmootherAlgoTemplates.C             |  17 +-
 .../polyMeshGeometry/polyMeshGeometry.C       | 135 +++-------
 .../componentDisplacementMotionSolver.C       |  28 +-
 .../componentVelocityMotionSolver.C           |  10 +-
 .../displacement/displacementMotionSolver.C   |  21 +-
 .../motionSolver/motionSolver/motionSolver.C  |  14 +-
 .../perfectInterface/perfectInterface.C       |  20 +-
 .../polyMeshAdder/faceCoupleInfo.C            |  99 ++-----
 src/dynamicMesh/polyMeshAdder/polyMeshAdder.C |  12 +-
 .../polyMeshModifier/polyMeshModifierNew.C    |   6 +-
 .../polyTopoChange/addObject/polyAddFace.H    | 103 +------
 .../polyTopoChange/addObject/polyAddPoint.H   |  13 +-
 .../polyTopoChange/addPatchCellLayer.C        |  92 ++-----
 .../polyTopoChange/combineFaces.C             |  96 ++-----
 .../polyTopoChange/edgeCollapser.C            |  66 ++---
 .../polyTopoChange/faceCollapser.C            |   6 +-
 .../polyTopoChange/polyTopoChange/hexRef8.C   | 255 ++++++------------
 .../modifyObject/polyModifyFace.H             |  83 +-----
 .../pointEdgeCollapse/pointEdgeCollapseI.H    |   4 +-
 .../polyTopoChange/polyTopoChange.C           | 150 ++++-------
 .../polyTopoChange/refinementDataI.H          |   4 +-
 .../polyTopoChange/refinementDistanceDataI.H  |   4 +-
 .../polyTopoChange/refinementHistory.C        |  49 ++--
 .../polyTopoChange/refinementHistory.H        |   4 +-
 .../polyTopoChange/removeCells.C              |  55 ++--
 .../polyTopoChange/removeFaces.C              |  54 ++--
 .../polyTopoChange/removePoints.C             |  71 ++---
 .../polyTopoChange/tetDecomposer.C            |   2 +-
 .../polyTopoChanger/polyTopoChanger.C         |  16 +-
 .../repatchPolyTopoChanger.C                  |  47 +---
 .../slidingInterface/coupleSlidingInterface.C |  67 ++---
 .../decoupleSlidingInterface.C                |  16 +-
 .../enrichedPatch/enrichedPatch.C             |  10 +-
 .../enrichedPatch/enrichedPatchCutFaces.C     |  17 +-
 .../enrichedPatch/enrichedPatchFaces.C        |  69 +----
 .../enrichedPatch/enrichedPatchMasterPoints.C |   4 +-
 .../enrichedPatch/enrichedPatchPointMap.C     |   4 +-
 .../enrichedPatch/enrichedPatchPointPoints.C  |   2 +-
 .../slidingInterface/slidingInterface.C       |  37 +--
 .../slidingInterfaceAttachedAddressing.C      |  85 ++----
 .../slidingInterfaceProjectPoints.C           |  22 +-
 src/edgeMesh/edgeMesh.C                       |   4 +-
 .../edgeMeshFormats/edgeMesh/edgeMeshFormat.C |  24 +-
 .../extendedFeatureEdgeMeshFormat.C           |   7 +-
 .../edgeMeshFormats/nas/NASedgeFormat.C       |  12 +-
 .../edgeMeshFormats/obj/OBJedgeFormat.C       |  13 +-
 .../edgeMeshFormats/starcd/STARCDedgeFormat.C |   7 +-
 .../edgeMeshFormats/vtk/VTKedgeFormat.C       |  15 +-
 src/edgeMesh/edgeMeshIO.C                     |   9 +-
 src/edgeMesh/edgeMeshNew.C                    |   9 +-
 .../extendedEdgeMeshFormat.C                  |   5 +-
 .../extendedEdgeMesh/extendedEdgeMeshI.H      |   6 +-
 .../extendedEdgeMesh/extendedEdgeMeshNew.C    |   9 +-
 .../extendedEdgeMeshTemplates.C               |  24 +-
 .../extendedFeatureEdgeMesh.C                 |   9 +-
 .../extendedFeatureEdgeMeshI.H                |   6 +-
 .../extendedFeatureEdgeMeshTemplates.C        |  24 +-
 src/engine/engineMesh/engineMesh/engineMesh.C |   8 +-
 .../engineMesh/engineMesh/engineMeshNew.C     |   8 +-
 src/fileFormats/coordSet/coordSet.C           |   8 +-
 .../sampledSetWriters/csv/csvSetWriter.C      |   4 +-
 .../gnuplot/gnuplotSetWriter.C                |   4 +-
 .../sampledSetWriters/raw/rawSetWriter.C      |   4 +-
 .../sampledSetWriters/vtk/vtkSetWriter.C      |   4 +-
 src/fileFormats/sampledSetWriters/writer.C    |   8 +-
 .../xmgrace/xmgraceSetWriter.C                |   4 +-
 src/fileFormats/starcd/STARCDCore.C           |  13 +-
 src/fileFormats/vtk/vtkUnstructuredReader.C   |  46 ++--
 .../pairPatchAgglomeration.C                  |  29 +-
 .../pairPatchAgglomerationTemplates.C         |  10 +-
 .../displacementInterpolationMotionSolver.C   |  24 +-
 .../displacementLayeredMotionMotionSolver.C   |  58 +---
 .../motionDiffusivity/motionDiffusivity.C     |   9 +-
 ...surfaceDisplacementPointPatchVectorField.C |  14 +-
 ...meVaryingMappedFixedValuePointPatchField.C |  22 +-
 ...polatedDisplacementPointPatchVectorField.C |  14 +-
 src/fvOptions/cellSetOption/cellSetOption.C   |   8 +-
 src/fvOptions/fvOption/fvOption.C             |   8 +-
 .../interRegionOption/interRegionOption.C     |   4 +-
 .../interRegionOption/interRegionOptionI.H    |   6 +-
 .../actuationDiskSource/actuationDiskSource.C |   8 +-
 .../effectivenessHeatExchangerSource.C        |  11 +-
 .../explicitPorositySource.C                  |   3 +-
 .../meanVelocityForce/meanVelocityForce.C     |  12 +-
 .../patchMeanVelocityForce.C                  |   2 +-
 .../rotorDiskSource/bladeModel/bladeModel.C   |   2 +-
 .../profileModel/lookup/lookupProfile.C       |  10 +-
 .../profileModel/profileModel.C               |   4 +-
 .../profileModel/profileModelList.C           |   4 +-
 .../profileModel/series/seriesProfile.C       |  22 +-
 .../derived/rotorDiskSource/rotorDiskSource.C |  14 +-
 .../rotorDiskSourceTemplates.C                |   2 +-
 .../trimModel/trimModel/trimModelNew.C        |   8 +-
 .../solidificationMeltingSource.C             |  12 +-
 .../tabulated6DoFAcceleration.C               |  18 +-
 .../semiImplicitSource/SemiImplicitSource.C   |   7 +-
 .../interRegionExplicitPorositySource.C       |   5 +-
 .../interRegionHeatTransferModel.C            |  12 +-
 .../interRegionHeatTransferModelI.H           |  10 +-
 .../genericFvPatchField/genericFvPatchField.C |  84 ++----
 .../genericPointPatchField.C                  |  42 +--
 .../clouds/Templates/DSMCCloud/DSMCCloud.C    |   2 +-
 .../clouds/Templates/DSMCCloud/DSMCCloudI.H   |   2 +-
 .../BinaryCollisionModelNew.C                 |   6 +-
 .../NoBinaryCollision/NoBinaryCollision.C     |   9 +-
 .../FreeStream/FreeStream.C                   |  12 +-
 .../InflowBoundaryModelNew.C                  |   7 +-
 .../WallInteractionModelNew.C                 |   6 +-
 src/lagrangian/basic/Cloud/Cloud.C            |   4 +-
 src/lagrangian/basic/Cloud/CloudIO.C          |  19 +-
 src/lagrangian/basic/IOPosition/IOPosition.C  |   6 +-
 .../basic/InteractionLists/InteractionLists.C |   9 +-
 .../referredWallFace/referredWallFace.C       |  22 +-
 src/lagrangian/basic/particle/particleI.H     |  36 +--
 .../basic/particle/particleTemplates.C        |  23 +-
 .../COxidationDiffusionLimitedRate.C          |  10 +-
 .../COxidationIntrinsicRate.C                 |  10 +-
 .../COxidationMurphyShaddix.C                 |   6 +-
 .../distributionModel/distributionModel.C     |   4 +-
 .../distributionModel/distributionModelNew.C  |  11 +-
 .../distributionModels/normal/normal.C        |   6 +-
 .../IntegrationScheme/IntegrationSchemeNew.C  |   8 +-
 .../Templates/CollidingCloud/CollidingCloud.C |  16 +-
 .../KinematicCloud/KinematicCloudI.H          |  10 +-
 .../cloudSolution/cloudSolution.C             |   8 +-
 .../clouds/Templates/MPPICCloud/MPPICCloud.C  |  16 +-
 .../Templates/ReactingCloud/ReactingCloud.C   |  13 +-
 .../Templates/ThermoCloud/ThermoCloudI.H      |  44 +--
 .../CollidingParcel/CollidingParcel.C         |   6 +-
 .../CollisionRecordList/CollisionRecordList.C |  36 +--
 .../PairCollisionRecord/PairCollisionRecord.C |   8 +-
 .../WallCollisionRecord/WallCollisionRecord.C |   8 +-
 .../WallCollisionRecordI.H                    |  11 +-
 .../KinematicParcel/KinematicParcel.C         |  13 +-
 .../ReactingMultiphaseParcelI.H               |   9 +-
 .../Templates/ReactingParcel/ReactingParcel.C |  23 +-
 .../Templates/ThermoParcel/ThermoParcel.C     |  38 +--
 .../ThermoParcel/ThermoParcelTrackingDataI.H  |  10 +-
 .../phaseProperties/phaseProperties.C         |  48 +---
 .../CloudFunctionObjectNew.C                  |  14 +-
 .../ParticleCollector/ParticleCollector.C     |  19 +-
 .../ParticleErosion/ParticleErosion.C         |  14 +-
 .../ParticleTracks/ParticleTracks.C           |  12 +-
 .../PatchPostProcessing/PatchPostProcessing.C |  12 +-
 .../VoidFraction/VoidFraction.C               |   4 +-
 .../CollisionModel/CollisionModelNew.C        |  12 +-
 .../PairModel/PairModel/PairModelNew.C        |  12 +-
 .../WallModel/WallModel/WallModelNew.C        |  12 +-
 .../DispersionModel/DispersionModelNew.C      |  12 +-
 .../CellZoneInjection/CellZoneInjection.C     |   6 +-
 .../ConeNozzleInjection/ConeNozzleInjection.C |  32 +--
 .../InflationInjection/InflationInjection.C   |  12 +-
 .../InjectionModel/InjectionModel.C           |  37 +--
 .../InjectionModel/InjectionModelNew.C        |  24 +-
 .../PatchInjection/patchInjectionBase.C       |  10 +-
 .../Drag/NonSphereDrag/NonSphereDragForce.C   |  12 +-
 .../Lift/LiftForce/LiftForceI.H               |   9 +-
 .../ParticleForce/ParticleForce.C             |  12 +-
 .../ParticleForce/ParticleForceNew.C          |  13 +-
 .../PressureGradient/PressureGradientForceI.H |   9 +-
 .../LocalInteraction/LocalInteraction.C       |  17 +-
 .../patchInteractionDataList.C                |  20 +-
 .../PatchInteractionModelNew.C                |  12 +-
 .../StandardWallInteraction.C                 |  25 +-
 .../StochasticCollisionModelNew.C             |  12 +-
 .../SurfaceFilmModel/SurfaceFilmModelNew.C    |  12 +-
 .../AveragingMethod/AveragingMethod.C         |  13 +-
 .../CorrectionLimitingMethod.C                |  11 +-
 .../DampingModels/DampingModel/DampingModel.C |  12 +-
 .../IsotropyModel/IsotropyModel.C             |  12 +-
 .../PackingModels/PackingModel/PackingModel.C |  12 +-
 .../ParticleStressModel/ParticleStressModel.C |  11 +-
 .../TimeScaleModel/TimeScaleModel.C           |  11 +-
 .../CompositionModel/CompositionModel.C       | 127 ++-------
 .../CompositionModel/CompositionModelNew.C    |  12 +-
 .../SingleMixtureFraction.C                   |  35 +--
 .../SinglePhaseMixture/SinglePhaseMixture.C   |  18 +-
 .../LiquidEvaporation/LiquidEvaporation.C     |  42 +--
 .../LiquidEvaporationBoil.C                   |  42 +--
 .../PhaseChangeModel/PhaseChangeModel.C       |   7 +-
 .../PhaseChangeModel/PhaseChangeModelNew.C    |  12 +-
 .../ConstantRateDevolatilisation.C            |  13 +-
 .../DevolatilisationModelNew.C                |  12 +-
 .../SingleKineticRateDevolatilisation.C       |  11 +-
 .../SurfaceReactionModelNew.C                 |  12 +-
 .../HeatTransferModel/HeatTransferModelNew.C  |  12 +-
 .../ThermoSurfaceFilm/ThermoSurfaceFilm.C     |  33 +--
 .../bufferedAccumulator/bufferedAccumulator.C |  16 +-
 .../correlationFunction/correlationFunction.C |   6 +-
 .../distribution/distribution.C               |   8 +-
 .../mdTools/calculateTransportProperties.H    |   8 +-
 .../molecule/molecule/molecule.C              |   4 +-
 .../molecule/molecule/moleculeI.H             |  14 +-
 .../molecule/moleculeCloud/moleculeCloud.C    |  18 +-
 .../molecule/moleculeCloud/moleculeCloudI.H   |   6 +-
 .../molecule/reducedUnits/reducedUnits.C      |  10 +-
 .../basic/energyScalingFunctionNew.C          |   8 +-
 .../pairPotential/basic/pairPotential.C       |   6 +-
 .../pairPotential/basic/pairPotentialNew.C    |   8 +-
 .../pairPotentialList/pairPotentialList.C     |  14 +-
 .../pairPotentialList/pairPotentialListI.H    |   4 +-
 .../potential/potential/potential.C           |  31 +--
 .../basic/tetherPotentialNew.C                |   8 +-
 .../tetherPotentialList/tetherPotentialList.C |   6 +-
 .../tetherPotentialListI.H                    |   7 +-
 .../AtomizationModel/AtomizationModelNew.C    |  12 +-
 .../BreakupModel/BreakupModelNew.C            |  12 +-
 .../spray/submodels/BreakupModel/TAB/TAB.C    |   4 +-
 .../DispersionRASModel/DispersionRASModel.C   |  12 +-
 .../BrownianMotion/BrownianMotionForce.C      |   6 +-
 .../autoHexMeshDriver/autoLayerDriver.C       |  12 +-
 .../autoHexMeshDriver/autoLayerDriverShrink.C |   4 +-
 .../autoHexMeshDriver/autoSnapDriver.C        |  17 +-
 .../autoHexMeshDriver/autoSnapDriverFeature.C |  25 +-
 .../layerParameters/layerParameters.C         |  20 +-
 .../refinementParameters.C                    |   8 +-
 .../externalDisplacementMeshMover.C           |  10 +-
 .../medialAxisMeshMover.C                     |   9 +-
 .../meshRefinement/meshRefinement.C           |  68 ++---
 .../meshRefinement/meshRefinementBaffles.C    |  78 ++----
 .../meshRefinementProblemCells.C              |   4 +-
 .../meshRefinement/meshRefinementTemplates.C  |  23 +-
 .../refinementFeatures/refinementFeatures.C   |  23 +-
 .../refinementSurfaces/refinementSurfaces.C   |  15 +-
 .../refinementSurfaces/surfaceZonesInfo.C     |  22 +-
 .../autoHexMesh/shellSurfaces/shellSurfaces.C |  27 +-
 .../blockDescriptor/blockDescriptor.C         |  20 +-
 src/mesh/blockMesh/blockMesh/blockMesh.C      |   2 +-
 src/mesh/blockMesh/blockMesh/blockMeshCheck.C |  26 +-
 src/mesh/blockMesh/blockMesh/blockMeshMerge.C |  20 +-
 .../blockMesh/blockMesh/blockMeshMergeFast.C  |  17 +-
 .../blockMesh/blockMesh/blockMeshTopology.C   |  31 +--
 src/mesh/blockMesh/curvedEdges/arcEdge.C      |   5 +-
 src/mesh/blockMesh/curvedEdges/curvedEdge.C   |   2 +-
 src/mesh/blockMesh/curvedEdges/lineEdge.C     |   2 +-
 .../extrudeModel/extrudeModelNew.C            |   8 +-
 .../linearDirection/linearDirection.C         |   4 +-
 .../extrudeModel/linearNormal/linearNormal.C  |   6 +-
 .../planeExtrusion/planeExtrusion.C           |   2 +-
 .../extrudeModel/sigmaRadial/sigmaRadial.C    |   4 +-
 src/mesh/extrudeModel/wedge/wedge.C           |   2 +-
 .../AMIInterpolation/AMIInterpolation.C       |  92 +------
 .../AMIMethod/AMIMethod/AMIMethod.C           |  31 +--
 .../AMIMethod/AMIMethod/AMIMethodNew.C        |  18 +-
 .../faceAreaWeightAMI/faceAreaWeightAMI.C     |  29 +-
 .../AMIMethod/mapNearestAMI/mapNearestAMI.C   |  14 +-
 .../faceAreaIntersect/faceAreaIntersect.C     |  14 +-
 .../cyclicACMIPointPatchField.C               |  22 +-
 .../cyclicACMIPolyPatch/cyclicACMIPolyPatch.C |  35 +--
 .../cyclicAMIPointPatchField.C                |  22 +-
 .../cyclicAMIPolyPatch/cyclicAMIPolyPatch.C   |  62 +----
 .../algorithms/MeshWave/FaceCellWave.C        |  41 +--
 .../PatchEdgeFaceWave/PatchEdgeFaceWave.C     |  30 +--
 .../PatchEdgeFaceWave/patchEdgeFaceRegionI.H  |   4 +-
 .../PatchEdgeFaceWave/patchEdgeFaceRegionsI.H |   8 +-
 .../algorithms/PointEdgeWave/PointEdgeWave.C  |  37 +--
 .../cellClassification/cellClassification.C   |  16 +-
 src/meshTools/cellClassification/cellInfoI.H  |   6 +-
 src/meshTools/cellDist/cellDistFuncs.C        |  12 +-
 src/meshTools/cellFeatures/cellFeatures.C     |  42 +--
 .../coordinateRotation/axesRotation.C         |  18 +-
 .../coordinateRotationNew.C                   |  15 +-
 .../coordinateRotation/cylindrical.C          |  26 +-
 .../coordinateSystems/coordinateSystem.C      |   9 +-
 .../coordinateSystems/coordinateSystemNew.C   |   5 +-
 .../edgeFaceCirculator/edgeFaceCirculatorI.H  |  22 +-
 src/meshTools/indexedOctree/treeDataFace.C    |   7 +-
 .../indexedOctree/treeDataPrimitivePatch.C    |  19 +-
 .../indexedOctree/treeDataTriSurface.C        |  11 +-
 .../mappedPolyPatch/mappedPatchBase.C         |  88 ++----
 .../mappedPolyPatch/mappedPatchBaseI.H        |   8 +-
 src/meshTools/meshSearch/meshSearch.C         |  25 +-
 src/meshTools/meshTools/meshTools.C           |  74 ++---
 .../polyMeshZipUpCells/polyMeshZipUpCells.C   |  19 +-
 .../primitiveMeshGeometry.C                   | 102 ++-----
 .../regionCoupledBaseGAMGInterface.C          |  24 +-
 .../regionCoupledBase.C                       |   9 +-
 src/meshTools/regionSplit/localPointRegion.C  |  24 +-
 src/meshTools/regionSplit/regionSplit.C       |  19 +-
 .../searchableSurface/searchableBox.C         |  24 +-
 .../searchableSurface/searchableDisk.C        |   9 +-
 .../searchableSurface/searchablePlane.C       |   9 +-
 .../searchableSurface/searchablePlate.C       |  15 +-
 .../searchableSurface/searchableSurface.C     |   9 +-
 .../searchableSurfaceCollection.C             |  22 +-
 .../searchableSurface/searchableSurfaces.C    |  35 +--
 .../searchableSurfacesQueries.C               |  11 +-
 .../searchableSurface/triSurfaceMesh.C        |  15 +-
 .../faceZoneToCell/faceZoneToCell.C           |   4 +-
 .../cellSources/fieldToCell/fieldToCell.C     |  16 +-
 .../cellSources/regionToCell/regionToCell.C   |   9 +-
 .../cellSources/shapeToCell/shapeToCell.C     |  20 +-
 .../cellSources/surfaceToCell/surfaceToCell.C |  14 +-
 .../targetVolumeToCell/targetVolumeToCell.C   |   6 +-
 .../sets/cellSources/zoneToCell/zoneToCell.C  |   4 +-
 .../setToCellZone/setToCellZone.C             |   9 +-
 .../faceSources/normalToFace/normalToFace.C   |   9 +-
 .../faceSources/patchToFace/patchToFace.C     |   4 +-
 .../sets/faceSources/zoneToFace/zoneToFace.C  |   4 +-
 .../faceZoneToFaceZone/faceZoneToFaceZone.C   |   9 +-
 .../searchableSurfaceToFaceZone.C             |  10 +-
 .../setAndNormalToFaceZone.C                  |  12 +-
 .../setToFaceZone/setToFaceZone.C             |   9 +-
 .../setsToFaceZone/setsToFaceZone.C           |  16 +-
 .../surfaceToPoint/surfaceToPoint.C           |   2 +-
 .../pointSources/zoneToPoint/zoneToPoint.C    |   4 +-
 .../setToPointZone/setToPointZone.C           |   9 +-
 .../sets/topoSetSource/topoSetSource.C        |  18 +-
 src/meshTools/sets/topoSets/faceSet.C         |   4 +-
 src/meshTools/sets/topoSets/faceZoneSet.C     |   8 +-
 src/meshTools/sets/topoSets/topoSet.C         |  29 +-
 .../booleanSurface/booleanSurface.C           |  50 ++--
 .../booleanSurface/booleanSurface.H           |   4 +-
 .../intersectedSurface/edgeSurface.H          |   6 +-
 .../intersectedSurface/intersectedSurface.C   |  48 ++--
 .../surfaceIntersection/edgeIntersections.C   |  16 +-
 .../surfaceIntersection/surfaceIntersection.C |  15 +-
 .../surfaceIntersectionFuncs.C                |   9 +-
 .../orientedSurface/orientedSurface.C         |  10 +-
 .../surfaceFeatures/surfaceFeatures.C         |  16 +-
 .../triSurfaceSearch/triSurfaceRegionSearch.C |   4 +-
 .../triSurfaceSearch/triSurfaceSearch.C       |   4 +-
 .../pointToPointPlanarInterpolation.C         |  20 +-
 ...pointToPointPlanarInterpolationTemplates.C |   9 +-
 .../triSurfaceTools/triSurfaceTools.C         |  59 ++--
 .../twoDPointCorrector/twoDPointCorrector.C   |   8 +-
 .../fvFieldDecomposerDecomposeFields.C        |   6 +-
 .../decompositionMethod/decompositionMethod.C |  42 +--
 .../geomDecomp/geomDecomp.C                   |   9 +-
 .../hierarchGeomDecomp/hierarchGeomDecomp.C   |  14 +-
 .../manualDecomp/manualDecomp.C               |  14 +-
 .../multiLevelDecomp/multiLevelDecomp.C       |   4 +-
 .../structuredDecomp/structuredDecomp.C       |   2 +-
 .../decompose/metisDecomp/metisDecomp.C       |  44 ++-
 .../decompose/ptscotchDecomp/ptscotchDecomp.C |  41 +--
 .../decompose/scotchDecomp/scotchDecomp.C     |  42 +--
 .../distributedTriSurfaceMesh.C               |  29 +-
 .../reconstruct/fvFieldReconstructor.C        |  15 +-
 .../fvFieldReconstructorReconstructFields.C   |  13 +-
 .../reconstruct/pointFieldReconstructor.C     |  15 +-
 .../reconstruct/reconstruct/processorMeshes.C |   4 +-
 .../basic/addSubtract/addSubtract.C           |  14 +-
 .../foamCalcFunctions/calcType/calcTypeNew.C  |   6 +-
 .../IO/partialWrite/partialWrite.C            |   4 +-
 .../writeRegisteredObject.C                   |   4 +-
 .../fieldAverage/fieldAverage/fieldAverage.C  |  14 +-
 .../fieldAverage/fieldAverageTemplates.C      |   5 +-
 .../fieldAverageItem/fieldAverageItem.C       |   8 +-
 .../fieldCoordinateSystemTransform.C          |  14 +-
 .../field/fieldMinMax/fieldMinMax.C           |  12 +-
 .../field/fieldMinMax/fieldMinMaxTemplates.C  |  10 +-
 .../field/fieldValues/cellSource/cellSource.C |  12 +-
 .../cellSource/cellSourceTemplates.C          |  11 +-
 .../field/fieldValues/faceSource/faceSource.C |  31 +--
 .../faceSource/faceSourceTemplates.C          |  44 +--
 .../field/fieldValues/fieldValue/fieldValue.C |  12 +-
 .../fieldValues/fieldValue/fieldValueNew.C    |  14 +-
 .../fieldValueDeltaTemplates.C                |   9 +-
 .../field/nearWallFields/nearWallFields.C     |  12 +-
 .../field/processorField/processorField.C     |  14 +-
 .../field/readFields/readFields.C             |  14 +-
 .../regionSizeDistribution.C                  |  12 +-
 .../field/streamLine/streamLine.C             |  26 +-
 .../field/streamLine/streamLineParticle.C     |   4 +-
 .../surfaceInterpolateFields.C                |  14 +-
 .../wallBoundedParticle.C                     |  36 +--
 .../wallBoundedParticleTemplates.C            |  13 +-
 .../wallBoundedStreamLine.C                   |  34 +--
 .../wallBoundedStreamLineParticle.C           |   4 +-
 .../forces/forceCoeffs/forceCoeffs.C          |   2 +-
 .../functionObjects/forces/forces/forces.C    |  32 +--
 .../fvTools/calcFvcDiv/calcFvcDiv.C           |  16 +-
 .../fvTools/calcFvcGrad/calcFvcGrad.C         |  16 +-
 .../functionObjects/fvTools/calcMag/calcMag.C |  16 +-
 .../functionObjects/systemCall/systemCall.C   |   6 +-
 .../utilities/CourantNo/CourantNo.C           |  12 +-
 .../utilities/Lambda2/Lambda2.C               |  14 +-
 .../functionObjects/utilities/Peclet/Peclet.C |  14 +-
 .../functionObjects/utilities/Q/Q.C           |  14 +-
 .../utilities/blendingFactor/blendingFactor.C |  14 +-
 .../blendingFactor/blendingFactorTemplates.C  |   4 +-
 .../utilities/dsmcFields/dsmcFields.C         |  14 +-
 .../utilities/pressureTools/pressureTools.C   |  16 +-
 .../utilities/residuals/residuals.C           |  12 +-
 .../scalarTransport/scalarTransport.C         |   2 +-
 .../setTimeStep/setTimeStepFunctionObject.C   |   4 +-
 .../timeActivatedFileUpdate.C                 |   4 +-
 .../turbulenceFields/turbulenceFields.C       |  18 +-
 .../turbulenceFieldsTemplates.C               |  12 +-
 .../utilities/vorticity/vorticity.C           |  14 +-
 .../wallShearStress/wallShearStress.C         |  16 +-
 .../functionObjects/utilities/yPlus/yPlus.C   |  14 +-
 src/randomProcesses/Kmesh/Kmesh.C             |   4 +-
 src/randomProcesses/fft/fft.C                 |   9 +-
 src/randomProcesses/noise/noiseFFT.C          |  15 +-
 .../energyRegionCoupledFvPatchScalarField.C   |  13 +-
 .../pyrolysisModels/noPyrolysis/noPyrolysis.C |   4 +-
 .../pyrolysisModel/pyrolysisModelCollection.C |   2 +-
 .../pyrolysisModel/pyrolysisModelNew.C        |  14 +-
 ...sRadiativeCoupledMixedFvPatchScalarField.C |  35 +--
 ...rolysisVelocityCoupledFvPatchVectorField.C |   8 +-
 .../regionModel/regionModel/regionModel.C     |  31 +--
 .../regionModel/regionModel/regionModelI.H    |  28 +-
 .../regionModel/regionModelTemplates.C        |  23 +-
 .../regionModel1D/regionModel1DI.H            |   9 +-
 .../regionModelFunctionObjectNew.C            |  13 +-
 .../singleLayerRegion/singleLayerRegion.C     |   8 +-
 ...linedFilmNusseltHeightFvPatchScalarField.C |   9 +-
 ...lmNusseltInletVelocityFvPatchVectorField.C |   9 +-
 .../kinematicSingleLayer.C                    |  30 +--
 .../surfaceFilmModels/noFilm/noFilm.C         |  30 +--
 .../submodels/filmSubModelBaseTemplates.C     |   4 +-
 .../filmThermoModel/filmThermoModelNew.C      |   8 +-
 .../liquidFilmThermo/liquidFilmThermo.C       |   7 +-
 .../filmTurbulenceModelNew.C                  |  12 +-
 .../kinematic/force/force/forceNew.C          |  13 +-
 .../curvatureSeparation/curvatureSeparation.C |  11 +-
 .../injectionModel/injectionModelNew.C        |  13 +-
 .../patchInjection/patchInjection.C           |   2 +-
 .../filmRadiationModelNew.C                   |  12 +-
 .../filmViscosityModelNew.C                   |  13 +-
 .../heatTransferModel/heatTransferModelNew.C  |   8 +-
 .../phaseChangeModel/phaseChangeModelNew.C    |   8 +-
 .../surfaceFilmModel/surfaceFilmModelNew.C    |   8 +-
 .../thermalBaffleFvPatchScalarField.C         |   8 +-
 .../thermalBaffleModels/noThermo/noThermo.C   |  14 +-
 .../thermalBaffle/thermalBaffle.C             |   4 +-
 .../thermalBaffleModel/thermalBaffleModel.C   |  30 +--
 .../thermalBaffleModelNew.C                   |  10 +-
 .../manualRenumber/manualRenumber.C           |  22 +-
 .../renumberMethod/renumberMethod.C           |   7 +-
 .../structuredRenumber/structuredRenumber.C   |  10 +-
 src/renumber/zoltanRenumber/zoltanRenumber.C  |   6 +-
 src/sampling/cuttingPlane/cuttingPlane.C      |  12 +-
 .../calcMethod/mapNearest/mapNearestMethod.C  |  12 +-
 .../meshToMeshMethod/meshToMeshMethodNew.C    |  11 +-
 src/sampling/meshToMesh/meshToMesh.C          |  23 +-
 .../meshToMesh/meshToMeshParallelOps.C        |  16 +-
 src/sampling/meshToMesh/meshToMeshTemplates.C |  22 +-
 .../calculateMeshToMesh0Addressing.C          |   2 +-
 .../meshToMesh0/calculateMeshToMesh0Weights.C |   6 +-
 src/sampling/meshToMesh0/meshToMesh0.C        |  30 +--
 .../meshToMesh0/meshToMesh0Templates.C        |  41 +--
 src/sampling/probes/patchProbes.C             |  13 +-
 src/sampling/probes/probes.C                  |  10 +-
 src/sampling/sampledSet/circle/circleSet.C    |   8 +-
 src/sampling/sampledSet/face/faceOnlySet.C    |   4 +-
 .../sampledSet/midPoint/midPointSet.C         |   5 +-
 .../midPointAndFace/midPointAndFaceSet.C      |   5 +-
 .../sampledSet/polyLine/polyLineSet.C         |   6 +-
 .../sampledSet/sampledSet/sampledSet.C        |  36 +--
 .../sampledSet/sampledSets/sampledSets.C      |   4 +-
 .../sampledSets/sampledSetsGrouping.C         |   4 +-
 .../sampledSets/sampledSetsTemplates.C        |  15 +-
 src/sampling/sampledSet/uniform/uniformSet.C  |   4 +-
 .../distanceSurface/distanceSurface.C         |  20 +-
 .../sampledSurface/isoSurface/isoSurface.C    |  30 +--
 .../isoSurface/isoSurfaceCell.C               |  20 +-
 .../isoSurface/isoSurfaceCellTemplates.C      |   2 +-
 .../isoSurface/isoSurfaceTemplates.C          |   6 +-
 .../isoSurface/sampledIsoSurface.C            |  10 +-
 .../sampledCuttingPlane/sampledCuttingPlane.C |   9 +-
 .../sampledPatch/sampledPatch.C               |   4 +-
 .../sampledSurface/sampledSurface.C           |  13 +-
 .../sampledSurface/sampledSurfaceTemplates.C  |   7 +-
 .../sampledSurfaces/sampledSurfacesGrouping.C |   4 +-
 .../sampledThresholdCellFaces.C               |   7 +-
 .../thresholdCellFaces/thresholdCellFaces.C   |   5 +-
 .../writers/dx/dxSurfaceWriter.C              |   8 +-
 .../writers/nastran/nastranSurfaceWriter.C    |  24 +-
 .../nastran/nastranSurfaceWriterTemplates.C   |  17 +-
 .../sampledSurface/writers/surfaceWriter.C    |   8 +-
 ...gidBodyDisplacementPointPatchVectorField.C |   6 +-
 .../sixDoFRigidBodyMotionAxisConstraint.C     |   8 +-
 .../sixDoFRigidBodyMotionLineConstraint.C     |   8 +-
 .../sixDoFRigidBodyMotionConstraintNew.C      |  13 +-
 .../linearAxialAngularSpring.C                |  18 +-
 .../sixDoFRigidBodyMotionRestraintNew.C       |  11 +-
 .../sphericalAngularSpring.C                  |   9 +-
 .../tabulatedAxialAngularSpring.C             |  27 +-
 .../sixDoFRigidBodyMotionSolver.C             |   6 +-
 .../sixDoFSolver/newSixDoFSolver.C            |   2 +-
 .../sixDoFSolvers/symplectic/symplectic.C     |   2 +-
 src/surfMesh/MeshedSurface/MeshedSurface.C    |  29 +-
 src/surfMesh/MeshedSurface/MeshedSurfaceNew.C |   9 +-
 .../MeshedSurface/MeshedSurfaceZones.C        |  12 +-
 .../MeshedSurfaceProxy/MeshedSurfaceProxy.C   |   8 +-
 .../UnsortedMeshedSurface.C                   |   9 +-
 .../UnsortedMeshedSurfaceNew.C                |  10 +-
 src/surfMesh/surfMesh/surfMesh.C              |  12 +-
 src/surfMesh/surfMesh/surfMeshIO.C            |   5 +-
 .../surfZone/surfZone/surfZoneIOList.C        |   4 +-
 .../surfaceFormats/ac3d/AC3DsurfaceFormat.C   |  51 +---
 .../ac3d/AC3DsurfaceFormatCore.C              |   7 +-
 .../surfaceFormats/ftr/FTRsurfaceFormat.C     |   7 +-
 .../surfaceFormats/gts/GTSsurfaceFormat.C     |  46 +---
 .../surfaceFormats/nas/NASsurfaceFormat.C     |  12 +-
 .../surfaceFormats/obj/OBJsurfaceFormat.C     |  13 +-
 .../surfaceFormats/off/OFFsurfaceFormat.C     |  18 +-
 .../surfaceFormats/ofs/OFSsurfaceFormat.C     |  25 +-
 .../surfaceFormats/smesh/SMESHsurfaceFormat.C |   8 +-
 .../starcd/STARCDsurfaceFormat.C              |   7 +-
 .../surfaceFormats/stl/STLsurfaceFormat.C     |  26 +-
 .../stl/STLsurfaceFormatASCII.L               |  10 +-
 .../surfaceFormats/stl/STLsurfaceFormatCore.C |  10 +-
 .../surfaceFormats/tri/TRIsurfaceFormat.C     |  14 +-
 .../surfaceFormats/tri/TRIsurfaceFormatCore.C |   5 +-
 .../surfaceFormats/vtk/VTKsurfaceFormat.C     |  20 +-
 .../surfaceFormats/wrl/WRLsurfaceFormat.C     |   8 +-
 .../surfaceFormats/x3d/X3DsurfaceFormat.C     |   8 +-
 .../SLGThermo/SLGThermo/SLGThermo.C           |  39 +--
 .../barotropicCompressibilityModelNew.C       |   8 +-
 .../basic/basicThermo/basicThermo.C           |  10 +-
 .../basic/basicThermo/basicThermoTemplates.C  |   6 +-
 .../basicChemistryModelTemplates.C            |  13 +-
 .../RaviPetersen/RaviPetersen.C               |  14 +-
 .../laminarFlameSpeed/laminarFlameSpeedNew.C  |   5 +-
 .../liquidMixtureProperties.C                 |  10 +-
 .../liquidProperties/liquidProperties.C       |  22 +-
 .../properties/solidProperties/C/C.C          |   4 +-
 .../properties/solidProperties/CaCO3/CaCO3.C  |   4 +-
 .../properties/solidProperties/ash/ash.C      |   4 +-
 .../solidProperties/solidPropertiesNew.C      |   8 +-
 ...iffusiveRadiationMixedFvPatchScalarField.C |   7 +-
 .../radiationCoupledBase.C                    |  20 +-
 ...iffusiveRadiationMixedFvPatchScalarField.C |   7 +-
 .../fvDOM/absorptionCoeffs/absorptionCoeffs.C |   6 +-
 .../radiationModels/fvDOM/fvDOM/fvDOM.C       |   4 +-
 .../radiationModel/radiationModel.C           |  12 +-
 .../radiationModel/radiationModelNew.C        |  12 +-
 .../radiationModels/viewFactor/viewFactor.C   |  12 +-
 .../absorptionEmissionModelNew.C              |   6 +-
 .../greyMeanAbsorptionEmission.C              |  50 +---
 .../greyMeanSolidAbsorptionEmission.C         |  22 +-
 .../wideBandAbsorptionEmission.C              |  23 +-
 .../scatterModel/scatterModelNew.C            |   6 +-
 .../mixtureFractionSoot/mixtureFractionSoot.C |  10 +-
 .../sootModel/sootModel/sootModelNew.C        |   6 +-
 .../chemistryReader/chemistryReader.C         |   8 +-
 .../chemkinReader/chemkinLexer.L              |  76 +++---
 .../chemkinReader/chemkinReader.C             |  34 +--
 .../mixtures/egrMixture/egrMixture.C          |   9 +-
 .../homogeneousMixture/homogeneousMixture.C   |  10 +-
 .../inhomogeneousMixture.C                    |  10 +-
 .../multiComponentMixture.C                   |   6 +-
 .../singleStepReactingMixture.C               |  10 +-
 .../veryInhomogeneousMixture.C                |  10 +-
 .../basicSolidChemistryModelNew.C             |   2 +-
 .../reaction/Reactions/Reaction/Reaction.C    |  23 +-
 .../thirdBodyEfficienciesI.H                  |  28 +-
 .../specie/thermo/hPower/hPowerThermoI.H      |   6 +-
 .../specie/thermo/janaf/janafThermo.C         |   8 +-
 .../specie/thermo/janaf/janafThermoI.H        |  36 +--
 .../specie/thermo/thermo/thermoI.H            |  13 +-
 .../thermophysicalFunction.C                  |   6 +-
 .../linearValveFvMesh/linearValveFvMesh.C     |   8 +-
 .../linearValveLayersFvMesh.C                 |   8 +-
 .../mixerFvMesh/mixerFvMesh.C                 |   4 +-
 .../viscosityModel/viscosityModelNew.C        |   9 +-
 .../faceTriangulation/faceTriangulation.C     |  34 +--
 .../meshTriangulation/meshTriangulation.C     |   6 +-
 .../triSurface/interfaces/AC3D/readAC.C       |  18 +-
 .../triSurface/interfaces/DX/writeDX.C        |  14 +-
 .../triSurface/interfaces/GTS/readGTS.C       |  10 +-
 .../triSurface/interfaces/NAS/readNAS.C       |   6 +-
 .../triSurface/interfaces/OBJ/readOBJ.C       |   4 +-
 .../triSurface/interfaces/OFF/readOFF.C       |   6 +-
 .../triSurface/interfaces/STL/readSTLASCII.L  |  22 +-
 .../triSurface/interfaces/STL/readSTLBINARY.C |   2 +-
 .../triSurface/interfaces/TRI/readTRI.C       |   4 +-
 .../surfacePatch/surfacePatchIOList.C         |  13 +-
 src/triSurface/triSurface/triSurface.C        |  67 ++---
 .../triSurface/triSurfaceAddressing.C         |   8 +-
 678 files changed, 3357 insertions(+), 8219 deletions(-)

diff --git a/applications/test/error/Test-error.C b/applications/test/error/Test-error.C
index 892c1356e54..b9be1924a52 100644
--- a/applications/test/error/Test-error.C
+++ b/applications/test/error/Test-error.C
@@ -45,7 +45,7 @@ int main(int argc, char *argv[])
 
         dictionary dict;
 
-        IOWarningIn("main", dict) << "warning 3" << endl;
+        IOWarningInFunction(dict) << "warning 3" << endl;
 
         FatalErrorInFunction << "error 1" << endl;
         FatalErrorInFunction << "error 2" << exit(FatalError);
diff --git a/doc/codingStyleGuide.org b/doc/codingStyleGuide.org
index e61a00d7d28..29eb59145c6 100644
--- a/doc/codingStyleGuide.org
+++ b/doc/codingStyleGuide.org
@@ -28,12 +28,12 @@
         #+END_SRC
         so
         #+BEGIN_SRC C++
-        WarningIn("className::functionName()")
+        WarningInFunction
             << "Warning message"
         #+END_SRC
         *not*
         #+BEGIN_SRC C++
-        WarningIn("className::functionName()")
+        WarningInFunction
         << "Warning message"
         #+END_SRC
 
diff --git a/etc/codeTemplates/source/_Template.C b/etc/codeTemplates/source/_Template.C
index 36464dc5f5d..a7005f5a207 100644
--- a/etc/codeTemplates/source/_Template.C
+++ b/etc/codeTemplates/source/_Template.C
@@ -87,7 +87,7 @@ void Foam::CLASSNAME::operator=(const CLASSNAME& rhs)
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn("Foam::CLASSNAME::operator=(const Foam::CLASSNAME&)")
+        FatalErrorInFunction
             << "Attempted assignment to self"
             << abort(FatalError);
     }
diff --git a/etc/codeTemplates/template/_TemplateTemplate.C b/etc/codeTemplates/template/_TemplateTemplate.C
index 0cd8a3fbc9d..41469f7b13d 100644
--- a/etc/codeTemplates/template/_TemplateTemplate.C
+++ b/etc/codeTemplates/template/_TemplateTemplate.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -103,11 +103,8 @@ void Foam::CLASSNAME<TemplateArgument>::operator=
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn
-        (
-            "Foam::CLASSNAME<TemplateArgument>::operator="
-            "(const Foam::CLASSNAME<TemplateArgument>&)"
-        )   << "Attempted assignment to self"
+        FatalErrorInFunction
+            << "Attempted assignment to self"
             << abort(FatalError);
     }
 }
diff --git a/src/ODE/ODESolvers/ODESolver/ODESolver.C b/src/ODE/ODESolvers/ODESolver/ODESolver.C
index 39f38323df9..823f159097a 100644
--- a/src/ODE/ODESolvers/ODESolver/ODESolver.C
+++ b/src/ODE/ODESolvers/ODESolver/ODESolver.C
@@ -145,12 +145,8 @@ void Foam::ODESolver::solve
         }
     }
 
-    FatalErrorIn
-    (
-        "ODESolver::solve"
-        "(const scalar xStart, const scalar xEnd,"
-        "scalarField& y, scalar& dxTry) const"
-    )   << "Integration steps greater than maximum " << maxSteps_
+    FatalErrorInFunction
+        << "Integration steps greater than maximum " << maxSteps_
         << "xStart = " << xStart << ", xEnd = " << xEnd
         << ", x = " << x << ", dxDid = " << step.dxDid
         << exit(FatalError);
diff --git a/src/ODE/ODESolvers/ODESolver/ODESolverNew.C b/src/ODE/ODESolvers/ODESolver/ODESolverNew.C
index ef0d6e34547..0774ac7de0c 100644
--- a/src/ODE/ODESolvers/ODESolver/ODESolverNew.C
+++ b/src/ODE/ODESolvers/ODESolver/ODESolverNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -41,11 +41,8 @@ Foam::autoPtr<Foam::ODESolver> Foam::ODESolver::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "ODESolver::New"
-            "(const dictionary& dict, const ODESystem& odes)"
-        )   << "Unknown ODESolver type "
+        FatalErrorInFunction
+            << "Unknown ODESolver type "
             << ODESolverTypeName << nl << nl
             << "Valid ODESolvers are : " << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/ODE/ODESolvers/SIBS/SIBS.C b/src/ODE/ODESolvers/SIBS/SIBS.C
index dd7d26c9e67..36acb8a6b1a 100644
--- a/src/ODE/ODESolvers/SIBS/SIBS.C
+++ b/src/ODE/ODESolvers/SIBS/SIBS.C
@@ -145,7 +145,7 @@ void Foam::SIBS::solve
 
             if (xNew_ == x)
             {
-                FatalErrorIn("ODES::SIBS")
+                FatalErrorInFunction
                     << "step size underflow"
                     << exit(FatalError);
             }
diff --git a/src/ODE/ODESolvers/adaptiveSolver/adaptiveSolver.C b/src/ODE/ODESolvers/adaptiveSolver/adaptiveSolver.C
index ee49a70d88e..f868e921d09 100644
--- a/src/ODE/ODESolvers/adaptiveSolver/adaptiveSolver.C
+++ b/src/ODE/ODESolvers/adaptiveSolver/adaptiveSolver.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -74,7 +74,7 @@ void Foam::adaptiveSolver::solve
 
             if (dx < VSMALL)
             {
-                FatalErrorIn("adaptiveSolver::solve")
+                FatalErrorInFunction
                     << "stepsize underflow"
                     << exit(FatalError);
             }
diff --git a/src/ODE/ODESolvers/seulex/seulex.C b/src/ODE/ODESolvers/seulex/seulex.C
index cf82d31b02f..51389d0779c 100644
--- a/src/ODE/ODESolvers/seulex/seulex.C
+++ b/src/ODE/ODESolvers/seulex/seulex.C
@@ -252,7 +252,7 @@ void Foam::seulex::solve
 
         if (mag(dx) <= mag(x)*sqr(SMALL))
         {
-             WarningIn("seulex::solve(scalar& x, scalarField& y, stepState&")
+             WarningInFunction
                     << "step size underflow :"  << dx << endl;
         }
 
diff --git a/src/OSspecific/POSIX/POSIX.C b/src/OSspecific/POSIX/POSIX.C
index 5374c0b6152..44ee3c7088f 100644
--- a/src/OSspecific/POSIX/POSIX.C
+++ b/src/OSspecific/POSIX/POSIX.C
@@ -253,7 +253,7 @@ Foam::fileName Foam::cwd()
     }
     else
     {
-        FatalErrorIn("Foam::cwd()")
+        FatalErrorInFunction
             << "Couldn't get the current working directory"
             << exit(FatalError);
 
@@ -437,7 +437,7 @@ bool Foam::mkDir(const fileName& pathName, mode_t mode)
         {
             case EPERM:
             {
-                FatalErrorIn("Foam::mkDir(const fileName&, mode_t)")
+                FatalErrorInFunction
                     << "The filesystem containing " << pathName
                     << " does not support the creation of directories."
                     << exit(FatalError);
@@ -453,7 +453,7 @@ bool Foam::mkDir(const fileName& pathName, mode_t mode)
 
             case EFAULT:
             {
-                FatalErrorIn("Foam::mkDir(const fileName&, mode_t)")
+                FatalErrorInFunction
                     << "" << pathName
                     << " points outside your accessible address space."
                     << exit(FatalError);
@@ -463,7 +463,7 @@ bool Foam::mkDir(const fileName& pathName, mode_t mode)
 
             case EACCES:
             {
-                FatalErrorIn("Foam::mkDir(const fileName&, mode_t)")
+                FatalErrorInFunction
                     << "The parent directory does not allow write "
                        "permission to the process,"<< nl
                     << "or one of the directories in " << pathName
@@ -475,7 +475,7 @@ bool Foam::mkDir(const fileName& pathName, mode_t mode)
 
             case ENAMETOOLONG:
             {
-                FatalErrorIn("Foam::mkDir(const fileName&, mode_t)")
+                FatalErrorInFunction
                     << "" << pathName << " is too long."
                     << exit(FatalError);
 
@@ -491,7 +491,7 @@ bool Foam::mkDir(const fileName& pathName, mode_t mode)
                 }
                 else
                 {
-                    FatalErrorIn("Foam::mkDir(const fileName&, mode_t)")
+                    FatalErrorInFunction
                         << "Couldn't create directory " << pathName
                         << exit(FatalError);
 
@@ -501,7 +501,7 @@ bool Foam::mkDir(const fileName& pathName, mode_t mode)
 
             case ENOTDIR:
             {
-                FatalErrorIn("Foam::mkDir(const fileName&, mode_t)")
+                FatalErrorInFunction
                     << "A component used as a directory in " << pathName
                     << " is not, in fact, a directory."
                     << exit(FatalError);
@@ -511,7 +511,7 @@ bool Foam::mkDir(const fileName& pathName, mode_t mode)
 
             case ENOMEM:
             {
-                FatalErrorIn("Foam::mkDir(const fileName&, mode_t)")
+                FatalErrorInFunction
                     << "Insufficient kernel memory was available to make "
                        "directory " << pathName << '.'
                     << exit(FatalError);
@@ -521,7 +521,7 @@ bool Foam::mkDir(const fileName& pathName, mode_t mode)
 
             case EROFS:
             {
-                FatalErrorIn("Foam::mkDir(const fileName&, mode_t)")
+                FatalErrorInFunction
                     << "" << pathName
                     << " refers to a file on a read-only filesystem."
                     << exit(FatalError);
@@ -531,7 +531,7 @@ bool Foam::mkDir(const fileName& pathName, mode_t mode)
 
             case ELOOP:
             {
-                FatalErrorIn("Foam::mkDir(const fileName&, mode_t)")
+                FatalErrorInFunction
                     << "Too many symbolic links were encountered in resolving "
                     << pathName << '.'
                     << exit(FatalError);
@@ -541,7 +541,7 @@ bool Foam::mkDir(const fileName& pathName, mode_t mode)
 
             case ENOSPC:
             {
-                FatalErrorIn("Foam::mkDir(const fileName&, mode_t)")
+                FatalErrorInFunction
                     << "The device containing " << pathName
                     << " has no room for the new directory or "
                     << "the user's disk quota is exhausted."
@@ -552,7 +552,7 @@ bool Foam::mkDir(const fileName& pathName, mode_t mode)
 
             default:
             {
-                FatalErrorIn("Foam::mkDir(const fileName&, mode_t)")
+                FatalErrorInFunction
                     << "Couldn't create directory " << pathName
                     << exit(FatalError);
 
@@ -862,7 +862,7 @@ bool Foam::ln(const fileName& src, const fileName& dst)
 
     if (exists(dst))
     {
-        WarningIn("ln(const fileName&, const fileName&)")
+        WarningInFunction
             << "destination " << dst << " already exists. Not linking."
             << endl;
         return false;
@@ -870,7 +870,7 @@ bool Foam::ln(const fileName& src, const fileName& dst)
 
     if (src.isAbsolute() && !exists(src))
     {
-        WarningIn("ln(const fileName&, const fileName&)")
+        WarningInFunction
             << "source " << src << " does not exist." << endl;
         return false;
     }
@@ -881,7 +881,7 @@ bool Foam::ln(const fileName& src, const fileName& dst)
     }
     else
     {
-        WarningIn("ln(const fileName&, const fileName&)")
+        WarningInFunction
             << "symlink from " << src << " to " << dst << " failed." << endl;
         return false;
     }
@@ -987,7 +987,7 @@ bool Foam::rmDir(const fileName& directory)
     // Attempt to open directory and set the structure pointer
     if ((source = ::opendir(directory.c_str())) == NULL)
     {
-        WarningIn("rmDir(const fileName&)")
+        WarningInFunction
             << "cannot open directory " << directory << endl;
 
         return false;
@@ -1007,7 +1007,7 @@ bool Foam::rmDir(const fileName& directory)
                 {
                     if (!rmDir(path))
                     {
-                        WarningIn("rmDir(const fileName&)")
+                        WarningInFunction
                             << "failed to remove directory " << fName
                             << " while removing directory " << directory
                             << endl;
@@ -1021,7 +1021,7 @@ bool Foam::rmDir(const fileName& directory)
                 {
                     if (!rm(path))
                     {
-                        WarningIn("rmDir(const fileName&)")
+                        WarningInFunction
                             << "failed to remove file " << fName
                             << " while removing directory " << directory
                             << endl;
@@ -1037,7 +1037,7 @@ bool Foam::rmDir(const fileName& directory)
 
         if (!rm(directory))
         {
-            WarningIn("rmDir(const fileName&)")
+            WarningInFunction
                 << "failed to remove directory " << directory << endl;
 
             ::closedir(source);
@@ -1062,10 +1062,8 @@ void Foam::fdClose(const int fd)
 {
     if (close(fd) != 0)
     {
-        FatalErrorIn
-        (
-            "fdClose(const int fd)"
-        )   << "close error on " << fd << endl
+        FatalErrorInFunction
+            << "close error on " << fd << endl
             << abort(FatalError);
     }
 }
@@ -1085,10 +1083,8 @@ bool Foam::ping
 
     if ((hostPtr = ::gethostbyname(destName.c_str())) == NULL)
     {
-        FatalErrorIn
-        (
-            "Foam::ping(const string&, ...)"
-        )   << "gethostbyname error " << h_errno << " for host " << destName
+        FatalErrorInFunction
+            << "gethostbyname error " << h_errno << " for host " << destName
             << abort(FatalError);
     }
 
@@ -1099,10 +1095,8 @@ bool Foam::ping
     sockfd = ::socket(AF_INET, SOCK_STREAM, 0);
     if (sockfd < 0)
     {
-        FatalErrorIn
-        (
-            "Foam::ping(const string&, const label)"
-        )   << "socket error"
+        FatalErrorInFunction
+            << "socket error"
             << abort(FatalError);
     }
 
@@ -1176,7 +1170,7 @@ void* Foam::dlOpen(const fileName& lib, const bool check)
 
     if (!handle && check)
     {
-        WarningIn("dlOpen(const fileName&, const bool)")
+        WarningInFunction
             << "dlopen error : " << ::dlerror()
             << endl;
     }
@@ -1224,7 +1218,7 @@ void* Foam::dlSym(void* handle, const std::string& symbol)
 
     if (error)
     {
-        WarningIn("dlSym(void*, const std::string&)")
+        WarningInFunction
             << "Cannot lookup symbol " << symbol << " : " << error
             << endl;
     }
diff --git a/src/OSspecific/POSIX/fileMonitor.C b/src/OSspecific/POSIX/fileMonitor.C
index d15fab273d4..e3bddbc78f3 100644
--- a/src/OSspecific/POSIX/fileMonitor.C
+++ b/src/OSspecific/POSIX/fileMonitor.C
@@ -149,7 +149,7 @@ namespace Foam
                     if (!hasWarned)
                     {
                         hasWarned = true;
-                        WarningIn("fileMonitorWatcher(const bool, const label)")
+                        WarningInFunction
                             << "Failed allocating an inotify descriptor : "
                             << string(strerror(errno)) << endl
                             << "    Please increase the number of allowable "
@@ -166,7 +166,7 @@ namespace Foam
                     }
                 }
                 #else
-                    FatalErrorIn("fileMonitorWatcher(const bool, const label)")
+                    FatalErrorInFunction
                         << "You selected inotify but this file was compiled"
                         << " without FOAM_USE_INOTIFY"
                         << " Please select another fileModification test method"
@@ -191,7 +191,7 @@ namespace Foam
                     {
                         if (inotify_rm_watch(inotifyFd_, int(dirWatches_[i])))
                         {
-                            WarningIn("fileMonitor::~fileMonitor()")
+                            WarningInFunction
                                 << "Failed deleting directory watch "
                                 << dirWatches_[i] << endl;
                         }
@@ -229,7 +229,7 @@ namespace Foam
 
                     if (dirWatchID < 0)
                     {
-                        FatalErrorIn("addWatch(const label, const fileName&)")
+                        FatalErrorInFunction
                             << "Failed adding watch " << watchFd
                             << " to directory " << fName << " due to "
                             << string(strerror(errno))
@@ -240,7 +240,7 @@ namespace Foam
                 if (watchFd < dirWatches_.size() && dirWatches_[watchFd] != -1)
                 {
                     // Reuse of watchFd : should have dir watchID set to -1.
-                    FatalErrorIn("addWatch(const label, const fileName&)")
+                    FatalErrorInFunction
                         << "Problem adding watch " << watchFd
                         << " to file " << fName
                         << abort(FatalError);
@@ -255,7 +255,7 @@ namespace Foam
                 if (watchFd < lastMod_.size() && lastMod_[watchFd] != 0)
                 {
                     // Reuse of watchFd : should have lastMod set to 0.
-                    FatalErrorIn("addWatch(const label, const fileName&)")
+                    FatalErrorInFunction
                         << "Problem adding watch " << watchFd
                         << " to file " << fName
                         << abort(FatalError);
@@ -320,7 +320,7 @@ void Foam::fileMonitor::checkFiles() const
 
             if (ready < 0)
             {
-                FatalErrorIn("fileMonitor::checkFiles()")
+                FatalErrorInFunction
                     << "Problem in issuing select."
                     << abort(FatalError);
             }
@@ -336,7 +336,7 @@ void Foam::fileMonitor::checkFiles() const
 
                 if (nBytes < 0)
                 {
-                    FatalErrorIn("fileMonitor::checkFiles()")
+                    FatalErrorInFunction
                         << "read of " << watcher_->inotifyFd_
                         << " failed with " << label(nBytes)
                         << abort(FatalError);
@@ -473,7 +473,7 @@ Foam::label Foam::fileMonitor::addWatch(const fileName& fName)
 
     if (watchFd < 0)
     {
-        WarningIn("fileMonitor::addWatch(const fileName&)")
+        WarningInFunction
             << "could not add watch for file " << fName << endl;
     }
     else
@@ -593,11 +593,8 @@ void Foam::fileMonitor::updateStates
                             << endl;
                     }
 
-                    WarningIn
-                    (
-                        "fileMonitor::updateStates"
-                        "(const bool, const bool) const"
-                    )   << "Delaying reading " << watchFile_[watchFd]
+                    WarningInFunction
+                        << "Delaying reading " << watchFile_[watchFd]
                         << " due to inconsistent "
                            "file time-stamps between processors" << endl;
                 }
diff --git a/src/OSspecific/POSIX/regExp.C b/src/OSspecific/POSIX/regExp.C
index 0bd52fc5d8c..a7177dc048a 100644
--- a/src/OSspecific/POSIX/regExp.C
+++ b/src/OSspecific/POSIX/regExp.C
@@ -151,10 +151,8 @@ void Foam::regExp::set(const char* pattern, const bool ignoreCase) const
             char errbuf[200];
             regerror(err, preg_, errbuf, sizeof(errbuf));
 
-            FatalErrorIn
-            (
-                "regExp::set(const char*, const bool ignoreCase)"
-            )   << "Failed to compile regular expression '" << pattern << "'"
+            FatalErrorInFunction
+                << "Failed to compile regular expression '" << pattern << "'"
                 << nl << errbuf
                 << exit(FatalError);
         }
diff --git a/src/OSspecific/POSIX/signals/sigFpe.C b/src/OSspecific/POSIX/signals/sigFpe.C
index 5488f2e5260..0e3ab8acd63 100644
--- a/src/OSspecific/POSIX/signals/sigFpe.C
+++ b/src/OSspecific/POSIX/signals/sigFpe.C
@@ -92,10 +92,8 @@ void Foam::sigFpe::sigHandler(int)
     // Reset old handling
     if (sigaction(SIGFPE, &oldAction_, NULL) < 0)
     {
-        FatalErrorIn
-        (
-            "Foam::sigSegv::sigHandler()"
-        )   << "Cannot reset SIGFPE trapping"
+        FatalErrorInFunction
+            << "Cannot reset SIGFPE trapping"
             << abort(FatalError);
     }
 
@@ -128,10 +126,8 @@ Foam::sigFpe::~sigFpe()
         // Reset signal
         if (oldAction_.sa_handler && sigaction(SIGFPE, &oldAction_, NULL) < 0)
         {
-            FatalErrorIn
-            (
-                "Foam::sigFpe::~sigFpe()"
-            )   << "Cannot reset SIGFPE trapping"
+            FatalErrorInFunction
+                << "Cannot reset SIGFPE trapping"
                 << abort(FatalError);
         }
         #endif
@@ -153,10 +149,8 @@ void Foam::sigFpe::set(const bool verbose)
 {
     if (oldAction_.sa_handler)
     {
-        FatalErrorIn
-        (
-            "Foam::sigFpe::set()"
-        )   << "Cannot call sigFpe::set() more than once"
+        FatalErrorInFunction
+            << "Cannot call sigFpe::set() more than once"
             << abort(FatalError);
     }
 
@@ -180,10 +174,8 @@ void Foam::sigFpe::set(const bool verbose)
         sigemptyset(&newAction.sa_mask);
         if (sigaction(SIGFPE, &newAction, &oldAction_) < 0)
         {
-            FatalErrorIn
-            (
-                "Foam::sigFpe::set()"
-            )   << "Cannot set SIGFPE trapping"
+            FatalErrorInFunction
+                << "Cannot set SIGFPE trapping"
                 << abort(FatalError);
         }
 
diff --git a/src/OSspecific/POSIX/signals/sigInt.C b/src/OSspecific/POSIX/signals/sigInt.C
index 29c71f5ba74..fee8d60887d 100644
--- a/src/OSspecific/POSIX/signals/sigInt.C
+++ b/src/OSspecific/POSIX/signals/sigInt.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -40,10 +40,8 @@ void Foam::sigInt::sigHandler(int)
     // Reset old handling
     if (sigaction(SIGINT, &oldAction_, NULL) < 0)
     {
-        FatalErrorIn
-        (
-            "Foam::sigInt::sigHandler()"
-        )   << "Cannot reset SIGINT trapping"
+        FatalErrorInFunction
+            << "Cannot reset SIGINT trapping"
             << abort(FatalError);
     }
 
@@ -70,10 +68,8 @@ Foam::sigInt::~sigInt()
     // Reset old handling
     if (sigaction(SIGINT, &oldAction_, NULL) < 0)
     {
-        FatalErrorIn
-        (
-            "Foam::sigInt::~sigInt()"
-        )   << "Cannot reset SIGINT trapping"
+        FatalErrorInFunction
+            << "Cannot reset SIGINT trapping"
             << abort(FatalError);
     }
 }
@@ -85,10 +81,8 @@ void Foam::sigInt::set(const bool)
 {
     if (oldAction_.sa_handler)
     {
-        FatalErrorIn
-        (
-            "Foam::sigInt::set()"
-        )   << "Cannot call sigInt::set() more than once"
+        FatalErrorInFunction
+            << "Cannot call sigInt::set() more than once"
             << abort(FatalError);
     }
 
@@ -98,10 +92,8 @@ void Foam::sigInt::set(const bool)
     sigemptyset(&newAction.sa_mask);
     if (sigaction(SIGINT, &newAction, &oldAction_) < 0)
     {
-        FatalErrorIn
-        (
-            "Foam::sigInt::set()"
-        )   << "Cannot set SIGINT trapping"
+        FatalErrorInFunction
+            << "Cannot set SIGINT trapping"
             << abort(FatalError);
     }
 }
diff --git a/src/OSspecific/POSIX/signals/sigQuit.C b/src/OSspecific/POSIX/signals/sigQuit.C
index 9c16d3d33de..f6ba64a8277 100644
--- a/src/OSspecific/POSIX/signals/sigQuit.C
+++ b/src/OSspecific/POSIX/signals/sigQuit.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -40,10 +40,8 @@ void Foam::sigQuit::sigHandler(int)
     // Reset old handling
     if (sigaction(SIGQUIT, &oldAction_, NULL) < 0)
     {
-        FatalErrorIn
-        (
-            "Foam::sigQuit::sigHandler()"
-        )   << "Cannot reset SIGQUIT trapping"
+        FatalErrorInFunction
+            << "Cannot reset SIGQUIT trapping"
             << abort(FatalError);
     }
 
@@ -72,10 +70,8 @@ Foam::sigQuit::~sigQuit()
     // Reset old handling
     if (oldAction_.sa_handler && sigaction(SIGQUIT, &oldAction_, NULL) < 0)
     {
-        FatalErrorIn
-        (
-            "Foam::sigQuit::~sigQuit()"
-        )   << "Cannot reset SIGQUIT trapping"
+        FatalErrorInFunction
+            << "Cannot reset SIGQUIT trapping"
             << abort(FatalError);
     }
 }
@@ -87,10 +83,8 @@ void Foam::sigQuit::set(const bool verbose)
 {
     if (oldAction_.sa_handler)
     {
-        FatalErrorIn
-        (
-            "Foam::sigQuit::set()"
-        )   << "Cannot call sigQuit::set() more than once"
+        FatalErrorInFunction
+            << "Cannot call sigQuit::set() more than once"
             << abort(FatalError);
     }
 
@@ -100,10 +94,8 @@ void Foam::sigQuit::set(const bool verbose)
     sigemptyset(&newAction.sa_mask);
     if (sigaction(SIGQUIT, &newAction, &oldAction_) < 0)
     {
-        FatalErrorIn
-        (
-            "Foam::sigQuit::set()"
-        )   << "Cannot set SIGQUIT trapping"
+        FatalErrorInFunction
+            << "Cannot set SIGQUIT trapping"
             << abort(FatalError);
     }
 }
diff --git a/src/OSspecific/POSIX/signals/sigSegv.C b/src/OSspecific/POSIX/signals/sigSegv.C
index 11a30699769..3c0fc0fef5d 100644
--- a/src/OSspecific/POSIX/signals/sigSegv.C
+++ b/src/OSspecific/POSIX/signals/sigSegv.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -40,10 +40,8 @@ void Foam::sigSegv::sigHandler(int)
     // Reset old handling
     if (sigaction(SIGSEGV, &oldAction_, NULL) < 0)
     {
-        FatalErrorIn
-        (
-            "Foam::sigSegv::sigHandler()"
-        )   << "Cannot reset SIGSEGV trapping"
+        FatalErrorInFunction
+            << "Cannot reset SIGSEGV trapping"
             << abort(FatalError);
     }
 
@@ -72,10 +70,8 @@ Foam::sigSegv::~sigSegv()
     // Reset old handling
     if (sigaction(SIGSEGV, &oldAction_, NULL) < 0)
     {
-        FatalErrorIn
-        (
-            "Foam::sigSegv::~sigSegv()"
-        )   << "Cannot reset SIGSEGV trapping"
+        FatalErrorInFunction
+            << "Cannot reset SIGSEGV trapping"
             << abort(FatalError);
     }
 }
@@ -87,10 +83,8 @@ void Foam::sigSegv::set(const bool)
 {
     if (oldAction_.sa_handler)
     {
-        FatalErrorIn
-        (
-            "Foam::sigSegv::set()"
-        )   << "Cannot call sigSegv::set() more than once"
+        FatalErrorInFunction
+            << "Cannot call sigSegv::set() more than once"
             << abort(FatalError);
     }
 
@@ -100,10 +94,8 @@ void Foam::sigSegv::set(const bool)
     sigemptyset(&newAction.sa_mask);
     if (sigaction(SIGSEGV, &newAction, &oldAction_) < 0)
     {
-        FatalErrorIn
-        (
-            "Foam::sigSegv::set()"
-        )   << "Cannot set SIGSEGV trapping"
+        FatalErrorInFunction
+            << "Cannot set SIGSEGV trapping"
             << abort(FatalError);
     }
 }
diff --git a/src/OSspecific/POSIX/signals/sigStopAtWriteNow.C b/src/OSspecific/POSIX/signals/sigStopAtWriteNow.C
index 94759bfe330..3696eca38b9 100644
--- a/src/OSspecific/POSIX/signals/sigStopAtWriteNow.C
+++ b/src/OSspecific/POSIX/signals/sigStopAtWriteNow.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -80,10 +80,8 @@ void Foam::sigStopAtWriteNow::sigHandler(int)
     // Reset old handling
     if (sigaction(signal_, &oldAction_, NULL) < 0)
     {
-        FatalErrorIn
-        (
-            "Foam::sigStopAtWriteNow::sigHandler(int)"
-        )   << "Cannot reset " << signal_ << " trapping"
+        FatalErrorInFunction
+            << "Cannot reset " << signal_ << " trapping"
             << abort(FatalError);
     }
 
@@ -127,10 +125,8 @@ Foam::sigStopAtWriteNow::~sigStopAtWriteNow()
     {
         if (sigaction(signal_, &oldAction_, NULL) < 0)
         {
-            FatalErrorIn
-            (
-                "Foam::sigStopAtWriteNow::~sigStopAtWriteNow()"
-            )   << "Cannot reset " << signal_ << " trapping"
+            FatalErrorInFunction
+                << "Cannot reset " << signal_ << " trapping"
                 << abort(FatalError);
         }
     }
@@ -146,11 +142,8 @@ void Foam::sigStopAtWriteNow::set(const bool verbose)
         // Check that the signal is different from the writeNowSignal
         if (sigWriteNow::signal_ == signal_)
         {
-            FatalErrorIn
-            (
-                "Foam::sigStopAtWriteNow::sigStopAtWriteNow"
-                "(const bool, const Time&)"
-            )   << "stopAtWriteNowSignal : " << signal_
+            FatalErrorInFunction
+                << "stopAtWriteNowSignal : " << signal_
                 << " cannot be the same as the writeNowSignal."
                 << " Please change this in the controlDict ("
                 << findEtcFile("controlDict", false) << ")."
@@ -164,11 +157,8 @@ void Foam::sigStopAtWriteNow::set(const bool verbose)
         sigemptyset(&newAction.sa_mask);
         if (sigaction(signal_, &newAction, &oldAction_) < 0)
         {
-            FatalErrorIn
-            (
-                "Foam::sigStopAtWriteNow::sigStopAtWriteNow"
-                "(const bool, const Time&)"
-            )   << "Cannot set " << signal_ << " trapping"
+            FatalErrorInFunction
+                << "Cannot set " << signal_ << " trapping"
                 << abort(FatalError);
         }
 
diff --git a/src/OSspecific/POSIX/signals/sigWriteNow.C b/src/OSspecific/POSIX/signals/sigWriteNow.C
index 29381368a2d..2439b3feedd 100644
--- a/src/OSspecific/POSIX/signals/sigWriteNow.C
+++ b/src/OSspecific/POSIX/signals/sigWriteNow.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -108,10 +108,8 @@ Foam::sigWriteNow::~sigWriteNow()
     {
         if (sigaction(signal_, &oldAction_, NULL) < 0)
         {
-            FatalErrorIn
-            (
-                "Foam::sigWriteNow::~sigWriteNow()"
-            )   << "Cannot reset " << signal_ << " trapping"
+            FatalErrorInFunction
+                << "Cannot reset " << signal_ << " trapping"
                 << abort(FatalError);
         }
     }
@@ -130,10 +128,8 @@ void Foam::sigWriteNow::set(const bool verbose)
         sigemptyset(&newAction.sa_mask);
         if (sigaction(signal_, &newAction, &oldAction_) < 0)
         {
-            FatalErrorIn
-            (
-                "Foam::sigWriteNow::sigWriteNow(const bool, const Time&)"
-            )   << "Cannot set " << signal_ << " trapping"
+            FatalErrorInFunction
+                << "Cannot set " << signal_ << " trapping"
                 << abort(FatalError);
         }
 
diff --git a/src/OSspecific/POSIX/timer.C b/src/OSspecific/POSIX/timer.C
index 8b175332d8b..7e1f5886d35 100644
--- a/src/OSspecific/POSIX/timer.C
+++ b/src/OSspecific/POSIX/timer.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -67,10 +67,8 @@ Foam::timer::timer(const unsigned int newTimeOut)
         // Is singleton since handler is static function
         if (oldTimeOut_ != 0)
         {
-            FatalErrorIn
-            (
-                "Foam::timer::timer(const unsigned int)"
-            )   << "timer already used."
+            FatalErrorInFunction
+                << "timer already used."
                 << abort(FatalError);
         }
 
@@ -84,10 +82,8 @@ Foam::timer::timer(const unsigned int newTimeOut)
 
         if (sigaction(SIGALRM, &newAction, &oldAction_) < 0)
         {
-            FatalErrorIn
-            (
-                "Foam::timer::timer(const unsigned int)"
-            )   << "sigaction(SIGALRM) error"
+            FatalErrorInFunction
+                << "sigaction(SIGALRM) error"
                 << abort(FatalError);
         }
 
@@ -125,11 +121,8 @@ Foam::timer::~timer()
         // Restore signal handler
         if (sigaction(SIGALRM, &oldAction_, NULL) < 0)
         {
-            FatalErrorIn
-            (
-                "Foam::timer::~timer(const struct sigaction&"
-                "const struct sigaction&)"
-            )   << "sigaction(SIGALRM) error"
+            FatalErrorInFunction
+                << "sigaction(SIGALRM) error"
                 << abort(FatalError);
         }
     }
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 076bca07df7..6092a56a675 100644
--- a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomeration.C
+++ b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomeration.C
@@ -638,7 +638,7 @@ bool Foam::GAMGAgglomeration::checkRestriction
 
     if (nNewCoarse > nCoarse)
     {
-        //WarningIn("GAMGAgglomeration::checkRestriction(..)")
+        //WarningInFunction
         //    << "Have " << nCoarse
         //    << " agglomerated cells but " << nNewCoarse
         //    << " disconnected regions" << endl;
diff --git a/src/Pstream/dummy/UPstream.C b/src/Pstream/dummy/UPstream.C
index c3d430c53f9..cd3bc60f39d 100644
--- a/src/Pstream/dummy/UPstream.C
+++ b/src/Pstream/dummy/UPstream.C
@@ -34,7 +34,7 @@ void Foam::UPstream::addValidParOptions(HashTable<string>& validParOptions)
 
 bool Foam::UPstream::init(int& argc, char**& argv)
 {
-    FatalErrorIn("UPstream::init(int& argc, char**& argv)")
+    FatalErrorInFunction
         << "Trying to use the dummy Pstream library." << nl
         << "This dummy library cannot be used in parallel mode"
         << Foam::exit(FatalError);
diff --git a/src/Pstream/mpi/PstreamGlobals.C b/src/Pstream/mpi/PstreamGlobals.C
index cdafa043d7b..1acbe583f33 100644
--- a/src/Pstream/mpi/PstreamGlobals.C
+++ b/src/Pstream/mpi/PstreamGlobals.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -76,10 +76,8 @@ void PstreamGlobals::checkCommunicator
      || comm >= PstreamGlobals::MPICommunicators_.size()
     )
     {
-        FatalErrorIn
-        (
-            "PstreamGlobals::checkCommunicator(const label, const label)"
-        )   << "otherProcNo:" << otherProcNo << " : illegal communicator "
+        FatalErrorInFunction
+            << "otherProcNo:" << otherProcNo << " : illegal communicator "
             << comm << endl
             << "Communicator should be within range 0.."
             << PstreamGlobals::MPICommunicators_.size()-1 << abort(FatalError);
diff --git a/src/Pstream/mpi/UIPread.C b/src/Pstream/mpi/UIPread.C
index 4570c6d6de2..524f09dcea5 100644
--- a/src/Pstream/mpi/UIPread.C
+++ b/src/Pstream/mpi/UIPread.C
@@ -137,7 +137,7 @@ Foam::UIPstream::UIPstream(const int fromProcNo, PstreamBuffers& buffers)
 {
     if (commsType() != UPstream::scheduled && !buffers.finishedSendsCalled_)
     {
-        FatalErrorIn("UIPstream::UIPstream(const int, PstreamBuffers&)")
+        FatalErrorInFunction
             << "PstreamBuffers::finishedSends() never called." << endl
             << "Please call PstreamBuffers::finishedSends() after doing"
             << " all your sends (using UOPstream) and before doing any"
@@ -269,11 +269,8 @@ Foam::label Foam::UIPstream::read
             )
         )
         {
-            FatalErrorIn
-            (
-                "UIPstream::read"
-                "(const int fromProcNo, char* buf, std::streamsize bufSize)"
-            )   << "MPI_Recv cannot receive incomming message"
+            FatalErrorInFunction
+                << "MPI_Recv cannot receive incomming message"
                 << Foam::abort(FatalError);
 
             return 0;
@@ -295,11 +292,8 @@ Foam::label Foam::UIPstream::read
 
         if (messageSize > bufSize)
         {
-            FatalErrorIn
-            (
-                "UIPstream::read"
-                "(const int fromProcNo, char* buf, std::streamsize bufSize)"
-            )   << "buffer (" << label(bufSize)
+            FatalErrorInFunction
+                << "buffer (" << label(bufSize)
                 << ") not large enough for incomming message ("
                 << messageSize << ')'
                 << Foam::abort(FatalError);
@@ -325,11 +319,8 @@ Foam::label Foam::UIPstream::read
             )
         )
         {
-            FatalErrorIn
-            (
-                "UIPstream::read"
-                "(const int fromProcNo, char* buf, std::streamsize bufSize)"
-            )   << "MPI_Recv cannot start non-blocking receive"
+            FatalErrorInFunction
+                << "MPI_Recv cannot start non-blocking receive"
                 << Foam::abort(FatalError);
 
             return 0;
@@ -351,11 +342,8 @@ Foam::label Foam::UIPstream::read
     }
     else
     {
-        FatalErrorIn
-        (
-            "UIPstream::read"
-            "(const int fromProcNo, char* buf, std::streamsize bufSize)"
-        )   << "Unsupported communications type "
+        FatalErrorInFunction
+            << "Unsupported communications type "
             << commsType
             << Foam::abort(FatalError);
 
diff --git a/src/Pstream/mpi/UOPwrite.C b/src/Pstream/mpi/UOPwrite.C
index 7d84d3f8371..b3188f0009a 100644
--- a/src/Pstream/mpi/UOPwrite.C
+++ b/src/Pstream/mpi/UOPwrite.C
@@ -136,12 +136,8 @@ bool Foam::UOPstream::write
     }
     else
     {
-        FatalErrorIn
-        (
-            "UOPstream::write"
-            "(const int fromProcNo, char* buf, std::streamsize bufSize"
-            ", const int)"
-        )   << "Unsupported communications type "
+        FatalErrorInFunction
+            << "Unsupported communications type "
             << UPstream::commsTypeNames[commsType]
             << Foam::abort(FatalError);
     }
diff --git a/src/Pstream/mpi/UPstream.C b/src/Pstream/mpi/UPstream.C
index 74edc518b28..f035c989c3d 100644
--- a/src/Pstream/mpi/UPstream.C
+++ b/src/Pstream/mpi/UPstream.C
@@ -76,7 +76,7 @@ bool Foam::UPstream::init(int& argc, char**& argv)
 
     if (numprocs <= 1)
     {
-        FatalErrorIn("UPstream::init(int& argc, char**& argv)")
+        FatalErrorInFunction
             << "bool IPstream::init(int& argc, char**& argv) : "
                "attempt to run parallel on 1 processor"
             << Foam::abort(FatalError);
@@ -100,7 +100,7 @@ bool Foam::UPstream::init(int& argc, char**& argv)
     }
     else
     {
-        FatalErrorIn("UPstream::init(int& argc, char**& argv)")
+        FatalErrorInFunction
             << "UPstream::init(int& argc, char**& argv) : "
             << "environment variable MPI_BUFFER_SIZE not defined"
             << Foam::abort(FatalError);
@@ -137,7 +137,7 @@ void Foam::UPstream::exit(int errnum)
         label n = PstreamGlobals::outstandingRequests_.size();
         PstreamGlobals::outstandingRequests_.clear();
 
-        WarningIn("UPstream::exit(int)")
+        WarningInFunction
             << "There are still " << n << " outstanding MPI_Requests." << endl
             << "This means that your code exited before doing a"
             << " UPstream::waitRequests()." << endl
@@ -311,14 +311,8 @@ void Foam::UPstream::allocatePstreamCommunicator
     }
     else if (index > PstreamGlobals::MPIGroups_.size())
     {
-        FatalErrorIn
-        (
-            "UPstream::allocatePstreamCommunicator\n"
-            "(\n"
-            "    const label parentIndex,\n"
-            "    const labelList& subRanks\n"
-            ")\n"
-        )   << "PstreamGlobals out of sync with UPstream data. Problem."
+        FatalErrorInFunction
+            << "PstreamGlobals out of sync with UPstream data. Problem."
             << Foam::exit(FatalError);
     }
 
@@ -329,14 +323,8 @@ void Foam::UPstream::allocatePstreamCommunicator
 
         if (index != UPstream::worldComm)
         {
-            FatalErrorIn
-            (
-                "UPstream::allocateCommunicator\n"
-                "(\n"
-                "    const label parentIndex,\n"
-                "    const labelList& subRanks\n"
-                ")\n"
-            )   << "world communicator should always be index "
+            FatalErrorInFunction
+                << "world communicator should always be index "
                 << UPstream::worldComm << Foam::exit(FatalError);
         }
 
@@ -393,14 +381,8 @@ void Foam::UPstream::allocatePstreamCommunicator
                 )
             )
             {
-                FatalErrorIn
-                (
-                    "UPstream::allocatePstreamCommunicator\n"
-                    "(\n"
-                    "    const label,\n"
-                    "    const labelList&\n"
-                    ")\n"
-                )   << "Problem :"
+                FatalErrorInFunction
+                    << "Problem :"
                     << " when allocating communicator at " << index
                     << " from ranks " << procIDs_[index]
                     << " of parent " << parentIndex
@@ -473,10 +455,8 @@ void Foam::UPstream::waitRequests(const label start)
             )
         )
         {
-            FatalErrorIn
-            (
-                "UPstream::waitRequests()"
-            )   << "MPI_Waitall returned with error" << Foam::endl;
+            FatalErrorInFunction
+                << "MPI_Waitall returned with error" << Foam::endl;
         }
 
         resetRequests(start);
@@ -499,10 +479,8 @@ void Foam::UPstream::waitRequest(const label i)
 
     if (i >= PstreamGlobals::outstandingRequests_.size())
     {
-        FatalErrorIn
-        (
-            "UPstream::waitRequest(const label)"
-        )   << "There are " << PstreamGlobals::outstandingRequests_.size()
+        FatalErrorInFunction
+            << "There are " << PstreamGlobals::outstandingRequests_.size()
             << " outstanding send requests and you are asking for i=" << i
             << nl
             << "Maybe you are mixing blocking/non-blocking comms?"
@@ -518,10 +496,8 @@ void Foam::UPstream::waitRequest(const label i)
         )
     )
     {
-        FatalErrorIn
-        (
-            "UPstream::waitRequest()"
-        )   << "MPI_Wait returned with error" << Foam::endl;
+        FatalErrorInFunction
+            << "MPI_Wait returned with error" << Foam::endl;
     }
 
     if (debug)
@@ -542,10 +518,8 @@ bool Foam::UPstream::finishedRequest(const label i)
 
     if (i >= PstreamGlobals::outstandingRequests_.size())
     {
-        FatalErrorIn
-        (
-            "UPstream::finishedRequest(const label)"
-        )   << "There are " << PstreamGlobals::outstandingRequests_.size()
+        FatalErrorInFunction
+            << "There are " << PstreamGlobals::outstandingRequests_.size()
             << " outstanding send requests and you are asking for i=" << i
             << nl
             << "Maybe you are mixing blocking/non-blocking comms?"
diff --git a/src/Pstream/mpi/allReduceTemplates.C b/src/Pstream/mpi/allReduceTemplates.C
index 7a07698a77c..ec735f78144 100644
--- a/src/Pstream/mpi/allReduceTemplates.C
+++ b/src/Pstream/mpi/allReduceTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -71,18 +71,8 @@ void Foam::allReduce
                     )
                 )
                 {
-                    FatalErrorIn
-                    (
-                        "void Foam::allReduce\n"
-                        "(\n"
-                        "    Type&,\n"
-                        "    int,\n"
-                        "    MPI_Datatype,\n"
-                        "    MPI_Op,\n"
-                        "    const BinaryOp&,\n"
-                        "    const int\n"
-                        ")\n"
-                    )   << "MPI_Recv failed"
+                    FatalErrorInFunction
+                        << "MPI_Recv failed"
                         << Foam::abort(FatalError);
                 }
 
@@ -104,18 +94,8 @@ void Foam::allReduce
                 )
             )
             {
-                FatalErrorIn
-                (
-                    "void Foam::allReduce\n"
-                    "(\n"
-                    "    Type&,\n"
-                    "    int,\n"
-                    "    MPI_Datatype,\n"
-                    "    MPI_Op,\n"
-                    "    const BinaryOp&,\n"
-                    "    const int\n"
-                    ")\n"
-                )   << "MPI_Send failed"
+                FatalErrorInFunction
+                    << "MPI_Send failed"
                     << Foam::abort(FatalError);
             }
         }
@@ -143,18 +123,8 @@ void Foam::allReduce
                     )
                 )
                 {
-                    FatalErrorIn
-                    (
-                        "void Foam::allReduce\n"
-                        "(\n"
-                        "    Type&,\n"
-                        "    int,\n"
-                        "    MPI_Datatype,\n"
-                        "    MPI_Op,\n"
-                        "    const BinaryOp&,\n"
-                        "    const int\n"
-                        ")\n"
-                    )   << "MPI_Send failed"
+                    FatalErrorInFunction
+                        << "MPI_Send failed"
                         << Foam::abort(FatalError);
                 }
             }
@@ -175,18 +145,8 @@ void Foam::allReduce
                 )
             )
             {
-                FatalErrorIn
-                (
-                    "void Foam::allReduce\n"
-                    "(\n"
-                    "    Type&,\n"
-                    "    int,\n"
-                    "    MPI_Datatype,\n"
-                    "    MPI_Op,\n"
-                    "    const BinaryOp&,\n"
-                    "    const int\n"
-                    ")\n"
-                )   << "MPI_Recv failed"
+                FatalErrorInFunction
+                    << "MPI_Recv failed"
                     << Foam::abort(FatalError);
             }
         }
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.C
index 9791087190b..84404f7625e 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.C
@@ -160,14 +160,8 @@ void Foam::externalCoupledTemperatureMixedFvPatchScalarField::transferData
     }
     else
     {
-        FatalErrorIn
-        (
-            "void Foam::externalCoupledTemperatureMixedFvPatchScalarField::"
-            "transferData"
-            "("
-                "OFstream&"
-            ") const"
-        )   << "Condition requires either compressible turbulence and/or "
+        FatalErrorInFunction
+            << "Condition requires either compressible turbulence and/or "
             << "thermo model to be available" << exit(FatalError);
     }
 
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C
index b4346d59c29..2a02d01cac2 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C
@@ -143,16 +143,8 @@ externalWallHeatFluxTemperatureFvPatchScalarField
     }
     else
     {
-        FatalErrorIn
-        (
-            "externalWallHeatFluxTemperatureFvPatchScalarField::"
-            "externalWallHeatFluxTemperatureFvPatchScalarField\n"
-            "(\n"
-            "    const fvPatch& p,\n"
-            "    const DimensionedField<scalar, volMesh>& iF,\n"
-            "    const dictionary& dict\n"
-            ")\n"
-        )   << "\n patch type '" << p.type()
+        FatalErrorInFunction
+            << "\n patch type '" << p.type()
             << "' either q or h and Ta were not found '"
             << "\n for patch " << p.name()
             << " of field " << dimensionedInternalField().name()
@@ -311,11 +303,8 @@ void Foam::externalWallHeatFluxTemperatureFvPatchScalarField::updateCoeffs()
         }
         default:
         {
-            FatalErrorIn
-            (
-                "externalWallHeatFluxTemperatureFvPatchScalarField"
-                "::updateCoeffs()"
-            )   << "Illegal heat flux mode " << operationModeNames[mode_]
+            FatalErrorInFunction
+                << "Illegal heat flux mode " << operationModeNames[mode_]
                 << exit(FatalError);
         }
     }
@@ -370,13 +359,8 @@ void Foam::externalWallHeatFluxTemperatureFvPatchScalarField::write
         }
         default:
         {
-            FatalErrorIn
-            (
-                "void externalWallHeatFluxTemperatureFvPatchScalarField::write"
-                "("
-                    "Ostream& os"
-                ") const"
-            )   << "Illegal heat flux mode " << operationModeNames[mode_]
+            FatalErrorInFunction
+                << "Illegal heat flux mode " << operationModeNames[mode_]
                 << abort(FatalError);
         }
     }
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.C
index 52aabee0b33..9ed2dd36484 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.C
@@ -132,10 +132,7 @@ Foam::tmp<Foam::scalarField> Foam::temperatureCoupledBase::kappa
             }
             else
             {
-                FatalErrorIn
-                (
-                    "temperatureCoupledBase::kappa(const scalarField&) const"
-                )
+                FatalErrorInFunction
                     << "Kappa defined to employ " << KMethodTypeNames_[method_]
                     << " method, but thermo package not available"
                     << exit(FatalError);
@@ -196,10 +193,7 @@ Foam::tmp<Foam::scalarField> Foam::temperatureCoupledBase::kappa
             }
             else
             {
-                FatalErrorIn
-                (
-                    "temperatureCoupledBase::kappa(const scalarField&) const"
-                )
+                FatalErrorInFunction
                     << "Did not find field " << kappaName_
                     << " on mesh " << mesh.name() << " patch " << patch_.name()
                     << nl
@@ -215,10 +209,7 @@ Foam::tmp<Foam::scalarField> Foam::temperatureCoupledBase::kappa
 
         default:
         {
-            FatalErrorIn
-            (
-                "temperatureCoupledBase::kappa(const scalarField&) const"
-            )
+            FatalErrorInFunction
                 << "Unimplemented method " << KMethodTypeNames_[method_] << nl
                 << "Please set 'kappa' to one of " << KMethodTypeNames_.toc()
                 << " and 'kappaName' to the name of the volScalar"
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarField.C
index fe8fb588086..7612f746e7a 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarField.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/thermalBaffle1D/thermalBaffle1DFvPatchScalarField.C
@@ -231,11 +231,8 @@ baffleThickness() const
     {
         if (thickness_.size() != patch().size())
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                " template<class solidType>"
-                " tmp<scalarField> thermalBaffle1DFvPatchScalarField<solidType>"
-                " baffleThickness() const",
                 solidDict_
             )<< " Field thickness has not been specified "
             << " for patch " << this->patch().name()
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C
index fa137f34b55..786ceae3e9d 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C
@@ -219,10 +219,8 @@ void turbulentHeatFluxTemperatureFvPatchScalarField::updateCoeffs()
         }
         default:
         {
-            FatalErrorIn
-            (
-                "turbulentHeatFluxTemperatureFvPatchScalarField::updateCoeffs()"
-            )   << "Unknown heat source type. Valid types are: "
+            FatalErrorInFunction
+                << "Unknown heat source type. Valid types are: "
                 << heatSourceTypeNames_ << nl << exit(FatalError);
         }
     }
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.C
index d304e598eee..903c50b164e 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.C
@@ -93,16 +93,7 @@ turbulentTemperatureCoupledBaffleMixedFvPatchScalarField
 {
     if (!isA<mappedPatchBase>(this->patch().patch()))
     {
-        FatalErrorIn
-        (
-            "turbulentTemperatureCoupledBaffleMixedFvPatchScalarField::"
-            "turbulentTemperatureCoupledBaffleMixedFvPatchScalarField\n"
-            "(\n"
-            "    const fvPatch& p,\n"
-            "    const DimensionedField<scalar, volMesh>& iF,\n"
-            "    const dictionary& dict\n"
-            ")\n"
-        )   << "\n    patch type '" << p.type()
+        FatalErrorInFunction
             << "' not type '" << mappedPatchBase::typeName << "'"
             << "\n    for patch " << p.name()
             << " of field " << dimensionedInternalField().name()
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C
index e610afc80e9..8d563bac65c 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C
@@ -99,16 +99,7 @@ turbulentTemperatureRadCoupledMixedFvPatchScalarField
 {
     if (!isA<mappedPatchBase>(this->patch().patch()))
     {
-        FatalErrorIn
-        (
-            "turbulentTemperatureRadCoupledMixedFvPatchScalarField::"
-            "turbulentTemperatureRadCoupledMixedFvPatchScalarField\n"
-            "(\n"
-            "    const fvPatch& p,\n"
-            "    const DimensionedField<scalar, volMesh>& iF,\n"
-            "    const dictionary& dict\n"
-            ")\n"
-        )   << "\n    patch type '" << p.type()
+        FatalErrorInFunction
             << "' not type '" << mappedPatchBase::typeName << "'"
             << "\n    for patch " << p.name()
             << " of field " << dimensionedInternalField().name()
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C
index 7a9983fc20f..4b337af0739 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C
@@ -49,10 +49,7 @@ void alphatJayatillekeWallFunctionFvPatchScalarField::checkType()
 {
     if (!isA<wallFvPatch>(patch()))
     {
-        FatalErrorIn
-        (
-            "alphatJayatillekeWallFunctionFvPatchScalarField::checkType()"
-        )
+        FatalErrorInFunction
             << "Patch type for patch " << patch().name() << " must be wall\n"
             << "Current patch type is " << patch().type() << nl
             << exit(FatalError);
diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C
index 46a3eb55a7b..02ff42ecc30 100644
--- a/src/TurbulenceModels/incompressible/turbulentTransportModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C
@@ -48,10 +48,8 @@ void alphatJayatillekeWallFunctionFvPatchScalarField::checkType()
 {
     if (!isA<wallFvPatch>(patch()))
     {
-        FatalErrorIn
-        (
-            "alphatJayatillekeWallFunctionFvPatchScalarField::checkType()"
-        )   << "Invalid wall function specification" << nl
+        FatalErrorInFunction
+            << "Invalid wall function specification" << nl
             << "    Patch type for patch " << patch().name()
             << " must be wall" << nl
             << "    Current patch type is " << patch().type() << nl << endl
diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESModel/LESModel.C b/src/TurbulenceModels/turbulenceModels/LES/LESModel/LESModel.C
index 9955478f419..afb9719c349 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/LESModel/LESModel.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESModel/LESModel.C
@@ -136,17 +136,8 @@ Foam::LESModel<BasicTurbulenceModel>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "LESModel::New"
-            "("
-                "const volScalarField&, "
-                "const volVectorField&, "
-                "const surfaceScalarField&, "
-                "transportModel&, "
-                "const word&"
-            ")"
-        )   << "Unknown LESModel type "
+        FatalErrorInFunction
+            << "Unknown LESModel type "
             << modelType << nl << nl
             << "Valid LESModel types:" << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/IDDESDelta/IDDESDelta.C b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/IDDESDelta/IDDESDelta.C
index 301638dd5f5..38517e5bc58 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/IDDESDelta/IDDESDelta.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/IDDESDelta/IDDESDelta.C
@@ -103,13 +103,13 @@ void Foam::LESModels::IDDESDelta::calcDelta()
 
     if (nD == 2)
     {
-        WarningIn("IDDESDelta::calcDelta()")
+        WarningInFunction
             << "Case is 2D, LES is not strictly applicable" << nl
             << endl;
     }
     else if (nD != 3)
     {
-        FatalErrorIn("IDDESDelta::calcDelta()")
+        FatalErrorInFunction
             << "Case must be either 2D or 3D" << exit(FatalError);
     }
 
diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/LESdelta/LESdelta.C b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/LESdelta/LESdelta.C
index a685bd5e534..b799237a36b 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/LESdelta/LESdelta.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/LESdelta/LESdelta.C
@@ -78,10 +78,8 @@ Foam::autoPtr<Foam::LESdelta> Foam::LESdelta::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "LESdelta::New(const word& name, const turbulenceModel& turbulence)"
-        )   << "Unknown LESdelta type "
+        FatalErrorInFunction
+            << "Unknown LESdelta type "
             << deltaType << nl << nl
             << "Valid LESdelta types are :" << endl
             << dictionaryConstructorTablePtr_->sortedToc()
@@ -119,12 +117,8 @@ Foam::autoPtr<Foam::LESdelta> Foam::LESdelta::New
 
         if (cstrIter == dictionaryConstructorTablePtr_->end())
         {
-            FatalErrorIn
-            (
-                "LESdelta::New(const word& name, "
-                "const turbulenceModel& turbulence, "
-                "const dictionaryConstructorTable&)"
-            )   << "Unknown LESdelta type "
+            FatalErrorInFunction
+                << "Unknown LESdelta type "
                 << deltaType << nl << nl
                 << "Valid LESdelta types are :" << endl
                 << additionalConstructors.sortedToc()
diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/cubeRootVolDelta/cubeRootVolDelta.C b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/cubeRootVolDelta/cubeRootVolDelta.C
index 4767c400ce4..9829fed3c51 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/cubeRootVolDelta/cubeRootVolDelta.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/cubeRootVolDelta/cubeRootVolDelta.C
@@ -52,7 +52,7 @@ void Foam::LESModels::cubeRootVolDelta::calcDelta()
     }
     else if (nD == 2)
     {
-        WarningIn("cubeRootVolDelta::calcDelta()")
+        WarningInFunction
             << "Case is 2D, LES is not strictly applicable\n"
             << endl;
 
@@ -72,7 +72,7 @@ void Foam::LESModels::cubeRootVolDelta::calcDelta()
     }
     else
     {
-        FatalErrorIn("cubeRootVolDelta::calcDelta()")
+        FatalErrorInFunction
             << "Case is not 3D or 2D, LES is not applicable"
             << exit(FatalError);
     }
diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.C b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.C
index 6c277bf7eb8..701bab6da39 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESdeltas/maxDeltaxyz/maxDeltaxyz.C
@@ -90,7 +90,7 @@ void Foam::LESModels::maxDeltaxyz::calcDelta()
     }
     else if (nD == 2)
     {
-        WarningIn("maxDeltaxyz::calcDelta()")
+        WarningInFunction
             << "Case is 2D, LES is not strictly applicable\n"
             << endl;
 
@@ -98,7 +98,7 @@ void Foam::LESModels::maxDeltaxyz::calcDelta()
     }
     else
     {
-        FatalErrorIn("maxDeltaxyz::calcDelta()")
+        FatalErrorInFunction
             << "Case is not 3D or 2D, LES is not applicable"
             << exit(FatalError);
     }
diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESfilters/LESfilter/LESfilter.C b/src/TurbulenceModels/turbulenceModels/LES/LESfilters/LESfilter/LESfilter.C
index 0dc3e9b493a..6f614f0d911 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/LESfilters/LESfilter/LESfilter.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/LESfilters/LESfilter/LESfilter.C
@@ -51,10 +51,8 @@ Foam::autoPtr<Foam::LESfilter> Foam::LESfilter::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "LESfilter::New(const fvMesh&, const dictionary&)"
-        )   << "Unknown LESfilter type "
+        FatalErrorInFunction
+            << "Unknown LESfilter type "
             << filterType << nl << nl
             << "Valid LESfilter types are :" << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/RASModel/RASModel.C b/src/TurbulenceModels/turbulenceModels/RAS/RASModel/RASModel.C
index 240c0870df1..e55e79f4d40 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/RASModel/RASModel.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/RASModel/RASModel.C
@@ -148,17 +148,8 @@ Foam::RASModel<BasicTurbulenceModel>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "RASModel::New"
-            "("
-                "const volScalarField&, "
-                "const volVectorField&, "
-                "const surfaceScalarField&, "
-                "transportModel&, "
-                "const word&"
-            ")"
-        )   << "Unknown RASModel type "
+        FatalErrorInFunction
+            << "Unknown RASModel type "
             << modelType << nl << nl
             << "Valid RASModel types:" << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C b/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C
index 520accaed58..8c5e5b2da53 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C
@@ -321,7 +321,7 @@ tmp<volScalarField> SpalartAllmaras<BasicTurbulenceModel>::k() const
 template<class BasicTurbulenceModel>
 tmp<volScalarField> SpalartAllmaras<BasicTurbulenceModel>::epsilon() const
 {
-    WarningIn("tmp<volScalarField> SpalartAllmaras::epsilon() const")
+    WarningInFunction
         << "Turbulence kinetic energy dissipation rate not defined for "
         << "Spalart-Allmaras model. Returning zero field"
         << endl;
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayer.C b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayer.C
index 5cd044eb341..2679132d78e 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayer.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayer.C
@@ -60,10 +60,8 @@ atmBoundaryLayer::atmBoundaryLayer(const vectorField& p, const dictionary& dict)
 {
     if (mag(flowDir_) < SMALL || mag(zDir_) < SMALL)
     {
-        FatalErrorIn
-        (
-            "atmBoundaryLayer(const dictionary&)"
-        )   << "magnitude of n or z must be greater than zero"
+        FatalErrorInFunction
+            << "magnitude of n or z must be greater than zero"
             << abort(FatalError);
     }
 
diff --git a/src/TurbulenceModels/turbulenceModels/ReynoldsStress/ReynoldsStress.C b/src/TurbulenceModels/turbulenceModels/ReynoldsStress/ReynoldsStress.C
index 3d148f063da..63dc8d581ee 100644
--- a/src/TurbulenceModels/turbulenceModels/ReynoldsStress/ReynoldsStress.C
+++ b/src/TurbulenceModels/turbulenceModels/ReynoldsStress/ReynoldsStress.C
@@ -168,10 +168,8 @@ Foam::ReynoldsStress<BasicTurbulenceModel>::ReynoldsStress
 {
     if (couplingFactor_.value() < 0.0 || couplingFactor_.value() > 1.0)
     {
-        FatalErrorIn
-        (
-            "ReynoldsStress::ReynoldsStress"
-        )   << "couplingFactor = " << couplingFactor_
+        FatalErrorInFunction
+            << "couplingFactor = " << couplingFactor_
             << " is not in range 0 - 1" << nl
             << exit(FatalError);
     }
diff --git a/src/TurbulenceModels/turbulenceModels/TurbulenceModel/TurbulenceModel.C b/src/TurbulenceModels/turbulenceModels/TurbulenceModel/TurbulenceModel.C
index ec5bf4a31d0..30d4d31921b 100644
--- a/src/TurbulenceModels/turbulenceModels/TurbulenceModel/TurbulenceModel.C
+++ b/src/TurbulenceModels/turbulenceModels/TurbulenceModel/TurbulenceModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -110,13 +110,8 @@ Foam::TurbulenceModel<Alpha, Rho, BasicTurbulenceModel, TransportModel>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "TurbulenceModel::New"
-            "(const alphaField&, const rhoField&, "
-            "const volVectorField&, const surfaceScalarField&, "
-            "transportModel&, const word&)"
-        )   << "Unknown TurbulenceModel type "
+        FatalErrorInFunction
+            << "Unknown TurbulenceModel type "
             << modelType << nl << nl
             << "Valid TurbulenceModel types:" << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C
index 9361279373f..048b3437e4d 100644
--- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C
+++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.C
@@ -41,7 +41,7 @@ void Foam::epsilonWallFunctionFvPatchScalarField::checkType()
 {
     if (!isA<wallFvPatch>(patch()))
     {
-        FatalErrorIn("epsilonWallFunctionFvPatchScalarField::checkType()")
+        FatalErrorInFunction
             << "Invalid wall function specification" << nl
             << "    Patch type for patch " << patch().name()
             << " must be wall" << nl
diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/fWallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.C b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/fWallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.C
index 9b1aff3b6ae..0b61bfa3f5b 100644
--- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/fWallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.C
+++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/fWallFunctions/fWallFunction/fWallFunctionFvPatchScalarField.C
@@ -43,7 +43,7 @@ void fWallFunctionFvPatchScalarField::checkType()
 {
     if (!isA<wallFvPatch>(patch()))
     {
-        FatalErrorIn("fWallFunctionFvPatchScalarField::checkType()")
+        FatalErrorInFunction
             << "Invalid wall function specification" << nl
             << "    Patch type for patch " << patch().name()
             << " must be wall" << nl
diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.C b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.C
index 29a6f0e2b41..30308b29260 100644
--- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.C
+++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.C
@@ -41,7 +41,7 @@ void kLowReWallFunctionFvPatchScalarField::checkType()
 {
     if (!isA<wallFvPatch>(patch()))
     {
-        FatalErrorIn("kLowReWallFunctionFvPatchScalarField::checkType()")
+        FatalErrorInFunction
             << "Invalid wall function specification" << nl
             << "    Patch type for patch " << patch().name()
             << " must be wall" << nl
diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.C b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.C
index 1bcc7cd8341..6afabdcc6c9 100644
--- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.C
+++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.C
@@ -40,7 +40,7 @@ void kqRWallFunctionFvPatchField<Type>::checkType()
 {
     if (!isA<wallFvPatch>(this->patch()))
     {
-        FatalErrorIn("kqRWallFunctionFvPatchField::checkType()")
+        FatalErrorInFunction
             << "Invalid wall function specification" << nl
             << "    Patch type for patch " << this->patch().name()
             << " must be wall" << nl
diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.C b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.C
index 54e31372fc9..86cb3b473c4 100644
--- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.C
+++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.C
@@ -45,7 +45,7 @@ void nutWallFunctionFvPatchScalarField::checkType()
 {
     if (!isA<wallFvPatch>(patch()))
     {
-        FatalErrorIn("nutWallFunctionFvPatchScalarField::checkType()")
+        FatalErrorInFunction
             << "Invalid wall function specification" << nl
             << "    Patch type for patch " << patch().name()
             << " must be wall" << nl
diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C
index da6130662a9..105822e97a6 100644
--- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C
+++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C
@@ -47,7 +47,7 @@ void omegaWallFunctionFvPatchScalarField::checkType()
 {
     if (!isA<wallFvPatch>(patch()))
     {
-        FatalErrorIn("omegaWallFunctionFvPatchScalarField::checkType()")
+        FatalErrorInFunction
             << "Invalid wall function specification" << nl
             << "    Patch type for patch " << patch().name()
             << " must be wall" << nl
diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.C b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.C
index 5351ea669a4..2c24a2688e9 100644
--- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.C
+++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/v2WallFunctions/v2WallFunction/v2WallFunctionFvPatchScalarField.C
@@ -43,7 +43,7 @@ void v2WallFunctionFvPatchScalarField::checkType()
 {
     if (!isA<wallFvPatch>(patch()))
     {
-        FatalErrorIn("v2WallFunctionFvPatchScalarField::checkType()")
+        FatalErrorInFunction
             << "Invalid wall function specification" << nl
             << "    Patch type for patch " << patch().name()
             << " must be wall" << nl
diff --git a/src/combustionModels/FSD/reactionRateFlameAreaModels/reactionRateFlameArea/reactionRateFlameAreaNew.C b/src/combustionModels/FSD/reactionRateFlameAreaModels/reactionRateFlameArea/reactionRateFlameAreaNew.C
index 0d18abb27f8..8b5905ca4aa 100644
--- a/src/combustionModels/FSD/reactionRateFlameAreaModels/reactionRateFlameArea/reactionRateFlameAreaNew.C
+++ b/src/combustionModels/FSD/reactionRateFlameAreaModels/reactionRateFlameArea/reactionRateFlameAreaNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -47,9 +47,8 @@ Foam::autoPtr<Foam::reactionRateFlameArea> Foam::reactionRateFlameArea::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "reactionRateFlameArea::New(const psiReactionThermo&)",
             dict
         )   << "Unknown reactionRateFlameArea type "
             << reactionRateFlameAreaType << endl << endl
diff --git a/src/combustionModels/combustionModel/combustionModelI.H b/src/combustionModels/combustionModel/combustionModelI.H
index 65531556828..e095c5f7e04 100644
--- a/src/combustionModels/combustionModel/combustionModelI.H
+++ b/src/combustionModels/combustionModel/combustionModelI.H
@@ -39,11 +39,8 @@ inline const Foam::surfaceScalarField& Foam::combustionModel::phi() const
     }
     else
     {
-        FatalErrorIn
-        (
-            "const Foam::compressibleTurbulenceModel& "
-            "Foam::combustionModel::turbulence() const "
-        )   << "turbulencePtr_ is empty. Please use "
+        FatalErrorInFunction
+            << "turbulencePtr_ is empty. Please use "
             << "combustionModel::setTurbulence "
             << "(compressibleTurbulenceModel& )"
             << abort(FatalError);
@@ -62,11 +59,8 @@ Foam::combustionModel::turbulence() const
     }
     else
     {
-        FatalErrorIn
-        (
-            "const Foam::compressibleTurbulenceModel& "
-            "Foam::combustionModel::turbulence() const "
-        )   << "turbulencePtr_ is empty. Please use "
+        FatalErrorInFunction
+            << "turbulencePtr_ is empty. Please use "
             << "combustionModel::setTurbulence "
             << "(compressibleTurbulenceModel& )"
             << abort(FatalError);
diff --git a/src/combustionModels/psiCombustionModel/psiCombustionModel/psiCombustionModelNew.C b/src/combustionModels/psiCombustionModel/psiCombustionModel/psiCombustionModelNew.C
index 42a000e1870..59789b48410 100644
--- a/src/combustionModels/psiCombustionModel/psiCombustionModel/psiCombustionModelNew.C
+++ b/src/combustionModels/psiCombustionModel/psiCombustionModel/psiCombustionModelNew.C
@@ -57,10 +57,8 @@ Foam::combustionModels::psiCombustionModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "psiCombustionModel::New"
-        )   << "Unknown psiCombustionModel type "
+        FatalErrorInFunction
+            << "Unknown psiCombustionModel type "
             << combModelName << endl << endl
             << "Valid  combustionModels are : " << endl
             << dictionaryConstructorTablePtr_->toc()
diff --git a/src/combustionModels/rhoCombustionModel/rhoCombustionModel/rhoCombustionModelNew.C b/src/combustionModels/rhoCombustionModel/rhoCombustionModel/rhoCombustionModelNew.C
index 2c94b399313..4a23b500d5e 100644
--- a/src/combustionModels/rhoCombustionModel/rhoCombustionModel/rhoCombustionModelNew.C
+++ b/src/combustionModels/rhoCombustionModel/rhoCombustionModel/rhoCombustionModelNew.C
@@ -57,10 +57,8 @@ Foam::combustionModels::rhoCombustionModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "rhoCombustionModel::New"
-        )   << "Unknown rhoCombustionModel type "
+        FatalErrorInFunction
+            << "Unknown rhoCombustionModel type "
             << combTypeName << endl << endl
             << "Valid  combustionModels are : " << endl
             << dictionaryConstructorTablePtr_->toc()
diff --git a/src/combustionModels/singleStepCombustion/singleStepCombustion.C b/src/combustionModels/singleStepCombustion/singleStepCombustion.C
index 65a41fcada6..0f6dd8adc52 100644
--- a/src/combustionModels/singleStepCombustion/singleStepCombustion.C
+++ b/src/combustionModels/singleStepCombustion/singleStepCombustion.C
@@ -68,16 +68,7 @@ singleStepCombustion<CombThermoType, ThermoType>::singleStepCombustion
     }
     else
     {
-        FatalErrorIn
-        (
-            "singleStepCombustion<CombThermoType, ThermoType>::"
-            "singleStepCombustion"
-            "("
-                "const word&, "
-                "const fvMesh& "
-                "const word&"
-            ")"
-        )
+        FatalErrorInFunction
             << "Inconsistent thermo package for " << this->type() << " model:\n"
             << "    " << this->thermo().type() << nl << nl
             << "Please select a thermo package based on "
diff --git a/src/conversion/ensight/part/ensightPart.C b/src/conversion/ensight/part/ensightPart.C
index fa89a8cafe6..a8a02535d03 100644
--- a/src/conversion/ensight/part/ensightPart.C
+++ b/src/conversion/ensight/part/ensightPart.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -136,9 +136,8 @@ Foam::autoPtr<Foam::ensightPart> Foam::ensightPart::New(Istream& is)
 
     if (cstrIter == istreamConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "ensightPart::New(Istream&)",
             is
         )   << "unknown ensightPart type "
             << partType << nl << nl
diff --git a/src/conversion/meshReader/calcPointCells.C b/src/conversion/meshReader/calcPointCells.C
index 4da904faa71..fab62003b60 100644
--- a/src/conversion/meshReader/calcPointCells.C
+++ b/src/conversion/meshReader/calcPointCells.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -37,7 +37,7 @@ void Foam::meshReader::calcPointCells() const
 
     if (pointCellsPtr_)
     {
-        FatalErrorIn("meshReader::calcPointCells() const")
+        FatalErrorInFunction
             << "pointCells already calculated"
             << abort(FatalError);
     }
diff --git a/src/conversion/meshReader/createPolyCells.C b/src/conversion/meshReader/createPolyCells.C
index 028313ce9e7..deebfc12aa1 100644
--- a/src/conversion/meshReader/createPolyCells.C
+++ b/src/conversion/meshReader/createPolyCells.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -310,7 +310,7 @@ void Foam::meshReader::createPolyCells()
             }
             else
             {
-              FatalErrorIn("meshReader::createPolyCells()")
+              FatalErrorInFunction
                   << "Error in internal face insertion"
                   << abort(FatalError);
             }
diff --git a/src/conversion/meshReader/starcd/STARCDMeshReader.C b/src/conversion/meshReader/starcd/STARCDMeshReader.C
index 3e3e94383b4..5ba8c7abc9b 100644
--- a/src/conversion/meshReader/starcd/STARCDMeshReader.C
+++ b/src/conversion/meshReader/starcd/STARCDMeshReader.C
@@ -69,8 +69,7 @@ bool Foam::meshReaders::STARCD::readHeader(IFstream& is, word fileSignature)
 {
     if (!is.good())
     {
-        FatalErrorIn("meshReaders::STARCD::readHeader()")
-            << "cannot read " << fileSignature  << "  " << is.name()
+        FatalErrorInFunction
             << abort(FatalError);
     }
 
@@ -194,7 +193,7 @@ void Foam::meshReaders::STARCD::readPoints
     }
     else
     {
-        FatalErrorIn("meshReaders::STARCD::readPoints()")
+        FatalErrorInFunction
             << "no points in file " << inputName
             << abort(FatalError);
     }
@@ -366,7 +365,7 @@ void Foam::meshReaders::STARCD::readCells(const fileName& inputName)
     // construct cellFaces_ and possibly cellShapes_
     if (nCells <= 0)
     {
-        FatalErrorIn("meshReaders::STARCD::readCells()")
+        FatalErrorInFunction
             << "no cells in file " << inputName
             << abort(FatalError);
     }
@@ -533,7 +532,7 @@ void Foam::meshReaders::STARCD::readCells(const fileName& inputName)
 
                 if (nFaces < 4)
                 {
-                    FatalErrorIn("meshReaders::STARCD::readCells()")
+                    FatalErrorInFunction
                         << "star cell " << starCellId << " has " << nFaces
                         << abort(FatalError);
                 }
@@ -597,7 +596,7 @@ void Foam::meshReaders::STARCD::readCells(const fileName& inputName)
 
     if (unknownVertices)
     {
-        FatalErrorIn("meshReaders::STARCD::readCells()")
+        FatalErrorInFunction
             << "cells with unknown vertices"
             << abort(FatalError);
     }
diff --git a/src/conversion/meshWriter/starcd/STARCDMeshWriter.C b/src/conversion/meshWriter/starcd/STARCDMeshWriter.C
index 08383060e14..a308dfbc545 100644
--- a/src/conversion/meshWriter/starcd/STARCDMeshWriter.C
+++ b/src/conversion/meshWriter/starcd/STARCDMeshWriter.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -98,7 +98,7 @@ void Foam::meshWriters::STARCD::getCellTable()
         }
         else
         {
-            WarningIn("STARCD::getCellTable()")
+            WarningInFunction
                 << ioList.objectPath() << " has incorrect number of cells "
                 << " - use cellZone information"
                 << endl;
diff --git a/src/conversion/polyDualMesh/polyDualMesh.C b/src/conversion/polyDualMesh/polyDualMesh.C
index 9ed6be4c8ff..ed76d92d722 100644
--- a/src/conversion/polyDualMesh/polyDualMesh.C
+++ b/src/conversion/polyDualMesh/polyDualMesh.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -125,11 +125,8 @@ Foam::labelList Foam::polyDualMesh::getFaceOrder
     {
         if (oldToNew[faceI] == -1)
         {
-            FatalErrorIn
-            (
-                "polyDualMesh::getFaceOrder"
-                "(const labelList&, const labelList&, const label) const"
-            )   << "Did not determine new position"
+            FatalErrorInFunction
+                << "Did not determine new position"
                 << " for face " << faceI
                 << abort(FatalError);
         }
@@ -205,7 +202,7 @@ void Foam::polyDualMesh::getPointEdges
         }
     }
 
-    FatalErrorIn("getPointEdges") << "Cannot find two edges on face:" << faceI
+    FatalErrorInFunction
         << " vertices:" << patch.localFaces()[faceI]
         << " that uses point:" << pointI
         << abort(FatalError);
@@ -247,7 +244,7 @@ Foam::labelList Foam::polyDualMesh::collectPatchSideFace
     // Store dual vertex for starting edge.
     if (edgeToDualPoint[patch.meshEdges()[edgeI]] < 0)
     {
-        FatalErrorIn("polyDualMesh::collectPatchSideFace") << edgeI
+        FatalErrorInFunction
             << abort(FatalError);
     }
 
@@ -761,11 +758,8 @@ void Foam::polyDualMesh::calcDual
         {
             nonManifoldPoints.write();
 
-            FatalErrorIn
-            (
-                "polyDualMesh::calcDual(const polyMesh&, const labelList&"
-                ", const labelList&)"
-            )   << "There are " << nonManifoldPoints.size() << " points where"
+            FatalErrorInFunction
+                << "There are " << nonManifoldPoints.size() << " points where"
                 << " the outside of the mesh is non-manifold." << nl
                 << "Such a mesh cannot be converted to a dual." << nl
                 << "Writing points at non-manifold sites to pointSet "
@@ -918,7 +912,7 @@ void Foam::polyDualMesh::calcDual
 
         if (patchFaces.size() != 2)
         {
-            FatalErrorIn("polyDualMesh::calcDual")
+            FatalErrorInFunction
                 << "Cannot handle edges with " << patchFaces.size()
                 << " connected boundary faces."
                 << abort(FatalError);
@@ -1018,7 +1012,7 @@ void Foam::polyDualMesh::calcDual
             vector n = f.normal(dualPoints);
             if (((mesh.points()[owner] - dualPoints[f[0]]) & n) > 0)
             {
-                WarningIn("calcDual") << "Incorrect orientation"
+                WarningInFunction
                     << " on boundary edge:" << edgeI
                     << mesh.points()[mesh.edges()[edgeI][0]]
                     << mesh.points()[mesh.edges()[edgeI][1]]
@@ -1133,7 +1127,7 @@ void Foam::polyDualMesh::calcDual
                 vector n = f.normal(dualPoints);
                 if (((mesh.points()[owner] - dualPoints[f[0]]) & n) > 0)
                 {
-                    WarningIn("calcDual") << "Incorrect orientation"
+                    WarningInFunction
                         << " on internal edge:" << edgeI
                         << mesh.points()[mesh.edges()[edgeI][0]]
                         << mesh.points()[mesh.edges()[edgeI][1]]
@@ -1537,7 +1531,7 @@ void Foam::polyDualMesh::calcFeatures
             // Non-manifold. Problem?
             const edge& e = allBoundary.edges()[edgeI];
 
-            WarningIn("polyDualMesh::calcFeatures") << "Edge "
+            WarningInFunction
                 << meshPoints[e[0]] << ' ' << meshPoints[e[1]]
                 << "  coords:" << mesh.points()[meshPoints[e[0]]]
                 << mesh.points()[meshPoints[e[1]]]
diff --git a/src/dummyThirdParty/MGridGen/dummyMGridGen.C b/src/dummyThirdParty/MGridGen/dummyMGridGen.C
index 566c64d9973..fe1cca6828f 100644
--- a/src/dummyThirdParty/MGridGen/dummyMGridGen.C
+++ b/src/dummyThirdParty/MGridGen/dummyMGridGen.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -49,7 +49,7 @@ extern "C"
 void MGridGen(int, idxtype *, realtype *, realtype *, idxtype *, realtype *,
               int, int, int *, int *, int *, idxtype *)
 {
-    FatalErrorIn("MGridGen(..)")
+    FatalErrorInFunction
         << notImplementedMessage
         << Foam::exit(Foam::FatalError);
 }
diff --git a/src/dummyThirdParty/metisDecomp/dummyMetisDecomp.C b/src/dummyThirdParty/metisDecomp/dummyMetisDecomp.C
index 438e158df9a..ffe80489d7a 100644
--- a/src/dummyThirdParty/metisDecomp/dummyMetisDecomp.C
+++ b/src/dummyThirdParty/metisDecomp/dummyMetisDecomp.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -63,16 +63,8 @@ Foam::label Foam::metisDecomp::decompose
     List<label>& finalDecomp
 )
 {
-    FatalErrorIn
-    (
-        "labelList metisDecomp::decompose"
-        "("
-            "const List<label>&, "
-            "const List<label>&, "
-            "const scalarField&, "
-            "List<label>&"
-        ")"
-    )   << notImplementedMessage << exit(FatalError);
+    FatalErrorInFunction
+        << notImplementedMessage << exit(FatalError);
 
     return -1;
 }
@@ -98,14 +90,8 @@ Foam::labelList Foam::metisDecomp::decompose
     const scalarField& pointWeights
 )
 {
-    FatalErrorIn
-    (
-        "labelList metisDecomp::decompose"
-        "("
-            "const pointField&, "
-            "const scalarField&"
-        ")"
-    )   << notImplementedMessage << exit(FatalError);
+    FatalErrorInFunction
+        << notImplementedMessage << exit(FatalError);
 
     return labelList();
 }
@@ -119,15 +105,8 @@ Foam::labelList Foam::metisDecomp::decompose
     const scalarField& agglomWeights
 )
 {
-    FatalErrorIn
-    (
-        "labelList metisDecomp::decompose"
-        "("
-            "const labelList&, "
-            "const pointField&, "
-            "const scalarField&"
-        ")"
-    )   << notImplementedMessage << exit(FatalError);
+    FatalErrorInFunction
+        << notImplementedMessage << exit(FatalError);
 
     return labelList();
 }
@@ -140,15 +119,8 @@ Foam::labelList Foam::metisDecomp::decompose
     const scalarField& cellWeights
 )
 {
-    FatalErrorIn
-    (
-        "labelList metisDecomp::decompose"
-        "("
-            "const labelListList&, "
-            "const pointField&, "
-            "const scalarField&"
-        ")"
-    )   << notImplementedMessage << exit(FatalError);
+    FatalErrorInFunction
+        << notImplementedMessage << exit(FatalError);
 
     return labelList();
 }
diff --git a/src/dummyThirdParty/ptscotchDecomp/dummyPtscotchDecomp.C b/src/dummyThirdParty/ptscotchDecomp/dummyPtscotchDecomp.C
index e9b05babb70..719e6b6d118 100644
--- a/src/dummyThirdParty/ptscotchDecomp/dummyPtscotchDecomp.C
+++ b/src/dummyThirdParty/ptscotchDecomp/dummyPtscotchDecomp.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -68,17 +68,8 @@ Foam::label Foam::ptscotchDecomp::decompose
     List<label>& finalDecomp
 ) const
 {
-    FatalErrorIn
-    (
-        "label ptscotchDecomp::decompose"
-        "("
-            "onst fileName&,"
-            "const List<label>&, "
-            "const List<label>&, "
-            "const scalarField&, "
-            "List<label>&"
-        ")"
-    )   << notImplementedMessage << exit(FatalError);
+    FatalErrorInFunction
+        << notImplementedMessage << exit(FatalError);
 
     return -1;
 }
@@ -95,19 +86,8 @@ Foam::label Foam::ptscotchDecomp::decompose
     List<label>& finalDecomp
 ) const
 {
-    FatalErrorIn
-    (
-        "label ptscotchDecomp::decompose"
-        "("
-            "const fileName&,"
-            "const int,"
-            "const int,"
-            "const int,"
-            "const int,"
-            "const scalarField&,"
-            "List<label>&"
-        ")"
-    )   << notImplementedMessage << exit(FatalError);
+    FatalErrorInFunction
+        << notImplementedMessage << exit(FatalError);
 
     return -1;
 }
@@ -133,14 +113,8 @@ Foam::labelList Foam::ptscotchDecomp::decompose
     const scalarField& pointWeights
 )
 {
-    FatalErrorIn
-    (
-        "labelList ptscotchDecomp::decompose"
-        "("
-            "const pointField&, "
-            "const scalarField&"
-        ")"
-    )   << notImplementedMessage << exit(FatalError);
+    FatalErrorInFunction
+        << notImplementedMessage << exit(FatalError);
 
     return labelList::null();
 }
@@ -154,15 +128,8 @@ Foam::labelList Foam::ptscotchDecomp::decompose
     const scalarField& pointWeights
 )
 {
-    FatalErrorIn
-    (
-        "labelList ptscotchDecomp::decompose"
-        "("
-            "const labelList&, "
-            "const pointField&, "
-            "const scalarField&"
-        ")"
-    )   << notImplementedMessage << exit(FatalError);
+    FatalErrorInFunction
+        << notImplementedMessage << exit(FatalError);
 
     return labelList::null();
 }
@@ -175,15 +142,8 @@ Foam::labelList Foam::ptscotchDecomp::decompose
     const scalarField& cWeights
 )
 {
-    FatalErrorIn
-    (
-        "labelList ptscotchDecomp::decompose"
-        "("
-            "const labelListList&, "
-            "const pointField&, "
-            "const scalarField&"
-        ")"
-    )   << notImplementedMessage << exit(FatalError);
+    FatalErrorInFunction
+        << notImplementedMessage << exit(FatalError);
 
     return labelList::null();
 }
diff --git a/src/dummyThirdParty/scotchDecomp/dummyScotchDecomp.C b/src/dummyThirdParty/scotchDecomp/dummyScotchDecomp.C
index 3929b7a0c1d..737196be164 100644
--- a/src/dummyThirdParty/scotchDecomp/dummyScotchDecomp.C
+++ b/src/dummyThirdParty/scotchDecomp/dummyScotchDecomp.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -67,17 +67,8 @@ Foam::label Foam::scotchDecomp::decompose
     List<label>& finalDecomp
 )
 {
-    FatalErrorIn
-    (
-        "label scotchDecomp::decompose\n"
-        "(\n"
-            "const fileName& meshPath,\n"
-            "const List<label>&,\n"
-            "const List<label>&,\n"
-            "const scalarField&,\n"
-            "List<label>&\n"
-        ")\n"
-    )   << notImplementedMessage << exit(FatalError);
+    FatalErrorInFunction
+        << notImplementedMessage << exit(FatalError);
 
     return -1;
 }
@@ -103,14 +94,8 @@ Foam::labelList Foam::scotchDecomp::decompose
     const scalarField& pointWeights
 )
 {
-    FatalErrorIn
-    (
-        "labelList scotchDecomp::decompose"
-        "("
-            "const pointField&, "
-            "const scalarField&"
-        ")"
-    )   << notImplementedMessage << exit(FatalError);
+    FatalErrorInFunction
+        << notImplementedMessage << exit(FatalError);
 
     return labelList::null();
 }
@@ -124,15 +109,8 @@ Foam::labelList Foam::scotchDecomp::decompose
     const scalarField& pointWeights
 )
 {
-    FatalErrorIn
-    (
-        "labelList scotchDecomp::decompose"
-        "("
-            "const labelList&, "
-            "const pointField&, "
-            "const scalarField&"
-        ")"
-    )   << notImplementedMessage << exit(FatalError);
+    FatalErrorInFunction
+        << notImplementedMessage << exit(FatalError);
 
     return labelList::null();
 }
@@ -145,15 +123,8 @@ Foam::labelList Foam::scotchDecomp::decompose
     const scalarField& cWeights
 )
 {
-    FatalErrorIn
-    (
-        "labelList scotchDecomp::decompose"
-        "("
-            "const labelListList&, "
-            "const pointField&, "
-            "const scalarField&"
-        ")"
-    )   << notImplementedMessage << exit(FatalError);
+    FatalErrorInFunction
+        << notImplementedMessage << exit(FatalError);
 
     return labelList::null();
 }
diff --git a/src/dynamicFvMesh/dynamicFvMesh/dynamicFvMeshNew.C b/src/dynamicFvMesh/dynamicFvMesh/dynamicFvMeshNew.C
index f1a70cb97b1..fa05cc2a599 100644
--- a/src/dynamicFvMesh/dynamicFvMesh/dynamicFvMeshNew.C
+++ b/src/dynamicFvMesh/dynamicFvMesh/dynamicFvMeshNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -63,10 +63,8 @@ Foam::autoPtr<Foam::dynamicFvMesh> Foam::dynamicFvMesh::New(const IOobject& io)
 
     if (!IOobjectConstructorTablePtr_)
     {
-        FatalErrorIn
-        (
-            "dynamicFvMesh::New(const IOobject&)"
-        )   << "dynamicFvMesh table is empty"
+        FatalErrorInFunction
+            << "dynamicFvMesh table is empty"
             << exit(FatalError);
     }
 
@@ -75,10 +73,8 @@ Foam::autoPtr<Foam::dynamicFvMesh> Foam::dynamicFvMesh::New(const IOobject& io)
 
     if (cstrIter == IOobjectConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "dynamicFvMesh::New(const IOobject&)"
-        )   << "Unknown dynamicFvMesh type "
+        FatalErrorInFunction
+            << "Unknown dynamicFvMesh type "
             << dynamicFvMeshTypeName << nl << nl
             << "Valid dynamicFvMesh types are :" << endl
             << IOobjectConstructorTablePtr_->sortedToc()
diff --git a/src/dynamicFvMesh/dynamicRefineFvMesh/dynamicRefineFvMesh.C b/src/dynamicFvMesh/dynamicRefineFvMesh/dynamicRefineFvMesh.C
index ad64e1ca402..d7daba5486a 100644
--- a/src/dynamicFvMesh/dynamicRefineFvMesh/dynamicRefineFvMesh.C
+++ b/src/dynamicFvMesh/dynamicRefineFvMesh/dynamicRefineFvMesh.C
@@ -241,7 +241,7 @@ Foam::dynamicRefineFvMesh::refine
 
             if (oldFaceI >= nInternalFaces())
             {
-                FatalErrorIn("dynamicRefineFvMesh::refine(const labelList&)")
+                FatalErrorInFunction
                     << "New internal face:" << faceI
                     << " fc:" << faceCentres()[faceI]
                     << " originates from boundary oldFace:" << oldFaceI
@@ -294,10 +294,8 @@ Foam::dynamicRefineFvMesh::refine
 
                 if (masterFaceI < 0)
                 {
-                    FatalErrorIn
-                    (
-                        "dynamicRefineFvMesh::refine(const labelList&)"
-                    )   << "Problem: should not have removed faces"
+                    FatalErrorInFunction
+                        << "Problem: should not have removed faces"
                         << " when refining."
                         << nl << "face:" << faceI << abort(FatalError);
                 }
@@ -320,7 +318,7 @@ Foam::dynamicRefineFvMesh::refine
         {
             if (!correctFluxes_.found(iter.key()))
             {
-                WarningIn("dynamicRefineFvMesh::refine(const labelList&)")
+                WarningInFunction
                     << "Cannot find surfaceScalarField " << iter.key()
                     << " in user-provided flux mapping table "
                     << correctFluxes_ << endl
@@ -549,7 +547,7 @@ Foam::dynamicRefineFvMesh::unrefine
         {
             if (!correctFluxes_.found(iter.key()))
             {
-                WarningIn("dynamicRefineFvMesh::refine(const labelList&)")
+                WarningInFunction
                     << "Cannot find surfaceScalarField " << iter.key()
                     << " in user-provided flux mapping table "
                     << correctFluxes_ << endl
@@ -1227,7 +1225,7 @@ bool Foam::dynamicRefineFvMesh::update()
     }
     else if (refineInterval < 0)
     {
-        FatalErrorIn("dynamicRefineFvMesh::update()")
+        FatalErrorInFunction
             << "Illegal refineInterval " << refineInterval << nl
             << "The refineInterval setting in the dynamicMeshDict should"
             << " be >= 1." << nl
@@ -1246,7 +1244,7 @@ bool Foam::dynamicRefineFvMesh::update()
 
         if (maxCells <= 0)
         {
-            FatalErrorIn("dynamicRefineFvMesh::update()")
+            FatalErrorInFunction
                 << "Illegal maximum number of cells " << maxCells << nl
                 << "The maxCells setting in the dynamicMeshDict should"
                 << " be > 0." << nl
@@ -1257,7 +1255,7 @@ bool Foam::dynamicRefineFvMesh::update()
 
         if (maxRefinement <= 0)
         {
-            FatalErrorIn("dynamicRefineFvMesh::update()")
+            FatalErrorInFunction
                 << "Illegal maximum refinement level " << maxRefinement << nl
                 << "The maxCells setting in the dynamicMeshDict should"
                 << " be > 0." << nl
diff --git a/src/dynamicFvMesh/solidBodyMotionFvMesh/multiSolidBodyMotionFvMesh.C b/src/dynamicFvMesh/solidBodyMotionFvMesh/multiSolidBodyMotionFvMesh.C
index d5d37fc4bce..4051f7a7ea4 100644
--- a/src/dynamicFvMesh/solidBodyMotionFvMesh/multiSolidBodyMotionFvMesh.C
+++ b/src/dynamicFvMesh/solidBodyMotionFvMesh/multiSolidBodyMotionFvMesh.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -81,10 +81,8 @@ Foam::multiSolidBodyMotionFvMesh::multiSolidBodyMotionFvMesh(const IOobject& io)
 {
     if (undisplacedPoints_.size() != nPoints())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "multiSolidBodyMotionFvMesh::multiSolidBodyMotionFvMesh"
-            "(const IOobject&)",
             dynamicMeshCoeffs_
         )   << "Read " << undisplacedPoints_.size()
             << " undisplaced points from " << undisplacedPoints_.objectPath()
@@ -106,10 +104,8 @@ Foam::multiSolidBodyMotionFvMesh::multiSolidBodyMotionFvMesh(const IOobject& io)
 
             if (zoneIDs_[zoneI] == -1)
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "multiSolidBodyMotionFvMesh::"
-                    "multiSolidBodyMotionFvMesh(const IOobject&)",
                     dynamicMeshCoeffs_
                 )   << "Cannot find cellZone named " << iter().keyword()
                     << ". Valid zones are " << cellZones().names()
@@ -207,7 +203,7 @@ bool Foam::multiSolidBodyMotionFvMesh::update()
     {
         hasWarned = true;
 
-        WarningIn("multiSolidBodyMotionFvMesh::update()")
+        WarningInFunction
             << "Did not find volVectorField U."
             << " Not updating U boundary conditions." << endl;
     }
diff --git a/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunctionNew.C b/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunctionNew.C
index 283657c5f2c..b0f0921750a 100644
--- a/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunctionNew.C
+++ b/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunctionNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -42,14 +42,8 @@ Foam::autoPtr<Foam::solidBodyMotionFunction> Foam::solidBodyMotionFunction::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "solidBodyMotionFunction::New"
-            "("
-            "    const dictionary& SBMFCoeffs,"
-            "    const Time& runTime"
-            ")"
-        )   << "Unknown solidBodyMotionFunction type "
+        FatalErrorInFunction
+            << "Unknown solidBodyMotionFunction type "
             << motionType << nl << nl
             << "Valid solidBodyMotionFunctions are : " << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/tabulated6DoFMotion/tabulated6DoFMotion.C b/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/tabulated6DoFMotion/tabulated6DoFMotion.C
index c763c9917af..2410e72f04d 100644
--- a/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/tabulated6DoFMotion/tabulated6DoFMotion.C
+++ b/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/tabulated6DoFMotion/tabulated6DoFMotion.C
@@ -78,10 +78,8 @@ Foam::solidBodyMotionFunctions::tabulated6DoFMotion::transformation() const
 
     if (t < times_[0])
     {
-        FatalErrorIn
-        (
-            "solidBodyMotionFunctions::tabulated6DoFMotion::transformation()"
-        )   << "current time (" << t
+        FatalErrorInFunction
+            << "current time (" << t
             << ") is less than the minimum in the data table ("
             << times_[0] << ')'
             << exit(FatalError);
@@ -89,10 +87,8 @@ Foam::solidBodyMotionFunctions::tabulated6DoFMotion::transformation() const
 
     if (t > times_.last())
     {
-        FatalErrorIn
-        (
-            "solidBodyMotionFunctions::tabulated6DoFMotion::transformation()"
-        )   << "current time (" << t
+        FatalErrorInFunction
+            << "current time (" << t
             << ") is greater than the maximum in the data table ("
             << times_.last() << ')'
             << exit(FatalError);
@@ -156,11 +152,8 @@ bool Foam::solidBodyMotionFunctions::tabulated6DoFMotion::read
         }
         else
         {
-            FatalErrorIn
-            (
-                "solidBodyMotionFunctions::tabulated6DoFMotion::read"
-                "(const dictionary&)"
-            )   << "Cannot open time data file " << timeDataFileName_
+            FatalErrorInFunction
+                << "Cannot open time data file " << timeDataFileName_
                 << exit(FatalError);
         }
     }
diff --git a/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFvMesh.C b/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFvMesh.C
index d7118782a51..b12b2414290 100644
--- a/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFvMesh.C
+++ b/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFvMesh.C
@@ -81,11 +81,8 @@ Foam::solidBodyMotionFvMesh::solidBodyMotionFvMesh(const IOobject& io)
 {
     if (undisplacedPoints_.size() != nPoints())
     {
-        FatalIOErrorIn
-        (
-            "solidBodyMotionFvMesh::solidBodyMotionFvMesh(const IOobject&)",
-            dynamicMeshCoeffs_
-        )   << "Read " << undisplacedPoints_.size()
+        FatalIOErrorInFunction(dynamicMeshCoeffs_)
+            << "Read " << undisplacedPoints_.size()
             << " undisplaced points from " << undisplacedPoints_.objectPath()
             << " but the current mesh has " << nPoints()
             << exit(FatalIOError);
@@ -99,11 +96,7 @@ Foam::solidBodyMotionFvMesh::solidBodyMotionFvMesh(const IOobject& io)
 
     if ((cellZoneName != "none") && (cellSetName != "none"))
     {
-        FatalIOErrorIn
-        (
-            "solidBodyMotionFvMesh::solidBodyMotionFvMesh(const IOobject&)",
-            dynamicMeshCoeffs_
-        )
+        FatalIOErrorInFunction(dynamicMeshCoeffs_)
             << "Either cellZone OR cellSet can be supplied, but not both. "
             << "If neither is supplied, all cells will be included"
             << exit(FatalIOError);
@@ -120,10 +113,8 @@ Foam::solidBodyMotionFvMesh::solidBodyMotionFvMesh(const IOobject& io)
 
         if (zoneID == -1)
         {
-            FatalErrorIn
-            (
-                "solidBodyMotionFvMesh::solidBodyMotionFvMesh(const IOobject&)"
-            )   << "Unable to find cellZone " << cellZoneName
+            FatalErrorInFunction
+                << "Unable to find cellZone " << cellZoneName
                 << ".  Valid cellZones are:"
                 << cellZones().names()
                 << exit(FatalError);
@@ -234,7 +225,7 @@ bool Foam::solidBodyMotionFvMesh::update()
     {
         hasWarned = true;
 
-        WarningIn("solidBodyMotionFvMesh::update()")
+        WarningInFunction
             << "Did not find volVectorField " << UName_
             << " Not updating " << UName_ << "boundary conditions."
             << endl;
diff --git a/src/dynamicMesh/attachDetach/attachDetach.C b/src/dynamicMesh/attachDetach/attachDetach.C
index 6c71ded4e54..4627bf6d700 100644
--- a/src/dynamicMesh/attachDetach/attachDetach.C
+++ b/src/dynamicMesh/attachDetach/attachDetach.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -61,10 +61,8 @@ void Foam::attachDetach::checkDefinition()
      || !slavePatchID_.active()
     )
     {
-        FatalErrorIn
-        (
-            "void Foam::attachDetach::checkDefinition()"
-        )   << "Not all zones and patches needed in the definition "
+        FatalErrorInFunction
+            << "Not all zones and patches needed in the definition "
             << "have been found.  Please check your mesh definition."
             << abort(FatalError);
     }
@@ -97,10 +95,7 @@ void Foam::attachDetach::checkDefinition()
         // Check if there are faces in the master zone
         if (mesh.faceZones()[faceZoneID_.index()].empty())
         {
-            FatalErrorIn
-            (
-                "void Foam::attachDetach::checkDefinition()"
-            )   << "Attach/detach zone contains no faces.  Please check your "
+            FatalErrorInFunction
                 << "mesh definition."
                 << abort(FatalError);
         }
@@ -122,10 +117,8 @@ void Foam::attachDetach::checkDefinition()
 
             if (bouFacesInZone.size())
             {
-                FatalErrorIn
-                (
-                    "void Foam::attachDetach::checkDefinition()"
-                )   << "Found boundary faces in the zone defining "
+                FatalErrorInFunction
+                    << "Found boundary faces in the zone defining "
                     << "attach/detach boundary "
                     << " for object " << name()
                     << " : .  This is not allowed." << nl
@@ -158,10 +151,8 @@ void Foam::attachDetach::checkDefinition()
             )
         )
         {
-            FatalErrorIn
-            (
-                "void Foam::attachDetach::checkDefinition()"
-            )   << "Problem with sizes in mesh modifier. The face zone,"
+            FatalErrorInFunction
+                << "Problem with sizes in mesh modifier. The face zone,"
                 << " master and slave patch should have the same size"
                 << " for object " << name() << ". " << nl
                 << "Zone size: "
@@ -197,10 +188,8 @@ void Foam::attachDetach::checkDefinition()
 
             if (zoneProblemFaces.size())
             {
-                FatalErrorIn
-                (
-                    "void Foam::attachDetach::checkDefinition()"
-                )   << "Found faces in the zone defining "
+                FatalErrorInFunction
+                    << "Found faces in the zone defining "
                     << "attach/detach boundary which do not belong to "
                     << "either master or slave patch.  "
                     << "This is not allowed." << nl
@@ -224,10 +213,8 @@ void Foam::attachDetach::checkDefinition()
      || (triggerTimes_.empty() && !manualTrigger())
     )
     {
-        FatalErrorIn
-        (
-            "void Foam::attachDetach::checkDefinition()"
-        )   << "Problem with definition of trigger times: "
+        FatalErrorInFunction
+            << "Problem with definition of trigger times: "
             << triggerTimes_
             << abort(FatalError);
     }
@@ -439,10 +426,8 @@ void Foam::attachDetach::setRefinement(polyTopoChange& ref) const
         }
         else
         {
-            FatalErrorIn
-            (
-                "void attachDetach::setRefinement(polyTopoChange&) const"
-            )   << "Requested attach/detach event and currect state "
+            FatalErrorInFunction
+                << "Requested attach/detach event and currect state "
                 << "is not known."
                 << abort(FatalError);
         }
diff --git a/src/dynamicMesh/attachDetach/attachDetachPointMatchMap.C b/src/dynamicMesh/attachDetach/attachDetachPointMatchMap.C
index 4a22c0d858d..cb1eadf6a65 100644
--- a/src/dynamicMesh/attachDetach/attachDetachPointMatchMap.C
+++ b/src/dynamicMesh/attachDetach/attachDetachPointMatchMap.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -54,10 +54,8 @@ void Foam::attachDetach::calcPointMatchMap() const
 
     if (pointMatchMapPtr_)
     {
-        FatalErrorIn
-        (
-            "void attachDetach::calcPointMatchMap() const"
-        )   << "Point match map already calculated for object " << name()
+        FatalErrorInFunction
+            << "Point match map already calculated for object " << name()
             << abort(FatalError);
     }
 
diff --git a/src/dynamicMesh/attachDetach/detachInterface.C b/src/dynamicMesh/attachDetach/detachInterface.C
index 63ae360d51d..e457967b073 100644
--- a/src/dynamicMesh/attachDetach/detachInterface.C
+++ b/src/dynamicMesh/attachDetach/detachInterface.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -84,11 +84,8 @@ void Foam::attachDetach::detachInterface
             {
                 if (faceLabels[i] <= faceLabels[i-1])
                 {
-                    FatalErrorIn
-                    (
-                        "attachDetach::detachInterface"
-                        "(polyTopoChange&) const"
-                    )   << "faceZone " << zoneMesh[faceZoneID_.index()].name()
+                    FatalErrorInFunction
+                        << "faceZone " << zoneMesh[faceZoneID_.index()].name()
                         << " does not have mesh face labels in"
                         << " increasing order." << endl
                         << "Face label " << faceLabels[i]
diff --git a/src/dynamicMesh/boundaryMesh/boundaryMesh.C b/src/dynamicMesh/boundaryMesh/boundaryMesh.C
index ad204d7c157..12769005886 100644
--- a/src/dynamicMesh/boundaryMesh/boundaryMesh.C
+++ b/src/dynamicMesh/boundaryMesh/boundaryMesh.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -157,7 +157,7 @@ Foam::labelList Foam::boundaryMesh::collectSegment
 
         if (featI == -1)
         {
-            FatalErrorIn("boundaryMesh::collectSegment")
+            FatalErrorInFunction
                 << "Problem" << abort(FatalError);
         }
         featLabels[featLabelI++] = featI;
@@ -1544,7 +1544,7 @@ Foam::label Foam::boundaryMesh::whichPatch(const label faceI) const
         }
     }
 
-    FatalErrorIn("boundaryMesh::whichPatch(const label)")
+    FatalErrorInFunction
         << "Cannot find face " << faceI << " in list of boundaryPatches "
         << patches_
         << abort(FatalError);
@@ -1610,14 +1610,14 @@ void Foam::boundaryMesh::deletePatch(const word& patchName)
 
     if (delPatchI == -1)
     {
-        FatalErrorIn("boundaryMesh::deletePatch(const word&")
+        FatalErrorInFunction
             << "Can't find patch named " << patchName
             << abort(FatalError);
     }
 
     if (patches_[delPatchI].size())
     {
-        FatalErrorIn("boundaryMesh::deletePatch(const word&")
+        FatalErrorInFunction
             << "Trying to delete non-empty patch " << patchName
             << endl << "Current size:" << patches_[delPatchI].size()
             << abort(FatalError);
@@ -1669,7 +1669,7 @@ void Foam::boundaryMesh::changePatchType
 
     if (changeI == -1)
     {
-        FatalErrorIn("boundaryMesh::changePatchType(const word&, const word&)")
+        FatalErrorInFunction
             << "Can't find patch named " << patchName
             << abort(FatalError);
     }
@@ -1718,7 +1718,7 @@ void Foam::boundaryMesh::changeFaces
 {
     if (patchIDs.size() != mesh().size())
     {
-        FatalErrorIn("boundaryMesh::changeFaces(const labelList& patchIDs)")
+        FatalErrorInFunction
             << "List of patchIDs not equal to number of faces." << endl
             << "PatchIDs size:" << patchIDs.size()
             << " nFaces::" << mesh().size()
@@ -1735,7 +1735,7 @@ void Foam::boundaryMesh::changeFaces
 
         if (patchID < 0 || patchID >= patches_.size())
         {
-            FatalErrorIn("boundaryMesh::changeFaces(const labelList&)")
+            FatalErrorInFunction
                 << "PatchID " << patchID << " out of range"
                 << abort(FatalError);
         }
diff --git a/src/dynamicMesh/boundaryMesh/boundaryMesh.H b/src/dynamicMesh/boundaryMesh/boundaryMesh.H
index d6eca3f7709..37fd4c64d48 100644
--- a/src/dynamicMesh/boundaryMesh/boundaryMesh.H
+++ b/src/dynamicMesh/boundaryMesh/boundaryMesh.H
@@ -204,7 +204,7 @@ public:
             {
                 if (!meshPtr_)
                 {
-                    FatalErrorIn("boundaryMesh::mesh()")
+                    FatalErrorInFunction
                         << "No mesh available. Probably mesh not yet"
                         << " read." << abort(FatalError);
                 }
diff --git a/src/dynamicMesh/createShellMesh/createShellMesh.C b/src/dynamicMesh/createShellMesh/createShellMesh.C
index e6356ff66fc..7d2d36d1dc6 100644
--- a/src/dynamicMesh/createShellMesh/createShellMesh.C
+++ b/src/dynamicMesh/createShellMesh/createShellMesh.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -432,7 +432,7 @@ Foam::createShellMesh::createShellMesh
 {
     if (pointRegions_.size() != patch_.size())
     {
-        FatalErrorIn("createShellMesh::createShellMesh(..)")
+        FatalErrorInFunction
             << "nFaces:" << patch_.size()
             << " pointRegions:" << pointRegions.size()
             << exit(FatalError);
@@ -455,7 +455,7 @@ void Foam::createShellMesh::setRefinement
 {
     if (firstLayerDisp.size() != regionPoints_.size())
     {
-        FatalErrorIn("createShellMesh::setRefinement(..)")
+        FatalErrorInFunction
             << "nRegions:" << regionPoints_.size()
             << " firstLayerDisp:" << firstLayerDisp.size()
             << exit(FatalError);
@@ -467,7 +467,7 @@ void Foam::createShellMesh::setRefinement
      && bottomPatchID.size() != patch_.size()
     )
     {
-        FatalErrorIn("createShellMesh::setRefinement(..)")
+        FatalErrorInFunction
             << "nFaces:" << patch_.size()
             << " topPatchID:" << topPatchID.size()
             << " bottomPatchID:" << bottomPatchID.size()
@@ -476,7 +476,7 @@ void Foam::createShellMesh::setRefinement
 
     if (extrudeEdgePatches.size() != patch_.nEdges())
     {
-        FatalErrorIn("createShellMesh::setRefinement(..)")
+        FatalErrorInFunction
             << "nEdges:" << patch_.nEdges()
             << " extrudeEdgePatches:" << extrudeEdgePatches.size()
             << exit(FatalError);
@@ -672,7 +672,7 @@ void Foam::createShellMesh::setRefinement
             // Internal face
             if (eFaces.size() != 2)
             {
-                FatalErrorIn("createShellMesh::setRefinement(..)")
+                FatalErrorInFunction
                     << "edge:" << edgeI
                     << " not internal but does not have side-patches defined."
                     << exit(FatalError);
@@ -682,7 +682,7 @@ void Foam::createShellMesh::setRefinement
         {
             if (eFaces.size() != ePatches.size())
             {
-                FatalErrorIn("createShellMesh::setRefinement(..)")
+                FatalErrorInFunction
                     << "external/feature edge:" << edgeI
                     << " has " << eFaces.size() << " connected extruded faces "
                     << " but only " << ePatches.size()
diff --git a/src/dynamicMesh/fvMeshAdder/fvMeshAdderTemplates.C b/src/dynamicMesh/fvMeshAdder/fvMeshAdderTemplates.C
index 296bb3c513d..b7d579d928b 100644
--- a/src/dynamicMesh/fvMeshAdder/fvMeshAdderTemplates.C
+++ b/src/dynamicMesh/fvMeshAdder/fvMeshAdderTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -308,7 +308,7 @@ void Foam::fvMeshAdder::MapVolFields
         }
         else
         {
-            WarningIn("fvMeshAdder::MapVolFields(..)")
+            WarningInFunction
                 << "Not mapping field " << fld.name()
                 << " since not present on mesh to add"
                 << endl;
@@ -608,7 +608,7 @@ void Foam::fvMeshAdder::MapSurfaceFields
         }
         else
         {
-            WarningIn("fvMeshAdder::MapSurfaceFields(..)")
+            WarningInFunction
                 << "Not mapping field " << fld.name()
                 << " since not present on mesh to add"
                 << endl;
diff --git a/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C b/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C
index 31619469d10..025c378edfa 100644
--- a/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C
+++ b/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -98,7 +98,7 @@ void Foam::fvMeshDistribute::checkEqualWordList
     {
         if (allNames[procI] != allNames[0])
         {
-            FatalErrorIn("fvMeshDistribute::checkEqualWordList(..)")
+            FatalErrorInFunction
                 << "When checking for equal " << msg.c_str() << " :" << endl
                 << "processor0 has:" << allNames[0] << endl
                 << "processor" << procI << " has:" << allNames[procI] << endl
@@ -235,7 +235,7 @@ Foam::label Foam::fvMeshDistribute::findNonEmptyPatch() const
 
     if (nonEmptyPatchI == -1)
     {
-        FatalErrorIn("fvMeshDistribute::findNonEmptyPatch() const")
+        FatalErrorInFunction
             << "Cannot find a patch which is neither of type empty nor"
             << " coupled in patches " << patches.names() << endl
             << "There has to be at least one such patch for"
@@ -263,7 +263,7 @@ Foam::label Foam::fvMeshDistribute::findNonEmptyPatch() const
         }
         else if (procPatchI != -1)
         {
-            FatalErrorIn("fvMeshDistribute::findNonEmptyPatch() const")
+            FatalErrorInFunction
                 << "Processor patches should be at end of patch list."
                 << endl
                 << "Have processor patch " << procPatchI
@@ -443,10 +443,8 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::fvMeshDistribute::repatch
 
         if (index != -1)
         {
-            FatalErrorIn
-            (
-                "fvMeshDistribute::repatch(const labelList&, labelListList&)"
-            )   << "reverseFaceMap contains -1 at index:"
+            FatalErrorInFunction
+                << "reverseFaceMap contains -1 at index:"
                 << index << endl
                 << "This means that the repatch operation was not just"
                 << " a shuffle?" << abort(FatalError);
@@ -520,7 +518,7 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::fvMeshDistribute::mergeSharedPoints
             }
             else
             {
-                FatalErrorIn("fvMeshDistribute::mergeSharedPoints()")
+                FatalErrorInFunction
                     << "Problem. oldPointI:" << oldPointI
                     << " newPointI:" << newPointI << abort(FatalError);
             }
@@ -1340,7 +1338,7 @@ Foam::labelList Foam::fvMeshDistribute::countCells
 
         if (newProc < 0 || newProc >= Pstream::nProcs())
         {
-            FatalErrorIn("fvMeshDistribute::distribute(const labelList&)")
+            FatalErrorInFunction
                 << "Distribution should be in range 0.." << Pstream::nProcs()-1
                 << endl
                 << "At index " << cellI << " distribution:" << newProc
@@ -1360,7 +1358,7 @@ Foam::autoPtr<Foam::mapDistributePolyMesh> Foam::fvMeshDistribute::distribute
     // Some checks on distribution
     if (distribution.size() != mesh_.nCells())
     {
-        FatalErrorIn("fvMeshDistribute::distribute(const labelList&)")
+        FatalErrorInFunction
             << "Size of distribution:"
             << distribution.size() << " mesh nCells:" << mesh_.nCells()
             << abort(FatalError);
@@ -1372,7 +1370,7 @@ Foam::autoPtr<Foam::mapDistributePolyMesh> Foam::fvMeshDistribute::distribute
     // Check all processors have same non-proc patches in same order.
     if (patches.checkParallelSync(true))
     {
-        FatalErrorIn("fvMeshDistribute::distribute(const labelList&)")
+        FatalErrorInFunction
             << "This application requires all non-processor patches"
             << " to be present in the same order on all patches" << nl
             << "followed by the processor patches (which of course are unique)."
diff --git a/src/dynamicMesh/fvMeshDistribute/fvMeshDistributeTemplates.C b/src/dynamicMesh/fvMeshDistribute/fvMeshDistributeTemplates.C
index c97df63b4ab..ecddb02f79b 100644
--- a/src/dynamicMesh/fvMeshDistribute/fvMeshDistributeTemplates.C
+++ b/src/dynamicMesh/fvMeshDistribute/fvMeshDistributeTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -104,7 +104,7 @@ void Foam::fvMeshDistribute::mapBoundaryFields
 
     if (flds.size() != oldBflds.size())
     {
-        FatalErrorIn("fvMeshDistribute::mapBoundaryFields(..)") << "problem"
+        FatalErrorInFunction
             << abort(FatalError);
     }
 
diff --git a/src/dynamicMesh/fvMeshTools/fvMeshTools.C b/src/dynamicMesh/fvMeshTools/fvMeshTools.C
index 682a96422e7..19e41d1558b 100644
--- a/src/dynamicMesh/fvMeshTools/fvMeshTools.C
+++ b/src/dynamicMesh/fvMeshTools/fvMeshTools.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -282,7 +282,7 @@ void Foam::fvMeshTools::trimPatches(fvMesh& mesh, const label nPatches)
 
     if (polyPatches.empty())
     {
-        FatalErrorIn("fvMeshTools::trimPatches(fvMesh&, const label)")
+        FatalErrorInFunction
             << "No patches in mesh"
             << abort(FatalError);
     }
@@ -296,7 +296,7 @@ void Foam::fvMeshTools::trimPatches(fvMesh& mesh, const label nPatches)
 
     if (nFaces)
     {
-        FatalErrorIn("fvMeshTools::trimPatches(fvMesh&, const label)")
+        FatalErrorInFunction
             << "There are still " << nFaces
             << " faces in " << polyPatches.size()-nPatches
             << " patches to be deleted" << abort(FatalError);
diff --git a/src/dynamicMesh/layerAdditionRemoval/addCellLayer.C b/src/dynamicMesh/layerAdditionRemoval/addCellLayer.C
index 0fffb4aa359..572b8b7d790 100644
--- a/src/dynamicMesh/layerAdditionRemoval/addCellLayer.C
+++ b/src/dynamicMesh/layerAdditionRemoval/addCellLayer.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -442,11 +442,8 @@ void Foam::layerAdditionRemoval::addCellLayer
 
         if (patchID < 0)
         {
-            FatalErrorIn
-            (
-                "void Foam::layerAdditionRemoval::setRefinement("
-                "polyTopoChange& ref)"
-            )   << "Cannot find patch for edge " << meshEdges[curEdgeID]
+            FatalErrorInFunction
+                << "Cannot find patch for edge " << meshEdges[curEdgeID]
                 << ". Edge: " << mesh.edges()[meshEdges[curEdgeID]]
                 << abort(FatalError);
         }
diff --git a/src/dynamicMesh/layerAdditionRemoval/layerAdditionRemoval.C b/src/dynamicMesh/layerAdditionRemoval/layerAdditionRemoval.C
index a1a8d228466..0ea18976a22 100644
--- a/src/dynamicMesh/layerAdditionRemoval/layerAdditionRemoval.C
+++ b/src/dynamicMesh/layerAdditionRemoval/layerAdditionRemoval.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -58,7 +58,7 @@ void Foam::layerAdditionRemoval::checkDefinition()
 {
     if (!faceZoneID_.active())
     {
-        FatalErrorIn("void Foam::layerAdditionRemoval::checkDefinition()")
+        FatalErrorInFunction
             << "Master face zone named " << faceZoneID_.name()
             << " cannot be found."
             << abort(FatalError);
@@ -70,10 +70,8 @@ void Foam::layerAdditionRemoval::checkDefinition()
      || maxLayerThickness_ < minLayerThickness_
     )
     {
-        FatalErrorIn
-        (
-            "void Foam::layerAdditionRemoval::checkDefinition()"
-        )   << "Incorrect layer thickness definition."
+        FatalErrorInFunction
+            << "Incorrect layer thickness definition."
             << abort(FatalError);
     }
 
@@ -83,7 +81,7 @@ void Foam::layerAdditionRemoval::checkDefinition()
 
     if (nFaces == 0)
     {
-        FatalErrorIn("void Foam::layerAdditionRemoval::checkDefinition()")
+        FatalErrorInFunction
             << "Face extrusion zone contains no faces. "
             << "Please check your mesh definition."
             << abort(FatalError);
@@ -222,7 +220,7 @@ bool Foam::layerAdditionRemoval::changeTopology() const
 
     if (min(V) < -VSMALL)
     {
-        FatalErrorIn("bool layerAdditionRemoval::changeTopology() const")
+        FatalErrorInFunction
             << "negative cell volume. Error in mesh motion before "
             << "topological change.\n V: " << V
             << abort(FatalError);
@@ -462,13 +460,8 @@ void Foam::layerAdditionRemoval::setMinLayerThickness(const scalar t) const
 {
     if (t < VSMALL || maxLayerThickness_ < t)
     {
-        FatalErrorIn
-        (
-            "void layerAdditionRemoval::setMinLayerThickness"
-            "("
-                "const scalar"
-            ") const"
-        )   << "Incorrect layer thickness definition."
+        FatalErrorInFunction
+            << "Incorrect layer thickness definition."
             << abort(FatalError);
     }
 
@@ -480,13 +473,8 @@ void Foam::layerAdditionRemoval::setMaxLayerThickness(const scalar t) const
 {
     if (t < minLayerThickness_)
     {
-        FatalErrorIn
-        (
-            "void layerAdditionRemoval::setMaxLayerThickness"
-            "("
-                "const scalar"
-            ") const"
-        )   << "Incorrect layer thickness definition."
+        FatalErrorInFunction
+            << "Incorrect layer thickness definition."
             << abort(FatalError);
     }
 
diff --git a/src/dynamicMesh/layerAdditionRemoval/setLayerPairing.C b/src/dynamicMesh/layerAdditionRemoval/setLayerPairing.C
index 0e2996e45ec..c4975633f80 100644
--- a/src/dynamicMesh/layerAdditionRemoval/setLayerPairing.C
+++ b/src/dynamicMesh/layerAdditionRemoval/setLayerPairing.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -76,10 +76,8 @@ bool Foam::layerAdditionRemoval::setLayerPairing() const
     // the master patch
     if (pointsPairingPtr_ || facesPairingPtr_)
     {
-        FatalErrorIn
-        (
-            "void Foam::layerAdditionRemoval::setLayerPairing() const"
-        )   << "Problem with layer pairing data"
+        FatalErrorInFunction
+            << "Problem with layer pairing data"
             << abort(FatalError);
     }
 
@@ -189,10 +187,8 @@ const Foam::labelList& Foam::layerAdditionRemoval::pointsPairing() const
 {
     if (!pointsPairingPtr_)
     {
-        FatalErrorIn
-        (
-            "const labelList& layerAdditionRemoval::pointsPairing() const"
-        )   << "Problem with layer pairing data for object " << name()
+        FatalErrorInFunction
+            << "Problem with layer pairing data for object " << name()
             << abort(FatalError);
     }
 
@@ -203,10 +199,8 @@ const Foam::labelList& Foam::layerAdditionRemoval::facesPairing() const
 {
     if (!facesPairingPtr_)
     {
-        FatalErrorIn
-        (
-            "const labelList& layerAdditionRemoval::facesPairing() const"
-        )   << "Problem with layer pairing data for object " << name()
+        FatalErrorInFunction
+            << "Problem with layer pairing data for object " << name()
             << abort(FatalError);
     }
 
diff --git a/src/dynamicMesh/meshCut/cellCuts/cellCuts.C b/src/dynamicMesh/meshCut/cellCuts/cellCuts.C
index 6861186e394..864faad5fd1 100644
--- a/src/dynamicMesh/meshCut/cellCuts/cellCuts.C
+++ b/src/dynamicMesh/meshCut/cellCuts/cellCuts.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -252,12 +252,8 @@ Foam::label Foam::cellCuts::edgeEdgeToFace
     // Coming here means the loop is illegal since the two edges
     // are not shared by a face. We just mark loop as invalid and continue.
 
-    WarningIn
-    (
-        "Foam::cellCuts::edgeEdgeToFace"
-        "(const label cellI, const label edgeA,"
-        "const label edgeB) const"
-    )   << "cellCuts : Cannot find face on cell "
+    WarningInFunction
+        << "cellCuts : Cannot find face on cell "
         << cellI << " that has both edges " << edgeA << ' ' << edgeB << endl
         << "faces : " << cFaces << endl
         << "edgeA : " << mesh().edges()[edgeA] << endl
@@ -296,12 +292,8 @@ Foam::label Foam::cellCuts::edgeVertexToFace
         }
     }
 
-    WarningIn
-    (
-        "Foam::cellCuts::edgeVertexToFace"
-        "(const label cellI, const label edgeI, "
-        "const label vertI) const"
-    )   << "cellCuts : Cannot find face on cell "
+    WarningInFunction
+        << "cellCuts : Cannot find face on cell "
         << cellI << " that has both edge " << edgeI << " and vertex "
         << vertI << endl
         << "faces : " << cFaces << endl
@@ -338,7 +330,7 @@ Foam::label Foam::cellCuts::vertexVertexToFace
         }
     }
 
-    WarningIn("Foam::cellCuts::vertexVertexToFace")
+    WarningInFunction
         << "cellCuts : Cannot find face on cell "
         << cellI << " that has vertex " << vertA << " and vertex "
         << vertB << endl
@@ -353,7 +345,7 @@ void Foam::cellCuts::calcFaceCuts() const
 {
     if (faceCutsPtr_)
     {
-        FatalErrorIn("cellCuts::calcFaceCuts()")
+        FatalErrorInFunction
             << "faceCuts already calculated" << abort(FatalError);
     }
 
@@ -468,7 +460,7 @@ void Foam::cellCuts::calcFaceCuts() const
 
         if (allVerticesCut)
         {
-            WarningIn("Foam::cellCuts::calcFaceCuts() const")
+            WarningInFunction
                 << "Face " << faceI << " vertices " << f
                 << " has all its vertices cut. Not cutting face." << endl;
 
@@ -783,7 +775,7 @@ bool Foam::cellCuts::walkFace
     }
     else
     {
-        WarningIn("Foam::cellCuts::walkFace")
+        WarningInFunction
             << "In middle of cut. cell:" << cellI << " face:" << faceI
             << " cuts:" << fCuts << " current cut:" << cut << endl;
 
@@ -1314,7 +1306,7 @@ bool Foam::cellCuts::calcAnchors
 
     if (uncutIndex == -1)
     {
-        WarningIn("Foam::cellCuts::calcAnchors")
+        WarningInFunction
             << "Invalid loop " << loop << " for cell " << cellI << endl
             << "Can not find point on cell which is not cut by loop."
             << endl;
@@ -1334,7 +1326,7 @@ bool Foam::cellCuts::calcAnchors
     {
         // All vertices either in loop or in anchor. So split is along single
         // face.
-        WarningIn("Foam::cellCuts::calcAnchors")
+        WarningInFunction
             << "Invalid loop " << loop << " for cell " << cellI << endl
             << "All vertices of cell are either in loop or in anchor set"
             << endl;
@@ -1371,7 +1363,7 @@ bool Foam::cellCuts::calcAnchors
 
     if (uncutIndex != -1)
     {
-        WarningIn("Foam::cellCuts::calcAnchors")
+        WarningInFunction
             << "Invalid loop " << loop << " for cell " << cellI
             << " since it splits the cell into more than two cells" << endl;
 
@@ -1415,7 +1407,7 @@ bool Foam::cellCuts::calcAnchors
 
     if (connectedFaces.size() < 3)
     {
-        WarningIn("Foam::cellCuts::calcAnchors")
+        WarningInFunction
             << "Invalid loop " << loop << " for cell " << cellI
             << " since would have too few faces on one side." << nl
             << "All faces:" << cFaces << endl;
@@ -1427,7 +1419,7 @@ bool Foam::cellCuts::calcAnchors
 
     if (otherFaces.size() < 3)
     {
-        WarningIn("Foam::cellCuts::calcAnchors")
+        WarningInFunction
             << "Invalid loop " << loop << " for cell " << cellI
             << " since would have too few faces on one side." << nl
             << "All faces:" << cFaces << endl;
@@ -1471,7 +1463,7 @@ bool Foam::cellCuts::calcAnchors
                     if (hasSet1)
                     {
                         // Second occurence of set1.
-                        WarningIn("Foam::cellCuts::calcAnchors")
+                        WarningInFunction
                             << "Invalid loop " << loop << " for cell " << cellI
                             << " since face " << f << " would be split into"
                             << " more than two faces" << endl;
@@ -1488,7 +1480,7 @@ bool Foam::cellCuts::calcAnchors
                     if (hasSet2)
                     {
                         // Second occurence of set1.
-                        WarningIn("Foam::cellCuts::calcAnchors")
+                        WarningInFunction
                             << "Invalid loop " << loop << " for cell " << cellI
                             << " since face " << f << " would be split into"
                             << " more than two faces" << endl;
@@ -1502,7 +1494,7 @@ bool Foam::cellCuts::calcAnchors
                 }
                 else
                 {
-                    FatalErrorIn("Foam::cellCuts::calcAnchors")
+                    FatalErrorInFunction
                         << abort(FatalError);
                 }
 
@@ -1526,7 +1518,7 @@ bool Foam::cellCuts::calcAnchors
                     if (hasSet1)
                     {
                         // Second occurence of set1.
-                        WarningIn("Foam::cellCuts::calcAnchors")
+                        WarningInFunction
                             << "Invalid loop " << loop << " for cell " << cellI
                             << " since face " << f << " would be split into"
                             << " more than two faces" << endl;
@@ -1543,7 +1535,7 @@ bool Foam::cellCuts::calcAnchors
                     if (hasSet2)
                     {
                         // Second occurence of set1.
-                        WarningIn("Foam::cellCuts::calcAnchors")
+                        WarningInFunction
                             << "Invalid loop " << loop << " for cell " << cellI
                             << " since face " << f << " would be split into"
                             << " more than two faces" << endl;
@@ -1576,7 +1568,7 @@ bool Foam::cellCuts::calcAnchors
             // Both sets of points are supposedly on the same side as the
             // loop normal. Oops.
 
-            WarningIn("Foam::cellCuts::calcAnchors")
+            WarningInFunction
                 << " For cell:" << cellI
                 << " achorpoints and nonanchorpoints are geometrically"
                 << " on same side!" << endl
@@ -1971,7 +1963,7 @@ bool Foam::cellCuts::validLoop
 
     if (faceContainingLoop != -1)
     {
-        WarningIn("Foam::cellCuts::validLoop")
+        WarningInFunction
             << "Found loop on cell " << cellI << " with all points"
             << " on face " << faceContainingLoop << endl;
 
@@ -2029,13 +2021,11 @@ void Foam::cellCuts::setFromCellLoops()
             {
                 //writeOBJ(".", cellI, loopPoints(cellI), anchorPoints);
 
-                //FatalErrorIn("cellCuts::setFromCellLoops()")
-                WarningIn("cellCuts::setFromCellLoops")
+                WarningInFunction
                     << "Illegal loop " << loop
                     << " when recreating cut-addressing"
                     << " from existing cellLoops for cell " << cellI
                     << endl;
-                    //<< abort(FatalError);
 
                 cellLoops_[cellI].setSize(0);
                 cellAnchorPoints_[cellI].setSize(0);
@@ -2477,7 +2467,7 @@ void Foam::cellCuts::orientPlanesAndLoops()
         {
             if (cellAnchorPoints_[cellI].empty())
             {
-                FatalErrorIn("orientPlanesAndLoops()")
+                FatalErrorInFunction
                     << "No anchor points for cut cell " << cellI << endl
                     << "cellLoop:" << cellLoops_[cellI] << abort(FatalError);
             }
@@ -2515,10 +2505,8 @@ void Foam::cellCuts::calcLoopsAndAddressing(const labelList& cutCells)
 
             if (weight < 0 || weight > 1)
             {
-                FatalErrorIn
-                (
-                    "cellCuts::calcLoopsAndAddressing(const labelList&)"
-                )   << "Weight out of range [0,1]. Edge " << edgeI
+                FatalErrorInFunction
+                    << "Weight out of range [0,1]. Edge " << edgeI
                     << " verts:" << mesh().edges()[edgeI]
                     << " weight:" << weight << abort(FatalError);
             }
@@ -2570,13 +2558,11 @@ void Foam::cellCuts::check() const
             )
             {
                 // Should have been snapped.
-                //FatalErrorIn("cellCuts::check()")
-                WarningIn("cellCuts::check()")
+                WarningInFunction
                     << "edge:" << edgeI << " vertices:"
                     << mesh().edges()[edgeI]
                     << " weight:" << edgeWeight_[edgeI] << " should have been"
                     << " snapped to one of its endpoints"
-                    //<< abort(FatalError);
                     << endl;
             }
         }
@@ -2584,7 +2570,7 @@ void Foam::cellCuts::check() const
         {
             if (edgeWeight_[edgeI] > - 1)
             {
-                FatalErrorIn("cellCuts::check()")
+                FatalErrorInFunction
                     << "edge:" << edgeI << " vertices:"
                     << mesh().edges()[edgeI]
                     << " weight:" << edgeWeight_[edgeI] << " is not cut but"
@@ -2612,7 +2598,7 @@ void Foam::cellCuts::check() const
                 labelList cuts(1, cut);
                 writeCuts(Pout, cuts, loopWeights(cuts));
 
-                FatalErrorIn("cellCuts::check()")
+                FatalErrorInFunction
                     << "cell:" << cellI << " loop:"
                     << loop
                     << " cut:" << cut << " is not marked as cut"
@@ -2630,7 +2616,7 @@ void Foam::cellCuts::check() const
 
         if (loop.size() && anchors.empty())
         {
-            FatalErrorIn("cellCuts::check()")
+            FatalErrorInFunction
                 << "cell:" << cellI << " loop:" << loop
                 << " has no anchor points"
                 << abort(FatalError);
@@ -2647,7 +2633,7 @@ void Foam::cellCuts::check() const
              && findIndex(anchors, getVertex(cut)) != -1
             )
             {
-                FatalErrorIn("cellCuts::check()")
+                FatalErrorInFunction
                     << "cell:" << cellI << " loop:" << loop
                     << " anchor points:" << anchors
                     << " anchor:" << getVertex(cut) << " is part of loop"
@@ -2669,7 +2655,7 @@ void Foam::cellCuts::check() const
 
             if (cellLoops_[own].empty() && cellLoops_[nei].empty())
             {
-                FatalErrorIn("cellCuts::check()")
+                FatalErrorInFunction
                     << "Internal face:" << faceI << " cut by " << iter()
                     << " has owner:" << own
                     << " and neighbour:" << nei
@@ -2683,7 +2669,7 @@ void Foam::cellCuts::check() const
 
             if (cellLoops_[own].empty())
             {
-                FatalErrorIn("cellCuts::check()")
+                FatalErrorInFunction
                     << "Boundary face:" << faceI << " cut by " << iter()
                     << " has owner:" << own
                     << " that is uncut"
diff --git a/src/dynamicMesh/meshCut/cellLooper/cellLooper.C b/src/dynamicMesh/meshCut/cellLooper/cellLooper.C
index 69e526fe2bf..12dac20c0c6 100644
--- a/src/dynamicMesh/meshCut/cellLooper/cellLooper.C
+++ b/src/dynamicMesh/meshCut/cellLooper/cellLooper.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -50,10 +50,8 @@ Foam::autoPtr<Foam::cellLooper> Foam::cellLooper::New
 
     if (cstrIter == wordConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "cellLooper::New(const word&, const polyMesh&)"
-        )   << "Unknown set type "
+        FatalErrorInFunction
+            << "Unknown set type "
             << type << nl << nl
             << "Valid cellLooper types : " << endl
             << wordConstructorTablePtr_->sortedToc()
@@ -124,10 +122,8 @@ Foam::label Foam::cellLooper::getFirstVertEdge
         }
     }
 
-    FatalErrorIn
-    (
-        "getFirstVertEdge(const label, const label)"
-    )   << "Can not find edge on face " << faceI
+    FatalErrorInFunction
+        << "Can not find edge on face " << faceI
         << " using vertex " << vertI
         << abort(FatalError);
 
diff --git a/src/dynamicMesh/meshCut/cellLooper/hexCellLooper.C b/src/dynamicMesh/meshCut/cellLooper/hexCellLooper.C
index c01c916aa3b..e228515e7e2 100644
--- a/src/dynamicMesh/meshCut/cellLooper/hexCellLooper.C
+++ b/src/dynamicMesh/meshCut/cellLooper/hexCellLooper.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -215,7 +215,7 @@ bool Foam::hexCellLooper::cut
     {
         if (loop.empty())
         {
-            WarningIn("hexCellLooper")
+            WarningInFunction
                 << "could not cut cell " << cellI << endl;
 
             fileName cutsFile("hexCellLooper_" + name(cellI) + ".obj");
@@ -245,7 +245,7 @@ bool Foam::hexCellLooper::cut
 
             if (loopSet.found(elem))
             {
-                FatalErrorIn("hexCellLooper::walkHex") << " duplicate cut"
+                FatalErrorInFunction
                     << abort(FatalError);
             }
             loopSet.insert(elem);
@@ -259,7 +259,7 @@ bool Foam::hexCellLooper::cut
 
         if ((faceVerts.mag(facePoints) < SMALL) || (loop.size() < 3))
         {
-            FatalErrorIn("hexCellLooper::walkHex") << "Face:" << faceVerts
+            FatalErrorInFunction
                 << " on points:" << facePoints << endl
                 << UIndirectList<point>(facePoints, faceVerts)()
                 << abort(FatalError);
diff --git a/src/dynamicMesh/meshCut/cellLooper/topoCellLooper.C b/src/dynamicMesh/meshCut/cellLooper/topoCellLooper.C
index ce04d65990a..d93c5a2a1f8 100644
--- a/src/dynamicMesh/meshCut/cellLooper/topoCellLooper.C
+++ b/src/dynamicMesh/meshCut/cellLooper/topoCellLooper.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -63,8 +63,7 @@ void Foam::topoCellLooper::subsetList
         // changed)
         if (freeI < 0)
         {
-            FatalErrorIn("topoCellLooper::subsetList")
-                << "startI:" << startI << "  freeI:" << freeI
+            FatalErrorInFunction
                 << "  lst:" << lst << abort(FatalError);
         }
         lst.setCapacity(freeI);
@@ -80,8 +79,7 @@ void Foam::topoCellLooper::subsetList
 
         if ((freeI - startI) < 0)
         {
-            FatalErrorIn("topoCellLooper::subsetList")
-                << "startI:" << startI << "  freeI:" << freeI
+            FatalErrorInFunction
                 << "  lst:" << lst << abort(FatalError);
         }
 
@@ -460,7 +458,7 @@ void Foam::topoCellLooper::walkSplitHex
             // On edge
             if (edgeI == -1)
             {
-                FatalErrorIn("walkSplitHex") << "Illegal edge and vert"
+                FatalErrorInFunction
                     << abort(FatalError);
             }
 
@@ -651,7 +649,7 @@ void Foam::topoCellLooper::walkSplitHex
                 }
                 else
                 {
-                    FatalErrorIn("walkFromVert") << "Not yet implemented"
+                    FatalErrorInFunction
                         << "Choosing from more than "
                         << "two candidates:" << nextFaces
                         << " when coming from vertex " << vertI << " on cell "
diff --git a/src/dynamicMesh/meshCut/directions/directionInfo/directionInfo.C b/src/dynamicMesh/meshCut/directions/directionInfo/directionInfo.C
index 2e19bb7e324..c1028dbfe54 100644
--- a/src/dynamicMesh/meshCut/directions/directionInfo/directionInfo.C
+++ b/src/dynamicMesh/meshCut/directions/directionInfo/directionInfo.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -47,7 +47,7 @@ Foam::label Foam::directionInfo::findEdge
         }
     }
 
-    FatalErrorIn("directionInfo::findEdge")
+    FatalErrorInFunction
         << "Cannot find an edge among " << edgeLabels << endl
         << "that uses vertices " << v0
         << " and " << v1
@@ -77,7 +77,7 @@ Foam::label Foam::directionInfo::lowest
 
         if (b1 != a)
         {
-            FatalErrorIn("directionInfo::lowest")
+            FatalErrorInFunction
                 << "Problem : a:" << a << " b:" << b << " size:" << size
                 << abort(FatalError);
         }
@@ -99,7 +99,7 @@ Foam::label Foam::directionInfo::edgeToFaceIndex
 {
     if ((edgeI < 0) || (edgeI >= mesh.nEdges()))
     {
-        FatalErrorIn("directionInfo::edgeToFaceIndex")
+        FatalErrorInFunction
             << "Illegal edge label:" << edgeI
             << " when projecting cut edge from cell " << cellI
             << " to face " << faceI
@@ -184,7 +184,7 @@ Foam::label Foam::directionInfo::edgeToFaceIndex
                 return lowest(f.size(), fpA, fpB);
             }
 
-            FatalErrorIn("directionInfo::edgeToFaceIndex")
+            FatalErrorInFunction
                 << "Found connected faces " << mesh.faces()[f0I] << " and "
                 << mesh.faces()[f1I] << " sharing edge " << edgeI << endl
                 << "But none seems to be connected to face " << faceI
diff --git a/src/dynamicMesh/meshCut/directions/directions.C b/src/dynamicMesh/meshCut/directions/directions.C
index 35170e9007f..d2b6aa683e2 100644
--- a/src/dynamicMesh/meshCut/directions/directions.C
+++ b/src/dynamicMesh/meshCut/directions/directions.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -127,7 +127,7 @@ void Foam::directions::check2D
     {
         if (mag(correct2DPtr->planeNormal() & vec) > 1e-6)
         {
-            FatalErrorIn("check2D") << "Specified vector " << vec
+            FatalErrorInFunction
                 << "is not normal to plane defined in dynamicMeshDict."
                 << endl
                 << "Either make case 3D or adjust vector."
@@ -161,7 +161,7 @@ Foam::vectorField Foam::directions::propagateDirection
 
             if (!hexMatcher().isA(mesh, cellI))
             {
-                FatalErrorIn("propagateDirection")
+                FatalErrorInFunction
                     << "useHexTopology specified but cell " << cellI
                     << " on face " << patchFaceI << " of patch " << pp.name()
                     << " is not a hex" << exit(FatalError);
@@ -229,7 +229,7 @@ Foam::vectorField Foam::directions::propagateDirection
         if (index == -3)
         {
             // Never visited
-            WarningIn("propagateDirection")
+            WarningInFunction
                 << "Cell " << cellI << " never visited to determine "
                 << "local coordinate system" << endl
                 << "Using direction " << defaultDir << " instead" << endl;
@@ -247,7 +247,7 @@ Foam::vectorField Foam::directions::propagateDirection
         }
         else if (index == -1)
         {
-            FatalErrorIn("propagateDirection")
+            FatalErrorInFunction
                 << "Illegal index " << index << endl
                 << "Value is only allowed on faces" << abort(FatalError);
         }
@@ -353,11 +353,8 @@ Foam::directions::directions
 
         if (patchI == -1)
         {
-            FatalErrorIn
-            (
-                "directions::directions(const polyMesh&, const dictionary&,"
-                "const twoDPointCorrector*)"
-            )   << "Cannot find patch "
+            FatalErrorInFunction
+                << "Cannot find patch "
                 << patchName
                 << exit(FatalError);
         }
@@ -373,11 +370,8 @@ Foam::directions::directions
         {
             tan1 = correct2DPtr->planeNormal() ^ n0;
 
-            WarningIn
-            (
-                "directions::directions(const polyMesh&, const dictionary&,"
-                "const twoDPointCorrector*)"
-            )   << "Discarding user specified tan1 since 2D case." << endl
+            WarningInFunction
+                << "Discarding user specified tan1 since 2D case." << endl
                 << "Recalculated tan1 from face normal and planeNormal as "
                 << tan1 << endl << endl;
         }
@@ -432,11 +426,8 @@ Foam::directions::directions
     }
     else
     {
-        FatalErrorIn
-        (
-            "directions::directions(const polyMesh&, const dictionary&,"
-            "const twoDPointCorrector*)"
-        )   << "Unknown coordinate system "
+        FatalErrorInFunction
+            << "Unknown coordinate system "
             << coordSystem << endl
             << "Known types are global and patchLocal"
             << exit(FatalError);
diff --git a/src/dynamicMesh/meshCut/edgeVertex/edgeVertex.C b/src/dynamicMesh/meshCut/edgeVertex/edgeVertex.C
index 6e22baf2364..f6df6d13c12 100644
--- a/src/dynamicMesh/meshCut/edgeVertex/edgeVertex.C
+++ b/src/dynamicMesh/meshCut/edgeVertex/edgeVertex.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -105,11 +105,8 @@ void Foam::edgeVertex::updateLabels
 
             if (newMaster == -1)
             {
-                WarningIn
-                (
-                    "edgeVertex::updateLabels(const labelList&, "
-                    "Map<label>&)"
-                )   << "master cell:" << iter.key()
+                WarningInFunction
+                    << "master cell:" << iter.key()
                     << " has disappeared" << endl;
             }
             else
diff --git a/src/dynamicMesh/meshCut/edgeVertex/edgeVertex.H b/src/dynamicMesh/meshCut/edgeVertex/edgeVertex.H
index b8d9e054836..a7a7b4313d7 100644
--- a/src/dynamicMesh/meshCut/edgeVertex/edgeVertex.H
+++ b/src/dynamicMesh/meshCut/edgeVertex/edgeVertex.H
@@ -109,10 +109,8 @@ public:
         {
             if (eVert < 0 || eVert >= (mesh.nPoints() + mesh.nEdges()))
             {
-                FatalErrorIn
-                (
-                    "edgeVertex::isEdge(const primitiveMesh&, const label)"
-                )   << "EdgeVertex " << eVert << " out of range "
+                FatalErrorInFunction
+                    << "EdgeVertex " << eVert << " out of range "
                     << mesh.nPoints() << " to "
                     << (mesh.nPoints() + mesh.nEdges() - 1)
                     << abort(FatalError);
@@ -130,10 +128,8 @@ public:
         {
             if (!isEdge(mesh, eVert))
             {
-                FatalErrorIn
-                (
-                    "edgeVertex::getEdge(const primitiveMesh&, const label)"
-                )   << "EdgeVertex " << eVert << " not an edge"
+                FatalErrorInFunction
+                    << "EdgeVertex " << eVert << " not an edge"
                     << abort(FatalError);
             }
             return eVert - mesh.nPoints();
@@ -148,10 +144,8 @@ public:
         {
             if (isEdge(mesh, eVert) || (eVert < 0))
             {
-                FatalErrorIn
-                (
-                    "edgeVertex::getVertex(const primitiveMesh&, const label)"
-                )   << "EdgeVertex " << eVert << " not a vertex"
+                FatalErrorInFunction
+                    << "EdgeVertex " << eVert << " not a vertex"
                     << abort(FatalError);
             }
             return eVert;
@@ -166,10 +160,8 @@ public:
         {
             if ((vertI < 0) || (vertI >= mesh.nPoints()))
             {
-                FatalErrorIn
-                (
-                    "edgeVertex::vertToEVert(const primitiveMesh&, const label)"
-                )   << "Illegal vertex number " << vertI
+                FatalErrorInFunction
+                    << "Illegal vertex number " << vertI
                     << abort(FatalError);
             }
             return vertI;
@@ -184,10 +176,8 @@ public:
         {
             if ((edgeI < 0) || (edgeI >= mesh.nEdges()))
             {
-                FatalErrorIn
-                (
-                    "edgeVertex::edgeToEVert(const primitiveMesh&const label)"
-                )   << "Illegal edge number " << edgeI
+                FatalErrorInFunction
+                    << "Illegal edge number " << edgeI
                     << abort(FatalError);
             }
             return mesh.nPoints() + edgeI;
diff --git a/src/dynamicMesh/meshCut/meshModifiers/boundaryCutter/boundaryCutter.C b/src/dynamicMesh/meshCut/meshModifiers/boundaryCutter/boundaryCutter.C
index 654b47a2545..1e81226a4b8 100644
--- a/src/dynamicMesh/meshCut/meshModifiers/boundaryCutter/boundaryCutter.C
+++ b/src/dynamicMesh/meshCut/meshModifiers/boundaryCutter/boundaryCutter.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -248,7 +248,7 @@ bool Foam::boundaryCutter::splitFace
 
     if (nSplitEdges == 0 && nModPoints == 0)
     {
-        FatalErrorIn("boundaryCutter::splitFace") << "Problem : face:" << faceI
+        FatalErrorInFunction
             << " nSplitEdges:" << nSplitEdges
             << " nTotalSplits:" << nTotalSplits
             << abort(FatalError);
@@ -302,7 +302,7 @@ bool Foam::boundaryCutter::splitFace
 
         if (startFp == -1)
         {
-            FatalErrorIn("boundaryCutter::splitFace")
+            FatalErrorInFunction
                 << "Problem" << abort(FatalError);
         }
 
@@ -508,7 +508,7 @@ void Foam::boundaryCutter::setRefinement
 
         if (faceToSplit.found(faceI))
         {
-            FatalErrorIn("boundaryCutter::setRefinement")
+            FatalErrorInFunction
                 << "Face " << faceI << " vertices " << f
                 << " is both marked for face-centre decomposition and"
                 << " diagonal splitting."
@@ -517,7 +517,7 @@ void Foam::boundaryCutter::setRefinement
 
         if (mesh_.isInternalFace(faceI))
         {
-            FatalErrorIn("boundaryCutter::setRefinement")
+            FatalErrorInFunction
                 << "Face " << faceI << " vertices " << f
                 << " is not an external face. Cannot split it"
                 << abort(FatalError);
@@ -637,7 +637,7 @@ void Foam::boundaryCutter::setRefinement
 
         if (faceAddedPoint_.found(faceI))
         {
-            FatalErrorIn("boundaryCutter::setRefinement")
+            FatalErrorInFunction
                 << "Face " << faceI << " vertices " << f
                 << " is both marked for face-centre decomposition and"
                 << " diagonal splitting."
@@ -662,7 +662,7 @@ void Foam::boundaryCutter::setRefinement
 
         if (fp0 == -1 || fp1 == -1 || fp0 == fp1)
         {
-            FatalErrorIn("boundaryCutter::setRefinement")
+            FatalErrorInFunction
                 << "Problem : Face " << faceI << " vertices " << f
                 << " newFace:" << newFace << " diagonal:" << f[diag[0]]
                 << ' ' << f[diag[1]]
diff --git a/src/dynamicMesh/meshCut/meshModifiers/meshCutAndRemove/meshCutAndRemove.C b/src/dynamicMesh/meshCut/meshModifiers/meshCutAndRemove/meshCutAndRemove.C
index 4999757132f..a3b768e9cde 100644
--- a/src/dynamicMesh/meshCut/meshModifiers/meshCutAndRemove/meshCutAndRemove.C
+++ b/src/dynamicMesh/meshCut/meshModifiers/meshCutAndRemove/meshCutAndRemove.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -137,10 +137,7 @@ Foam::label Foam::meshCutAndRemove::findInternalFacePoint
 
     if (pointLabels.empty())
     {
-        FatalErrorIn
-        (
-            "meshCutAndRemove::findInternalFacePoint(const labelList&)"
-        )
+        FatalErrorInFunction
             << "Empty pointLabels" << abort(FatalError);
     }
 
@@ -452,11 +449,8 @@ void Foam::meshCutAndRemove::splitFace
 
     if (startFp == -1)
     {
-        FatalErrorIn
-        (
-            "meshCutAndRemove::splitFace"
-            ", const face&, const label, const label, face&, face&)"
-        )   << "Cannot find vertex (new numbering) " << v0
+        FatalErrorInFunction
+            << "Cannot find vertex (new numbering) " << v0
             << " on face " << f
             << abort(FatalError);
     }
@@ -465,11 +459,8 @@ void Foam::meshCutAndRemove::splitFace
 
     if (endFp == -1)
     {
-        FatalErrorIn
-        (
-            "meshCutAndRemove::splitFace("
-            ", const face&, const label, const label, face&, face&)"
-        )   << "Cannot find vertex (new numbering) " << v1
+        FatalErrorInFunction
+            << "Cannot find vertex (new numbering) " << v1
             << " on face " << f
             << abort(FatalError);
     }
@@ -619,12 +610,8 @@ void Foam::meshCutAndRemove::setRefinement
 
     if (exposedPatchI < 0 || exposedPatchI >= patches.size())
     {
-        FatalErrorIn
-        (
-            "meshCutAndRemove::setRefinement("
-            ", const label, const cellCuts&, const labelList&"
-            ", polyTopoChange&)"
-        )   << "Illegal exposed patch " << exposedPatchI
+        FatalErrorInFunction
+            << "Illegal exposed patch " << exposedPatchI
             << abort(FatalError);
     }
 
@@ -642,12 +629,8 @@ void Foam::meshCutAndRemove::setRefinement
             // Check if there is any cell using this edge.
             if (debug && findCutCell(cuts, mesh().edgeCells()[edgeI]) == -1)
             {
-                FatalErrorIn
-                (
-                    "meshCutAndRemove::setRefinement("
-                    ", const label, const cellCuts&, const labelList&"
-                    ", polyTopoChange&)"
-                )   << "Problem: cut edge but none of the cells using it is\n"
+                FatalErrorInFunction
+                    << "Problem: cut edge but none of the cells using it is\n"
                     << "edge:" << edgeI << " verts:" << e
                     << abort(FatalError);
             }
@@ -748,12 +731,8 @@ void Foam::meshCutAndRemove::setRefinement
 
                     if (!usedPoint[pointI])
                     {
-                        FatalErrorIn
-                        (
-                            "meshCutAndRemove::setRefinement("
-                            ", const label, const cellCuts&, const labelList&"
-                            ", polyTopoChange&)"
-                        )   << "Problem: faceSplitCut not used by any loop"
+                        FatalErrorInFunction
+                            << "Problem: faceSplitCut not used by any loop"
                             << " or cell anchor point"
                             << "face:" << iter.key() << " point:" << pointI
                             << " coord:" << mesh().points()[pointI]
@@ -769,12 +748,8 @@ void Foam::meshCutAndRemove::setRefinement
             {
                 if (!usedPoint[pointI])
                 {
-                    FatalErrorIn
-                    (
-                        "meshCutAndRemove::setRefinement("
-                        ", const label, const cellCuts&, const labelList&"
-                        ", polyTopoChange&)"
-                    )   << "Problem: point is marked as cut but"
+                    FatalErrorInFunction
+                        << "Problem: point is marked as cut but"
                         << " not used by any loop"
                         << " or cell anchor point"
                         << "point:" << pointI
@@ -813,12 +788,8 @@ void Foam::meshCutAndRemove::setRefinement
         {
             if (cutPatch[cellI] < 0 || cutPatch[cellI] >= patches.size())
             {
-                FatalErrorIn
-                (
-                    "meshCutAndRemove::setRefinement("
-                    ", const label, const cellCuts&, const labelList&"
-                    ", polyTopoChange&)"
-                )   << "Illegal patch " << cutPatch[cellI]
+                FatalErrorInFunction
+                    << "Illegal patch " << cutPatch[cellI]
                     << " provided for cut cell " << cellI
                     << abort(FatalError);
             }
diff --git a/src/dynamicMesh/meshCut/meshModifiers/meshCutter/meshCutter.C b/src/dynamicMesh/meshCut/meshModifiers/meshCutter/meshCutter.C
index 80acd2bc170..5c3f0e61a6c 100644
--- a/src/dynamicMesh/meshCut/meshModifiers/meshCutter/meshCutter.C
+++ b/src/dynamicMesh/meshCut/meshModifiers/meshCutter/meshCutter.C
@@ -123,7 +123,7 @@ Foam::label Foam::meshCutter::findInternalFacePoint
 
     if (pointLabels.empty())
     {
-        FatalErrorIn("meshCutter::findInternalFacePoint(const labelList&)")
+        FatalErrorInFunction
             << "Empty pointLabels" << abort(FatalError);
     }
 
@@ -383,11 +383,8 @@ void Foam::meshCutter::splitFace
 
     if (startFp == -1)
     {
-        FatalErrorIn
-        (
-            "meshCutter::splitFace"
-            ", const face&, const label, const label, face&, face&)"
-        )   << "Cannot find vertex (new numbering) " << v0
+        FatalErrorInFunction
+            << "Cannot find vertex (new numbering) " << v0
             << " on face " << f
             << abort(FatalError);
     }
@@ -396,11 +393,8 @@ void Foam::meshCutter::splitFace
 
     if (endFp == -1)
     {
-        FatalErrorIn
-        (
-            "meshCutter::splitFace("
-            ", const face&, const label, const label, face&, face&)"
-        )   << "Cannot find vertex (new numbering) " << v1
+        FatalErrorInFunction
+            << "Cannot find vertex (new numbering) " << v1
             << " on face " << f
             << abort(FatalError);
     }
@@ -563,11 +557,8 @@ void Foam::meshCutter::setRefinement
             // Check if there is any cell using this edge.
             if (debug && findCutCell(cuts, mesh().edgeCells()[edgeI]) == -1)
             {
-                FatalErrorIn
-                (
-                    "meshCutter::setRefinement(const cellCuts&"
-                    ", polyTopoChange&)"
-                )   << "Problem: cut edge but none of the cells using it is\n"
+                FatalErrorInFunction
+                    << "Problem: cut edge but none of the cells using it is\n"
                     << "edge:" << edgeI << " verts:" << e
                     << abort(FatalError);
             }
@@ -939,11 +930,8 @@ void Foam::meshCutter::setRefinement
 
                     if (debug && (f != addEdgeCutsToFace(faceI)))
                     {
-                        FatalErrorIn
-                        (
-                            "meshCutter::setRefinement(const cellCuts&"
-                            ", polyTopoChange&)"
-                        )   << "Problem: edges added to face which does "
+                        FatalErrorInFunction
+                            << "Problem: edges added to face which does "
                             << " not use a marked cut" << endl
                             << "faceI:" << faceI << endl
                             << "face:" << f << endl
diff --git a/src/dynamicMesh/meshCut/meshModifiers/multiDirRefinement/multiDirRefinement.C b/src/dynamicMesh/meshCut/meshModifiers/multiDirRefinement/multiDirRefinement.C
index 3668134cc49..b79f0faed25 100644
--- a/src/dynamicMesh/meshCut/meshModifiers/multiDirRefinement/multiDirRefinement.C
+++ b/src/dynamicMesh/meshCut/meshModifiers/multiDirRefinement/multiDirRefinement.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -70,11 +70,8 @@ void Foam::multiDirRefinement::addCells
 
         if (iter == splitMap.end())
         {
-            FatalErrorIn
-            (
-                "multiDirRefinement::addCells(const Map<label>&"
-                ", List<refineCell>&)"
-            )   << "Problem : cannot find added cell for cell "
+            FatalErrorInFunction
+                << "Problem : cannot find added cell for cell "
                 << refCell.cellNo() << abort(FatalError);
         }
 
@@ -143,11 +140,8 @@ void Foam::multiDirRefinement::addCells
             }
             else if (origCell[slave] != cellI)
             {
-                FatalErrorIn
-                (
-                    "multiDirRefinement::addCells(const primitiveMesh&"
-                    ", const Map<label>&"
-                )   << "Added cell " << slave << " has two different masters:"
+                FatalErrorInFunction
+                    << "Added cell " << slave << " has two different masters:"
                     << origCell[slave] << " , " << cellI
                     << abort(FatalError);
             }
@@ -167,11 +161,8 @@ void Foam::multiDirRefinement::addCells
 
         if (masterI >= addedCells_.size())
         {
-            FatalErrorIn
-            (
-                "multiDirRefinement::addCells(const primitiveMesh&"
-                ", const Map<label>&"
-            )   << "Map of added cells contains master cell " << masterI
+            FatalErrorInFunction
+                << "Map of added cells contains master cell " << masterI
                 << " which is not a valid cell number" << endl
                 << "This means that the mesh is not consistent with the"
                 << " done refinement" << endl
@@ -298,11 +289,8 @@ void Foam::multiDirRefinement::refineHex8
 
             if (iter == hexCellSet.end())
             {
-                FatalErrorIn
-                (
-                    "multiDirRefinement::refineHex8"
-                    "(polyMesh&, const labelList&, const bool)"
-                )   << "Resulting mesh would not satisfy 2:1 ratio"
+                FatalErrorInFunction
+                    << "Resulting mesh would not satisfy 2:1 ratio"
                     << " when refining cell " << cellI << abort(FatalError);
             }
             else
@@ -317,11 +305,8 @@ void Foam::multiDirRefinement::refineHex8
         {
             if (iter() != 2)
             {
-                FatalErrorIn
-                (
-                    "multiDirRefinement::refineHex8"
-                    "(polyMesh&, const labelList&, const bool)"
-                )   << "Resulting mesh would not satisfy 2:1 ratio"
+                FatalErrorInFunction
+                    << "Resulting mesh would not satisfy 2:1 ratio"
                     << " when refining cell " << iter.key()
                     << abort(FatalError);
             }
diff --git a/src/dynamicMesh/meshCut/meshModifiers/refinementIterator/refinementIterator.C b/src/dynamicMesh/meshCut/meshModifiers/refinementIterator/refinementIterator.C
index 30e32a44afd..feec8ba08c2 100644
--- a/src/dynamicMesh/meshCut/meshModifiers/refinementIterator/refinementIterator.C
+++ b/src/dynamicMesh/meshCut/meshModifiers/refinementIterator/refinementIterator.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -214,7 +214,7 @@ Foam::Map<Foam::label> Foam::refinementIterator::setRefinement
         {
             if (!addedCells.insert(iter.key(), iter()))
             {
-                FatalErrorIn("refinementIterator")
+                FatalErrorInFunction
                     << "Master cell " << iter.key()
                     << " already has been refined" << endl
                     << "Added cell:" << iter() << abort(FatalError);
@@ -272,7 +272,7 @@ Foam::Map<Foam::label> Foam::refinementIterator::setRefinement
 
     if (nRefCells == oldRefCells)
     {
-        WarningIn("refinementIterator")
+        WarningInFunction
             << "stopped refining."
             << "Did not manage to refine a single cell" << endl
             << "Wanted :" << oldRefCells << endl;
diff --git a/src/dynamicMesh/meshCut/meshModifiers/undoableMeshCutter/undoableMeshCutter.C b/src/dynamicMesh/meshCut/meshModifiers/undoableMeshCutter/undoableMeshCutter.C
index 7782b9bb3ac..1bc371a44ff 100644
--- a/src/dynamicMesh/meshCut/meshModifiers/undoableMeshCutter/undoableMeshCutter.C
+++ b/src/dynamicMesh/meshCut/meshModifiers/undoableMeshCutter/undoableMeshCutter.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -115,11 +115,8 @@ void Foam::undoableMeshCutter::updateLabels
 
         if (!splitPtr)
         {
-            FatalErrorIn
-            (
-                "undoableMeshCutter::updateLabels"
-                "(const labelList&, Map<splitCell*>&)"
-            )   << "Problem: null pointer on liveSplitCells list"
+            FatalErrorInFunction
+                << "Problem: null pointer on liveSplitCells list"
                 << abort(FatalError);
         }
 
@@ -275,7 +272,7 @@ void Foam::undoableMeshCutter::setRefinement
 
                 if (liveSplitCells_.found(addedCellI))
                 {
-                    FatalErrorIn("undoableMeshCutter::setRefinement")
+                    FatalErrorInFunction
                         << "problem addedCell:" << addedCellI
                         << abort(FatalError);
                 }
@@ -304,7 +301,7 @@ void Foam::undoableMeshCutter::setRefinement
 
                 if (liveSplitCells_.found(addedCellI))
                 {
-                    FatalErrorIn("undoableMeshCutter::setRefinement")
+                    FatalErrorInFunction
                         << "problem addedCell:" << addedCellI
                         << abort(FatalError);
                 }
@@ -346,7 +343,7 @@ Foam::labelList Foam::undoableMeshCutter::getSplitFaces() const
 {
     if (!undoable_)
     {
-        FatalErrorIn("undoableMeshCutter::getSplitFaces()")
+        FatalErrorInFunction
             << "Only call if constructed with unrefinement capability"
             << abort(FatalError);
     }
@@ -359,7 +356,7 @@ Foam::labelList Foam::undoableMeshCutter::getSplitFaces() const
 
         if (!splitPtr->parent())
         {
-            FatalErrorIn("undoableMeshCutter::getSplitFaces()")
+            FatalErrorInFunction
                 << "Live split cell without parent" << endl
                 << "splitCell:" << splitPtr->cellLabel()
                 << abort(FatalError);
@@ -407,7 +404,7 @@ Foam::Map<Foam::label> Foam::undoableMeshCutter::getAddedCells() const
 
     if (!undoable_)
     {
-        FatalErrorIn("undoableMeshCutter::getAddedCells()")
+        FatalErrorInFunction
             << "Only call if constructed with unrefinement capability"
             << abort(FatalError);
     }
@@ -420,7 +417,7 @@ Foam::Map<Foam::label> Foam::undoableMeshCutter::getAddedCells() const
 
         if (!splitPtr->parent())
         {
-            FatalErrorIn("undoableMeshCutter::getAddedCells()")
+            FatalErrorInFunction
                 << "Live split cell without parent" << endl
                 << "splitCell:" << splitPtr->cellLabel()
                 << abort(FatalError);
@@ -455,7 +452,7 @@ Foam::labelList Foam::undoableMeshCutter::removeSplitFaces
 {
     if (!undoable_)
     {
-        FatalErrorIn("undoableMeshCutter::removeSplitFaces(const labelList&)")
+        FatalErrorInFunction
             << "Only call if constructed with unrefinement capability"
             << abort(FatalError);
     }
@@ -479,10 +476,8 @@ Foam::labelList Foam::undoableMeshCutter::removeSplitFaces
         Pout<< "cellRegion:" << cellRegion << endl;
         Pout<< "cellRegionMaster:" << cellRegionMaster << endl;
 
-        FatalErrorIn
-        (
-            "undoableMeshCutter::removeSplitFaces(const labelList&)"
-        )   << "Faces to remove:" << splitFaces << endl
+        FatalErrorInFunction
+            << "Faces to remove:" << splitFaces << endl
             << "to be removed:" << facesToRemove
             << abort(FatalError);
     }
@@ -496,10 +491,8 @@ Foam::labelList Foam::undoableMeshCutter::removeSplitFaces
 
         if (!mesh().isInternalFace(faceI))
         {
-            FatalErrorIn
-            (
-                "undoableMeshCutter::removeSplitFaces(const labelList&)"
-            )   << "Trying to remove face that is not internal"
+            FatalErrorInFunction
+                << "Trying to remove face that is not internal"
                 << abort(FatalError);
         }
 
@@ -542,28 +535,22 @@ Foam::labelList Foam::undoableMeshCutter::removeSplitFaces
             }
             if (!parentPtr)
             {
-                FatalErrorIn
-                (
-                    "undoableMeshCutter::removeSplitFaces(const labelList&)"
-                )   << "No parent for owner " << ownPtr->cellLabel()
+                FatalErrorInFunction
+                    << "No parent for owner " << ownPtr->cellLabel()
                     << abort(FatalError);
             }
 
             if (!nbrPtr->parent())
             {
-                FatalErrorIn
-                (
-                    "undoableMeshCutter::removeSplitFaces(const labelList&)"
-                )   << "No parent for neighbour " << nbrPtr->cellLabel()
+                FatalErrorInFunction
+                    << "No parent for neighbour " << nbrPtr->cellLabel()
                     << abort(FatalError);
             }
 
             if (parentPtr != nbrPtr->parent())
             {
-                FatalErrorIn
-                (
-                    "undoableMeshCutter::removeSplitFaces(const labelList&)"
-                )   << "Owner and neighbour liveSplitCell entries do not have"
+                FatalErrorInFunction
+                    << "Owner and neighbour liveSplitCell entries do not have"
                     << " same parent. faceI:" << faceI << "  owner:" << own
                     << "  ownparent:" << parentPtr->cellLabel()
                     << " neighbour:" << nbr
@@ -579,10 +566,8 @@ Foam::labelList Foam::undoableMeshCutter::removeSplitFaces
             )
             {
                 // Live owner and neighbour are refined themselves.
-                FatalErrorIn
-                (
-                    "undoableMeshCutter::removeSplitFaces(const labelList&)"
-                )   << "Owner and neighbour liveSplitCell entries are"
+                FatalErrorInFunction
+                    << "Owner and neighbour liveSplitCell entries are"
                     << " refined themselves or the parent is not refined"
                     << endl
                     << "owner unrefined:" << ownPtr->isUnrefined()
diff --git a/src/dynamicMesh/meshCut/refineCell/refineCell.C b/src/dynamicMesh/meshCut/refineCell/refineCell.C
index 9e100234d7a..5517d34a667 100644
--- a/src/dynamicMesh/meshCut/refineCell/refineCell.C
+++ b/src/dynamicMesh/meshCut/refineCell/refineCell.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,7 +44,7 @@ Foam::refineCell::refineCell(const label cellI, const vector& direction)
 
     if (magDir < SMALL)
     {
-        FatalErrorIn("refineCell(const label, const vector&)")
+        FatalErrorInFunction
             << "(almost)zero vector as direction for cell " << cellNo_
             << abort(FatalError);
     }
@@ -65,7 +65,7 @@ Foam::refineCell::refineCell(Istream& is)
 
     if (magDir < SMALL)
     {
-        FatalErrorIn("refineCell(Istream&)")
+        FatalErrorInFunction
             << "(almost)zero vector as direction for cell " << cellNo_
             << abort(FatalError);
     }
diff --git a/src/dynamicMesh/meshCut/splitCell/splitCell.C b/src/dynamicMesh/meshCut/splitCell/splitCell.C
index ef675814b90..c4e79700620 100644
--- a/src/dynamicMesh/meshCut/splitCell/splitCell.C
+++ b/src/dynamicMesh/meshCut/splitCell/splitCell.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -57,7 +57,7 @@ Foam::splitCell::~splitCell()
         }
         else
         {
-            FatalErrorIn("splitCell::~splitCell()") << "this not equal to"
+            FatalErrorInFunction
                 << " parent's master or slave pointer" << endl
                 << "Cell:" << cellLabel() << abort(FatalError);
         }
@@ -73,7 +73,7 @@ bool Foam::splitCell::isMaster() const
 
     if (!myParent)
     {
-        FatalErrorIn("splitCell::isMaster()") << "parent not set"
+        FatalErrorInFunction
             << "Cell:" << cellLabel() << abort(FatalError);
 
         return false;
@@ -88,7 +88,7 @@ bool Foam::splitCell::isMaster() const
     }
     else
     {
-        FatalErrorIn("splitCell::isMaster()") << "this not equal to"
+        FatalErrorInFunction
             << " parent's master or slave pointer" << endl
             << "Cell:" << cellLabel() << abort(FatalError);
 
@@ -109,7 +109,7 @@ Foam::splitCell* Foam::splitCell::getOther() const
 
     if (!myParent)
     {
-        FatalErrorIn("splitCell::getOther()") << "parent not set"
+        FatalErrorInFunction
             << "Cell:" << cellLabel() << abort(FatalError);
 
         return NULL;
@@ -124,7 +124,7 @@ Foam::splitCell* Foam::splitCell::getOther() const
     }
     else
     {
-        FatalErrorIn("splitCell::getOther()") << "this not equal to"
+        FatalErrorInFunction
             << " parent's master or slave pointer" << endl
             << "Cell:" << cellLabel() << abort(FatalError);
 
diff --git a/src/dynamicMesh/meshCut/wallLayerCells/wallNormalInfo/wallNormalInfoI.H b/src/dynamicMesh/meshCut/wallLayerCells/wallNormalInfo/wallNormalInfoI.H
index e24734607b8..bbea7eee835 100644
--- a/src/dynamicMesh/meshCut/wallLayerCells/wallNormalInfo/wallNormalInfoI.H
+++ b/src/dynamicMesh/meshCut/wallLayerCells/wallNormalInfo/wallNormalInfoI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -37,10 +37,8 @@ inline bool Foam::wallNormalInfo::update
 {
     if (!w2.valid(td))
     {
-        FatalErrorIn
-        (
-            "wallNormalInfo::update(const wallNormalInfo&)"
-        ) << "Problem: w2 is not valid" << abort(FatalError);
+        FatalErrorInFunction
+          << "Problem: w2 is not valid" << abort(FatalError);
 
         return false;
     }
diff --git a/src/dynamicMesh/motionSmoother/motionSmootherAlgo.C b/src/dynamicMesh/motionSmoother/motionSmootherAlgo.C
index d546ff86bb7..3e68ebb6c42 100644
--- a/src/dynamicMesh/motionSmoother/motionSmootherAlgo.C
+++ b/src/dynamicMesh/motionSmoother/motionSmootherAlgo.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -63,14 +63,8 @@ void Foam::motionSmootherAlgo::testSyncPositions
     {
         if (mag(syncedFld[i] - fld[i]) > maxMag)
         {
-            FatalErrorIn
-            (
-                "motionSmootherAlgo::testSyncPositions"
-                "("
-                    "const pointField&, "
-                    "const scalar"
-                ")"
-            )   << "On point " << i << " point:" << fld[i]
+            FatalErrorInFunction
+                << "On point " << i << " point:" << fld[i]
                 << " synchronised point:" << syncedFld[i]
                 << abort(FatalError);
         }
@@ -88,11 +82,8 @@ void Foam::motionSmootherAlgo::checkFld(const pointScalarField& fld)
         {}
         else
         {
-            FatalErrorIn
-            (
-                "motionSmootherAlgo::checkFld"
-                "(const pointScalarField&)"
-            )   << "Problem : point:" << pointI << " value:" << val
+            FatalErrorInFunction
+                << "Problem : point:" << pointI << " value:" << val
                 << abort(FatalError);
         }
     }
@@ -657,7 +648,7 @@ void Foam::motionSmootherAlgo::modifyMotionPoints(pointField& newPoints) const
 
         if (mesh_.globalData().parallel())
         {
-            WarningIn("motionSmootherAlgo::modifyMotionPoints(pointField&)")
+            WarningInFunction
                 << "2D mesh-motion probably not correct in parallel" << endl;
         }
 
@@ -842,18 +833,7 @@ bool Foam::motionSmootherAlgo::scaleMesh
 {
     if (!smoothMesh && adaptPatchIDs_.empty())
     {
-        FatalErrorIn
-        (
-            "motionSmootherAlgo::scaleMesh"
-            "("
-                "labelList&, "
-                "const List<labelPair>&, "
-                "const dictionary&, "
-                "const dictionary&, "
-                "const bool, "
-                "const label"
-            ")"
-        )
+        FatalErrorInFunction
             << "You specified both no movement on the internal mesh points"
             << " (smoothMesh = false)" << nl
             << "and no movement on the patch (adaptPatchIDs is empty)" << nl
@@ -1064,10 +1044,8 @@ void Foam::motionSmootherAlgo::updateMesh()
             )
         )
         {
-            FatalErrorIn
-            (
-                "motionSmootherAlgo::updateMesh"
-            )   << "Patch " << patches[patchI].name()
+            FatalErrorInFunction
+                << "Patch " << patches[patchI].name()
                 << " has wrong boundary condition "
                 << displacement_.boundaryField()[patchI].type()
                 << " on field " << displacement_.name() << nl
diff --git a/src/dynamicMesh/motionSmoother/motionSmootherAlgoTemplates.C b/src/dynamicMesh/motionSmoother/motionSmootherAlgoTemplates.C
index 17730d131ef..abd1d1f04b1 100644
--- a/src/dynamicMesh/motionSmoother/motionSmootherAlgoTemplates.C
+++ b/src/dynamicMesh/motionSmoother/motionSmootherAlgoTemplates.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -118,11 +118,8 @@ void Foam::motionSmootherAlgo::checkConstraints
 
                 if (savedVal != pf[ppp])
                 {
-                    FatalErrorIn
-                    (
-                        "motionSmootherAlgo::checkConstraints"
-                        "(GeometricField<Type, pointPatchField, pointMesh>&)"
-                    )   << "Patch fields are not consistent on mesh point "
+                    FatalErrorInFunction
+                        << "Patch fields are not consistent on mesh point "
                         << ppp << " coordinate " << mesh.points()[ppp]
                         << " at patch " << bm[patchi].name() << '.'
                         << endl
@@ -290,12 +287,8 @@ void Foam::motionSmootherAlgo::testSyncField
     {
         if (mag(syncedFld[i] - fld[i]) > maxMag)
         {
-            FatalErrorIn
-            (
-                "motionSmootherAlgo::testSyncField"
-                "(const Field<Type>&, const CombineOp&"
-                ", const Type&, const bool)"
-            )   << "On element " << i << " value:" << fld[i]
+            FatalErrorInFunction
+                << "On element " << i << " value:" << fld[i]
                 << " synchronised value:" << syncedFld[i]
                 << abort(FatalError);
         }
diff --git a/src/dynamicMesh/motionSmoother/polyMeshGeometry/polyMeshGeometry.C b/src/dynamicMesh/motionSmoother/polyMeshGeometry/polyMeshGeometry.C
index 57725dc57c9..017fc1ec132 100644
--- a/src/dynamicMesh/motionSmoother/polyMeshGeometry/polyMeshGeometry.C
+++ b/src/dynamicMesh/motionSmoother/polyMeshGeometry/polyMeshGeometry.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -261,12 +261,8 @@ Foam::scalar Foam::polyMeshGeometry::checkNonOrtho
             // Non-orthogonality greater than 90 deg
             if (report)
             {
-                WarningIn
-                (
-                    "polyMeshGeometry::checkFaceDotProduct"
-                    "(const bool, const scalar, const labelList&"
-                    ", labelHashSet*)"
-                )   << "Severe non-orthogonality detected for face "
+                WarningInFunction
+                    << "Severe non-orthogonality detected for face "
                     << faceI
                     << " between cells " << mesh.faceOwner()[faceI]
                     << " and " << nei
@@ -541,11 +537,8 @@ bool Foam::polyMeshGeometry::checkFaceDotProduct
     {
         if (report)
         {
-            SeriousErrorIn
-            (
-                "polyMeshGeometry::checkFaceDotProduct"
-                "(const bool, const scalar, const labelList&, labelHashSet*)"
-            )   << "Error in non-orthogonality detected" << endl;
+            SeriousErrorInFunction
+                << "Error in non-orthogonality detected" << endl;
         }
 
         return true;
@@ -724,12 +717,8 @@ bool Foam::polyMeshGeometry::checkFacePyramids
     {
         if (report)
         {
-            SeriousErrorIn
-            (
-                "polyMeshGeometry::checkFacePyramids("
-                "const bool, const scalar, const pointField&"
-                ", const labelList&, labelHashSet*)"
-            )   << "Error in face pyramids: faces pointing the wrong way."
+            SeriousErrorInFunction
+                << "Error in face pyramids: faces pointing the wrong way."
                 << endl;
         }
 
@@ -957,12 +946,8 @@ bool Foam::polyMeshGeometry::checkFaceTets
     {
         if (report)
         {
-            SeriousErrorIn
-            (
-                "polyMeshGeometry::checkFaceTets("
-                "const bool, const scalar, const pointField&, const pointField&"
-                ", const labelList&, labelHashSet*)"
-            )   << "Error in face decomposition: negative tets."
+            SeriousErrorInFunction
+                << "Error in face decomposition: negative tets."
                 << endl;
         }
 
@@ -1171,11 +1156,7 @@ bool Foam::polyMeshGeometry::checkFaceSkewness
     {
         if (report)
         {
-            WarningIn
-            (
-                "polyMeshGeometry::checkFaceSkewness"
-                "(const bool, const scalar, const labelList&, labelHashSet*)"
-            )   << "Large face skewness detected.  Max skewness = "
+            WarningInFunction
                 << 100*maxSkew
                 << " percent.\nThis may impair the quality of the result." << nl
                 << nWarnSkew << " highly skew faces detected."
@@ -1331,11 +1312,7 @@ bool Foam::polyMeshGeometry::checkFaceWeights
     {
         if (report)
         {
-            WarningIn
-            (
-                "polyMeshGeometry::checkFaceWeights"
-                "(const bool, const scalar, const labelList&, labelHashSet*)"
-            )   << "Small interpolation weight detected.  Min weight = "
+            WarningInFunction
                 << minWeight << '.' << nl
                 << nWarnWeight << " faces with small weights detected."
                 << endl;
@@ -1473,11 +1450,7 @@ bool Foam::polyMeshGeometry::checkVolRatio
     {
         if (report)
         {
-            WarningIn
-            (
-                "polyMeshGeometry::checkVolRatio"
-                "(const bool, const scalar, const labelList&, labelHashSet*)"
-            )   << "Small volume ratio detected.  Min ratio = "
+            WarningInFunction
                 << minRatio << '.' << nl
                 << nWarnRatio << " faces with small ratios detected."
                 << endl;
@@ -1515,12 +1488,8 @@ bool Foam::polyMeshGeometry::checkFaceAngles
 {
     if (maxDeg < -SMALL || maxDeg > 180+SMALL)
     {
-        FatalErrorIn
-        (
-            "polyMeshGeometry::checkFaceAngles"
-            "(const bool, const scalar, const pointField&, const labelList&"
-            ", labelHashSet*)"
-        )   << "maxDeg should be [0..180] but is now " << maxDeg
+        FatalErrorInFunction
+            << "maxDeg should be [0..180] but is now " << maxDeg
             << abort(FatalError);
     }
 
@@ -1622,12 +1591,8 @@ bool Foam::polyMeshGeometry::checkFaceAngles
     {
         if (report)
         {
-            WarningIn
-            (
-                "polyMeshGeometry::checkFaceAngles"
-                "(const bool, const scalar,  const pointField&"
-                ", const labelList&, labelHashSet*)"
-            )   << nConcave  << " face points with severe concave angle (> "
+            WarningInFunction
+                << nConcave  << " face points with severe concave angle (> "
                 << maxDeg << " deg) found.\n"
                 << endl;
         }
@@ -1658,13 +1623,8 @@ bool Foam::polyMeshGeometry::checkFaceTwist
 {
     if (minTwist < -1-SMALL || minTwist > 1+SMALL)
     {
-        FatalErrorIn
-        (
-            "polyMeshGeometry::checkFaceTwist"
-            "(const bool, const scalar, const polyMesh&, const pointField&"
-            ", const pointField&, const pointField&, const pointField&"
-            ", const labelList&, labelHashSet*)"
-        )   << "minTwist should be [-1..1] but is now " << minTwist
+        FatalErrorInFunction
+            << "minTwist should be [-1..1] but is now " << minTwist
             << abort(FatalError);
     }
 
@@ -1816,13 +1776,8 @@ bool Foam::polyMeshGeometry::checkFaceTwist
     {
         if (report)
         {
-            WarningIn
-            (
-                "polyMeshGeometry::checkFaceTwist"
-                "(const bool, const scalar, const polyMesh&, const pointField&"
-                ", const pointField&, const pointField&, const pointField&"
-                ", const labelList&, labelHashSet*)"
-            )   << nWarped  << " faces with severe warpage "
+            WarningInFunction
+                << nWarped  << " faces with severe warpage "
                 << "(cosine of the angle between triangle normal and "
                 << "face normal < " << minTwist << ") found.\n"
                 << endl;
@@ -1852,12 +1807,8 @@ bool Foam::polyMeshGeometry::checkTriangleTwist
 {
     if (minTwist < -1-SMALL || minTwist > 1+SMALL)
     {
-        FatalErrorIn
-        (
-            "polyMeshGeometry::checkTriangleTwist"
-            "(const bool, const scalar, const polyMesh&, const pointField&"
-            ", const labelList&, labelHashSet*)"
-        )   << "minTwist should be [-1..1] but is now " << minTwist
+        FatalErrorInFunction
+            << "minTwist should be [-1..1] but is now " << minTwist
             << abort(FatalError);
     }
 
@@ -1976,12 +1927,8 @@ bool Foam::polyMeshGeometry::checkTriangleTwist
     {
         if (report)
         {
-            WarningIn
-            (
-                "polyMeshGeometry::checkTriangleTwist"
-                "(const bool, const scalar, const polyMesh&"
-                ", const pointField&, const labelList&, labelHashSet*)"
-            )   << nWarped  << " faces with severe warpage "
+            WarningInFunction
+                << nWarped  << " faces with severe warpage "
                 << "(cosine of the angle between consecutive triangle normals"
                 << " < " << minTwist << ") found.\n"
                 << endl;
@@ -2010,12 +1957,8 @@ bool Foam::polyMeshGeometry::checkFaceFlatness
 {
     if (minFlatness < -SMALL || minFlatness > 1+SMALL)
     {
-        FatalErrorIn
-        (
-            "polyMeshGeometry::checkFaceFlatness"
-            "(const bool, const scalar, const polyMesh&, const pointField&"
-            ", const pointField&, const labelList&, labelHashSet*)"
-        )   << "minFlatness should be [0..1] but is now " << minFlatness
+        FatalErrorInFunction
+            << "minFlatness should be [0..1] but is now " << minFlatness
             << abort(FatalError);
     }
 
@@ -2081,13 +2024,8 @@ bool Foam::polyMeshGeometry::checkFaceFlatness
     {
         if (report)
         {
-            WarningIn
-            (
-                "polyMeshGeometry::checkFaceFlatness"
-                "(const bool, const scalar, const polyMesh&"
-                ", const pointField&, const pointField&, const labelList&"
-                ", labelHashSet*)"
-            )   << nWarped  << " non-flat faces "
+            WarningInFunction
+                << nWarped  << " non-flat faces "
                 << "(area of invidual triangles"
                 << " compared to overall area"
                 << " < " << minFlatness << ") found.\n"
@@ -2149,12 +2087,8 @@ bool Foam::polyMeshGeometry::checkFaceArea
     {
         if (report)
         {
-            WarningIn
-            (
-                "polyMeshGeometry::checkFaceArea"
-                "(const bool, const scalar, const polyMesh&"
-                ", const pointField&, const labelList&, labelHashSet*)"
-            )   << nZeroArea  << " faces with area < " << minArea
+            WarningInFunction
+                << nZeroArea  << " faces with area < " << minArea
                 << " found.\n"
                 << endl;
         }
@@ -2254,13 +2188,8 @@ bool Foam::polyMeshGeometry::checkCellDeterminant
     {
         if (report)
         {
-            WarningIn
-            (
-                "polyMeshGeometry::checkCellDeterminant"
-                "(const bool, const scalar, const polyMesh&"
-                ", const pointField&, const labelList&, const labelList&"
-                ", labelHashSet*)"
-            )   << nWarnDet << " cells with determinant < " << warnDet
+            WarningInFunction
+                << nWarnDet << " cells with determinant < " << warnDet
                 << " found.\n"
                 << endl;
         }
diff --git a/src/dynamicMesh/motionSolver/componentDisplacement/componentDisplacementMotionSolver.C b/src/dynamicMesh/motionSolver/componentDisplacement/componentDisplacementMotionSolver.C
index fe902f95a06..19742e25b9e 100644
--- a/src/dynamicMesh/motionSolver/componentDisplacement/componentDisplacementMotionSolver.C
+++ b/src/dynamicMesh/motionSolver/componentDisplacement/componentDisplacementMotionSolver.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -55,12 +55,8 @@ Foam::direction Foam::componentDisplacementMotionSolver::cmpt
     }
     else
     {
-        FatalErrorIn
-        (
-            "componentDisplacementMotionSolver::"
-            "componentDisplacementMotionSolver"
-            "(const polyMesh& mesh, const IOdictionary&)"
-        )   << "Given component name " << cmptName << " should be x, y or z"
+        FatalErrorInFunction
+            << "Given component name " << cmptName << " should be x, y or z"
             << exit(FatalError);
 
         return 0;
@@ -111,15 +107,8 @@ Foam::componentDisplacementMotionSolver::componentDisplacementMotionSolver
 {
     if (points0_.size() != mesh.nPoints())
     {
-        FatalErrorIn
-        (
-            "componentDisplacementMotionSolver::"
-            "componentDisplacementMotionSolver\n"
-            "(\n"
-            "    const polyMesh&,\n"
-            "    const IOdictionary&\n"
-            ")"
-        )   << "Number of points in mesh " << mesh.nPoints()
+        FatalErrorInFunction
+            << "Number of points in mesh " << mesh.nPoints()
             << " differs from number of points " << points0_.size()
             << " read from file "
             <<
@@ -199,11 +188,8 @@ void Foam::componentDisplacementMotionSolver::updateMesh(const mapPolyMesh& mpm)
         }
         else
         {
-            FatalErrorIn
-            (
-                "displacementLaplacianFvMotionSolver::updateMesh"
-                "(const mapPolyMesh& mpm)"
-            )   << "Cannot work out coordinates of introduced vertices."
+            FatalErrorInFunction
+                << "Cannot work out coordinates of introduced vertices."
                 << " New vertex " << pointI << " at coordinate "
                 << points[pointI] << exit(FatalError);
         }
diff --git a/src/dynamicMesh/motionSolver/componentVelocity/componentVelocityMotionSolver.C b/src/dynamicMesh/motionSolver/componentVelocity/componentVelocityMotionSolver.C
index 57781e3bb1e..7d38bcfa541 100644
--- a/src/dynamicMesh/motionSolver/componentVelocity/componentVelocityMotionSolver.C
+++ b/src/dynamicMesh/motionSolver/componentVelocity/componentVelocityMotionSolver.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -55,12 +55,8 @@ Foam::direction Foam::componentVelocityMotionSolver::cmpt
     }
     else
     {
-        FatalErrorIn
-        (
-            "componentVelocityMotionSolver::"
-            "componentVelocityMotionSolver"
-            "(const polyMesh& mesh, const IOdictionary&)"
-        )   << "Given component name " << cmptName << " should be x, y or z"
+        FatalErrorInFunction
+            << "Given component name " << cmptName << " should be x, y or z"
             << exit(FatalError);
 
         return 0;
diff --git a/src/dynamicMesh/motionSolver/displacement/displacementMotionSolver.C b/src/dynamicMesh/motionSolver/displacement/displacementMotionSolver.C
index 6d759d96477..4de8cf656a1 100644
--- a/src/dynamicMesh/motionSolver/displacement/displacementMotionSolver.C
+++ b/src/dynamicMesh/motionSolver/displacement/displacementMotionSolver.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -130,16 +130,8 @@ Foam::displacementMotionSolver::displacementMotionSolver
 {
     if (points0_.size() != mesh.nPoints())
     {
-        FatalErrorIn
-        (
-            "displacementMotionSolver::"
-            "displacementMotionSolver\n"
-            "(\n"
-            "    const polyMesh&,\n"
-            "    const IOdictionary&,\n"
-            "    const word&\n"
-            ")"
-        )   << "Number of points in mesh " << mesh.nPoints()
+        FatalErrorInFunction
+            << "Number of points in mesh " << mesh.nPoints()
             << " differs from number of points " << points0_.size()
             << " read from file "
             <<
@@ -222,11 +214,8 @@ void Foam::displacementMotionSolver::updateMesh(const mapPolyMesh& mpm)
         }
         else
         {
-            FatalErrorIn
-            (
-                "displacementMotionSolver::updateMesh"
-                "(const mapPolyMesh&)"
-            )   << "Cannot determine co-ordinates of introduced vertices."
+            FatalErrorInFunction
+                << "Cannot determine co-ordinates of introduced vertices."
                 << " New vertex " << pointI << " at co-ordinate "
                 << points[pointI] << exit(FatalError);
         }
diff --git a/src/dynamicMesh/motionSolver/motionSolver/motionSolver.C b/src/dynamicMesh/motionSolver/motionSolver/motionSolver.C
index 5613ac6b410..efcaab60e1e 100644
--- a/src/dynamicMesh/motionSolver/motionSolver/motionSolver.C
+++ b/src/dynamicMesh/motionSolver/motionSolver/motionSolver.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -110,10 +110,8 @@ Foam::autoPtr<Foam::motionSolver> Foam::motionSolver::New
 
     if (!dictionaryConstructorTablePtr_)
     {
-        FatalErrorIn
-        (
-            "motionSolver::New(const polyMesh& mesh)"
-        )   << "solver table is empty"
+        FatalErrorInFunction
+            << "solver table is empty"
             << exit(FatalError);
     }
 
@@ -122,10 +120,8 @@ Foam::autoPtr<Foam::motionSolver> Foam::motionSolver::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "motionSolver::New(const polyMesh&)"
-        )   << "Unknown solver type "
+        FatalErrorInFunction
+            << "Unknown solver type "
             << solverTypeName << nl << nl
             << "Valid solver types are:" << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/dynamicMesh/perfectInterface/perfectInterface.C b/src/dynamicMesh/perfectInterface/perfectInterface.C
index 56fc14cdc72..3cc0179b338 100644
--- a/src/dynamicMesh/perfectInterface/perfectInterface.C
+++ b/src/dynamicMesh/perfectInterface/perfectInterface.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -214,10 +214,8 @@ void Foam::perfectInterface::setRefinement
 
         if (!matchOk)
         {
-            FatalErrorIn
-            (
-                "perfectInterface::setRefinement(polyTopoChange& ref) const"
-            )   << "Points on patch sides do not match to within tolerance "
+            FatalErrorInFunction
+                << "Points on patch sides do not match to within tolerance "
                 << typDim << exit(FatalError);
         }
 
@@ -244,10 +242,8 @@ void Foam::perfectInterface::setRefinement
 
     if (!matchOk)
     {
-        FatalErrorIn
-        (
-            "perfectInterface::setRefinement(polyTopoChange& ref) const"
-        )   << "Face centres of patch sides do not match to within tolerance "
+        FatalErrorInFunction
+            << "Face centres of patch sides do not match to within tolerance "
             << typDim << exit(FatalError);
     }
 
@@ -288,10 +284,8 @@ void Foam::perfectInterface::setRefinement
 
         if (affectedFaces.erase(faceI))
         {
-            WarningIn
-            (
-                "perfectInterface::setRefinement(polyTopoChange&) const"
-            )   << "Found face " << faceI << " vertices "
+            WarningInFunction
+                << "Found face " << faceI << " vertices "
                 << mesh.faces()[faceI] << " whose points are"
                 << " used both by master patch and slave patch" << endl;
         }
diff --git a/src/dynamicMesh/polyMeshAdder/faceCoupleInfo.C b/src/dynamicMesh/polyMeshAdder/faceCoupleInfo.C
index 27bea7ae471..02efdeabf00 100644
--- a/src/dynamicMesh/polyMeshAdder/faceCoupleInfo.C
+++ b/src/dynamicMesh/polyMeshAdder/faceCoupleInfo.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -183,7 +183,7 @@ void Foam::faceCoupleInfo::writePointsFaces() const
             }
             else
             {
-                WarningIn("writePointsFaces()")
+                WarningInFunction
                     << "No master face for cut face " << cutFaceI
                     << " at position " << c[cutFaceI].centre(c.points())
                     << endl;
@@ -453,7 +453,7 @@ Foam::label Foam::faceCoupleInfo::mostAlignedCutEdge
 
             if (magEVec < VSMALL)
             {
-                WarningIn("faceCoupleInfo::mostAlignedEdge")
+                WarningInFunction
                     << "Crossing zero sized edge " << edgeI
                     << " coords:" << localPoints[otherPointI]
                     << localPoints[pointI]
@@ -532,11 +532,8 @@ void Foam::faceCoupleInfo::setCutEdgeToPoints(const labelList& cutToMasterEdges)
 
         if (stringedEdges.empty())
         {
-            FatalErrorIn
-            (
-                "faceCoupleInfo::setCutEdgeToPoints"
-                "(const labelList&)"
-            )   << "Did not match all of master edges to cutFace edges"
+            FatalErrorInFunction
+                << "Did not match all of master edges to cutFace edges"
                 << nl
                 << "First unmatched edge:" << masterEdgeI << " endPoints:"
                 << masterPatch().localPoints()[masterE[0]]
@@ -611,11 +608,8 @@ void Foam::faceCoupleInfo::setCutEdgeToPoints(const labelList& cutToMasterEdges)
                 // Check
                 if (oldStart == startVertI)
                 {
-                    FatalErrorIn
-                    (
-                        "faceCoupleInfo::setCutEdgeToPoints"
-                        "(const labelList&)"
-                    )   << " unsplitEdge:" << unsplitEdge
+                    FatalErrorInFunction
+                        << " unsplitEdge:" << unsplitEdge
                         << " does not correspond to split edges "
                         << UIndirectList<edge>(cutEdges, stringedEdges)()
                         << abort(FatalError);
@@ -652,12 +646,8 @@ Foam::label Foam::faceCoupleInfo::matchFaces
 {
     if (f0.size() != f1.size())
     {
-        FatalErrorIn
-        (
-            "faceCoupleInfo::matchFaces"
-            "(const scalar, const face&, const pointField&"
-            ", const face&, const pointField&)"
-        )   << "Different sizes for supposedly matching faces." << nl
+        FatalErrorInFunction
+            << "Different sizes for supposedly matching faces." << nl
             << "f0:" << f0 << " coords:" << UIndirectList<point>(points0, f0)()
             << nl
             << "f1:" << f1 << " coords:" << UIndirectList<point>(points1, f1)()
@@ -708,12 +698,8 @@ Foam::label Foam::faceCoupleInfo::matchFaces
 
     if (matchFp == -1)
     {
-        FatalErrorIn
-        (
-            "faceCoupleInfo::matchFaces"
-            "(const scalar, const face&, const pointField&"
-            ", const face&, const pointField&)"
-        )   << "No unique match between two faces" << nl
+        FatalErrorInFunction
+            << "No unique match between two faces" << nl
             << "Face " << f0 << " coords "
             << UIndirectList<point>(points0, f0)() << nl
             << "Face " << f1 << " coords "
@@ -783,7 +769,7 @@ bool Foam::faceCoupleInfo::matchPointsThroughFaces
             //const point& patchPt = patchPoints[patchPointI];
             //if (mag(cutPt - patchPt) > SMALL)
             //{
-            //    FatalErrorIn("matchPointsThroughFaces")
+            //    FatalErrorInFunction
             //    << "cutP:" << cutPt
             //    << " patchP:" << patchPt
             //    << abort(FatalError);
@@ -1159,11 +1145,8 @@ Foam::label Foam::faceCoupleInfo::growCutFaces
 
                                 const face& nbrF = masterPatch()[masterFaceI];
 
-                                FatalErrorIn
-                                (
-                                    "faceCoupleInfo::growCutFaces"
-                                    "(const labelList&, Map<labelList>&)"
-                                )   << "Cut face "
+                                FatalErrorInFunction
+                                    << "Cut face "
                                     << cutFaces()[faceI].points(cutPoints)
                                     << " has master "
                                     << myMaster
@@ -1240,10 +1223,7 @@ void Foam::faceCoupleInfo::checkMatch(const labelList& cutToMasterEdges) const
 
                         const face& nbrF = masterLocalFaces[masterFaceI];
 
-                        FatalErrorIn
-                        (
-                            "faceCoupleInfo::checkMatch(const labelList&) const"
-                        )
+                        FatalErrorInFunction
                             << "Internal CutEdge " << e
                             << " coord:"
                             << cutLocalPoints[e[0]]
@@ -1535,11 +1515,8 @@ void Foam::faceCoupleInfo::perfectPointMatch
 
     if (!matchedAllFaces)
     {
-        FatalErrorIn
-        (
-            "faceCoupleInfo::perfectPointMatch"
-            "(const scalar, const bool)"
-        )   << "Did not match all of the master faces to the slave faces"
+        FatalErrorInFunction
+            << "Did not match all of the master faces to the slave faces"
             << endl
             << "This usually means that the slave patch and master patch"
             << " do not align to within " << absTol << " metre."
@@ -1685,11 +1662,8 @@ void Foam::faceCoupleInfo::subDivisionMatch
 
     if (!matchedAllPoints)
     {
-        FatalErrorIn
-        (
-            "faceCoupleInfo::subDivisionMatch"
-            "(const polyMesh&, const bool, const scalar)"
-        )   << "Did not match all of the master points to the slave points"
+        FatalErrorInFunction
+            << "Did not match all of the master points to the slave points"
             << endl
             << "This usually means that the slave patch is not a"
             << " subdivision of the master patch"
@@ -1775,11 +1749,8 @@ void Foam::faceCoupleInfo::subDivisionMatch
                     false
                 );
 
-                FatalErrorIn
-                (
-                    "faceCoupleInfo::subDivisionMatch"
-                    "(const polyMesh&, const bool, const scalar)"
-                )   << "Problem in finding cut edges corresponding to"
+                FatalErrorInFunction
+                    << "Problem in finding cut edges corresponding to"
                     << " master edge " << masterEdge
                     << " points:" << masterPoints[masterEdge[0]]
                     << ' ' << masterPoints[masterEdge[1]]
@@ -1884,11 +1855,8 @@ void Foam::faceCoupleInfo::subDivisionMatch
         {
             const face& cutF = cutFaces()[cutFaceI];
 
-            FatalErrorIn
-            (
-                "faceCoupleInfo::subDivisionMatch"
-                "(const polyMesh&, const bool, const scalar)"
-            )   << "Did not match all of cutFaces to a master face" << nl
+            FatalErrorInFunction
+                << "Did not match all of cutFaces to a master face" << nl
                 << "First unmatched cut face:" << cutFaceI << " with points:"
                 << UIndirectList<point>(cutFaces().points(), cutF)()
                 << nl
@@ -2042,11 +2010,8 @@ Foam::faceCoupleInfo::faceCoupleInfo
 {
     if (perfectMatch && (masterAddressing.size() != slaveAddressing.size()))
     {
-        FatalErrorIn
-        (
-            "faceCoupleInfo::faceCoupleInfo(const primitiveMesh&"
-            ", const primitiveMesh&, const scalar, const bool"
-        )   << "Perfect match specified but number of master and slave faces"
+        FatalErrorInFunction
+            << "Perfect match specified but number of master and slave faces"
             << " differ." << endl
             << "master:" << masterAddressing.size()
             << "  slave:" << slaveAddressing.size()
@@ -2059,11 +2024,8 @@ Foam::faceCoupleInfo::faceCoupleInfo
      && min(masterAddressing) < masterMesh.nInternalFaces()
     )
     {
-        FatalErrorIn
-        (
-            "faceCoupleInfo::faceCoupleInfo(const primitiveMesh&"
-            ", const primitiveMesh&, const scalar, const bool"
-        )   << "Supplied internal face on master mesh to couple." << nl
+        FatalErrorInFunction
+            << "Supplied internal face on master mesh to couple." << nl
             << "Faces to be coupled have to be boundary faces."
             << abort(FatalError);
     }
@@ -2073,11 +2035,8 @@ Foam::faceCoupleInfo::faceCoupleInfo
      && min(slaveAddressing) < slaveMesh.nInternalFaces()
     )
     {
-        FatalErrorIn
-        (
-            "faceCoupleInfo::faceCoupleInfo(const primitiveMesh&"
-            ", const primitiveMesh&, const scalar, const bool"
-        )   << "Supplied internal face on slave mesh to couple." << nl
+        FatalErrorInFunction
+            << "Supplied internal face on slave mesh to couple." << nl
             << "Faces to be coupled have to be boundary faces."
             << abort(FatalError);
     }
diff --git a/src/dynamicMesh/polyMeshAdder/polyMeshAdder.C b/src/dynamicMesh/polyMeshAdder/polyMeshAdder.C
index c5d24780d3a..d018a3baa51 100644
--- a/src/dynamicMesh/polyMeshAdder/polyMeshAdder.C
+++ b/src/dynamicMesh/polyMeshAdder/polyMeshAdder.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -381,12 +381,8 @@ Foam::labelList Foam::polyMeshAdder::getFaceOrder
     {
         if (oldToNew[faceI] == -1)
         {
-            FatalErrorIn
-            (
-                "polyMeshAdder::getFaceOrder"
-                "(const cellList&, const label, const labelList&"
-                ", const labelList&) const"
-            )   << "Did not determine new position"
+            FatalErrorInFunction
+                << "Did not determine new position"
                 << " for face " << faceI
                 << abort(FatalError);
         }
@@ -2041,7 +2037,7 @@ Foam::Map<Foam::label> Foam::polyMeshAdder::findSharedPoints
             // Check just to make sure.
             if (findIndex(connectedPointLabels, pointI) != -1)
             {
-                FatalErrorIn("polyMeshAdder::findSharedPoints(..)")
+                FatalErrorInFunction
                     << "Duplicate point in sharedPoint addressing." << endl
                     << "When trying to add point " << pointI << " on shared "
                     << sharedI  << " with connected points "
diff --git a/src/dynamicMesh/polyTopoChange/polyMeshModifier/polyMeshModifierNew.C b/src/dynamicMesh/polyTopoChange/polyMeshModifier/polyMeshModifierNew.C
index 6583dc408d0..23f90fefca8 100644
--- a/src/dynamicMesh/polyTopoChange/polyMeshModifier/polyMeshModifierNew.C
+++ b/src/dynamicMesh/polyTopoChange/polyMeshModifier/polyMeshModifierNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -51,10 +51,8 @@ Foam::autoPtr<Foam::polyMeshModifier> Foam::polyMeshModifier::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "polyMeshModifier::New(const word&, const dictionary&, "
-            "const label, const polyMesh&)",
             dict
         )   << "Unknown polyMeshModifier type "
             << modifierType << nl << nl
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/addObject/polyAddFace.H b/src/dynamicMesh/polyTopoChange/polyTopoChange/addObject/polyAddFace.H
index 5bbf6698cff..a6f3bc2e895 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/addObject/polyAddFace.H
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/addObject/polyAddFace.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -140,22 +140,7 @@ public:
         {
             if (face_.size() < 3)
             {
-                FatalErrorIn
-                (
-                    "polyAddFace\n"
-                    "(\n"
-                    "    const face& f,\n"
-                    "    const label owner,"
-                    "    const label neighbour,\n"
-                    "    const label masterPointID,\n"
-                    "    const label masterEdgeID,\n"
-                    "    const label masterFaceID,\n"
-                    "    const bool flipFaceFlux,\n"
-                    "    const label patchID,\n"
-                    "    const label zoneID,\n"
-                    "    const bool zoneFlip\n"
-                    ")"
-                )   << "Invalid face: less than 3 points.  "
+                FatalErrorInFunction
                     << "This is not allowed.\n"
                     << "Face: " << face_
                     << " masterPointID:" << masterPointID_
@@ -169,22 +154,7 @@ public:
 
             if (min(face_) < 0)
             {
-                FatalErrorIn
-                (
-                    "polyAddFace\n"
-                    "(\n"
-                    "    const face& f,\n"
-                    "    const label owner,"
-                    "    const label neighbour,\n"
-                    "    const label masterPointID,\n"
-                    "    const label masterEdgeID,\n"
-                    "    const label masterFaceID,\n"
-                    "    const bool flipFaceFlux,\n"
-                    "    const label patchID,\n"
-                    "    const label zoneID,\n"
-                    "    const bool zoneFlip\n"
-                    ")"
-                )   << "Face contains invalid vertex ID: " << face_ << ".  "
+                FatalErrorInFunction
                     << "This is not allowed.\n"
                     << "Face: " << face_
                     << " masterPointID:" << masterPointID_
@@ -198,22 +168,7 @@ public:
 
             if (min(owner_, neighbour_) >= 0 && owner_ == neighbour_)
             {
-                FatalErrorIn
-                (
-                    "polyAddFace\n"
-                    "(\n"
-                    "    const face& f,\n"
-                    "    const label owner,"
-                    "    const label neighbour,\n"
-                    "    const label masterPointID,\n"
-                    "    const label masterEdgeID,\n"
-                    "    const label masterFaceID,\n"
-                    "    const bool flipFaceFlux,\n"
-                    "    const label patchID,\n"
-                    "    const label zoneID,\n"
-                    "    const bool zoneFlip\n"
-                    ")"
-                )   << "Face owner and neighbour are identical.  "
+                FatalErrorInFunction
                     << "This is not allowed.\n"
                     << "Face: " << face_
                     << " masterPointID:" << masterPointID_
@@ -227,22 +182,7 @@ public:
 
             if (neighbour_ >= 0 && patchID >= 0)
             {
-                FatalErrorIn
-                (
-                    "polyAddFace\n"
-                    "(\n"
-                    "    const face& f,\n"
-                    "    const label owner,"
-                    "    const label neighbour,\n"
-                    "    const label masterPointID,\n"
-                    "    const label masterEdgeID,\n"
-                    "    const label masterFaceID,\n"
-                    "    const bool flipFaceFlux,\n"
-                    "    const label patchID,\n"
-                    "    const label zoneID,\n"
-                    "    const bool zoneFlip\n"
-                    ")"
-                )   << "Patch face has got a neighbour.  Patch ID: " << patchID
+                FatalErrorInFunction
                     << ".  This is not allowed.\n"
                     << "Face: " << face_
                     << " masterPointID:" << masterPointID_
@@ -256,21 +196,7 @@ public:
 
             if (owner_ < 0 && zoneID < 0)
             {
-                FatalErrorIn
-                (
-                    "polyAddFace\n"
-                    "(\n"
-                    "    const face& f,\n"
-                    "    const label owner,"
-                    "    const label neighbour,\n"
-                    "    const label masterPointID,\n"
-                    "    const label masterEdgeID,\n"
-                    "    const label masterFaceID,\n"
-                    "    const bool flipFaceFlux,\n"
-                    "    const label patchID,\n"
-                    "    const label zoneID"
-                    ")"
-                )   << "Face has no owner and is not in a zone.  "
+                FatalErrorInFunction
                     << "This is not allowed.\n"
                     << "Face: " << face_
                     << "Face: " << face_
@@ -285,22 +211,7 @@ public:
 
             if (zoneID_ == -1 && zoneFlip)
             {
-                FatalErrorIn
-                (
-                    "polyAddFace\n"
-                    "(\n"
-                    "    const face& f,\n"
-                    "    const label owner,"
-                    "    const label neighbour,\n"
-                    "    const label masterPointID,\n"
-                    "    const label masterEdgeID,\n"
-                    "    const label masterFaceID,\n"
-                    "    const bool flipFaceFlux,\n"
-                    "    const label patchID,\n"
-                    "    const label zoneID,\n"
-                    "    const bool zoneFlip\n"
-                    ")"
-                )   << "Specified zone flip for a face that does not  "
+                FatalErrorInFunction
                     << "belong to zone.  This is not allowed.\n"
                     << "Face: " << face_
                     << " masterPointID:" << masterPointID_
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/addObject/polyAddPoint.H b/src/dynamicMesh/polyTopoChange/polyTopoChange/addObject/polyAddPoint.H
index 82d23185b31..3ec0ed0e7ac 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/addObject/polyAddPoint.H
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/addObject/polyAddPoint.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -99,16 +99,7 @@ public:
         {
             if (zoneID_ < 0 && !inCell)
             {
-                FatalErrorIn
-                (
-                    "polyAddPoint\n"
-                    "(\n"
-                    "    const point& p,\n"
-                    "    const label masterPointID,\n"
-                    "    const label zoneID,\n"
-                    "    const bool inCell\n"
-                    ")"
-                )   << "Point is not in a cell and not in a zone.  "
+                FatalErrorInFunction
                     << "This is not allowed.\n"
                     << "point: " << p
                     << " master: " << masterPointID_
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/addPatchCellLayer.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/addPatchCellLayer.C
index 58d39bc3cf7..920585c6eb2 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/addPatchCellLayer.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/addPatchCellLayer.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -39,7 +39,7 @@ License
 
 namespace Foam
 {
-defineTypeNameAndDebug(addPatchCellLayer, 0);
+    defineTypeNameAndDebug(addPatchCellLayer, 0);
 }
 
 
@@ -705,12 +705,10 @@ void Foam::addPatchCellLayer::calcSidePatch
             if (edgeFaces[edgeI].size() == 1 && sidePatchID[edgeI] == -1)
             {
                 const edge& e = pp.edges()[edgeI];
-                //FatalErrorIn("addPatchCellLayer::calcSidePatch(..)")
-                WarningIn("addPatchCellLayer::calcSidePatch(..)")
+                WarningInFunction
                     << "Have no sidePatchID for edge " << edgeI << " points "
                     << pp.points()[pp.meshPoints()[e[0]]]
                     << pp.points()[pp.meshPoints()[e[1]]]
-                    //<< abort(FatalError);
                     << endl;
             }
         }
@@ -806,12 +804,8 @@ void Foam::addPatchCellLayer::setRefinement
      || pp.size() != nFaceLayers.size()
     )
     {
-        FatalErrorIn
-        (
-            "addPatchCellLayer::setRefinement"
-            "(const scalar, const indirectPrimitivePatch&"
-            ", const labelList&, const vectorField&, polyTopoChange&)"
-        )   << "Size of new points is not same as number of points used by"
+        FatalErrorInFunction
+            << "Size of new points is not same as number of points used by"
             << " the face subset" << endl
             << "  patch.nPoints:" << pp.nPoints()
             << "  displacement:" << firstLayerDisp.size()
@@ -825,12 +819,8 @@ void Foam::addPatchCellLayer::setRefinement
     {
         if (nPointLayers[i] < 0)
         {
-            FatalErrorIn
-            (
-                "addPatchCellLayer::setRefinement"
-                "(const scalar, const indirectPrimitivePatch&"
-                ", const labelList&, const vectorField&, polyTopoChange&)"
-            )   << "Illegal number of layers " << nPointLayers[i]
+            FatalErrorInFunction
+                << "Illegal number of layers " << nPointLayers[i]
                 << " at patch point " << i << abort(FatalError);
         }
     }
@@ -838,12 +828,8 @@ void Foam::addPatchCellLayer::setRefinement
     {
         if (nFaceLayers[i] < 0)
         {
-            FatalErrorIn
-            (
-                "addPatchCellLayer::setRefinement"
-                "(const scalar, const indirectPrimitivePatch&"
-                ", const labelList&, const vectorField&, polyTopoChange&)"
-            )   << "Illegal number of layers " << nFaceLayers[i]
+            FatalErrorInFunction
+                << "Illegal number of layers " << nFaceLayers[i]
                 << " at patch face " << i << abort(FatalError);
         }
     }
@@ -856,12 +842,8 @@ void Foam::addPatchCellLayer::setRefinement
 
             if (nPointLayers[e[0]] > 0 || nPointLayers[e[1]] > 0)
             {
-                FatalErrorIn
-                (
-                    "addPatchCellLayer::setRefinement"
-                    "(const scalar, const indirectPrimitivePatch&"
-                    ", const labelList&, const vectorField&, polyTopoChange&)"
-                )   << "Trying to extrude edge "
+                FatalErrorInFunction
+                    << "Trying to extrude edge "
                     << e.line(pp.localPoints())
                     << " which is non-manifold (has "
                     << globalEdgeFaces[edgeI].size()
@@ -897,13 +879,8 @@ void Foam::addPatchCellLayer::setRefinement
 
                 if (n[meshPointI] != nPointLayers[i])
                 {
-                    FatalErrorIn
-                    (
-                        "addPatchCellLayer::setRefinement"
-                        "(const scalar, const indirectPrimitivePatch&"
-                        ", const labelList&, const vectorField&"
-                        ", polyTopoChange&)"
-                    )   << "At mesh point:" << meshPointI
+                    FatalErrorInFunction
+                        << "At mesh point:" << meshPointI
                         << " coordinate:" << mesh_.points()[meshPointI]
                         << " specified nLayers:" << nPointLayers[i] << endl
                         << "On coupled point a different nLayers:"
@@ -945,13 +922,8 @@ void Foam::addPatchCellLayer::setRefinement
                  && nPointLayers[i] != nFromFace[meshPointI]
                 )
                 {
-                    FatalErrorIn
-                    (
-                        "addPatchCellLayer::setRefinement"
-                        "(const scalar, const indirectPrimitivePatch&"
-                        ", const labelList&, const vectorField&"
-                        ", polyTopoChange&)"
-                    )   << "At mesh point:" << meshPointI
+                    FatalErrorInFunction
+                        << "At mesh point:" << meshPointI
                         << " coordinate:" << mesh_.points()[meshPointI]
                         << " specified nLayers:" << nPointLayers[i] << endl
                         << "but the max nLayers of surrounding faces is:"
@@ -978,13 +950,8 @@ void Foam::addPatchCellLayer::setRefinement
 
                 if (mag(d[meshPointI] - firstLayerDisp[i]) > SMALL)
                 {
-                    FatalErrorIn
-                    (
-                        "addPatchCellLayer::setRefinement"
-                        "(const scalar, const indirectPrimitivePatch&"
-                        ", const labelList&, const vectorField&"
-                        ", polyTopoChange&)"
-                    )   << "At mesh point:" << meshPointI
+                    FatalErrorInFunction
+                        << "At mesh point:" << meshPointI
                         << " coordinate:" << mesh_.points()[meshPointI]
                         << " specified displacement:" << firstLayerDisp[i]
                         << endl
@@ -1014,13 +981,8 @@ void Foam::addPatchCellLayer::setRefinement
                 // First check: pp should be single connected.
                 if (eFaces.size() != 1)
                 {
-                    FatalErrorIn
-                    (
-                        "addPatchCellLayer::setRefinement"
-                        "(const scalar, const indirectPrimitivePatch&"
-                        ", const labelList&, const vectorField&"
-                        ", polyTopoChange&)"
-                    )   << "boundary-edge-to-be-extruded:"
+                    FatalErrorInFunction
+                        << "boundary-edge-to-be-extruded:"
                         << pp.points()[meshPoints[e[0]]]
                         << pp.points()[meshPoints[e[1]]]
                         << " has more than two faces using it:" << eFaces
@@ -1053,14 +1015,8 @@ void Foam::addPatchCellLayer::setRefinement
                             }
                             else
                             {
-                                FatalErrorIn
-                                (
-                                    "addPatchCellLayer::setRefinement"
-                                    "(const scalar"
-                                    ", const indirectPrimitivePatch&"
-                                    ", const labelList&, const vectorField&"
-                                    ", polyTopoChange&)"
-                                )   << "boundary-edge-to-be-extruded:"
+                                FatalErrorInFunction
+                                    << "boundary-edge-to-be-extruded:"
                                     << pp.points()[meshPoints[e[0]]]
                                     << pp.points()[meshPoints[e[1]]]
                                     << " has more than two boundary faces"
@@ -1690,10 +1646,8 @@ void Foam::addPatchCellLayer::setRefinement
                             {
                                 if (!verts.insert(newFace[fp]))
                                 {
-                                    FatalErrorIn
-                                    (
-                                        "addPatchCellLayer::setRefinement(..)"
-                                    )   << "Duplicate vertex in face"
+                                    FatalErrorInFunction
+                                        << "Duplicate vertex in face"
                                         << " to be added." << nl
                                         << "newFace:" << newFace << nl
                                         << "points:"
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/combineFaces.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/combineFaces.C
index e74e8783c4f..da9251c9d98 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/combineFaces.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/combineFaces.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -417,10 +417,8 @@ Foam::face Foam::combineFaces::getOutsideFace
 {
     if (fp.edgeLoops().size() != 1)
     {
-        FatalErrorIn
-        (
-            "combineFaces::getOutsideFace(const indirectPrimitivePatch&)"
-        )   << "Multiple outside loops:" << fp.edgeLoops()
+        FatalErrorInFunction
+            << "Multiple outside loops:" << fp.edgeLoops()
             << abort(FatalError);
     }
 
@@ -434,10 +432,8 @@ Foam::face Foam::combineFaces::getOutsideFace
 
     if (eFaces.size() != 1)
     {
-        FatalErrorIn
-        (
-            "combineFaces::getOutsideFace(const indirectPrimitivePatch&)"
-        )   << "boundary edge:" << bEdgeI
+        FatalErrorInFunction
+            << "boundary edge:" << bEdgeI
             << " points:" << fp.meshPoints()[e[0]]
             << ' ' << fp.meshPoints()[e[1]]
             << " on indirectPrimitivePatch has " << eFaces.size()
@@ -462,11 +458,8 @@ Foam::face Foam::combineFaces::getOutsideFace
 
         if (index0 == -1 || index1 == -1)
         {
-            FatalErrorIn
-            (
-                "combineFaces::getOutsideFace"
-                "(const indirectPrimitivePatch&)"
-            )   << "Cannot find boundary edge:" << e
+            FatalErrorInFunction
+                << "Cannot find boundary edge:" << e
                 << " points:" << fp.meshPoints()[e[0]]
                 << ' ' << fp.meshPoints()[e[1]]
                 << " in edgeLoop:" << outsideLoop << abort(FatalError);
@@ -481,11 +474,8 @@ Foam::face Foam::combineFaces::getOutsideFace
         }
         else
         {
-            FatalErrorIn
-            (
-                "combineFaces::getOutsideFace"
-                "(const indirectPrimitivePatch&)"
-            )   << "Cannot find boundary edge:" << e
+            FatalErrorInFunction
+                << "Cannot find boundary edge:" << e
                 << " points:" << fp.meshPoints()[e[0]]
                 << ' ' << fp.meshPoints()[e[1]]
                 << " on consecutive points in edgeLoop:"
@@ -510,11 +500,8 @@ Foam::face Foam::combineFaces::getOutsideFace
 
         if (index == -1)
         {
-            FatalErrorIn
-            (
-                "combineFaces::getOutsideFace"
-                "(const indirectPrimitivePatch&)"
-            )   << "Cannot find boundary edge:" << e
+            FatalErrorInFunction
+                << "Cannot find boundary edge:" << e
                 << " points:" << fp.meshPoints()[e[0]]
                 << ' ' << fp.meshPoints()[e[1]]
                 << " in face:" << eFaces[0]
@@ -531,11 +518,8 @@ Foam::face Foam::combineFaces::getOutsideFace
         }
         else
         {
-            FatalErrorIn
-            (
-                "combineFaces::getOutsideFace"
-                "(const indirectPrimitivePatch&)"
-            )   << "Cannot find boundary edge:" << e
+            FatalErrorInFunction
+                << "Cannot find boundary edge:" << e
                 << " points:" << fp.meshPoints()[e[0]]
                 << ' ' << fp.meshPoints()[e[1]]
                 << " in face:" << eFaces[0] << " verts:" << localF
@@ -602,12 +586,8 @@ void Foam::combineFaces::setRefinement
 
                 if (patchI == -1 || patches[patchI].coupled())
                 {
-                    FatalErrorIn
-                    (
-                        "combineFaces::setRefinement"
-                        "(const bool, const labelListList&"
-                        ", polyTopoChange&)"
-                    )   << "Can only merge non-coupled boundary faces"
+                    FatalErrorInFunction
+                        << "Can only merge non-coupled boundary faces"
                         << " but found internal or coupled face:"
                         << setFaces[i] << " in set " << setI
                         << abort(FatalError);
@@ -631,11 +611,8 @@ void Foam::combineFaces::setRefinement
 
         if (edgeLoops.size() != 1)
         {
-            FatalErrorIn
-            (
-                "combineFaces::setRefinement"
-                "(const bool, const labelListList&, polyTopoChange&)"
-            )   << "Faces to-be-merged " << setFaces
+            FatalErrorInFunction
+                << "Faces to-be-merged " << setFaces
                 << " do not form a single big face." << nl
                 << abort(FatalError);
         }
@@ -815,11 +792,8 @@ void Foam::combineFaces::updateMesh(const mapPolyMesh& map)
 
                         if (f[fp] < 0)
                         {
-                            FatalErrorIn
-                            (
-                                "combineFaces::updateMesh"
-                                "(const mapPolyMesh&)"
-                            )   << "In set " << setI << " at position " << i
+                            FatalErrorInFunction
+                                << "In set " << setI << " at position " << i
                                 << " with master face "
                                 << masterFace_[setI] << nl
                                 << "the points of the slave face " << faces[i]
@@ -849,12 +823,8 @@ void Foam::combineFaces::setUnrefinement
 {
     if (!undoable_)
     {
-        FatalErrorIn
-        (
-            "combineFaces::setUnrefinement"
-            "(const labelList&, polyTopoChange&"
-            ", Map<label>&, Map<label>&, Map<label>&)"
-        )   << "Can only call setUnrefinement if constructed with"
+        FatalErrorInFunction
+            << "Can only call setUnrefinement if constructed with"
             << " unrefinement capability." << exit(FatalError);
     }
 
@@ -881,12 +851,8 @@ void Foam::combineFaces::setUnrefinement
 
         if (iter == masterToSet.end())
         {
-            FatalErrorIn
-            (
-                "combineFaces::setUnrefinement"
-                "(const labelList&, polyTopoChange&"
-                ", Map<label>&, Map<label>&, Map<label>&)"
-            )   << "Master face " << masterFaceI
+            FatalErrorInFunction
+                << "Master face " << masterFaceI
                 << " is not the master of one of the merge sets"
                 << " or has already been merged"
                 << abort(FatalError);
@@ -902,12 +868,8 @@ void Foam::combineFaces::setUnrefinement
 
         if (faces.empty())
         {
-            FatalErrorIn
-            (
-                "combineFaces::setUnrefinement"
-                "(const labelList&, polyTopoChange&"
-                ", Map<label>&, Map<label>&, Map<label>&)"
-            )   << "Set " << setI << " with master face " << masterFaceI
+            FatalErrorInFunction
+                << "Set " << setI << " with master face " << masterFaceI
                 << " has already been merged." << abort(FatalError);
         }
 
@@ -964,12 +926,8 @@ void Foam::combineFaces::setUnrefinement
 
         if (mesh_.boundaryMesh()[patchI].coupled())
         {
-            FatalErrorIn
-            (
-                "combineFaces::setUnrefinement"
-                "(const labelList&, polyTopoChange&"
-                ", Map<label>&, Map<label>&, Map<label>&)"
-            )   << "Master face " << masterFaceI << " is on coupled patch "
+            FatalErrorInFunction
+                << "Master face " << masterFaceI << " is on coupled patch "
                 << mesh_.boundaryMesh()[patchI].name()
                 << abort(FatalError);
         }
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/edgeCollapser.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/edgeCollapser.C
index ef29a307dba..2bb25c9049a 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/edgeCollapser.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/edgeCollapser.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -635,7 +635,7 @@ Foam::edgeCollapser::collapseType Foam::edgeCollapser::collapseFace
 
     if (middle == -1)
     {
-//        SeriousErrorIn("collapseFace")
+//        SeriousErrorInFunction
 //            << "middle == -1, " << f << " " << d
 //            << endl;//abort(FatalError);
 
@@ -662,10 +662,7 @@ Foam::edgeCollapser::collapseType Foam::edgeCollapser::collapseFace
 
     if (dNeg.size() == 0 || dPos.size() == 0)
     {
-        WarningIn
-        (
-            "Foam::conformalVoronoiMesh::collapseFace"
-        )
+        WarningInFunction
             << "All points on one side of face centre, not collapsing."
             << endl;
     }
@@ -1066,18 +1063,8 @@ Foam::label Foam::edgeCollapser::syncCollapse
 
                 if (!collapsePointToLocation.found(otherVertex))
                 {
-                    FatalErrorIn
-                    (
-                        "syncCollapse\n"
-                        "(\n"
-                        "   const polyMesh&,\n"
-                        "   const globalIndex&,\n"
-                        "   const labelList&,\n"
-                        "   const PackedBoolList&,\n"
-                        "   Map<point>&,\n"
-                        "   List<pointEdgeCollapse>&\n"
-                        ")\n"
-                    )   << masterPointI << " on edge " << edgeI << " " << e
+                    FatalErrorInFunction
+                        << masterPointI << " on edge " << edgeI << " " << e
                         << " is not marked for collapse."
                         << abort(FatalError);
                 }
@@ -1160,11 +1147,8 @@ void Foam::edgeCollapser::filterFace
         }
         else if (collapseIndex == -1)
         {
-            WarningIn
-            (
-                "filterFace"
-                "(const label, const Map<DynamicList<label> >&, face&)"
-            )   << "Point " << pointI << " was not visited by PointEdgeWave"
+            WarningInFunction
+                << "Point " << pointI << " was not visited by PointEdgeWave"
                 << endl;
         }
         else
@@ -1196,32 +1180,23 @@ void Foam::edgeCollapser::filterFace
 
         if (index == fp1)
         {
-            WarningIn
-            (
-                "Foam::edgeCollapser::filterFace(const label faceI, "
-                "face& f) const"
-            )   << "Removing consecutive duplicate vertex in face "
+            WarningInFunction
+                << "Removing consecutive duplicate vertex in face "
                 << f << endl;
             // Don't store current pointI
         }
         else if (index == fp2)
         {
-            WarningIn
-            (
-                "Foam::edgeCollapser::filterFace(const label faceI, "
-                "face& f) const"
-            )   << "Removing non-consecutive duplicate vertex in face "
+            WarningInFunction
+                << "Removing non-consecutive duplicate vertex in face "
                 << f << endl;
             // Don't store current pointI and remove previous
             newFp--;
         }
         else if (index != -1)
         {
-            WarningIn
-            (
-                "Foam::edgeCollapser::filterFace(const label faceI, "
-                "face& f) const"
-            )   << "Pinched face " << f << endl;
+            WarningInFunction
+                << "Pinched face " << f << endl;
             f[newFp++] = pointI;
         }
         else
@@ -1812,15 +1787,8 @@ void Foam::edgeCollapser::consistentCollapse
 
                 if (nFaces < 4)
                 {
-                    FatalErrorIn
-                    (
-                        "consistentCollapse\n"
-                        "(\n"
-                        "   labelList&,\n"
-                        "   Map<point>&,\n"
-                        "   bool&,\n"
-                        ")"
-                    )   << "Cell " << cellI << " " << cFaces << nl
+                    FatalErrorInFunction
+                        << "Cell " << cellI << " " << cFaces << nl
                         << "is " << nFaces << ", "
                         << "but cell collapse has been disabled."
                         << abort(FatalError);
@@ -2045,7 +2013,7 @@ Foam::labelPair Foam::edgeCollapser::markSmallSliverFaces
         }
         else
         {
-            FatalErrorIn("collapseFaces(const polyMesh&, List<labelPair>&)")
+            FatalErrorInFunction
                 << "Face is marked to be collapsed to " << flagCollapseFace
                 << ". Currently can only collapse to point/edge."
                 << abort(FatalError);
@@ -2112,7 +2080,7 @@ Foam::labelPair Foam::edgeCollapser::markFaceZoneEdges
         }
         else
         {
-            FatalErrorIn("collapseFaces(const polyMesh&, List<labelPair>&)")
+            FatalErrorInFunction
                 << "Face is marked to be collapsed to " << flagCollapseFace
                 << ". Currently can only collapse to point/edge."
                 << abort(FatalError);
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/faceCollapser.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/faceCollapser.C
index 8f579fc4f75..0f61fbb5d1d 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/faceCollapser.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/faceCollapser.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -79,7 +79,7 @@ Foam::label Foam::faceCollapser::findEdge
         }
     }
 
-    FatalErrorIn("findEdge") << "Cannot find edge between vertices " << v0
+    FatalErrorInFunction
         << " and " << v1 << " in edge labels " << edgeLabels
         << abort(FatalError);
 
@@ -374,7 +374,7 @@ void Foam::faceCollapser::setRefinement
             OFstream str("conflictingFace.obj");
             meshTools::writeOBJ(str, faceList(1, f), points);
 
-            FatalErrorIn("faceCollapser::setRefinement")
+            FatalErrorInFunction
                 << "Trying to collapse face:" << faceI << " vertices:" << f
                 << " to edges between vertices " << f[fpA] << " and "
                 << f[fpB] << " but " << f[fpB] << " does not seem to be the"
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8.C
index 263afe869fe..6e840a75fb1 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8.C
@@ -81,7 +81,7 @@ void Foam::hexRef8::reorder
 
         if (newI >= len)
         {
-            FatalErrorIn("hexRef8::reorder(..)") << abort(FatalError);
+            FatalErrorInFunction << abort(FatalError);
         }
 
         if (newI >= 0)
@@ -352,10 +352,8 @@ Foam::scalar Foam::hexRef8::getLevel0EdgeLength() const
 {
     if (cellLevel_.size() != mesh_.nCells())
     {
-        FatalErrorIn
-        (
-            "hexRef8::getLevel0EdgeLength() const"
-        )   << "Number of cells in mesh:" << mesh_.nCells()
+        FatalErrorInFunction
+            << "Number of cells in mesh:" << mesh_.nCells()
             << " does not equal size of cellLevel:" << cellLevel_.size()
             << endl
             << "This might be because of a restart with inconsistent cellLevel."
@@ -524,7 +522,7 @@ Foam::scalar Foam::hexRef8::getLevel0EdgeLength() const
 
     if (level0Size == -1)
     {
-        FatalErrorIn("hexRef8::getLevel0EdgeLength()")
+        FatalErrorInFunction
             << "Problem : typEdgeLenSqr:" << typEdgeLenSqr << abort(FatalError);
     }
 
@@ -573,7 +571,7 @@ Foam::label Foam::hexRef8::getAnchorCell
         Perr<< "cell:" << cellI << " anchorPoints:" << cellAnchorPoints[cellI]
             << endl;
 
-        FatalErrorIn("hexRef8::getAnchorCell(..)")
+        FatalErrorInFunction
             << "Could not find point " << pointI
             << " in the anchorPoints for cell " << cellI << endl
             << "Does your original mesh obey the 2:1 constraint and"
@@ -755,7 +753,7 @@ Foam::label Foam::hexRef8::findLevel
                 dumpCell(mesh_.faceNeighbour()[faceI]);
             }
 
-            FatalErrorIn("hexRef8::findLevel(..)")
+            FatalErrorInFunction
                 << "face:" << f
                 << " level:" << UIndirectList<label>(pointLevel_, f)()
                 << " startFp:" << startFp
@@ -783,7 +781,7 @@ Foam::label Foam::hexRef8::findLevel
         dumpCell(mesh_.faceNeighbour()[faceI]);
     }
 
-    FatalErrorIn("hexRef8::findLevel(..)")
+    FatalErrorInFunction
         << "face:" << f
         << " level:" << UIndirectList<label>(pointLevel_, f)()
         << " startFp:" << startFp
@@ -842,7 +840,7 @@ void Foam::hexRef8::checkInternalOrientation
 
     if ((dir & n) < 0)
     {
-        FatalErrorIn("checkInternalOrientation(..)")
+        FatalErrorInFunction
             << "cell:" << cellI << " old face:" << faceI
             << " newFace:" << newFace << endl
             << " coords:" << compactPoints
@@ -857,7 +855,7 @@ void Foam::hexRef8::checkInternalOrientation
 
     if (s < 0.1 || s > 0.9)
     {
-        FatalErrorIn("checkInternalOrientation(..)")
+        FatalErrorInFunction
             << "cell:" << cellI << " old face:" << faceI
             << " newFace:" << newFace << endl
             << " coords:" << compactPoints
@@ -888,7 +886,7 @@ void Foam::hexRef8::checkBoundaryOrientation
 
     if ((dir & n) < 0)
     {
-        FatalErrorIn("checkBoundaryOrientation(..)")
+        FatalErrorInFunction
             << "cell:" << cellI << " old face:" << faceI
             << " newFace:" << newFace
             << " coords:" << compactPoints
@@ -903,7 +901,7 @@ void Foam::hexRef8::checkBoundaryOrientation
 
     if (s < 0.7 || s > 1.3)
     {
-        WarningIn("checkBoundaryOrientation(..)")
+        WarningInFunction
             << "cell:" << cellI << " old face:" << faceI
             << " newFace:" << newFace
             << " coords:" << compactPoints
@@ -1273,7 +1271,7 @@ void Foam::hexRef8::createInternalFaces
                 dumpCell(mesh_.faceNeighbour()[faceI]);
             }
 
-            FatalErrorIn("createInternalFaces(..)")
+            FatalErrorInFunction
                 << "nAnchors:" << nAnchors
                 << " faceI:" << faceI
                 << abort(FatalError);
@@ -1315,7 +1313,7 @@ void Foam::hexRef8::createInternalFaces
 
                         const labelList& cPoints = mesh_.cellPoints(cellI);
 
-                        FatalErrorIn("createInternalFaces(..)")
+                        FatalErrorInFunction
                             << "cell:" << cellI << " cLevel:" << cLevel
                             << " cell points:" << cPoints
                             << " pointLevel:"
@@ -1388,7 +1386,7 @@ void Foam::hexRef8::createInternalFaces
 
                         const labelList& cPoints = mesh_.cellPoints(cellI);
 
-                        FatalErrorIn("createInternalFaces(..)")
+                        FatalErrorInFunction
                             << "cell:" << cellI << " cLevel:" << cLevel
                             << " cell points:" << cPoints
                             << " pointLevel:"
@@ -1672,10 +1670,8 @@ void Foam::hexRef8::checkWantedRefinementLevels
         {
             dumpCell(own);
             dumpCell(nei);
-            FatalErrorIn
-            (
-                "hexRef8::checkWantedRefinementLevels(const labelList&)"
-            )   << "cell:" << own
+            FatalErrorInFunction
+                << "cell:" << own
                 << " current level:" << cellLevel_[own]
                 << " level after refinement:" << ownLevel
                 << nl
@@ -1715,10 +1711,8 @@ void Foam::hexRef8::checkWantedRefinementLevels
             label patchI = mesh_.boundaryMesh().whichPatch(faceI);
 
             dumpCell(own);
-            FatalErrorIn
-            (
-                "hexRef8::checkWantedRefinementLevels(const labelList&)"
-            )   << "Celllevel does not satisfy 2:1 constraint."
+            FatalErrorInFunction
+                << "Celllevel does not satisfy 2:1 constraint."
                 << " On coupled face "
                 << faceI
                 << " on patch " << patchI << " "
@@ -2008,10 +2002,8 @@ Foam::hexRef8::hexRef8(const polyMesh& mesh, const bool readHistory)
 
     if (history_.active() && history_.visibleCells().size() != mesh_.nCells())
     {
-        FatalErrorIn
-        (
-            "hexRef8::hexRef8(const polyMesh&)"
-        )   << "History enabled but number of visible cells "
+        FatalErrorInFunction
+            << "History enabled but number of visible cells "
             << history_.visibleCells().size() << " in "
             << history_.objectPath()
             << " is not equal to the number of cells in the mesh "
@@ -2025,10 +2017,8 @@ Foam::hexRef8::hexRef8(const polyMesh& mesh, const bool readHistory)
      || pointLevel_.size() != mesh_.nPoints()
     )
     {
-        FatalErrorIn
-        (
-            "hexRef8::hexRef8(const polyMesh&)"
-        )   << "Restarted from inconsistent cellLevel or pointLevel files."
+        FatalErrorInFunction
+            << "Restarted from inconsistent cellLevel or pointLevel files."
             << endl
             << "cellLevel file " << cellLevel_.objectPath() << endl
             << "pointLevel file " << pointLevel_.objectPath() << endl
@@ -2127,11 +2117,8 @@ Foam::hexRef8::hexRef8
 {
     if (history_.active() && history_.visibleCells().size() != mesh_.nCells())
     {
-        FatalErrorIn
-        (
-            "hexRef8::hexRef8(const polyMesh&, const labelList&"
-            ", const labelList&, const refinementHistory&)"
-        )   << "History enabled but number of visible cells in it "
+        FatalErrorInFunction
+            << "History enabled but number of visible cells in it "
             << history_.visibleCells().size()
             << " is not equal to the number of cells in the mesh "
             << mesh_.nCells() << abort(FatalError);
@@ -2143,11 +2130,8 @@ Foam::hexRef8::hexRef8
      || pointLevel_.size() != mesh_.nPoints()
     )
     {
-        FatalErrorIn
-        (
-            "hexRef8::hexRef8(const polyMesh&, const labelList&"
-            ", const labelList&, const refinementHistory&)"
-        )   << "Incorrect cellLevel or pointLevel size." << endl
+        FatalErrorInFunction
+            << "Incorrect cellLevel or pointLevel size." << endl
             << "Number of cells in mesh:" << mesh_.nCells()
             << " does not equal size of cellLevel:" << cellLevel_.size() << endl
             << "Number of points in mesh:" << mesh_.nPoints()
@@ -2246,11 +2230,8 @@ Foam::hexRef8::hexRef8
      || pointLevel_.size() != mesh_.nPoints()
     )
     {
-        FatalErrorIn
-        (
-            "hexRef8::hexRef8(const polyMesh&, const labelList&"
-            ", const labelList&)"
-        )   << "Incorrect cellLevel or pointLevel size." << endl
+        FatalErrorInFunction
+            << "Incorrect cellLevel or pointLevel size." << endl
             << "Number of cells in mesh:" << mesh_.nCells()
             << " does not equal size of cellLevel:" << cellLevel_.size() << endl
             << "Number of points in mesh:" << mesh_.nPoints()
@@ -2362,12 +2343,8 @@ Foam::labelList Foam::hexRef8::consistentSlowRefinement
 
     if (maxFaceDiff <= 0)
     {
-        FatalErrorIn
-        (
-            "hexRef8::consistentSlowRefinement"
-            "(const label, const labelList&, const labelList&"
-            ", const label, const labelList&)"
-        )   << "Illegal maxFaceDiff " << maxFaceDiff << nl
+        FatalErrorInFunction
+            << "Illegal maxFaceDiff " << maxFaceDiff << nl
             << "Value should be >= 1" << exit(FatalError);
     }
 
@@ -2425,12 +2402,8 @@ Foam::labelList Foam::hexRef8::consistentSlowRefinement
         if (allFaceInfo[faceI].valid(dummyTrackData))
         {
             // Can only occur if face has already gone through loop below.
-            FatalErrorIn
-            (
-                "hexRef8::consistentSlowRefinement"
-                "(const label, const labelList&, const labelList&"
-                ", const label, const labelList&)"
-            )   << "Argument facesToCheck seems to have duplicate entries!"
+            FatalErrorInFunction
+                << "Argument facesToCheck seems to have duplicate entries!"
                 << endl
                 << "face:" << faceI << " occurs at positions "
                 << findIndices(facesToCheck, faceI)
@@ -2723,12 +2696,8 @@ Foam::labelList Foam::hexRef8::consistentSlowRefinement
             {
                 dumpCell(own);
                 dumpCell(nei);
-                FatalErrorIn
-                (
-                    "hexRef8::consistentSlowRefinement"
-                    "(const label, const labelList&, const labelList&"
-                    ", const label, const labelList&)"
-                )   << "cell:" << own
+                FatalErrorInFunction
+                    << "cell:" << own
                     << " current level:" << cellLevel_[own]
                     << " current refData:" << allCellInfo[own]
                     << " level after refinement:" << ownLevel
@@ -2784,12 +2753,8 @@ Foam::labelList Foam::hexRef8::consistentSlowRefinement
                 dumpCell(own);
                 label patchI = mesh_.boundaryMesh().whichPatch(faceI);
 
-                FatalErrorIn
-                (
-                    "hexRef8::consistentSlowRefinement"
-                    "(const label, const labelList&, const labelList&"
-                    ", const label, const labelList&)"
-                )   << "Celllevel does not satisfy 2:1 constraint."
+                FatalErrorInFunction
+                    << "Celllevel does not satisfy 2:1 constraint."
                     << " On coupled face "
                     << faceI
                     << " refData:" << allFaceInfo[faceI]
@@ -2859,11 +2824,8 @@ Foam::labelList Foam::hexRef8::consistentSlowRefinement2
 
     if (maxFaceDiff <= 0)
     {
-        FatalErrorIn
-        (
-            "hexRef8::consistentSlowRefinement2"
-            "(const label, const labelList&, const labelList&)"
-        )   << "Illegal maxFaceDiff " << maxFaceDiff << nl
+        FatalErrorInFunction
+            << "Illegal maxFaceDiff " << maxFaceDiff << nl
             << "Value should be >= 1" << exit(FatalError);
     }
 
@@ -2926,11 +2888,8 @@ Foam::labelList Foam::hexRef8::consistentSlowRefinement2
         if (allFaceInfo[faceI].valid(dummyTrackData))
         {
             // Can only occur if face has already gone through loop below.
-            FatalErrorIn
-            (
-                "hexRef8::consistentSlowRefinement2"
-                "(const label, const labelList&, const labelList&)"
-            )   << "Argument facesToCheck seems to have duplicate entries!"
+            FatalErrorInFunction
+                << "Argument facesToCheck seems to have duplicate entries!"
                 << endl
                 << "face:" << faceI << " occurs at positions "
                 << findIndices(facesToCheck, faceI)
@@ -3262,11 +3221,8 @@ Foam::labelList Foam::hexRef8::consistentSlowRefinement2
                 if (refineCell.get(cellI) && !savedRefineCell.get(cellI))
                 {
                     dumpCell(cellI);
-                    FatalErrorIn
-                    (
-                        "hexRef8::consistentSlowRefinement2"
-                        "(const label, const labelList&, const labelList&)"
-                    )   << "Cell:" << cellI << " cc:"
+                    FatalErrorInFunction
+                        << "Cell:" << cellI << " cc:"
                         << mesh_.cellCentres()[cellI]
                         << " was not marked for refinement but does not obey"
                         << " 2:1 constraints."
@@ -3741,11 +3697,8 @@ Foam::labelListList Foam::hexRef8::setRefinement
                     if (nAnchorPoints[cellI] == 8)
                     {
                         dumpCell(cellI);
-                        FatalErrorIn
-                        (
-                            "hexRef8::setRefinement(const labelList&"
-                            ", polyTopoChange&)"
-                        )   << "cell " << cellI
+                        FatalErrorInFunction
+                            << "cell " << cellI
                             << " of level " << cellLevel_[cellI]
                             << " uses more than 8 points of equal or"
                             << " lower level" << nl
@@ -3768,11 +3721,8 @@ Foam::labelListList Foam::hexRef8::setRefinement
 
                     const labelList& cPoints = mesh_.cellPoints(cellI);
 
-                    FatalErrorIn
-                    (
-                        "hexRef8::setRefinement(const labelList&"
-                        ", polyTopoChange&)"
-                    )   << "cell " << cellI
+                    FatalErrorInFunction
+                        << "cell " << cellI
                         << " of level " << cellLevel_[cellI]
                         << " does not seem to have 8 points of equal or"
                         << " lower level" << endl
@@ -4247,7 +4197,7 @@ Foam::labelListList Foam::hexRef8::setRefinement
 
         if (minPointI != labelMax && minPointI != mesh_.nPoints())
         {
-            FatalErrorIn("hexRef8::setRefinement(..)")
+            FatalErrorInFunction
                 << "Added point labels not consecutive to existing mesh points."
                 << nl
                 << "mesh_.nPoints():" << mesh_.nPoints()
@@ -4420,7 +4370,7 @@ void Foam::hexRef8::updateMesh
 
             if (fnd == savedCellLevel_.end())
             {
-                FatalErrorIn("hexRef8::updateMesh(const mapPolyMesh&)")
+                FatalErrorInFunction
                     << "Problem : trying to restore old value for new cell "
                     << newCellI << " but cannot find old cell " << storedCellI
                     << " in map of stored values " << savedCellLevel_
@@ -4431,7 +4381,7 @@ void Foam::hexRef8::updateMesh
 
         //if (findIndex(cellLevel_, -1) != -1)
         //{
-        //    WarningIn("hexRef8::updateMesh(const mapPolyMesh&)")
+        //    WarningInFunction
         //        << "Problem : "
         //        << "cellLevel_ contains illegal value -1 after mapping
         //        << " at cell " << findIndex(cellLevel_, -1) << endl
@@ -4465,7 +4415,7 @@ void Foam::hexRef8::updateMesh
 
                 if (oldPointI == -1)
                 {
-                    //FatalErrorIn("hexRef8::updateMesh(const mapPolyMesh&)")
+                    //FatalErrorInFunction
                     //    << "Problem : point " << newPointI
                     //    << " at " << mesh_.points()[newPointI]
                     //    << " does not originate from another point"
@@ -4493,7 +4443,7 @@ void Foam::hexRef8::updateMesh
 
             if (fnd == savedPointLevel_.end())
             {
-                FatalErrorIn("hexRef8::updateMesh(const mapPolyMesh&)")
+                FatalErrorInFunction
                     << "Problem : trying to restore old value for new point "
                     << newPointI << " but cannot find old point "
                     << storedPointI
@@ -4505,7 +4455,7 @@ void Foam::hexRef8::updateMesh
 
         //if (findIndex(pointLevel_, -1) != -1)
         //{
-        //    WarningIn("hexRef8::updateMesh(const mapPolyMesh&)")
+        //    WarningInFunction
         //        << "Problem : "
         //        << "pointLevel_ contains illegal value -1 after mapping"
         //        << " at point" << findIndex(pointLevel_, -1) << endl
@@ -4551,11 +4501,8 @@ void Foam::hexRef8::subset
 
     if (history_.active())
     {
-        WarningIn
-        (
-            "hexRef8::subset(const labelList&, const labelList&"
-            ", const labelList&)"
-        )   << "Subsetting will not work in combination with unrefinement."
+        WarningInFunction
+            << "Subsetting will not work in combination with unrefinement."
             << nl
             << "Proceed at your own risk." << endl;
     }
@@ -4574,7 +4521,7 @@ void Foam::hexRef8::subset
 
         if (findIndex(cellLevel_, -1) != -1)
         {
-            FatalErrorIn("hexRef8::subset(..)")
+            FatalErrorInFunction
                 << "Problem : "
                 << "cellLevel_ contains illegal value -1 after mapping:"
                 << cellLevel_
@@ -4595,7 +4542,7 @@ void Foam::hexRef8::subset
 
         if (findIndex(pointLevel_, -1) != -1)
         {
-            FatalErrorIn("hexRef8::subset(..)")
+            FatalErrorInFunction
                 << "Problem : "
                 << "pointLevel_ contains illegal value -1 after mapping:"
                 << pointLevel_
@@ -4698,7 +4645,7 @@ void Foam::hexRef8::checkMesh() const
                     if (!cellToFace.insert(labelPair(own, nei[bFaceI]), faceI))
                     {
                         dumpCell(own);
-                        FatalErrorIn("hexRef8::checkMesh()")
+                        FatalErrorInFunction
                             << "Faces do not seem to be correct across coupled"
                             << " boundaries" << endl
                             << "Coupled face " << faceI
@@ -4743,7 +4690,7 @@ void Foam::hexRef8::checkMesh() const
 
                 dumpCell(mesh_.faceOwner()[faceI]);
 
-                FatalErrorIn("hexRef8::checkMesh()")
+                FatalErrorInFunction
                     << "Faces do not seem to be correct across coupled"
                     << " boundaries" << endl
                     << "Coupled face " << faceI
@@ -4785,7 +4732,7 @@ void Foam::hexRef8::checkMesh() const
 
                 label patchI = mesh_.boundaryMesh().whichPatch(faceI);
 
-                FatalErrorIn("hexRef8::checkMesh()")
+                FatalErrorInFunction
                     << "Faces do not seem to be correct across coupled"
                     << " boundaries" << endl
                     << "Coupled face " << faceI
@@ -4835,7 +4782,7 @@ void Foam::hexRef8::checkMesh() const
 
                 label patchI = mesh_.boundaryMesh().whichPatch(faceI);
 
-                FatalErrorIn("hexRef8::checkMesh()")
+                FatalErrorInFunction
                     << "Faces do not seem to be correct across coupled"
                     << " boundaries" << endl
                     << "Coupled face " << faceI
@@ -4876,7 +4823,7 @@ void Foam::hexRef8::checkRefinementLevels
      || pointLevel_.size() != mesh_.nPoints()
     )
     {
-        FatalErrorIn("hexRef8::checkRefinementLevels(const label)")
+        FatalErrorInFunction
             << "cellLevel size should be number of cells"
             << " and pointLevel size should be number of points."<< nl
             << "cellLevel:" << cellLevel_.size()
@@ -4902,10 +4849,8 @@ void Foam::hexRef8::checkRefinementLevels
                 dumpCell(own);
                 dumpCell(nei);
 
-                FatalErrorIn
-                (
-                    "hexRef8::checkRefinementLevels(const label)"
-                )   << "Celllevel does not satisfy 2:1 constraint." << nl
+                FatalErrorInFunction
+                    << "Celllevel does not satisfy 2:1 constraint." << nl
                     << "On face " << faceI << " owner cell " << own
                     << " has refinement " << cellLevel_[own]
                     << " neighbour cell " << nei << " has refinement "
@@ -4939,10 +4884,8 @@ void Foam::hexRef8::checkRefinementLevels
 
                 label patchI = mesh_.boundaryMesh().whichPatch(faceI);
 
-                FatalErrorIn
-                (
-                    "hexRef8::checkRefinementLevels(const label)"
-                )   << "Celllevel does not satisfy 2:1 constraint."
+                FatalErrorInFunction
+                    << "Celllevel does not satisfy 2:1 constraint."
                     << " On coupled face " << faceI
                     << " on patch " << patchI << " "
                     << mesh_.boundaryMesh()[patchI].name()
@@ -4975,10 +4918,8 @@ void Foam::hexRef8::checkRefinementLevels
         {
             if (pointLevel_[pointI] != syncPointLevel[pointI])
             {
-                FatalErrorIn
-                (
-                    "hexRef8::checkRefinementLevels(const label)"
-                )   << "PointLevel is not consistent across coupled patches."
+                FatalErrorInFunction
+                    << "PointLevel is not consistent across coupled patches."
                     << endl
                     << "point:" << pointI << " coord:" << mesh_.points()[pointI]
                     << " has level " << pointLevel_[pointI]
@@ -5036,10 +4977,8 @@ void Foam::hexRef8::checkRefinementLevels
                 {
                     dumpCell(cellI);
 
-                    FatalErrorIn
-                    (
-                        "hexRef8::checkRefinementLevels(const label)"
-                    )   << "Too big a difference between"
+                    FatalErrorInFunction
+                        << "Too big a difference between"
                         << " point-connected cells." << nl
                         << "cell:" << cellI
                         << " cellLevel:" << cellLevel_[cellI]
@@ -5110,10 +5049,8 @@ void Foam::hexRef8::checkRefinementLevels
     //
     //    if (returnReduce(nHanging, sumOp<label>()) > 0)
     //    {
-    //        FatalErrorIn
-    //        (
-    //            "hexRef8::checkRefinementLevels(const label)"
-    //        )   << "Detected a point used by two edges only (hanging point)"
+    //        FatalErrorInFunction
+    //            << "Detected a point used by two edges only (hanging point)"
     //            << nl << "This is not allowed"
     //            << abort(FatalError);
     //    }
@@ -5204,7 +5141,7 @@ Foam::labelList Foam::hexRef8::getSplitPoints() const
 
     if (!history_.active())
     {
-        FatalErrorIn("hexRef8::getSplitPoints()")
+        FatalErrorInFunction
             << "Only call if constructed with history capability"
             << abort(FatalError);
     }
@@ -5405,10 +5342,8 @@ Foam::labelList Foam::hexRef8::consistentUnrefinement
 
     if (maxSet)
     {
-        FatalErrorIn
-        (
-            "hexRef8::consistentUnrefinement(const labelList&, const bool"
-        )   << "maxSet not implemented yet."
+        FatalErrorInFunction
+            << "maxSet not implemented yet."
             << abort(FatalError);
     }
 
@@ -5478,13 +5413,13 @@ Foam::labelList Foam::hexRef8::consistentUnrefinement
                     // could also combine with unset:
                     // if (!unrefineCell.unset(own))
                     // {
-                    //     FatalErrorIn("hexRef8::consistentUnrefinement(..)")
+                    //     FatalErrorInFunction
                     //         << "problem cell already unset"
                     //         << abort(FatalError);
                     // }
                     if (unrefineCell.get(own) == 0)
                     {
-                        FatalErrorIn("hexRef8::consistentUnrefinement(..)")
+                        FatalErrorInFunction
                             << "problem" << abort(FatalError);
                     }
 
@@ -5502,7 +5437,7 @@ Foam::labelList Foam::hexRef8::consistentUnrefinement
                 {
                     if (unrefineCell.get(nei) == 0)
                     {
-                        FatalErrorIn("hexRef8::consistentUnrefinement(..)")
+                        FatalErrorInFunction
                             << "problem" << abort(FatalError);
                     }
 
@@ -5538,7 +5473,7 @@ Foam::labelList Foam::hexRef8::consistentUnrefinement
                 {
                     if (unrefineCell.get(own) == 0)
                     {
-                        FatalErrorIn("hexRef8::consistentUnrefinement(..)")
+                        FatalErrorInFunction
                             << "problem" << abort(FatalError);
                     }
 
@@ -5552,7 +5487,7 @@ Foam::labelList Foam::hexRef8::consistentUnrefinement
                 {
                     if (unrefineCell.get(own) == 1)
                     {
-                        FatalErrorIn("hexRef8::consistentUnrefinement(..)")
+                        FatalErrorInFunction
                             << "problem" << abort(FatalError);
                     }
 
@@ -5635,10 +5570,8 @@ void Foam::hexRef8::setUnrefinement
 {
     if (!history_.active())
     {
-        FatalErrorIn
-        (
-            "hexRef8::setUnrefinement(const labelList&, polyTopoChange&)"
-        )   << "Only call if constructed with history capability"
+        FatalErrorInFunction
+            << "Only call if constructed with history capability"
             << abort(FatalError);
     }
 
@@ -5653,14 +5586,8 @@ void Foam::hexRef8::setUnrefinement
         {
             if (cellLevel_[cellI] < 0)
             {
-                FatalErrorIn
-                (
-                    "hexRef8::setUnrefinement"
-                    "("
-                        "const labelList&, "
-                        "polyTopoChange&"
-                    ")"
-                )   << "Illegal cell level " << cellLevel_[cellI]
+                FatalErrorInFunction
+                    << "Illegal cell level " << cellLevel_[cellI]
                     << " for cell " << cellI
                     << abort(FatalError);
             }
@@ -5722,10 +5649,8 @@ void Foam::hexRef8::setUnrefinement
 
         if (facesToRemove.size() != splitFaces.size())
         {
-            FatalErrorIn
-            (
-                "hexRef8::setUnrefinement(const labelList&, polyTopoChange&)"
-            )   << "Ininitial set of split points to unrefine does not"
+            FatalErrorInFunction
+                << "Ininitial set of split points to unrefine does not"
                 << " seem to be consistent or not mid points of refined cells"
                 << abort(FatalError);
         }
@@ -5746,10 +5671,8 @@ void Foam::hexRef8::setUnrefinement
         // Check
         if (pCells.size() != 8)
         {
-            FatalErrorIn
-            (
-                "hexRef8::setUnrefinement(const labelList&, polyTopoChange&)"
-            )   << "splitPoint " << pointI
+            FatalErrorInFunction
+                << "splitPoint " << pointI
                 << " should have 8 cells using it. It has " << pCells
                 << abort(FatalError);
         }
@@ -5769,7 +5692,7 @@ void Foam::hexRef8::setUnrefinement
 
                 if (region == -1)
                 {
-                    FatalErrorIn("hexRef8::setUnrefinement(..)")
+                    FatalErrorInFunction
                         << "Ininitial set of split points to unrefine does not"
                         << " seem to be consistent or not mid points"
                         << " of refined cells" << nl
@@ -5780,7 +5703,7 @@ void Foam::hexRef8::setUnrefinement
 
                 if (masterCellI != cellRegionMaster[region])
                 {
-                    FatalErrorIn("hexRef8::setUnrefinement(..)")
+                    FatalErrorInFunction
                         << "cell:" << cellI << " on splitPoint:" << pointI
                         << " in region " << region
                         << " has master:" << cellRegionMaster[region]
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/modifyObject/polyModifyFace.H b/src/dynamicMesh/polyTopoChange/polyTopoChange/modifyObject/polyModifyFace.H
index a4c6f284ab5..14f155a5c8a 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/modifyObject/polyModifyFace.H
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/modifyObject/polyModifyFace.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -130,21 +130,8 @@ public:
         {
             if (face_.size() < 3)
             {
-                FatalErrorIn
-                (
-                    "polyModifyFace::polyModifyFace\n"
-                    "(\n"
-                    "    const face& f,\n"
-                    "    const label faceID,\n"
-                    "    const label owner,\n"
-                    "    const label neighbour,\n"
-                    "    const bool flipFaceFlux,\n"
-                    "    const label patchID,\n"
-                    "    const bool removeFromZone,\n"
-                    "    const label zoneID,\n"
-                    "    const bool zoneFlip\n"
-                    ")"
-                )   << "Invalid face: less than 3 points. This is not allowed\n"
+                FatalErrorInFunction
+                    << "Invalid face: less than 3 points. This is not allowed\n"
                     << "Face: " << face_
                     << " faceID:" << faceID_
                     << " owner:" << owner_
@@ -154,21 +141,7 @@ public:
 
             if (min(face_) < 0)
             {
-                FatalErrorIn
-                (
-                    "polyModifyFace::polyModifyFace\n"
-                    "(\n"
-                    "    const face& f,\n"
-                    "    const label faceID,\n"
-                    "    const label owner,\n"
-                    "    const label neighbour,\n"
-                    "    const bool flipFaceFlux,\n"
-                    "    const label patchID,\n"
-                    "    const bool removeFromZone,\n"
-                    "    const label zoneID,\n"
-                    "    const bool zoneFlip\n"
-                    ")"
-                )   << "Face contains invalid vertex ID: " << face_ << ".  "
+                FatalErrorInFunction
                     << "This is not allowed.\n"
                     << " faceID:" << faceID_
                     << " owner:" << owner_
@@ -178,21 +151,7 @@ public:
 
             if (min(owner_, neighbour_) >= 0 && owner_ == neighbour_)
             {
-                FatalErrorIn
-                (
-                    "polyModifyFace::polyModifyFace\n"
-                    "(\n"
-                    "    const face& f,\n"
-                    "    const label faceID,\n"
-                    "    const label owner,\n"
-                    "    const label neighbour,\n"
-                    "    const bool flipFaceFlux,\n"
-                    "    const label patchID,\n"
-                    "    const bool removeFromZone,\n"
-                    "    const label zoneID,\n"
-                    "    const bool zoneFlip\n"
-                    ")"
-                )   << "Face owner and neighbour are identical.  "
+                FatalErrorInFunction
                     << "This is not allowed.\n"
                     << "Face: " << face_
                     << " faceID:" << faceID_
@@ -203,21 +162,7 @@ public:
 
             if (neighbour_ >= 0 && patchID_ >= 0)
             {
-                FatalErrorIn
-                (
-                    "polyModifyFace::polyModifyFace\n"
-                    "(\n"
-                    "    const face& f,\n"
-                    "    const label faceID,\n"
-                    "    const label owner,\n"
-                    "    const label neighbour,\n"
-                    "    const bool flipFaceFlux,\n"
-                    "    const label patchID,\n"
-                    "    const bool removeFromZone,\n"
-                    "    const label zoneID,\n"
-                    "    const bool zoneFlip\n"
-                    ")"
-                )   << "Patch face has got a neighbour  "
+                FatalErrorInFunction
                     << "This is not allowed.\n"
                     << "Face: " << face_
                     << " faceID:" << faceID_
@@ -229,21 +174,7 @@ public:
 
             if (zoneID_ < 0 && zoneFlip )
             {
-                FatalErrorIn
-                (
-                    "polyModifyFace::polyModifyFace\n"
-                    "(\n"
-                    "    const face& f,\n"
-                    "    const label faceID,\n"
-                    "    const label owner,\n"
-                    "    const label neighbour,\n"
-                    "    const bool flipFaceFlux,\n"
-                    "    const label patchID,\n"
-                    "    const bool removeFromZone,\n"
-                    "    const label zoneID,\n"
-                    "    const bool zoneFlip\n"
-                    ")"
-                )   << "Specified zone flip for a face that does not  "
+                FatalErrorInFunction
                     << "belong to zone.  This is not allowed.\n"
                     << "Face: " << face_
                     << " faceID:" << faceID_
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/pointEdgeCollapse/pointEdgeCollapseI.H b/src/dynamicMesh/polyTopoChange/polyTopoChange/pointEdgeCollapse/pointEdgeCollapseI.H
index 84a11d1cbe6..f97b9bcdbc9 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/pointEdgeCollapse/pointEdgeCollapseI.H
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/pointEdgeCollapse/pointEdgeCollapseI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -39,7 +39,7 @@ inline bool Foam::pointEdgeCollapse::update
 {
     if (!w2.valid(td))
     {
-        FatalErrorIn("pointEdgeCollapse::update(..)")
+        FatalErrorInFunction
             << "problem." << abort(FatalError);
     }
 
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C
index 97a4ddc11f2..85a167806d8 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -157,7 +157,7 @@ void Foam::polyTopoChange::countMap
         }
         else
         {
-            FatalErrorIn("countMap") << "old:" << oldCellI
+            FatalErrorInFunction
                 << " new:" << newCellI << abort(FatalError);
         }
     }
@@ -323,7 +323,7 @@ Foam::pointField Foam::polyTopoChange::facePoints(const face& f) const
     {
         if (f[fp] < 0 && f[fp] >= points_.size())
         {
-            FatalErrorIn("polyTopoChange::facePoints(const face&) const")
+            FatalErrorInFunction
                 << "Problem." << abort(FatalError);
         }
         points[fp] = points_[f[fp]];
@@ -350,11 +350,8 @@ void Foam::polyTopoChange::checkFace
         }
         else if (patchI == -1 || patchI >= nPatches_)
         {
-            FatalErrorIn
-            (
-                "polyTopoChange::checkFace(const face&, const label"
-                ", const label, const label, const label)"
-            )   << "Face has no neighbour (so external) but does not have"
+            FatalErrorInFunction
+                << "Face has no neighbour (so external) but does not have"
                 << " a valid patch" << nl
                 << "f:" << f
                 << " faceI(-1 if added face):" << faceI
@@ -373,11 +370,8 @@ void Foam::polyTopoChange::checkFace
     {
         if (patchI != -1)
         {
-            FatalErrorIn
-            (
-                "polyTopoChange::checkFace(const face&, const label"
-                ", const label, const label, const label)"
-            )   << "Cannot both have valid patchI and neighbour" << nl
+            FatalErrorInFunction
+                << "Cannot both have valid patchI and neighbour" << nl
                 << "f:" << f
                 << " faceI(-1 if added face):" << faceI
                 << " own:" << own << " nei:" << nei
@@ -393,11 +387,8 @@ void Foam::polyTopoChange::checkFace
 
         if (nei <= own)
         {
-            FatalErrorIn
-            (
-                "polyTopoChange::checkFace(const face&, const label"
-                ", const label, const label, const label)"
-            )   << "Owner cell label should be less than neighbour cell label"
+            FatalErrorInFunction
+                << "Owner cell label should be less than neighbour cell label"
                 << nl
                 << "f:" << f
                 << " faceI(-1 if added face):" << faceI
@@ -415,11 +406,8 @@ void Foam::polyTopoChange::checkFace
 
     if (f.size() < 3 || findIndex(f, -1) != -1)
     {
-        FatalErrorIn
-        (
-            "polyTopoChange::checkFace(const face&, const label"
-            ", const label, const label, const label)"
-        )   << "Illegal vertices in face"
+        FatalErrorInFunction
+            << "Illegal vertices in face"
             << nl
             << "f:" << f
             << " faceI(-1 if added face):" << faceI
@@ -435,11 +423,8 @@ void Foam::polyTopoChange::checkFace
     }
     if (faceI >= 0 && faceI < faces_.size() && faceRemoved(faceI))
     {
-        FatalErrorIn
-        (
-            "polyTopoChange::checkFace(const face&, const label"
-            ", const label, const label, const label)"
-        )   << "Face already marked for removal"
+        FatalErrorInFunction
+            << "Face already marked for removal"
             << nl
             << "f:" << f
             << " faceI(-1 if added face):" << faceI
@@ -457,11 +442,8 @@ void Foam::polyTopoChange::checkFace
     {
         if (f[fp] < points_.size() && pointRemoved(f[fp]))
         {
-            FatalErrorIn
-            (
-                "polyTopoChange::checkFace(const face&, const label"
-                ", const label, const label, const label)"
-            )   << "Face uses removed vertices"
+            FatalErrorInFunction
+                << "Face uses removed vertices"
                 << nl
                 << "f:" << f
                 << " faceI(-1 if added face):" << faceI
@@ -498,15 +480,8 @@ void Foam::polyTopoChange::makeCells
     {
         if (faceOwner_[faceI] < 0)
         {
-            FatalErrorIn
-            (
-                "polyTopoChange::makeCells\n"
-                "(\n"
-                "    const label,\n"
-                "    labelList&,\n"
-                "    labelList&\n"
-                ") const\n"
-            )   << "Face " << faceI << " is active but its owner has"
+            FatalErrorInFunction
+                << "Face " << faceI << " is active but its owner has"
                 << " been deleted. This is usually due to deleting cells"
                 << " without modifying exposed faces to be boundary faces."
                 << exit(FatalError);
@@ -866,12 +841,8 @@ void Foam::polyTopoChange::getFaceOrder
     {
         if (oldToNew[faceI] == -1)
         {
-            FatalErrorIn
-            (
-                "polyTopoChange::getFaceOrder"
-                "(const label, const labelList&, const labelList&)"
-                " const"
-            )   << "Did not determine new position"
+            FatalErrorInFunction
+                << "Did not determine new position"
                 << " for face " << faceI
                 << " owner " << faceOwner_[faceI]
                 << " neighbour " << faceNeighbour_[faceI]
@@ -1010,7 +981,7 @@ void Foam::polyTopoChange::compact
                              || retiredPoints_.found(pointI)
                             )
                             {
-                                FatalErrorIn("polyTopoChange::compact(..)")
+                                FatalErrorInFunction
                                     << "Removed or retired point " << pointI
                                     << " in face " << f
                                     << " at position " << faceI << endl
@@ -1062,7 +1033,7 @@ void Foam::polyTopoChange::compact
                              || retiredPoints_.found(pointI)
                             )
                             {
-                                FatalErrorIn("polyTopoChange::compact(..)")
+                                FatalErrorInFunction
                                     << "Removed or retired point " << pointI
                                     << " in face " << f
                                     << " at position " << faceI << endl
@@ -1077,7 +1048,7 @@ void Foam::polyTopoChange::compact
 
             if (newPointI != nInternalPoints)
             {
-                FatalErrorIn("polyTopoChange::compact(..)")
+                FatalErrorInFunction
                     << "Problem." << abort(FatalError);
             }
             newPointI = nActivePoints;
@@ -1116,7 +1087,7 @@ void Foam::polyTopoChange::compact
 
             if (!faceRemoved(faceI) && f.size() < 3)
             {
-                FatalErrorIn("polyTopoChange::compact(..)")
+                FatalErrorInFunction
                     << "Created illegal face " << f
                     //<< " from face " << oldF
                     << " at position:" << faceI
@@ -1620,11 +1591,8 @@ void Foam::polyTopoChange::resetZones
 
             if (zoneI < 0 || zoneI >= pointZones.size())
             {
-                FatalErrorIn
-                (
-                    "resetZones(const polyMesh&, polyMesh&, labelListList&"
-                    "labelListList&, labelListList&)"
-                )   << "Illegal zoneID " << zoneI << " for point "
+                FatalErrorInFunction
+                    << "Illegal zoneID " << zoneI << " for point "
                     << iter.key() << " coord " << mesh.points()[iter.key()]
                     << abort(FatalError);
             }
@@ -1707,11 +1675,8 @@ void Foam::polyTopoChange::resetZones
 
             if (zoneI < 0 || zoneI >= faceZones.size())
             {
-                FatalErrorIn
-                (
-                    "resetZones(const polyMesh&, polyMesh&, labelListList&"
-                    "labelListList&, labelListList&)"
-                )   << "Illegal zoneID " << zoneI << " for face "
+                FatalErrorInFunction
+                    << "Illegal zoneID " << zoneI << " for face "
                     << iter.key()
                     << abort(FatalError);
             }
@@ -1823,11 +1788,8 @@ void Foam::polyTopoChange::resetZones
 
             if (zoneI >= cellZones.size())
             {
-                FatalErrorIn
-                (
-                    "resetZones(const polyMesh&, polyMesh&, labelListList&"
-                    "labelListList&, labelListList&)"
-                )   << "Illegal zoneID " << zoneI << " for cell "
+                FatalErrorInFunction
+                    << "Illegal zoneID " << zoneI << " for cell "
                     << cellI << abort(FatalError);
             }
 
@@ -2097,7 +2059,7 @@ void Foam::polyTopoChange::compactAndReorder
 {
     if (mesh.boundaryMesh().size() != nPatches_)
     {
-        FatalErrorIn("polyTopoChange::compactAndReorder(..)")
+        FatalErrorInFunction
             << "polyTopoChange was constructed with a mesh with "
             << nPatches_ << " patches." << endl
             << "The mesh now provided has a different number of patches "
@@ -2395,13 +2357,8 @@ void Foam::polyTopoChange::addMesh
 
                 if (newZoneID[cellI] != -1)
                 {
-                    WarningIn
-                    (
-                        "polyTopoChange::addMesh"
-                        "(const polyMesh&, const labelList&,"
-                        "const labelList&, const labelList&,"
-                        "const labelList&)"
-                    )   << "Cell:" << cellI
+                    WarningInFunction
+                        << "Cell:" << cellI
                         << " centre:" << mesh.cellCentres()[cellI]
                         << " is in two zones:"
                         << cellZones[newZoneID[cellI]].name()
@@ -2491,11 +2448,8 @@ void Foam::polyTopoChange::addMesh
 
             if (pp.start() != faces_.size())
             {
-                FatalErrorIn
-                (
-                    "polyTopoChange::polyTopoChange"
-                    "(const polyMesh& mesh, const bool strict)"
-                )   << "Problem : "
+                FatalErrorInFunction
+                    << "Problem : "
                     << "Patch " << pp.name() << " starts at " << pp.start()
                     << endl
                     << "Current face counter at " << faces_.size() << endl
@@ -2676,10 +2630,8 @@ Foam::label Foam::polyTopoChange::setAction(const topoAction& action)
     }
     else
     {
-        FatalErrorIn
-        (
-            "label polyTopoChange::setAction(const topoAction& action)"
-        )   << "Unknown type of topoChange: " << action.type()
+        FatalErrorInFunction
+            << "Unknown type of topoChange: " << action.type()
             << abort(FatalError);
 
         // Dummy return to keep compiler happy
@@ -2726,19 +2678,15 @@ void Foam::polyTopoChange::modifyPoint
 {
     if (pointI < 0 || pointI >= points_.size())
     {
-        FatalErrorIn
-        (
-            "polyTopoChange::modifyPoint(const label, const point&)"
-        )   << "illegal point label " << pointI << endl
+        FatalErrorInFunction
+            << "illegal point label " << pointI << endl
             << "Valid point labels are 0 .. " << points_.size()-1
             << abort(FatalError);
     }
     if (pointRemoved(pointI) || pointMap_[pointI] == -1)
     {
-        FatalErrorIn
-        (
-            "polyTopoChange::modifyPoint(const label, const point&)"
-        )   << "point " << pointI << " already marked for removal"
+        FatalErrorInFunction
+            << "point " << pointI << " already marked for removal"
             << abort(FatalError);
     }
     points_[pointI] = pt;
@@ -2776,7 +2724,7 @@ void Foam::polyTopoChange::movePoints(const pointField& newPoints)
 {
     if (newPoints.size() != points_.size())
     {
-        FatalErrorIn("polyTopoChange::movePoints(const pointField&)")
+        FatalErrorInFunction
             << "illegal pointField size." << endl
             << "Size:" << newPoints.size() << endl
             << "Points in mesh:" << points_.size()
@@ -2798,7 +2746,7 @@ void Foam::polyTopoChange::removePoint
 {
     if (pointI < 0 || pointI >= points_.size())
     {
-        FatalErrorIn("polyTopoChange::removePoint(const label, const label)")
+        FatalErrorInFunction
             << "illegal point label " << pointI << endl
             << "Valid point labels are 0 .. " << points_.size()-1
             << abort(FatalError);
@@ -2810,7 +2758,7 @@ void Foam::polyTopoChange::removePoint
      && (pointRemoved(pointI) || pointMap_[pointI] == -1)
     )
     {
-        FatalErrorIn("polyTopoChange::removePoint(const label, const label)")
+        FatalErrorInFunction
             << "point " << pointI << " already marked for removal" << nl
             << "Point:" << points_[pointI] << " pointMap:" << pointMap_[pointI]
             << abort(FatalError);
@@ -2818,7 +2766,7 @@ void Foam::polyTopoChange::removePoint
 
     if (pointI == mergePointI)
     {
-        FatalErrorIn("polyTopoChange::removePoint(const label, const label)")
+        FatalErrorInFunction
             << "Cannot remove/merge point " << pointI << " onto itself."
             << abort(FatalError);
     }
@@ -2882,7 +2830,7 @@ Foam::label Foam::polyTopoChange::addFace
     else
     {
         // Allow inflate-from-nothing?
-        //FatalErrorIn("polyTopoChange::addFace")
+        //FatalErrorInFunction
         //    << "Need to specify a master point, edge or face"
         //    << "face:" << f << " own:" << own << " nei:" << nei
         //    << abort(FatalError);
@@ -2952,7 +2900,7 @@ void Foam::polyTopoChange::removeFace(const label faceI, const label mergeFaceI)
 {
     if (faceI < 0 || faceI >= faces_.size())
     {
-        FatalErrorIn("polyTopoChange::removeFace(const label, const label)")
+        FatalErrorInFunction
             << "illegal face label " << faceI << endl
             << "Valid face labels are 0 .. " << faces_.size()-1
             << abort(FatalError);
@@ -2964,7 +2912,7 @@ void Foam::polyTopoChange::removeFace(const label faceI, const label mergeFaceI)
      && (faceRemoved(faceI) || faceMap_[faceI] == -1)
     )
     {
-        FatalErrorIn("polyTopoChange::removeFace(const label, const label)")
+        FatalErrorInFunction
             << "face " << faceI
             << " already marked for removal"
             << abort(FatalError);
@@ -3042,7 +2990,7 @@ void Foam::polyTopoChange::removeCell(const label cellI, const label mergeCellI)
 {
     if (cellI < 0 || cellI >= cellMap_.size())
     {
-        FatalErrorIn("polyTopoChange::removeCell(const label, const label)")
+        FatalErrorInFunction
             << "illegal cell label " << cellI << endl
             << "Valid cell labels are 0 .. " << cellMap_.size()-1
             << abort(FatalError);
@@ -3050,7 +2998,7 @@ void Foam::polyTopoChange::removeCell(const label cellI, const label mergeCellI)
 
     if (strict_ && cellMap_[cellI] == -2)
     {
-        FatalErrorIn("polyTopoChange::removeCell(const label, const label)")
+        FatalErrorInFunction
             << "cell " << cellI
             << " already marked for removal"
             << abort(FatalError);
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementDataI.H b/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementDataI.H
index edf115b3a88..debb1ed094f 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementDataI.H
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementDataI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -119,7 +119,7 @@ inline bool Foam::refinementData::updateCell
 {
     if (!valid(td))
     {
-        FatalErrorIn("refinementData::updateCell") << "problem"
+        FatalErrorInFunction
             << abort(FatalError);
         return false;
     }
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementDistanceDataI.H b/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementDistanceDataI.H
index 28d24017751..954f3eb1eb3 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementDistanceDataI.H
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementDistanceDataI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -70,7 +70,7 @@ inline bool Foam::refinementDistanceData::update
     {
         if (!neighbourInfo.valid(td))
         {
-            FatalErrorIn("refinementDistanceData::update(..)")
+            FatalErrorInFunction
                 << "problem" << abort(FatalError);
         }
         operator=(neighbourInfo);
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementHistory.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementHistory.C
index 8e9e844cb5b..6e962bff62d 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementHistory.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementHistory.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -196,7 +196,7 @@ void Foam::refinementHistory::checkIndices() const
     {
         if (visibleCells_[i] < 0 && visibleCells_[i] >= splitCells_.size())
         {
-            FatalErrorIn("refinementHistory::checkIndices() const")
+            FatalErrorInFunction
                 << "Illegal entry " << visibleCells_[i]
                 << " in visibleCells at location" << i << nl
                 << "It points outside the range of splitCells : 0.."
@@ -269,7 +269,7 @@ void Foam::refinementHistory::freeSplitCell(const label index)
 
             if (myPos == -1)
             {
-                FatalErrorIn("refinementHistory::freeSplitCell")
+                FatalErrorInFunction
                     << "Problem: cannot find myself in"
                     << " parents' children" << abort(FatalError);
             }
@@ -334,10 +334,8 @@ Foam::refinementHistory::refinementHistory(const IOobject& io)
     // Temporary warning
     if (io.readOpt() == IOobject::MUST_READ_IF_MODIFIED)
     {
-        WarningIn
-        (
-            "refinementHistory::refinementHistory(const IOobject&)"
-        )   << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
+        WarningInFunction
+            << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
             << " does not support automatic rereading."
             << endl;
     }
@@ -380,11 +378,8 @@ Foam::refinementHistory::refinementHistory
     // Temporary warning
     if (io.readOpt() == IOobject::MUST_READ_IF_MODIFIED)
     {
-        WarningIn
-        (
-            "refinementHistory::refinementHistory"
-            "(const IOobject&, const List<splitCell8>&, const labelList&)"
-        )   << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
+        WarningInFunction
+            << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
             << " does not support automatic rereading."
             << endl;
     }
@@ -427,11 +422,8 @@ Foam::refinementHistory::refinementHistory
     // Temporary warning
     if (io.readOpt() == IOobject::MUST_READ_IF_MODIFIED)
     {
-        WarningIn
-        (
-            "refinementHistory::refinementHistory"
-            "(const IOobject&, const label)"
-        )   << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
+        WarningInFunction
+            << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
             << " does not support automatic rereading."
             << endl;
     }
@@ -555,10 +547,8 @@ void Foam::refinementHistory::updateMesh(const mapPolyMesh& map)
                 // Check not already set
                 if (splitCells_[index].addedCellsPtr_.valid())
                 {
-                    FatalErrorIn
-                    (
-                        "refinementHistory::updateMesh(const mapPolyMesh&)"
-                    )   << "Problem" << abort(FatalError);
+                    FatalErrorInFunction
+                        << "Problem" << abort(FatalError);
                 }
 
                 label newCellI = reverseCellMap[cellI];
@@ -604,11 +594,8 @@ void Foam::refinementHistory::subset
             // Check that cell is live (so its parent has no refinement)
             if (index >= 0 && splitCells_[index].addedCellsPtr_.valid())
             {
-                FatalErrorIn
-                (
-                    "refinementHistory::subset"
-                    "(const labelList&, const labelList&, const labelList&)"
-                )   << "Problem" << abort(FatalError);
+                FatalErrorInFunction
+                    << "Problem" << abort(FatalError);
             }
 
             newVisibleCells[cellI] = index;
@@ -673,10 +660,8 @@ void Foam::refinementHistory::distribute(const mapDistributePolyMesh& map)
 {
     if (!active())
     {
-        FatalErrorIn
-        (
-            "refinementHistory::distribute(const mapDistributePolyMesh&)"
-        )   << "Calling distribute on inactive history" << abort(FatalError);
+        FatalErrorInFunction
+            << "Calling distribute on inactive history" << abort(FatalError);
     }
 
 
@@ -953,7 +938,7 @@ void Foam::refinementHistory::compact()
 
             if (splitCells_[index].parent_ != -2)
             {
-                FatalErrorIn("refinementHistory::compact()")
+                FatalErrorInFunction
                     << "Problem index:" << index
                     << abort(FatalError);
             }
@@ -968,7 +953,7 @@ void Foam::refinementHistory::compact()
              && splitCells_[visibleCells_[cellI]].parent_ == -2
             )
             {
-                FatalErrorIn("refinementHistory::compact()")
+                FatalErrorInFunction
                     << "Problem : visible cell:" << cellI
                     << " is marked as being free." << abort(FatalError);
             }
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementHistory.H b/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementHistory.H
index 4d5d854b457..6eca2f6b30c 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementHistory.H
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementHistory.H
@@ -127,7 +127,7 @@ public:
             // Check for assignment to self
             if (this == &s)
             {
-                FatalErrorIn("splitCell8::operator=(const Foam::splitCell8&)")
+                FatalErrorInFunction
                     << "Attempted assignment to self"
                     << abort(FatalError);
             }
@@ -293,7 +293,7 @@ public:
 
             if (index < 0)
             {
-                FatalErrorIn("refinementHistory::parentIndex(const label)")
+                FatalErrorInFunction
                     << "Cell " << cellI << " is not visible"
                     << abort(FatalError);
             }
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/removeCells.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/removeCells.C
index bf5ad0acbe7..b828601178a 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/removeCells.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/removeCells.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -187,11 +187,8 @@ void Foam::removeCells::setRefinement
 
     if (exposedFaceLabels.size() != exposedPatchIDs.size())
     {
-        FatalErrorIn
-        (
-            "removeCells::setRefinement(const labelList&"
-            ", const labelList&, const labelList&, polyTopoChange&)"
-        )   << "Size of exposedFaceLabels " << exposedFaceLabels.size()
+        FatalErrorInFunction
+            << "Size of exposedFaceLabels " << exposedFaceLabels.size()
             << " differs from size of exposedPatchIDs "
             << exposedPatchIDs.size()
             << abort(FatalError);
@@ -206,11 +203,8 @@ void Foam::removeCells::setRefinement
 
         if (patchI < 0 || patchI >= patches.size())
         {
-            FatalErrorIn
-            (
-                "removeCells::setRefinement(const labelList&"
-                ", const labelList&, const labelList&, polyTopoChange&)"
-            )   << "Invalid patch " << patchI
+            FatalErrorInFunction
+                << "Invalid patch " << patchI
                 << " for exposed face " << exposedFaceLabels[i] << endl
                 << "Valid patches 0.." << patches.size()-1
                 << abort(FatalError);
@@ -218,11 +212,8 @@ void Foam::removeCells::setRefinement
 
         if (patches[patchI].coupled())
         {
-            FatalErrorIn
-            (
-                "removeCells::setRefinement(const labelList&"
-                ", const labelList&, const labelList&, polyTopoChange&)"
-            )   << "Trying to put exposed face " << exposedFaceLabels[i]
+            FatalErrorInFunction
+                << "Trying to put exposed face " << exposedFaceLabels[i]
                 << " into a coupled patch : " << patches[patchI].name()
                 << endl
                 << "This is illegal."
@@ -295,12 +286,8 @@ void Foam::removeCells::setRefinement
             {
                 if (newPatchID[faceI] == -1)
                 {
-                    FatalErrorIn
-                    (
-                        "removeCells::setRefinement(const labelList&"
-                        ", const labelList&, const labelList&"
-                        ", polyTopoChange&)"
-                    )   << "No patchID provided for exposed face " << faceI
+                    FatalErrorInFunction
+                        << "No patchID provided for exposed face " << faceI
                         << " on cell " << nei << nl
                         << "Did you provide patch IDs for all exposed faces?"
                         << abort(FatalError);
@@ -344,12 +331,8 @@ void Foam::removeCells::setRefinement
         {
             if (newPatchID[faceI] == -1)
             {
-                FatalErrorIn
-                (
-                    "removeCells::setRefinement(const labelList&"
-                    ", const labelList&, const labelList&"
-                    ", polyTopoChange&)"
-                )   << "No patchID provided for exposed face " << faceI
+                FatalErrorInFunction
+                    << "No patchID provided for exposed face " << faceI
                     << " on cell " << own << nl
                     << "Did you provide patch IDs for all exposed faces?"
                     << abort(FatalError);
@@ -450,12 +433,8 @@ void Foam::removeCells::setRefinement
             {
                 if (newPatchID[faceI] != -1)
                 {
-                    FatalErrorIn
-                    (
-                        "removeCells::setRefinement(const labelList&"
-                        ", const labelList&, const labelList&"
-                        ", polyTopoChange&)"
-                    )   << "new patchID provided for boundary face " << faceI
+                    FatalErrorInFunction
+                        << "new patchID provided for boundary face " << faceI
                         << " even though it is not on a coupled face."
                         << abort(FatalError);
                 }
@@ -491,12 +470,8 @@ void Foam::removeCells::setRefinement
         }
         else if (nFacesUsingPoint[pointI] == 1)
         {
-            WarningIn
-            (
-                "removeCells::setRefinement(const labelList&"
-                ", const labelList&, const labelList&"
-                ", polyTopoChange&)"
-            )   << "point " << pointI << " at coordinate "
+            WarningInFunction
+                << "point " << pointI << " at coordinate "
                 << mesh_.points()[pointI]
                 << " is only used by 1 face after removing cells."
                 << " This probably results in an illegal mesh."
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/removeFaces.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/removeFaces.C
index e639ec9db18..619c7fee527 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/removeFaces.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/removeFaces.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -257,7 +257,7 @@ void Foam::removeFaces::mergeFaces
     if (fp.edgeLoops().size() != 1)
     {
         writeOBJ(fp, mesh_.time().path()/"facesToBeMerged.obj");
-        FatalErrorIn("removeFaces::mergeFaces")
+        FatalErrorInFunction
             << "Cannot merge faces " << faceLabels
             << " into single face since outside vertices " << fp.edgeLoops()
             << " do not form single loop but form " << fp.edgeLoops().size()
@@ -311,7 +311,7 @@ void Foam::removeFaces::mergeFaces
     if (masterIndex == -1)
     {
         writeOBJ(fp, mesh_.time().path()/"facesToBeMerged.obj");
-        FatalErrorIn("removeFaces::mergeFaces")
+        FatalErrorInFunction
             << "Problem" << abort(FatalError);
     }
 
@@ -602,11 +602,8 @@ Foam::label Foam::removeFaces::compatibleRemoves
 
         if (!mesh_.isInternalFace(faceI))
         {
-            FatalErrorIn
-            (
-                "removeFaces::compatibleRemoves(const labelList&"
-                ", labelList&, labelList&, labelList&)"
-            )   << "Not internal face:" << faceI << abort(FatalError);
+            FatalErrorInFunction
+                << "Not internal face:" << faceI << abort(FatalError);
         }
 
 
@@ -706,11 +703,8 @@ Foam::label Foam::removeFaces::compatibleRemoves
 
                 if (cellI < regionMaster[r])
                 {
-                    FatalErrorIn
-                    (
-                        "removeFaces::compatibleRemoves(const labelList&"
-                        ", labelList&, labelList&, labelList&)"
-                    )   << "Not lowest numbered : cell:" << cellI
+                    FatalErrorInFunction
+                        << "Not lowest numbered : cell:" << cellI
                         << " region:" << r
                         << " regionmaster:" << regionMaster[r]
                         << abort(FatalError);
@@ -722,11 +716,8 @@ Foam::label Foam::removeFaces::compatibleRemoves
         {
             if (nCells[region] == 1)
             {
-                FatalErrorIn
-                (
-                    "removeFaces::compatibleRemoves(const labelList&"
-                    ", labelList&, labelList&, labelList&)"
-                )   << "Region " << region
+                FatalErrorInFunction
+                    << "Region " << region
                     << " has only " << nCells[region] << " cells in it"
                     << abort(FatalError);
             }
@@ -792,11 +783,8 @@ void Foam::removeFaces::setRefinement
 
         if (!mesh_.isInternalFace(faceI))
         {
-            FatalErrorIn
-            (
-                "removeFaces::setRefinement(const labelList&"
-                ", const labelList&, const labelList&, polyTopoChange&)"
-            )   << "Face to remove is not internal face:" << faceI
+            FatalErrorInFunction
+                << "Face to remove is not internal face:" << faceI
                 << abort(FatalError);
         }
 
@@ -878,7 +866,7 @@ void Foam::removeFaces::setRefinement
                 {
                     const edge& e = mesh_.edges()[edgeI];
 
-                    FatalErrorIn("removeFaces::setRefinement")
+                    FatalErrorInFunction
                         << "Problem : edge has too few face neighbours:"
                         << eFaces << endl
                         << "edge:" << edgeI
@@ -959,7 +947,7 @@ void Foam::removeFaces::setRefinement
                     if (patch0 != patch1)
                     {
                         // Different patches. Do not merge edge.
-                        WarningIn("removeFaces::setRefinement")
+                        WarningInFunction
                             << "not merging faces " << f0 << " and "
                             << f1 << " across patch boundary edge " << edgeI
                             << endl;
@@ -982,7 +970,7 @@ void Foam::removeFaces::setRefinement
                             < minCos_
                         )
                         {
-                            WarningIn("removeFaces::setRefinement")
+                            WarningInFunction
                                 << "not merging faces " << f0 << " and "
                                 << f1 << " across edge " << edgeI
                                 << endl;
@@ -998,7 +986,7 @@ void Foam::removeFaces::setRefinement
                     const edge& e = mesh_.edges()[edgeI];
 
                     // Only found one boundary face. Problem.
-                    FatalErrorIn("removeFaces::setRefinement")
+                    FatalErrorInFunction
                         << "Problem : edge would have one boundary face"
                         << " and one internal face using it." << endl
                         << "Your remove pattern is probably incorrect." << endl
@@ -1023,7 +1011,7 @@ void Foam::removeFaces::setRefinement
             {
                 const edge& e = mesh_.edges()[edgeI];
 
-                FatalErrorIn("removeFaces::setRefinement")
+                FatalErrorInFunction
                     << "Problem : edge would get 1 face using it only"
                     << " edge:" << edgeI
                     << " nFaces:" << nFacesPerEdge[edgeI]
@@ -1163,7 +1151,7 @@ void Foam::removeFaces::setRefinement
 
             if (nRegion < 1)
             {
-                FatalErrorIn("setRefinement") << "Problem" << abort(FatalError);
+                FatalErrorInFunction << "Problem" << abort(FatalError);
             }
             else if (nRegion == 1)
             {
@@ -1206,7 +1194,7 @@ void Foam::removeFaces::setRefinement
             {
                 if (nbrRegion != myRegion)
                 {
-                    FatalErrorIn("removeFaces::setRefinement")
+                    FatalErrorInFunction
                         << "Inconsistent face region across coupled patches."
                         << endl
                         << "This side has for faceI:" << faceI
@@ -1227,7 +1215,7 @@ void Foam::removeFaces::setRefinement
                 // Second visit of this region.
                 if (toNbrRegion[myRegion] != nbrRegion)
                 {
-                    FatalErrorIn("removeFaces::setRefinement")
+                    FatalErrorInFunction
                         << "Inconsistent face region across coupled patches."
                         << endl
                         << "This side has for faceI:" << faceI
@@ -1288,7 +1276,7 @@ void Foam::removeFaces::setRefinement
         {
             if (nEdgesPerPoint[pointI] == 1)
             {
-                FatalErrorIn("removeFaces::setRefinement")
+                FatalErrorInFunction
                     << "Problem : point would get 1 edge using it only."
                     << " pointI:" << pointI
                     << " coord:" << mesh_.points()[pointI]
@@ -1420,7 +1408,7 @@ void Foam::removeFaces::setRefinement
 
             if (rFaces.size() <= 1)
             {
-                FatalErrorIn("setRefinement")
+                FatalErrorInFunction
                     << "Region:" << regionI
                     << " contains only faces " << rFaces
                     << abort(FatalError);
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/removePoints.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/removePoints.C
index 1fb4e2452a4..154d0e442e8 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/removePoints.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/removePoints.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -462,7 +462,7 @@ void Foam::removePoints::setRefinement
 
                 if (meshPoints != keptPoints)
                 {
-                    FatalErrorIn("setRefinement")
+                    FatalErrorInFunction
                         << "faceI:" << savedFaceLabels_[saveI] << nl
                         << "meshPoints:" << meshPoints << nl
                         << "keptPoints:" << keptPoints << nl
@@ -486,10 +486,8 @@ void Foam::removePoints::updateMesh(const mapPolyMesh& map)
 
                 if (newFaceI == -1)
                 {
-                    FatalErrorIn
-                    (
-                        "removePoints::updateMesh(const mapPolyMesh&)"
-                    )   << "Old face " << savedFaceLabels_[localI]
+                    FatalErrorInFunction
+                        << "Old face " << savedFaceLabels_[localI]
                         << " seems to have dissapeared."
                         << abort(FatalError);
                 }
@@ -514,10 +512,8 @@ void Foam::removePoints::updateMesh(const mapPolyMesh& map)
 
                     if (f[fp] == -1)
                     {
-                        FatalErrorIn
-                        (
-                            "removePoints::updateMesh(const mapPolyMesh&)"
-                        )   << "Old point " << pointI
+                        FatalErrorInFunction
+                            << "Old point " << pointI
                             << " seems to have dissapeared."
                             << abort(FatalError);
                     }
@@ -556,7 +552,7 @@ void Foam::removePoints::updateMesh(const mapPolyMesh& map)
                     // face::operator== takes care of this)
                     if (keptFace != f)
                     {
-                        FatalErrorIn("setRefinement")
+                        FatalErrorInFunction
                             << "faceI:" << savedFaceLabels_[saveI] << nl
                             << "face:" << f << nl
                             << "keptFace:" << keptFace << nl
@@ -588,11 +584,8 @@ void Foam::removePoints::getUnrefimentSet
 {
     if (!undoable_)
     {
-        FatalErrorIn
-        (
-            "removePoints::getUnrefimentSet(const labelList&"
-            ", labelList&, labelList&) const"
-        )   << "removePoints not constructed with"
+        FatalErrorInFunction
+            << "removePoints not constructed with"
             << " unrefinement capability."
             << abort(FatalError);
     }
@@ -606,11 +599,8 @@ void Foam::removePoints::getUnrefimentSet
         undoFacesSet.sync(mesh_);
         if (sz != undoFacesSet.size())
         {
-            FatalErrorIn
-            (
-                "removePoints::getUnrefimentSet(const labelList&"
-                ", labelList&, labelList&) const"
-            )   << "undoFaces not synchronised across coupled faces." << endl
+            FatalErrorInFunction
+                << "undoFaces not synchronised across coupled faces." << endl
                 << "Size before sync:" << sz
                 << "  after sync:" << undoFacesSet.size()
                 << abort(FatalError);
@@ -640,11 +630,8 @@ void Foam::removePoints::getUnrefimentSet
         {
             if (savedFaceLabels_[saveI] < 0)
             {
-                FatalErrorIn
-                (
-                    "removePoints::getUnrefimentSet(const labelList&"
-                    ", labelList&, labelList&) const"
-                )   << "Illegal face label " << savedFaceLabels_[saveI]
+                FatalErrorInFunction
+                    << "Illegal face label " << savedFaceLabels_[saveI]
                     << " at index " << saveI
                     << abort(FatalError);
             }
@@ -661,12 +648,8 @@ void Foam::removePoints::getUnrefimentSet
 
                         if (savedPoints_[savedPointI] == vector::max)
                         {
-                            FatalErrorIn
-                            (
-                                "removePoints::getUnrefimentSet"
-                                "(const labelList&, labelList&, labelList&)"
-                                " const"
-                            )   << "Trying to restore point " << savedPointI
+                            FatalErrorInFunction
+                                << "Trying to restore point " << savedPointI
                                 << " from mesh face " << savedFaceLabels_[saveI]
                                 << " saved face:" << savedFace
                                 << " which has already been undone."
@@ -746,12 +729,8 @@ void Foam::removePoints::getUnrefimentSet
                     {
                         if (savedFace[fp] >= 0)
                         {
-                            FatalErrorIn
-                            (
-                                "removePoints::getUnrefimentSet"
-                                "(const labelList&, labelList&, labelList&)"
-                                " const"
-                            )   << "Problem: on coupled face:"
+                            FatalErrorInFunction
+                                << "Problem: on coupled face:"
                                 << savedFaceLabels_[saveI]
                                 << " fc:"
                                 << mesh_.faceCentres()[savedFaceLabels_[saveI]]
@@ -817,11 +796,8 @@ void Foam::removePoints::setUnrefinement
 {
     if (!undoable_)
     {
-        FatalErrorIn
-        (
-            "removePoints::setUnrefinement(const labelList&"
-            ", labelList&, polyTopoChange&)"
-        )   << "removePoints not constructed with"
+        FatalErrorInFunction
+            << "removePoints not constructed with"
             << " unrefinement capability."
             << abort(FatalError);
     }
@@ -836,11 +812,8 @@ void Foam::removePoints::setUnrefinement
 
         if (savedPoints_[localI] == vector::max)
         {
-            FatalErrorIn
-            (
-                "removePoints::setUnrefinement(const labelList&"
-                ", labelList&, polyTopoChange&)"
-            )   << "Saved point " << localI << " already restored!"
+            FatalErrorInFunction
+                << "Saved point " << localI << " already restored!"
                 << abort(FatalError);
         }
 
@@ -941,7 +914,7 @@ void Foam::removePoints::setUnrefinement
 
                     if (addedPointI != -1)
                     {
-                        FatalErrorIn("setUnrefinement")
+                        FatalErrorInFunction
                             << "Face:" << savedFaceLabels_[saveI]
                             << " savedVerts:" << savedFace
                             << " uses restored point:" << -savedFace[fp]-1
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/tetDecomposer.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/tetDecomposer.C
index 57023168bdc..0f65c7889e6 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/tetDecomposer.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/tetDecomposer.C
@@ -606,7 +606,7 @@ void Foam::tetDecomposer::setRefinement
                     }
                     else
                     {
-                        FatalErrorIn("tetDecomposer::setRefinement(..)")
+                        FatalErrorInFunction
                             << "problem." << abort(FatalError);
                     }
 
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChanger/polyTopoChanger.C b/src/dynamicMesh/polyTopoChange/polyTopoChanger/polyTopoChanger.C
index 2c7a064b299..05f06958d52 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChanger/polyTopoChanger.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChanger/polyTopoChanger.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -49,7 +49,7 @@ void Foam::polyTopoChanger::readModifiers()
     {
         if (readOpt() == IOobject::MUST_READ_IF_MODIFIED)
         {
-            WarningIn("polyTopoChanger::readModifiers()")
+            WarningInFunction
                 << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
                 << " does not support automatic re-reading."
                 << endl;
@@ -299,13 +299,8 @@ void Foam::polyTopoChanger::addTopologyModifiers
     {
         if (tm[tmI]->topoChanger() != *this)
         {
-            FatalErrorIn
-            (
-                "void polyTopoChanger::addTopologyModifiers"
-                "("
-                    "const List<polyMeshModifier*>&"
-                ")"
-            )   << "Mesh modifier created with different mesh reference."
+            FatalErrorInFunction
+                << "Mesh modifier created with different mesh reference."
                 << abort(FatalError);
         }
         set(tmI, tm[tmI]);
@@ -333,8 +328,7 @@ Foam::label Foam::polyTopoChanger::findModifierID
     // Modifier not found
     if (debug)
     {
-        WarningIn("label polyTopoChanger::findModifierID(const word&) const")
-            << "Modifier named " << modName << " not found.  "
+        WarningInFunction
             << "List of available modifier names: " << names() << endl;
     }
 
diff --git a/src/dynamicMesh/polyTopoChange/repatchPolyTopoChanger/repatchPolyTopoChanger.C b/src/dynamicMesh/polyTopoChange/repatchPolyTopoChanger/repatchPolyTopoChanger.C
index 88d94e73b14..4c1e0855c6b 100644
--- a/src/dynamicMesh/polyTopoChange/repatchPolyTopoChanger/repatchPolyTopoChanger.C
+++ b/src/dynamicMesh/polyTopoChange/repatchPolyTopoChanger/repatchPolyTopoChanger.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -65,10 +65,8 @@ void Foam::repatchPolyTopoChanger::changePatches
 {
     if (meshModPtr_.valid())
     {
-        FatalErrorIn
-        (
-            "repatchPolyTopoChanger::changePatches(const List<polyPatch*>&)"
-        )   << "Cannot change patches after having changed faces. " << nl
+        FatalErrorInFunction
+            << "Cannot change patches after having changed faces. " << nl
             << "Please call changePatches first."
             << exit(FatalError);
     }
@@ -94,14 +92,7 @@ void Foam::repatchPolyTopoChanger::changePatchID
          || mesh_.isInternalFace(faceID)
         )
         {
-            FatalErrorIn
-            (
-                "void Foam::repatchPolyTopoChanger::changePatchID\n"
-                "(\n"
-                "    const label faceID,\n"
-                "    const label patchID\n"
-                ")\n"
-            )   << "Error in definition.  faceID: " << faceID
+            FatalErrorInFunction
                 << " patchID: " << patchID << ".  "
                 << "Labels out of range or internal face."
                 << abort(FatalError);
@@ -149,15 +140,7 @@ void Foam::repatchPolyTopoChanger::setFaceZone
         // Check that the request is possible
         if (faceID > mesh_.faces().size())
         {
-            FatalErrorIn
-            (
-                "void Foam::repatchPolyTopoChanger::setFaceZone"
-                "(\n"
-                "    const label faceID,\n"
-                "    const label zoneID,\n"
-                "    const bool flip\n"
-                ")\n"
-            )   << "Error in definition.  faceID: " << faceID
+            FatalErrorInFunction
                 << "out of range."
                 << abort(FatalError);
         }
@@ -192,15 +175,7 @@ void Foam::repatchPolyTopoChanger::changeAnchorPoint
         // Check that the request is possible
         if (faceID > mesh_.faces().size())
         {
-            FatalErrorIn
-            (
-                "void Foam::repatchPolyTopoChanger::setFaceZone"
-                "(\n"
-                "    const label faceID,\n"
-                "    const label zoneID,\n"
-                "    const bool flip\n"
-                ")\n"
-            )   << "Error in definition.  faceID: " << faceID
+            FatalErrorInFunction
                 << "out of range."
                 << abort(FatalError);
         }
@@ -210,14 +185,8 @@ void Foam::repatchPolyTopoChanger::changeAnchorPoint
 
     if ((fp < 0) || (fp >= f.size()))
     {
-        FatalErrorIn
-        (
-            "void Foam::repatchPolyTopoChanger::changeAnchorPoint"
-            "(\n"
-            "    const label faceID,\n"
-            "    const label fp\n"
-            ")\n"
-        )   << "Error in definition.  Face point: " << fp
+        FatalErrorInFunction
+            << "Error in definition.  Face point: " << fp
             << "indexes out of face " << f
             << abort(FatalError);
     }
diff --git a/src/dynamicMesh/slidingInterface/coupleSlidingInterface.C b/src/dynamicMesh/slidingInterface/coupleSlidingInterface.C
index 12acbb115af..6138a7785b9 100644
--- a/src/dynamicMesh/slidingInterface/coupleSlidingInterface.C
+++ b/src/dynamicMesh/slidingInterface/coupleSlidingInterface.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -125,11 +125,8 @@ void Foam::slidingInterface::coupleInterface(polyTopoChange& ref) const
         )
     )
     {
-        FatalErrorIn
-        (
-            "void slidingInterface::coupleInterface("
-            "polyTopoChange& ref) const"
-        )   << "Point projection addressing not available."
+        FatalErrorInFunction
+            << "Point projection addressing not available."
             << abort(FatalError);
     }
 
@@ -398,11 +395,8 @@ void Foam::slidingInterface::coupleInterface(polyTopoChange& ref) const
 
     if (!cutPointEdgePairMapPtr_)
     {
-        FatalErrorIn
-        (
-            "void slidingInterface::coupleInterface("
-            "polyTopoChange& ref) const"
-        )   << "Cut point edge pair map pointer not set."
+        FatalErrorInFunction
+            << "Cut point edge pair map pointer not set."
             << abort(FatalError);
     }
 
@@ -1045,11 +1039,8 @@ void Foam::slidingInterface::coupleInterface(polyTopoChange& ref) const
         }
         else
         {
-            FatalErrorIn
-            (
-                "void slidingInterface::coupleInterface("
-                "polyTopoChange& ref) const"
-            )   << "Face " << faceI << " in cut faces has neither a master "
+            FatalErrorInFunction
+                << "Face " << faceI << " in cut faces has neither a master "
                 << "nor a slave.  Error in the cutting algorithm on modify."
                 << abort(FatalError);
         }
@@ -1173,11 +1164,8 @@ void Foam::slidingInterface::coupleInterface(polyTopoChange& ref) const
             }
             else
             {
-                FatalErrorIn
-                (
-                    "void slidingInterface::coupleInterface("
-                    "polyTopoChange& ref) const"
-                )   << "Face " << faceI << " in cut faces has neither a master "
+                FatalErrorInFunction
+                    << "Face " << faceI << " in cut faces has neither a master "
                     << "nor a slave.  Error in the cutting algorithm on add."
                     << abort(FatalError);
             }
@@ -1414,12 +1402,8 @@ void Foam::slidingInterface::coupleInterface(polyTopoChange& ref) const
                                      || max(edgePointWeights) > 1
                                     )
                                     {
-                                        FatalErrorIn
-                                        (
-                                            "void slidingInterface::"
-                                            "coupleInterface("
-                                            "polyTopoChange& ref) const"
-                                        )   << "Error in master stick-out edge "
+                                        FatalErrorInFunction
+                                            << "Error in master stick-out edge "
                                             << "point collection."
                                             << abort(FatalError);
                                     }
@@ -1474,11 +1458,8 @@ void Foam::slidingInterface::coupleInterface(polyTopoChange& ref) const
         {
             if (newFaceLabels.size() < 3)
             {
-                FatalErrorIn
-                (
-                    "void slidingInterface::coupleInterface("
-                    "polyTopoChange& ref) const"
-                )   << "Face " << curFaceID << " reduced to less than "
+                FatalErrorInFunction
+                    << "Face " << curFaceID << " reduced to less than "
                     << "3 points.  Topological/cutting error A." << nl
                     << "Old face: " << oldFace << " new face: " << newFaceLabels
                     << abort(FatalError);
@@ -1728,12 +1709,8 @@ void Foam::slidingInterface::coupleInterface(polyTopoChange& ref) const
                                      || max(edgePointWeights) > 1
                                     )
                                     {
-                                        FatalErrorIn
-                                        (
-                                            "void slidingInterface::"
-                                            "coupleInterface("
-                                            "polyTopoChange& ref) const"
-                                        )   << "Error in slave stick-out edge "
+                                        FatalErrorInFunction
+                                            << "Error in slave stick-out edge "
                                             << "point collection."
                                             << abort(FatalError);
                                         }
@@ -1788,11 +1765,8 @@ void Foam::slidingInterface::coupleInterface(polyTopoChange& ref) const
         {
             if (newFaceLabels.size() < 3)
             {
-                FatalErrorIn
-                (
-                    "void slidingInterface::coupleInterface("
-                    "polyTopoChange& ref) const"
-                )   << "Face " << curFaceID << " reduced to less than "
+                FatalErrorInFunction
+                    << "Face " << curFaceID << " reduced to less than "
                     << "3 points.  Topological/cutting error B." << nl
                     << "Old face: " << oldFace << " new face: " << newFaceLabels
                     << abort(FatalError);
@@ -1866,11 +1840,8 @@ void Foam::slidingInterface::coupleInterface(polyTopoChange& ref) const
 
     if (!retiredPointMapPtr_)
     {
-        FatalErrorIn
-        (
-            "void slidingInterface::coupleInterface("
-            "polyTopoChange& ref) const"
-        )   << "Retired point map pointer not set."
+        FatalErrorInFunction
+            << "Retired point map pointer not set."
             << abort(FatalError);
     }
 
diff --git a/src/dynamicMesh/slidingInterface/decoupleSlidingInterface.C b/src/dynamicMesh/slidingInterface/decoupleSlidingInterface.C
index ef3fd455c7b..43c3e5692ad 100644
--- a/src/dynamicMesh/slidingInterface/decoupleSlidingInterface.C
+++ b/src/dynamicMesh/slidingInterface/decoupleSlidingInterface.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -211,11 +211,8 @@ void Foam::slidingInterface::decoupleInterface
         {
             if (newFaceLabels.size() < 3)
             {
-                FatalErrorIn
-                (
-                    "void slidingInterface::decoupleInterface("
-                    "polyTopoChange& ref) const"
-                )   << "Face " << curFaceID << " reduced to less than "
+                FatalErrorInFunction
+                    << "Face " << curFaceID << " reduced to less than "
                     << "3 points.  Topological/cutting error." << nl
                     << "Old face: " << oldFace << " new face: " << newFaceLabels
                     << abort(FatalError);
@@ -341,11 +338,8 @@ void Foam::slidingInterface::decoupleInterface
         {
             if (newFaceLabels.size() < 3)
             {
-                FatalErrorIn
-                (
-                    "void slidingInterface::decoupleInterface("
-                    "polyTopoChange& ref) const"
-                )   << "Face " << curFaceID << " reduced to less than "
+                FatalErrorInFunction
+                    << "Face " << curFaceID << " reduced to less than "
                     << "3 points.  Topological/cutting error." << nl
                     << "Old face: " << oldFace << " new face: " << newFaceLabels
                     << abort(FatalError);
diff --git a/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatch.C b/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatch.C
index d7f6e830271..7afcb62ae7e 100644
--- a/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatch.C
+++ b/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatch.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -42,7 +42,7 @@ void Foam::enrichedPatch::calcMeshPoints() const
 {
     if (meshPointsPtr_)
     {
-        FatalErrorIn("void enrichedPatch::calcMeshPoints() const")
+        FatalErrorInFunction
             << "Mesh points already calculated."
             << abort(FatalError);
     }
@@ -58,7 +58,7 @@ void Foam::enrichedPatch::calcLocalFaces() const
 {
     if (localFacesPtr_)
     {
-        FatalErrorIn("void enrichedPatch::calcLocalFaces() const")
+        FatalErrorInFunction
             << "Local faces already calculated."
             << abort(FatalError);
     }
@@ -98,7 +98,7 @@ void Foam::enrichedPatch::calcLocalPoints() const
 {
     if (localPointsPtr_)
     {
-        FatalErrorIn("void enrichedPatch::calcLocalPoints() const")
+        FatalErrorInFunction
             << "Local points already calculated."
             << abort(FatalError);
     }
@@ -233,7 +233,7 @@ bool Foam::enrichedPatch::checkSupport() const
         {
             if (!pointMap().found(curFace[pointI]))
             {
-                WarningIn("void enrichedPatch::checkSupport()")
+                WarningInFunction
                     << "Point " << pointI << " of face " << faceI
                     << " global point index: " << curFace[pointI]
                     << " not supported in point map.  This is not allowed."
diff --git a/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchCutFaces.C b/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchCutFaces.C
index 6100e9bd306..26450d01f42 100644
--- a/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchCutFaces.C
+++ b/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchCutFaces.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -51,7 +51,7 @@ void Foam::enrichedPatch::calcCutFaces() const
 {
     if (cutFacesPtr_ || cutFaceMasterPtr_ || cutFaceSlavePtr_)
     {
-        FatalErrorIn("void enrichedPatch::calcCutFaces() const")
+        FatalErrorInFunction
             << "Cut faces addressing already calculated."
             << abort(FatalError);
     }
@@ -256,11 +256,7 @@ void Foam::enrichedPatch::calcCutFaces() const
 
                         if (magNewDir < SMALL)
                         {
-                            FatalErrorIn
-                            (
-                                "void enrichedPatch::"
-                                "calcCutFaces() const"
-                            )   << "Zero length edge detected.  Probable "
+                            FatalErrorInFunction
                                 << "projection error: slave patch probably "
                                 << "does not project onto master.  "
                                 << "Please switch on "
@@ -617,11 +613,8 @@ void Foam::enrichedPatch::calcCutFaces() const
                                             [faceI - slavePatch_.size()];
                                     }
 
-                                    FatalErrorIn
-                                    (
-                                        "void enrichedPatch::"
-                                        "calcCutFaces() const"
-                                    )   << "Duplicate point found in cut face. "
+                                    FatalErrorInFunction
+                                        << "Duplicate point found in cut face. "
                                         << "Error in the face cutting "
                                         << "algorithm for global face "
                                         << origFace << " local face "
diff --git a/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchFaces.C b/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchFaces.C
index 4cfb53d4c5d..21291aacf14 100644
--- a/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchFaces.C
+++ b/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchFaces.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -42,15 +42,8 @@ void Foam::enrichedPatch::calcEnrichedFaces
 {
     if (enrichedFacesPtr_)
     {
-        FatalErrorIn
-        (
-            "void enrichedPatch::calcEnrichedFaces\n"
-            "(\n"
-            "    const labelListList& pointsIntoMasterEdges,\n"
-            "    const labelListList& pointsIntoSlaveEdges,\n"
-            "    const pointField& projectedSlavePoints\n"
-            ")"
-        )   << "Enriched faces already calculated."
+        FatalErrorInFunction
+            << "Enriched faces already calculated."
             << abort(FatalError);
     }
 
@@ -155,15 +148,8 @@ void Foam::enrichedPatch::calcEnrichedFaces
                 }
                 else
                 {
-                    FatalErrorIn
-                    (
-                        "void enrichedPatch::calcEnrichedFaces\n"
-                        "(\n"
-                        "    const labelListList& pointsIntoMasterEdges,\n"
-                        "    const labelListList& pointsIntoSlaveEdges,\n"
-                        "    const pointField& projectedSlavePoints\n"
-                        ")"
-                    )   << "Zero length edge in slave patch for face " << i
+                    FatalErrorInFunction
+                        << "Zero length edge in slave patch for face " << i
                         << ".  This is not allowed."
                         << abort(FatalError);
                 }
@@ -184,15 +170,7 @@ void Foam::enrichedPatch::calcEnrichedFaces
                     // Check weights: all new points should be on the edge
                     if (min(edgePointWeights) < 0 || max(edgePointWeights) > 1)
                     {
-                        FatalErrorIn
-                        (
-                            "void enrichedPatch::calcEnrichedFaces\n"
-                            "(\n"
-                            "    const labelListList& pointsIntoMasterEdges,\n"
-                            "    const labelListList& pointsIntoSlaveEdges,\n"
-                            "    const pointField& projectedSlavePoints\n"
-                            ")"
-                        )   << "Invalid point edge weights.  Some of points are"
+                        FatalErrorInFunction
                             << " not on the edge for edge " << curEdges[i]
                             << " of face " << faceI << " in slave patch." << nl
                             << "Min weight: " << min(edgePointWeights)
@@ -306,15 +284,8 @@ void Foam::enrichedPatch::calcEnrichedFaces
                 }
                 else
                 {
-                    FatalErrorIn
-                    (
-                        "void enrichedPatch::calcEnrichedFaces\n"
-                        "(\n"
-                        "    const labelListList& pointsIntoMasterEdges,\n"
-                        "    const labelListList& pointsIntoSlaveEdges,\n"
-                        "    const pointField& projectedSlavePoints\n"
-                        ")"
-                    )   << "Zero length edge in master patch for face " << i
+                    FatalErrorInFunction
+                        << "Zero length edge in master patch for face " << i
                         << ".  This is not allowed."
                         << abort(FatalError);
                 }
@@ -335,15 +306,7 @@ void Foam::enrichedPatch::calcEnrichedFaces
                     // Check weights: all new points should be on the edge
                     if (min(edgePointWeights) < 0 || max(edgePointWeights) > 1)
                     {
-                        FatalErrorIn
-                        (
-                            "void enrichedPatch::calcEnrichedFaces\n"
-                            "(\n"
-                            "    const labelListList& pointsIntoMasterEdges,\n"
-                            "    const labelListList& pointsIntoSlaveEdges,\n"
-                            "    const pointField& projectedSlavePoints\n"
-                            ")"
-                        )   << "Invalid point edge weights.  Some of points are"
+                        FatalErrorInFunction
                             << " not on the edge for edge " << curEdges[i]
                             << " of face " << faceI << " in master patch." << nl
                             << "Min weight: " << min(edgePointWeights)
@@ -403,15 +366,8 @@ void Foam::enrichedPatch::calcEnrichedFaces
         }
         else
         {
-            FatalErrorIn
-            (
-                "void enrichedPatch::calcEnrichedFaces\n"
-                "(\n"
-                "    const labelListList& pointsIntoMasterEdges,\n"
-                "    const labelListList& pointsIntoSlaveEdges,\n"
-                "    const pointField& projectedSlavePoints\n"
-                ")"
-            )   << "Error in enriched patch support"
+            FatalErrorInFunction
+                << "Error in enriched patch support"
                 << abort(FatalError);
         }
     }
@@ -424,8 +380,7 @@ const Foam::faceList& Foam::enrichedPatch::enrichedFaces() const
 {
     if (!enrichedFacesPtr_)
     {
-        FatalErrorIn("const faceList& enrichedPatch::enrichedFaces() const")
-            << "Enriched faces not available yet.  Please use "
+        FatalErrorInFunction
             << "void enrichedPatch::calcEnrichedFaces\n"
             << "(\n"
             << "    const labelListList& pointsIntoMasterEdges,\n"
diff --git a/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchMasterPoints.C b/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchMasterPoints.C
index 07ad50dc74a..6ca52144199 100644
--- a/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchMasterPoints.C
+++ b/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchMasterPoints.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -38,7 +38,7 @@ void Foam::enrichedPatch::calcMasterPointFaces() const
 {
     if (masterPointFacesPtr_)
     {
-        FatalErrorIn("void enrichedPatch::calcMasterPointFaces() const")
+        FatalErrorInFunction
             << "Master point face addressing already calculated."
             << abort(FatalError);
     }
diff --git a/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchPointMap.C b/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchPointMap.C
index 27f2ef4e527..a0f0ca0f9dc 100644
--- a/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchPointMap.C
+++ b/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchPointMap.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -31,7 +31,7 @@ void Foam::enrichedPatch::completePointMap() const
 {
     if (pointMapComplete_)
     {
-        FatalErrorIn("void enrichedPatch::completePointMap() const")
+        FatalErrorInFunction
             << "Point map already completed"
             << abort(FatalError);
     }
diff --git a/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchPointPoints.C b/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchPointPoints.C
index e726ab95b73..f2fd9e3aacc 100644
--- a/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchPointPoints.C
+++ b/src/dynamicMesh/slidingInterface/enrichedPatch/enrichedPatchPointPoints.C
@@ -37,7 +37,7 @@ void Foam::enrichedPatch::calcPointPoints() const
     // Calculate point-point addressing
     if (pointPointsPtr_)
     {
-        FatalErrorIn("void enrichedPatch::calcPointPoints() const")
+        FatalErrorInFunction
             << "Point-point addressing already calculated."
             << abort(FatalError);
     }
diff --git a/src/dynamicMesh/slidingInterface/slidingInterface.C b/src/dynamicMesh/slidingInterface/slidingInterface.C
index cccfbda5d66..79d1faa8912 100644
--- a/src/dynamicMesh/slidingInterface/slidingInterface.C
+++ b/src/dynamicMesh/slidingInterface/slidingInterface.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -79,10 +79,8 @@ void Foam::slidingInterface::checkDefinition()
      || !slavePatchID_.active()
     )
     {
-        FatalErrorIn
-        (
-            "void slidingInterface::checkDefinition()"
-        )   << "Not all zones and patches needed in the definition "
+        FatalErrorInFunction
+            << "Not all zones and patches needed in the definition "
             << "have been found.  Please check your mesh definition."
             << abort(FatalError);
     }
@@ -94,8 +92,7 @@ void Foam::slidingInterface::checkDefinition()
      || mesh.faceZones()[slaveFaceZoneID_.index()].empty()
     )
     {
-        FatalErrorIn("void slidingInterface::checkDefinition()")
-            << "Master or slave face zone contain no faces.  "
+        FatalErrorInFunction
             << "Please check your mesh definition."
             << abort(FatalError);
     }
@@ -199,23 +196,8 @@ Foam::slidingInterface::slidingInterface
 
     if (attached_)
     {
-        FatalErrorIn
-        (
-            "Foam::slidingInterface::slidingInterface\n"
-            "(\n"
-            "    const word& name,\n"
-            "    const label index,\n"
-            "    const polyTopoChanger& mme,\n"
-            "    const word& masterFaceZoneName,\n"
-            "    const word& slaveFaceZoneName,\n"
-            "    const word& cutFaceZoneName,\n"
-            "    const word& cutPointZoneName,\n"
-            "    const word& masterPatchName,\n"
-            "    const word& slavePatchName,\n"
-            "    const typeOfMatch tom,\n"
-            "    const bool coupleDecouple\n"
-            ")"
-        )   << "Creation of a sliding interface from components "
+        FatalErrorInFunction
+            << "Creation of a sliding interface from components "
             << "in attached state not supported."
             << abort(FatalError);
     }
@@ -644,11 +626,8 @@ void Foam::slidingInterface::modifyMotionPoints(pointField& motionPoints) const
                 }
                 else
                 {
-                    FatalErrorIn
-                    (
-                        "void slidingInterface::modifyMotionPoints"
-                        "(pointField&) const"
-                    )   << "Cut point " << cutPoints[pointI]
+                    FatalErrorInFunction
+                        << "Cut point " << cutPoints[pointI]
                         << " not recognised as either the projected "
                         << "or as intersection point.  Error in point "
                         << "projection or data mapping"
diff --git a/src/dynamicMesh/slidingInterface/slidingInterfaceAttachedAddressing.C b/src/dynamicMesh/slidingInterface/slidingInterfaceAttachedAddressing.C
index 305bc68d58a..e30f099746b 100644
--- a/src/dynamicMesh/slidingInterface/slidingInterfaceAttachedAddressing.C
+++ b/src/dynamicMesh/slidingInterface/slidingInterfaceAttachedAddressing.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -132,11 +132,7 @@ void Foam::slidingInterface::calcAttachedAddressing() const
                 }
             }
 
-            FatalErrorIn
-            (
-                "void slidingInterface::calcAttachedAddressing()"
-                "const"
-            )   << "Error is zone face-cell addressing.  Probable error in "
+            FatalErrorInFunction
                 << "decoupled mesh or sliding interface definition."
                 << abort(FatalError);
         }
@@ -221,10 +217,7 @@ void Foam::slidingInterface::calcAttachedAddressing() const
     }
     else
     {
-        FatalErrorIn
-        (
-            "void slidingInterface::calcAttachedAddressing() const"
-        )   << "The interface is attached.  The zone face-cell addressing "
+        FatalErrorInFunction
             << "cannot be assembled for object " << name()
             << abort(FatalError);
     }
@@ -304,11 +297,8 @@ void Foam::slidingInterface::renumberAttachedAddressing
         // Check if all the mapped cells are live
         if (min(newMfc) < 0 || min(newSfc) < 0)
         {
-            FatalErrorIn
-            (
-                "void slidingInterface::renumberAttachedAddressing("
-                "const mapPolyMesh& m) const"
-            )   << "Error in cell renumbering for object " << name()
+            FatalErrorInFunction
+                << "Error in cell renumbering for object " << name()
                 << ".  Some of master cells next "
                 << "to the interface have been removed."
                 << abort(FatalError);
@@ -356,11 +346,8 @@ void Foam::slidingInterface::renumberAttachedAddressing
         // Check if all the mapped cells are live
         if (min(newMsof) < 0 || min(newSsof) < 0)
         {
-            FatalErrorIn
-            (
-                "void slidingInterface::renumberAttachedAddressing("
-                "const mapPolyMesh& m) const"
-            )   << "Error in face renumbering for object " << name()
+            FatalErrorInFunction
+                << "Error in face renumbering for object " << name()
                 << ".  Some of stick-out next "
                 << "to the interface have been removed."
                 << abort(FatalError);
@@ -391,11 +378,8 @@ void Foam::slidingInterface::renumberAttachedAddressing
             // Check if all the mapped cells are live
             if (key < 0 || value < 0)
             {
-                FatalErrorIn
-                (
-                    "void slidingInterface::renumberAttachedAddressing("
-                    "const mapPolyMesh& m) const"
-                )   << "Error in retired point numbering for object "
+                FatalErrorInFunction
+                    << "Error in retired point numbering for object "
                     << name() << ".  Some of master "
                     << "points have been removed."
                     << abort(FatalError);
@@ -431,11 +415,8 @@ void Foam::slidingInterface::renumberAttachedAddressing
             // Check if all the mapped cells are live
             if (key < 0 || ms < 0 || me < 0 || ss < 0 || se < 0)
             {
-                FatalErrorIn
-                (
-                    "void slidingInterface::renumberAttachedAddressing("
-                    "const mapPolyMesh& m) const"
-                )   << "Error in cut point edge pair map numbering for object "
+                FatalErrorInFunction
+                    << "Error in cut point edge pair map numbering for object "
                     << name() << ".  Some of master points have been removed."
                     << abort(FatalError);
             }
@@ -446,11 +427,8 @@ void Foam::slidingInterface::renumberAttachedAddressing
 
     if (!projectedSlavePointsPtr_)
     {
-        FatalErrorIn
-        (
-            "void slidingInterface::renumberAttachedAddressing("
-            "const mapPolyMesh& m) const"
-        )   << "Error in projected point numbering for object " << name()
+        FatalErrorInFunction
+            << "Error in projected point numbering for object " << name()
             << abort(FatalError);
     }
 
@@ -496,10 +474,8 @@ const Foam::labelList& Foam::slidingInterface::masterFaceCells() const
 {
     if (!masterFaceCellsPtr_)
     {
-        FatalErrorIn
-        (
-            "const labelList& slidingInterface::masterFaceCells() const"
-        )   << "Master zone face-cell addressing not available for object "
+        FatalErrorInFunction
+            << "Master zone face-cell addressing not available for object "
             << name()
             << abort(FatalError);
     }
@@ -512,10 +488,8 @@ const Foam::labelList& Foam::slidingInterface::slaveFaceCells() const
 {
     if (!slaveFaceCellsPtr_)
     {
-        FatalErrorIn
-        (
-            "const labelList& slidingInterface::slaveFaceCells() const"
-        )   << "Slave zone face-cell addressing not available for object "
+        FatalErrorInFunction
+            << "Slave zone face-cell addressing not available for object "
             << name()
             << abort(FatalError);
     }
@@ -528,10 +502,8 @@ const Foam::labelList& Foam::slidingInterface::masterStickOutFaces() const
 {
     if (!masterStickOutFacesPtr_)
     {
-        FatalErrorIn
-        (
-            "const labelList& slidingInterface::masterStickOutFaces() const"
-        )   << "Master zone stick-out face addressing not available for object "
+        FatalErrorInFunction
+            << "Master zone stick-out face addressing not available for object "
             << name()
             << abort(FatalError);
     }
@@ -544,10 +516,8 @@ const Foam::labelList& Foam::slidingInterface::slaveStickOutFaces() const
 {
     if (!slaveStickOutFacesPtr_)
     {
-        FatalErrorIn
-        (
-            "const labelList& slidingInterface::slaveStickOutFaces() const"
-        )   << "Slave zone stick-out face addressing not available for object "
+        FatalErrorInFunction
+            << "Slave zone stick-out face addressing not available for object "
             << name()
             << abort(FatalError);
     }
@@ -560,10 +530,8 @@ const Foam::Map<Foam::label>& Foam::slidingInterface::retiredPointMap() const
 {
     if (!retiredPointMapPtr_)
     {
-        FatalErrorIn
-        (
-            "const Map<label>& slidingInterface::retiredPointMap() const"
-        )   << "Retired point map not available for object " << name()
+        FatalErrorInFunction
+            << "Retired point map not available for object " << name()
             << abort(FatalError);
     }
 
@@ -576,11 +544,8 @@ Foam::slidingInterface::cutPointEdgePairMap() const
 {
     if (!cutPointEdgePairMapPtr_)
     {
-        FatalErrorIn
-        (
-            "const Map<Pair<edge> >& slidingInterface::"
-            "cutPointEdgePairMap() const"
-        )   << "Retired point map not available for object " << name()
+        FatalErrorInFunction
+            << "Retired point map not available for object " << name()
             << abort(FatalError);
     }
 
diff --git a/src/dynamicMesh/slidingInterface/slidingInterfaceProjectPoints.C b/src/dynamicMesh/slidingInterface/slidingInterfaceProjectPoints.C
index fd8f913e1ff..e937c18d183 100644
--- a/src/dynamicMesh/slidingInterface/slidingInterfaceProjectPoints.C
+++ b/src/dynamicMesh/slidingInterface/slidingInterfaceProjectPoints.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -368,10 +368,7 @@ bool Foam::slidingInterface::projectPoints() const
     }
     else
     {
-        FatalErrorIn
-        (
-            "bool slidingInterface::projectPoints() const"
-        )   << "Problem in point projection.  Unknown sliding match type "
+        FatalErrorInFunction
             << " for object " << name()
             << abort(FatalError);
     }
@@ -404,10 +401,7 @@ bool Foam::slidingInterface::projectPoints() const
 
         if (nShortEdges > 0)
         {
-            FatalErrorIn
-            (
-                "bool slidingInterface::projectPoints() const"
-            )   << "Problem in point projection.  " << nShortEdges
+            FatalErrorInFunction
                 << " short projected edges "
                 << "after adjustment for object " << name()
                 << abort(FatalError);
@@ -522,10 +516,7 @@ bool Foam::slidingInterface::projectPoints() const
 
         if (minEdgeLength < SMALL)
         {
-            FatalErrorIn
-            (
-                "bool slidingInterface::projectPoints() const"
-            )   << "Problem in point projection.  Short projected edge "
+            FatalErrorInFunction
                 << " after point merge for object " << name()
                 << abort(FatalError);
         }
@@ -687,10 +678,7 @@ bool Foam::slidingInterface::projectPoints() const
 
         if (minEdgeLength < SMALL)
         {
-            FatalErrorIn
-            (
-                "bool slidingInterface::projectPoints() const"
-            )   << "Problem in point projection.  Short projected edge "
+            FatalErrorInFunction
             << " after correction for object " << name()
             << abort(FatalError);
         }
diff --git a/src/edgeMesh/edgeMesh.C b/src/edgeMesh/edgeMesh.C
index 0e8cb2acada..4964d0c0b44 100644
--- a/src/edgeMesh/edgeMesh.C
+++ b/src/edgeMesh/edgeMesh.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -107,7 +107,7 @@ void Foam::edgeMesh::calcPointEdges() const
 {
     if (pointEdgesPtr_.valid())
     {
-        FatalErrorIn("edgeMesh::calcPointEdges() const")
+        FatalErrorInFunction
             << "pointEdges already calculated." << abort(FatalError);
     }
 
diff --git a/src/edgeMesh/edgeMeshFormats/edgeMesh/edgeMeshFormat.C b/src/edgeMesh/edgeMeshFormats/edgeMesh/edgeMeshFormat.C
index 581d161d368..e07e3f31853 100644
--- a/src/edgeMesh/edgeMeshFormats/edgeMesh/edgeMeshFormat.C
+++ b/src/edgeMesh/edgeMeshFormats/edgeMesh/edgeMeshFormat.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -77,7 +77,7 @@ bool Foam::fileFormats::edgeMeshFormat::read
 
     if (!io.headerOk())
     {
-        FatalErrorIn("fileFormats::edgeMeshFormat::read(const fileName&)")
+        FatalErrorInFunction
             << "Cannot read file " << filename
             << exit(FatalError);
     }
@@ -109,11 +109,7 @@ bool Foam::fileFormats::edgeMeshFormat::read
 {
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::edgeMeshFormat::read"
-            "(Istream&, pointField&, edgeList&)"
-        )
+        FatalErrorInFunction
             << "read error "
             << exit(FatalError);
     }
@@ -137,11 +133,7 @@ Foam::Ostream& Foam::fileFormats::edgeMeshFormat::write
 {
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::edgeMeshFormat::write"
-            "(Ostream&, const fileName&, const edgeMesh&)"
-        )
+        FatalErrorInFunction
             << "bad output stream " << os.name()
             << exit(FatalError);
     }
@@ -194,10 +186,8 @@ void Foam::fileFormats::edgeMeshFormat::write
 
     if (!osPtr().good())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "fileFormats::edgeMeshFormat::write"
-            "(const fileName&, const edgeMesh&)",
             osPtr()
         )   << "Cannot open file for writing " << filename
             << exit(FatalIOError);
@@ -208,10 +198,8 @@ void Foam::fileFormats::edgeMeshFormat::write
 
     if (!ok)
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "fileFormats::edgeMeshFormat::write"
-            "(const fileName&, const edgeMesh&)",
             os
         )   << "Cannot write header"
             << exit(FatalIOError);
diff --git a/src/edgeMesh/edgeMeshFormats/extendedFeatureEdgeMesh/extendedFeatureEdgeMeshFormat.C b/src/edgeMesh/edgeMeshFormats/extendedFeatureEdgeMesh/extendedFeatureEdgeMeshFormat.C
index 5f20b3016b3..3c72541702c 100644
--- a/src/edgeMesh/edgeMeshFormats/extendedFeatureEdgeMesh/extendedFeatureEdgeMeshFormat.C
+++ b/src/edgeMesh/edgeMeshFormats/extendedFeatureEdgeMesh/extendedFeatureEdgeMeshFormat.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -50,10 +50,7 @@ bool Foam::fileFormats::extendedFeatureEdgeMeshFormat::read
     IFstream is(filename);
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::extendedFeatureEdgeMeshFormat::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "Cannot read file " << filename
             << exit(FatalError);
     }
diff --git a/src/edgeMesh/edgeMeshFormats/nas/NASedgeFormat.C b/src/edgeMesh/edgeMeshFormats/nas/NASedgeFormat.C
index 921778fa04a..5045d031b38 100644
--- a/src/edgeMesh/edgeMeshFormats/nas/NASedgeFormat.C
+++ b/src/edgeMesh/edgeMeshFormats/nas/NASedgeFormat.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -51,10 +51,7 @@ bool Foam::fileFormats::NASedgeFormat::read
     IFstream is(filename);
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::NASedgeFormat::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "Cannot read file " << filename
             << exit(FatalError);
     }
@@ -149,10 +146,7 @@ bool Foam::fileFormats::NASedgeFormat::read
             is.getLine(line);
             if (line[0] != '*')
             {
-                FatalErrorIn
-                (
-                    "fileFormats::NASedgeFormat::read(const fileName&)"
-                )
+                FatalErrorInFunction
                     << "Expected continuation symbol '*' when reading GRID*"
                     << " (double precision coordinate) format" << nl
                     << "Read:" << line << nl
diff --git a/src/edgeMesh/edgeMeshFormats/obj/OBJedgeFormat.C b/src/edgeMesh/edgeMeshFormats/obj/OBJedgeFormat.C
index 12cad6b89db..8b6e64cc594 100644
--- a/src/edgeMesh/edgeMeshFormats/obj/OBJedgeFormat.C
+++ b/src/edgeMesh/edgeMeshFormats/obj/OBJedgeFormat.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -101,10 +101,7 @@ bool Foam::fileFormats::OBJedgeFormat::read(const fileName& filename)
     IFstream is(filename);
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::OBJedgeFormat::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "Cannot read file " << filename
             << exit(FatalError);
     }
@@ -241,11 +238,7 @@ void Foam::fileFormats::OBJedgeFormat::write
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::OBJedgeFormat::write"
-            "(const fileName&, const edgeMesh&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
diff --git a/src/edgeMesh/edgeMeshFormats/starcd/STARCDedgeFormat.C b/src/edgeMesh/edgeMeshFormats/starcd/STARCDedgeFormat.C
index 05eb1cfe02c..7fd3141d1b4 100644
--- a/src/edgeMesh/edgeMeshFormats/starcd/STARCDedgeFormat.C
+++ b/src/edgeMesh/edgeMeshFormats/starcd/STARCDedgeFormat.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -140,10 +140,7 @@ bool Foam::fileFormats::STARCDedgeFormat::read
     IFstream is(baseName + ".cel");
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::STARCDedgeFormat::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "Cannot read file " << is.name()
             << exit(FatalError);
     }
diff --git a/src/edgeMesh/edgeMeshFormats/vtk/VTKedgeFormat.C b/src/edgeMesh/edgeMeshFormats/vtk/VTKedgeFormat.C
index f0eda7aaa40..01e792e2cee 100644
--- a/src/edgeMesh/edgeMeshFormats/vtk/VTKedgeFormat.C
+++ b/src/edgeMesh/edgeMeshFormats/vtk/VTKedgeFormat.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -94,10 +94,8 @@ bool Foam::fileFormats::VTKedgeFormat::read
     IFstream is(filename);
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::VTKedgeFormat::read(const fileName&)"
-        )   << "Cannot read file " << filename
+        FatalErrorInFunction
+            << "Cannot read file " << filename
             << exit(FatalError);
     }
 
@@ -162,11 +160,8 @@ void Foam::fileFormats::VTKedgeFormat::write
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::VTKedgeFormat::write"
-            "(const fileName&, const edgeMesh&)"
-        )   << "Cannot open file for writing " << filename
+        FatalErrorInFunction
+            << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
 
diff --git a/src/edgeMesh/edgeMeshIO.C b/src/edgeMesh/edgeMeshIO.C
index 3887f9d6792..074510f2c10 100644
--- a/src/edgeMesh/edgeMeshIO.C
+++ b/src/edgeMesh/edgeMeshIO.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -104,11 +104,8 @@ void Foam::edgeMesh::write
 
     if (mfIter == writefileExtensionMemberFunctionTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "MeshedSurface::write"
-            "(const fileName&, const MeshedSurface&)"
-        )   << "Unknown file extension " << ext << nl << nl
+        FatalErrorInFunction
+            << "Unknown file extension " << ext << nl << nl
             << "Valid types are :" << endl
             << writefileExtensionMemberFunctionTablePtr_->sortedToc()
             << exit(FatalError);
diff --git a/src/edgeMesh/edgeMeshNew.C b/src/edgeMesh/edgeMeshNew.C
index df52d7cf638..8258da4b57b 100644
--- a/src/edgeMesh/edgeMeshNew.C
+++ b/src/edgeMesh/edgeMeshNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -38,11 +38,8 @@ Foam::autoPtr<Foam::edgeMesh> Foam::edgeMesh::New
 
     if (cstrIter == fileExtensionConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "edgeMesh<Face>::New(const fileName&, const word&) : "
-            "constructing edgeMesh"
-        )   << "Unknown file extension " << ext
+        FatalErrorInFunction
+            << "Unknown file extension " << ext
             << " for file " << name << nl << nl
             << "Valid extensions are :" << nl
             << fileExtensionConstructorTablePtr_->sortedToc()
diff --git a/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshFormats/extendedEdgeMeshFormat/extendedEdgeMeshFormat.C b/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshFormats/extendedEdgeMeshFormat/extendedEdgeMeshFormat.C
index a8ee72c4345..a046a1221db 100644
--- a/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshFormats/extendedEdgeMeshFormat/extendedEdgeMeshFormat.C
+++ b/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshFormats/extendedEdgeMeshFormat/extendedEdgeMeshFormat.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -75,8 +75,7 @@ bool Foam::fileFormats::extendedEdgeMeshFormat::read
 
     if (!io.headerOk())
     {
-        FatalErrorIn
-        ("fileFormats::extendedEdgeMeshFormat::read(const fileName&)")
+        FatalErrorInFunction
             << "Cannot read file " << filename
             << exit(FatalError);
     }
diff --git a/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshI.H b/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshI.H
index 8506fae9e9d..55d29113465 100644
--- a/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshI.H
+++ b/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -130,7 +130,7 @@ inline Foam::vector Foam::extendedEdgeMesh::edgeDirection
     }
     else
     {
-        FatalErrorIn("Foam::extendedEdgeMesh::edgeDirection")
+        FatalErrorInFunction
             << "Requested ptI " << ptI << " is not a point on the requested "
             << "edgeI " << edgeI << ". edgeI start and end: "
             << e.start() << " " << e.end()
@@ -185,7 +185,7 @@ inline Foam::vectorField Foam::extendedEdgeMesh::featurePointNormals
 {
     if (!featurePoint(ptI))
     {
-        WarningIn("vectorField extendedEdgeMesh::featurePointNormals")
+        WarningInFunction
             << "Requesting the normals of a non-feature point. "
             << "Returned zero length vectorField."
             << endl;
diff --git a/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshNew.C b/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshNew.C
index 5fa8572b6b2..ad0c52966ec 100644
--- a/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshNew.C
+++ b/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -47,11 +47,8 @@ Foam::autoPtr<Foam::extendedEdgeMesh> Foam::extendedEdgeMesh::New
 
     if (cstrIter == fileExtensionConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "extendedEdgeMesh::New(const fileName&, const word&) : "
-            "constructing extendedEdgeMesh"
-        )   << "Unknown file extension " << ext
+        FatalErrorInFunction
+            << "Unknown file extension " << ext
             << " for file " << name << nl << nl
             << "Valid extensions are :" << nl
             << fileExtensionConstructorTablePtr_->sortedToc()
diff --git a/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshTemplates.C b/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshTemplates.C
index cdb19b441d8..ffa8317fa7b 100644
--- a/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshTemplates.C
+++ b/src/edgeMesh/extendedEdgeMesh/extendedEdgeMeshTemplates.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -242,15 +242,8 @@ void Foam::extendedEdgeMesh::sortPointsAndEdges
         }
         else if (eStat == NONE)
         {
-            FatalErrorIn
-            (
-                ":extendedEdgeMesh::sortPointsAndEdges"
-                "("
-                "    const Patch&,"
-                "    const labelList& featureEdges,"
-                "    const labelList& feaurePoints"
-                ")"
-            )   << nl << "classifyEdge returned NONE on edge "
+            FatalErrorInFunction
+                << nl << "classifyEdge returned NONE on edge "
                 << eds[i]
                 << ". There is a problem with definition of this edge."
                 << nl << abort(FatalError);
@@ -326,15 +319,8 @@ void Foam::extendedEdgeMesh::sortPointsAndEdges
         }
         else if (ptStatus == NONFEATURE)
         {
-            FatalErrorIn
-            (
-                ":extendedEdgeMesh::sortPointsAndEdges"
-                "("
-                "    const Patch&,"
-                "    const labelList& featureEdges,"
-                "    const labelList& feaurePoints"
-                ")"
-            )   << nl << "classifyFeaturePoint returned NONFEATURE on point at "
+            FatalErrorInFunction
+                << nl << "classifyFeaturePoint returned NONFEATURE on point at "
                 << points()[i]
                 << ". There is a problem with definition of this feature point."
                 << nl << abort(FatalError);
diff --git a/src/edgeMesh/extendedEdgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMesh.C b/src/edgeMesh/extendedEdgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMesh.C
index 126b9dcdf8f..1ef5765dd3b 100644
--- a/src/edgeMesh/extendedEdgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMesh.C
+++ b/src/edgeMesh/extendedEdgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMesh.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -49,11 +49,8 @@ Foam::extendedFeatureEdgeMesh::extendedFeatureEdgeMesh(const IOobject& io)
     {
         if (readOpt() == IOobject::MUST_READ_IF_MODIFIED)
         {
-            WarningIn
-            (
-                "extendedFeatureEdgeMesh::extendedFeatureEdgeMesh"
-                "(const IOobject&)"
-            )   << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
+            WarningInFunction
+                << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
                 << " does not support automatic rereading."
                 << endl;
         }
diff --git a/src/edgeMesh/extendedEdgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMeshI.H b/src/edgeMesh/extendedEdgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMeshI.H
index 9259b06cb52..103d6c78cd9 100644
--- a/src/edgeMesh/extendedEdgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMeshI.H
+++ b/src/edgeMesh/extendedEdgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMeshI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -127,7 +127,7 @@ inline Foam::vector Foam::extendedFeatureEdgeMesh::edgeDirection
     }
     else
     {
-        FatalErrorIn("Foam::extendedFeatureEdgeMesh::edgeDirection")
+        FatalErrorInFunction
             << "Requested ptI " << ptI << " is not a point on the requested "
             << "edgeI " << edgeI << ". edgeI start and end: "
             << e.start() << " " << e.end()
@@ -182,7 +182,7 @@ inline Foam::vectorField Foam::extendedFeatureEdgeMesh::featurePointNormals
 {
     if (!featurePoint(ptI))
     {
-        WarningIn("vectorField extendedFeatureEdgeMesh::featurePointNormals")
+        WarningInFunction
             << "Requesting the normals of a non-feature point. "
             << "Returned zero length vectorField."
             << endl;
diff --git a/src/edgeMesh/extendedEdgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMeshTemplates.C b/src/edgeMesh/extendedEdgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMeshTemplates.C
index 01b02a650ac..9a33bcc96ad 100644
--- a/src/edgeMesh/extendedEdgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMeshTemplates.C
+++ b/src/edgeMesh/extendedEdgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMeshTemplates.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -242,15 +242,8 @@ void Foam::extendedFeatureEdgeMesh::sortPointsAndEdges
         }
         else if (eStat == NONE)
         {
-            FatalErrorIn
-            (
-                ":extendedFeatureEdgeMesh::sortPointsAndEdges"
-                "("
-                "    const Patch&,"
-                "    const labelList& featureEdges,"
-                "    const labelList& feaurePoints"
-                ")"
-            )   << nl << "classifyEdge returned NONE on edge "
+            FatalErrorInFunction
+                << nl << "classifyEdge returned NONE on edge "
                 << eds[i]
                 << ". There is a problem with definition of this edge."
                 << nl << abort(FatalError);
@@ -326,15 +319,8 @@ void Foam::extendedFeatureEdgeMesh::sortPointsAndEdges
         }
         else if (ptStatus == NONFEATURE)
         {
-            FatalErrorIn
-            (
-                ":extendedFeatureEdgeMesh::sortPointsAndEdges"
-                "("
-                "    const Patch&,"
-                "    const labelList& featureEdges,"
-                "    const labelList& feaurePoints"
-                ")"
-            )   << nl << "classifyFeaturePoint returned NONFEATURE on point at "
+            FatalErrorInFunction
+                << nl << "classifyFeaturePoint returned NONFEATURE on point at "
                 << points()[i]
                 << ". There is a problem with definition of this feature point."
                 << nl << abort(FatalError);
diff --git a/src/engine/engineMesh/engineMesh/engineMesh.C b/src/engine/engineMesh/engineMesh/engineMesh.C
index d3a80edeeae..c1554f127f5 100644
--- a/src/engine/engineMesh/engineMesh/engineMesh.C
+++ b/src/engine/engineMesh/engineMesh/engineMesh.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -76,21 +76,21 @@ Foam::engineMesh::engineMesh(const IOobject& io)
 
     if (!foundPiston)
     {
-        FatalErrorIn("engineMesh::engineMesh(const IOobject& io)")
+        FatalErrorInFunction
             << "cannot find piston patch"
             << exit(FatalError);
     }
 
     if (!foundLiner)
     {
-        FatalErrorIn("engineMesh::engineMesh(const IOobject& io)")
+        FatalErrorInFunction
             << "cannot find liner patch"
             << exit(FatalError);
     }
 
     if (!foundCylinderHead)
     {
-        FatalErrorIn("engineMesh::engineMesh(const IOobject& io)")
+        FatalErrorInFunction
             << "cannot find cylinderHead patch"
             << exit(FatalError);
     }
diff --git a/src/engine/engineMesh/engineMesh/engineMeshNew.C b/src/engine/engineMesh/engineMesh/engineMeshNew.C
index 1d0d48b9afa..afbd4218290 100644
--- a/src/engine/engineMesh/engineMesh/engineMeshNew.C
+++ b/src/engine/engineMesh/engineMesh/engineMeshNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -58,10 +58,8 @@ Foam::autoPtr<Foam::engineMesh> Foam::engineMesh::New
 
     if (cstrIter == IOobjectConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "engineMesh::New(const IOobject&)"
-        )   << "Unknown engineMesh type "
+        FatalErrorInFunction
+            << "Unknown engineMesh type "
             << modelType << nl << nl
             << "Valid engineMesh types are :" << endl
             << IOobjectConstructorTablePtr_->sortedToc()
diff --git a/src/fileFormats/coordSet/coordSet.C b/src/fileFormats/coordSet/coordSet.C
index d8b37c5fdd8..c65ae246b1d 100644
--- a/src/fileFormats/coordSet/coordSet.C
+++ b/src/fileFormats/coordSet/coordSet.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -115,10 +115,8 @@ Foam::scalar Foam::coordSet::scalarCoord
     }
     else
     {
-        FatalErrorIn
-        (
-            "coordSet::scalarCoord(const label)"
-        )   << "Illegal axis specification " << axis_
+        FatalErrorInFunction
+            << "Illegal axis specification " << axis_
             << " for sampling line " << name_
             << exit(FatalError);
 
diff --git a/src/fileFormats/sampledSetWriters/csv/csvSetWriter.C b/src/fileFormats/sampledSetWriters/csv/csvSetWriter.C
index c1ed54b1cd8..44762d043cb 100644
--- a/src/fileFormats/sampledSetWriters/csv/csvSetWriter.C
+++ b/src/fileFormats/sampledSetWriters/csv/csvSetWriter.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -94,7 +94,7 @@ void Foam::csvSetWriter<Type>::write
 
     if (valueSets.size() != valueSetNames.size())
     {
-        FatalErrorIn("csvSetWriter<Type>::write(..)")
+        FatalErrorInFunction
             << "Number of variables:" << valueSetNames.size() << endl
             << "Number of valueSets:" << valueSets.size()
             << exit(FatalError);
diff --git a/src/fileFormats/sampledSetWriters/gnuplot/gnuplotSetWriter.C b/src/fileFormats/sampledSetWriters/gnuplot/gnuplotSetWriter.C
index 2679e1e7023..5f2d2b66bb9 100644
--- a/src/fileFormats/sampledSetWriters/gnuplot/gnuplotSetWriter.C
+++ b/src/fileFormats/sampledSetWriters/gnuplot/gnuplotSetWriter.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -103,7 +103,7 @@ void Foam::gnuplotSetWriter<Type>::write
 {
     if (valueSets.size() != valueSetNames.size())
     {
-        FatalErrorIn("gnuplotSetWriter<Type>::write(..)")
+        FatalErrorInFunction
             << "Number of variables:" << valueSetNames.size() << endl
             << "Number of valueSets:" << valueSets.size()
             << exit(FatalError);
diff --git a/src/fileFormats/sampledSetWriters/raw/rawSetWriter.C b/src/fileFormats/sampledSetWriters/raw/rawSetWriter.C
index 403b9e71116..bd1b5e5525c 100644
--- a/src/fileFormats/sampledSetWriters/raw/rawSetWriter.C
+++ b/src/fileFormats/sampledSetWriters/raw/rawSetWriter.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -90,7 +90,7 @@ void Foam::rawSetWriter<Type>::write
 {
     if (valueSets.size() != valueSetNames.size())
     {
-        FatalErrorIn("rawSetWriter<Type>::write(..)")
+        FatalErrorInFunction
             << "Number of variables:" << valueSetNames.size() << endl
             << "Number of valueSets:" << valueSets.size()
             << exit(FatalError);
diff --git a/src/fileFormats/sampledSetWriters/vtk/vtkSetWriter.C b/src/fileFormats/sampledSetWriters/vtk/vtkSetWriter.C
index 3ab27361750..d3208e968d6 100644
--- a/src/fileFormats/sampledSetWriters/vtk/vtkSetWriter.C
+++ b/src/fileFormats/sampledSetWriters/vtk/vtkSetWriter.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -115,7 +115,7 @@ void Foam::vtkSetWriter<Type>::write
 {
     if (valueSets.size() != valueSetNames.size())
     {
-        FatalErrorIn("vtkSetWriter<Type>::write(..)")
+        FatalErrorInFunction
             << "Number of variables:" << valueSetNames.size() << endl
             << "Number of valueSets:" << valueSets.size()
             << exit(FatalError);
diff --git a/src/fileFormats/sampledSetWriters/writer.C b/src/fileFormats/sampledSetWriters/writer.C
index e031615ff69..6ccf51c7438 100644
--- a/src/fileFormats/sampledSetWriters/writer.C
+++ b/src/fileFormats/sampledSetWriters/writer.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -41,10 +41,8 @@ Foam::autoPtr< Foam::writer<Type> > Foam::writer<Type>::New
 
     if (cstrIter == wordConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "writer::New(const word&)"
-        )   << "Unknown write type "
+        FatalErrorInFunction
+            << "Unknown write type "
             << writeType << nl << nl
             << "Valid write types : " << endl
             << wordConstructorTablePtr_->sortedToc()
diff --git a/src/fileFormats/sampledSetWriters/xmgrace/xmgraceSetWriter.C b/src/fileFormats/sampledSetWriters/xmgrace/xmgraceSetWriter.C
index 3825868196d..15f2e0eaf89 100644
--- a/src/fileFormats/sampledSetWriters/xmgrace/xmgraceSetWriter.C
+++ b/src/fileFormats/sampledSetWriters/xmgrace/xmgraceSetWriter.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -97,7 +97,7 @@ void Foam::xmgraceSetWriter<Type>::write
 {
     if (valueSets.size() != valueSetNames.size())
     {
-        FatalErrorIn("gnuplotSetWriter<Type>::write(..)")
+        FatalErrorInFunction
             << "Number of variables:" << valueSetNames.size() << endl
             << "Number of valueSets:" << valueSets.size()
             << exit(FatalError);
diff --git a/src/fileFormats/starcd/STARCDCore.C b/src/fileFormats/starcd/STARCDCore.C
index 07afd63d100..5e1ef1fb08a 100644
--- a/src/fileFormats/starcd/STARCDCore.C
+++ b/src/fileFormats/starcd/STARCDCore.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -45,11 +45,7 @@ bool Foam::fileFormats::STARCDCore::readHeader
 {
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::STARCDCore::readHeader(...)"
-        )
-            << "cannot read " << signature  << "  " << is.name()
+        FatalErrorInFunction
             << abort(FatalError);
     }
 
@@ -105,10 +101,7 @@ bool Foam::fileFormats::STARCDCore::readPoints
 {
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::STARCDedgeFormat::readPoints(...)"
-        )
+        FatalErrorInFunction
             << "Cannot read file " << is.name()
             << exit(FatalError);
     }
diff --git a/src/fileFormats/vtk/vtkUnstructuredReader.C b/src/fileFormats/vtk/vtkUnstructuredReader.C
index 8259ed19241..8460f61487c 100644
--- a/src/fileFormats/vtk/vtkUnstructuredReader.C
+++ b/src/fileFormats/vtk/vtkUnstructuredReader.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -91,7 +91,7 @@ void Foam::vtkUnstructuredReader::warnUnhandledType
 {
     if (warningGiven.insert(type))
     {
-        IOWarningIn("vtkUnstructuredReader::warnUnhandledType(..)", inFile)
+        IOWarningInFunction(inFile)
             << "Skipping unknown cell type " << type << endl;
     }
 }
@@ -143,9 +143,8 @@ void Foam::vtkUnstructuredReader::extractCells
                 label nRead = cellVertData[dataIndex++];
                 if (nRead != 1)
                 {
-                    FatalIOErrorIn
+                    FatalIOErrorInFunction
                     (
-                        "vtkUnstructuredReader::extractCells(..)",
                         inFile
                     )   << "Expected size 1 for VTK_VERTEX but found "
                         << nRead << exit(FatalIOError);
@@ -168,9 +167,8 @@ void Foam::vtkUnstructuredReader::extractCells
                 label nRead = cellVertData[dataIndex++];
                 if (nRead != 2)
                 {
-                    FatalIOErrorIn
+                    FatalIOErrorInFunction
                     (
-                        "vtkUnstructuredReader::extractCells(..)",
                         inFile
                     )   << "Expected size 2 for VTK_LINE but found "
                         << nRead << exit(FatalIOError);
@@ -205,9 +203,8 @@ void Foam::vtkUnstructuredReader::extractCells
                 label nRead = cellVertData[dataIndex++];
                 if (nRead != 3)
                 {
-                    FatalIOErrorIn
+                    FatalIOErrorInFunction
                     (
-                        "vtkUnstructuredReader::extractCells(..)",
                         inFile
                     )   << "Expected size 3 for VTK_TRIANGLE but found "
                         << nRead << exit(FatalIOError);
@@ -226,9 +223,8 @@ void Foam::vtkUnstructuredReader::extractCells
                 label nRead = cellVertData[dataIndex++];
                 if (nRead != 4)
                 {
-                    FatalIOErrorIn
+                    FatalIOErrorInFunction
                     (
-                        "vtkUnstructuredReader::extractCells(..)",
                         inFile
                     )   << "Expected size 4 for VTK_QUAD but found "
                         << nRead << exit(FatalIOError);
@@ -258,9 +254,8 @@ void Foam::vtkUnstructuredReader::extractCells
                 label nRead = cellVertData[dataIndex++];
                 if (nRead != 4)
                 {
-                    FatalIOErrorIn
+                    FatalIOErrorInFunction
                     (
-                        "vtkUnstructuredReader::extractCells(..)",
                         inFile
                     )   << "Expected size 4 for VTK_TETRA but found "
                         << nRead << exit(FatalIOError);
@@ -279,9 +274,8 @@ void Foam::vtkUnstructuredReader::extractCells
                 label nRead = cellVertData[dataIndex++];
                 if (nRead != 5)
                 {
-                    FatalIOErrorIn
+                    FatalIOErrorInFunction
                     (
-                        "vtkUnstructuredReader::extractCells(..)",
                         inFile
                     )   << "Expected size 5 for VTK_PYRAMID but found "
                         << nRead << exit(FatalIOError);
@@ -301,9 +295,8 @@ void Foam::vtkUnstructuredReader::extractCells
                 label nRead = cellVertData[dataIndex++];
                 if (nRead != 6)
                 {
-                    FatalIOErrorIn
+                    FatalIOErrorInFunction
                     (
-                        "vtkUnstructuredReader::extractCells(..)",
                         inFile
                     )   << "Expected size 6 for VTK_WEDGE but found "
                         << nRead << exit(FatalIOError);
@@ -324,9 +317,8 @@ void Foam::vtkUnstructuredReader::extractCells
                 label nRead = cellVertData[dataIndex++];
                 if (nRead != 8)
                 {
-                    FatalIOErrorIn
+                    FatalIOErrorInFunction
                     (
-                        "vtkUnstructuredReader::extractCells(..)",
                         inFile
                     )   << "Expected size 8 for VTK_HEXAHEDRON but found "
                         << nRead << exit(FatalIOError);
@@ -453,7 +445,7 @@ void Foam::vtkUnstructuredReader::readField
 
         default:
         {
-            IOWarningIn("vtkUnstructuredReader::extractCells(..)", inFile)
+            IOWarningInFunction(inFile)
                 << "Unhandled type " << vtkDataTypeNames[dataType] << endl
                 << "Skipping " << size
                 << " words." << endl;
@@ -501,7 +493,7 @@ Foam::wordList Foam::vtkUnstructuredReader::readFieldArray
 
         if (wantedSize != -1 && numTuples != wantedSize)
         {
-            FatalIOErrorIn("vtkUnstructuredReader::readFieldArray(..)", inFile)
+            FatalIOErrorInFunction(inFile)
                 << "Expected " << wantedSize << " tuples but only have "
                 << numTuples << exit(FatalIOError);
         }
@@ -576,7 +568,7 @@ void Foam::vtkUnstructuredReader::read(ISstream& inFile)
 
     if (dataType_ == "BINARY")
     {
-        FatalIOErrorIn("vtkUnstructuredReader::read(ISstream&)", inFile)
+        FatalIOErrorInFunction(inFile)
             << "Binary reading not supported " << exit(FatalIOError);
     }
 
@@ -625,7 +617,7 @@ void Foam::vtkUnstructuredReader::read(ISstream& inFile)
             word primitiveTag(inFile);
             if (primitiveTag != "float" && primitiveTag != "double")
             {
-                FatalIOErrorIn("vtkUnstructuredReader::read(..)", inFile)
+                FatalIOErrorInFunction(inFile)
                     << "Expected 'float' entry but found "
                     << primitiveTag
                     << exit(FatalIOError);
@@ -654,7 +646,7 @@ void Foam::vtkUnstructuredReader::read(ISstream& inFile)
 
             if (cellTypes.size() > 0 && cellVerts.size() == 0)
             {
-                FatalIOErrorIn("vtkUnstructuredReader::read(..)", inFile)
+                FatalIOErrorInFunction(inFile)
                     << "Found " << cellTypes.size()
                     << " cellTypes but no cells."
                     << exit(FatalIOError);
@@ -730,7 +722,7 @@ void Foam::vtkUnstructuredReader::read(ISstream& inFile)
             label nPoints(readLabel(inFile));
             if (nPoints != wantedSize)
             {
-                FatalIOErrorIn("vtkUnstructuredReader::read(..)", inFile)
+                FatalIOErrorInFunction(inFile)
                     << "Reading POINT_DATA : expected " << wantedSize
                     << " but read " << nPoints << exit(FatalIOError);
             }
@@ -743,7 +735,7 @@ void Foam::vtkUnstructuredReader::read(ISstream& inFile)
             label nCells(readLabel(inFile));
             if (nCells != wantedSize)
             {
-                FatalIOErrorIn("vtkUnstructuredReader::read(..)", inFile)
+                FatalIOErrorInFunction(inFile)
                     << "Reading CELL_DATA : expected "
                     << wantedSize
                     << " but read " << nCells << exit(FatalIOError);
@@ -773,7 +765,7 @@ void Foam::vtkUnstructuredReader::read(ISstream& inFile)
             word lookupTableTag(inFile);
             if (lookupTableTag != "LOOKUP_TABLE")
             {
-                FatalIOErrorIn("vtkUnstructuredReader::read(..)", inFile)
+                FatalIOErrorInFunction(inFile)
                     << "Expected tag LOOKUP_TABLE but read "
                     << lookupTableTag
                     << exit(FatalIOError);
@@ -920,7 +912,7 @@ void Foam::vtkUnstructuredReader::read(ISstream& inFile)
         }
         else
         {
-            FatalIOErrorIn("vtkUnstructuredReader::read(..)", inFile)
+            FatalIOErrorInFunction(inFile)
                 << "Unsupported tag "
                 << tag << exit(FatalIOError);
         }
diff --git a/src/fvAgglomerationMethods/pairPatchAgglomeration/pairPatchAgglomeration.C b/src/fvAgglomerationMethods/pairPatchAgglomeration/pairPatchAgglomeration.C
index 46fc5f18531..33c19f801ae 100644
--- a/src/fvAgglomerationMethods/pairPatchAgglomeration/pairPatchAgglomeration.C
+++ b/src/fvAgglomerationMethods/pairPatchAgglomeration/pairPatchAgglomeration.C
@@ -271,15 +271,8 @@ bool Foam::pairPatchAgglomeration::agglomeratePatch
 {
     if (min(fineToCoarse) == -1)
     {
-        FatalErrorIn
-        (
-            "pairPatchAgglomeration::agglomeratePatch"
-            "("
-                "const bPatch&, "
-                "const labelList&, "
-                "const label"
-            ")"
-        )   << "min(fineToCoarse) == -1" << exit(FatalError);
+        FatalErrorInFunction
+            << "min(fineToCoarse) == -1" << exit(FatalError);
     }
 
     if (fineToCoarse.size() == 0)
@@ -289,15 +282,8 @@ bool Foam::pairPatchAgglomeration::agglomeratePatch
 
     if (fineToCoarse.size() != patch.size())
     {
-        FatalErrorIn
-        (
-            "pairPatchAgglomeration::agglomeratePatch"
-            "("
-                "const bPatch&, "
-                "const labelList&, "
-                "const label"
-            ")"
-        )   << "restrict map does not correspond to fine level. " << endl
+        FatalErrorInFunction
+            << "restrict map does not correspond to fine level. " << endl
             << " Sizes: restrictMap: " << fineToCoarse.size()
             << " nEqns: " << patch.size()
             << abort(FatalError);
@@ -540,11 +526,8 @@ Foam::tmp<Foam::labelField> Foam::pairPatchAgglomeration::agglomerateOneLevel
     {
         if (coarseCellMap[facei] < 0)
         {
-            FatalErrorIn
-            (
-                "pairPatchAgglomeration::agglomerateOneLevel "
-                "(label&, const bPatch&) "
-            ) << " face " << facei
+            FatalErrorInFunction
+              << " face " << facei
             << " is not part of a cluster"
             << exit(FatalError);
         }
diff --git a/src/fvAgglomerationMethods/pairPatchAgglomeration/pairPatchAgglomerationTemplates.C b/src/fvAgglomerationMethods/pairPatchAgglomeration/pairPatchAgglomerationTemplates.C
index 73b8cff0ad0..9ddc691bb7b 100644
--- a/src/fvAgglomerationMethods/pairPatchAgglomeration/pairPatchAgglomerationTemplates.C
+++ b/src/fvAgglomerationMethods/pairPatchAgglomeration/pairPatchAgglomerationTemplates.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -39,12 +39,8 @@ void Foam::pairPatchAgglomeration::restrictField
 
     if (ff.size() != fineToCoarse.size())
     {
-        FatalErrorIn
-        (
-            "void pairPatchAgglomeration::restrictField"
-            "(Field<Type>& cf, const Field<Type>& ff, "
-            "const label fineLevelIndex) const"
-        )   << "field does not correspond to level " << fineLevelIndex
+        FatalErrorInFunction
+            << "field does not correspond to level " << fineLevelIndex
             << " sizes: field = " << ff.size()
             << " level = " << fineToCoarse.size()
             << abort(FatalError);
diff --git a/src/fvMotionSolver/fvMotionSolvers/displacement/interpolation/displacementInterpolationMotionSolver.C b/src/fvMotionSolver/fvMotionSolvers/displacement/interpolation/displacementInterpolationMotionSolver.C
index 6029c8383f4..96ba02d31c7 100644
--- a/src/fvMotionSolver/fvMotionSolvers/displacement/interpolation/displacementInterpolationMotionSolver.C
+++ b/src/fvMotionSolver/fvMotionSolvers/displacement/interpolation/displacementInterpolationMotionSolver.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -82,12 +82,8 @@ displacementInterpolationMotionSolver
 
         if (zoneI == -1)
         {
-            FatalErrorIn
-            (
-                "displacementInterpolationMotionSolver::"
-                "displacementInterpolationMotionSolver(const polyMesh&,"
-                "Istream&)"
-            )   << "Cannot find zone " << zoneName << endl
+            FatalErrorInFunction
+                << "Cannot find zone " << zoneName << endl
                 << "Valid zones are " << mesh.faceZones().names()
                 << exit(FatalError);
         }
@@ -250,12 +246,8 @@ displacementInterpolationMotionSolver
 
             if (rangeI == -1 || rangeI == rangeToCoord.size()-1)
             {
-                FatalErrorIn
-                (
-                    "displacementInterpolationMotionSolver::"
-                    "displacementInterpolationMotionSolver"
-                    "(const polyMesh&, Istream&)"
-                )   << "Did not find point " << points0()[pointI]
+                FatalErrorInFunction
+                    << "Did not find point " << points0()[pointI]
                     << " coordinate " << meshCoords[pointI]
                     << " in ranges " << rangeToCoord
                     << abort(FatalError);
@@ -313,10 +305,8 @@ Foam::displacementInterpolationMotionSolver::curPoints() const
 {
     if (mesh().nPoints() != points0().size())
     {
-        FatalErrorIn
-        (
-            "displacementInterpolationMotionSolver::curPoints() const"
-        )   << "The number of points in the mesh seems to have changed." << endl
+        FatalErrorInFunction
+            << "The number of points in the mesh seems to have changed." << endl
             << "In constant/polyMesh there are " << points0().size()
             << " points; in the current mesh there are " << mesh().nPoints()
             << " points." << exit(FatalError);
diff --git a/src/fvMotionSolver/fvMotionSolvers/displacement/layeredSolver/displacementLayeredMotionMotionSolver.C b/src/fvMotionSolver/fvMotionSolvers/displacement/layeredSolver/displacementLayeredMotionMotionSolver.C
index 137283c1ba8..832f249e202 100644
--- a/src/fvMotionSolver/fvMotionSolvers/displacement/layeredSolver/displacementLayeredMotionMotionSolver.C
+++ b/src/fvMotionSolver/fvMotionSolvers/displacement/layeredSolver/displacementLayeredMotionMotionSolver.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -241,18 +241,7 @@ Foam::displacementLayeredMotionMotionSolver::faceZoneEvaluate
     {
         if ((patchI % 2) != 1)
         {
-            FatalIOErrorIn
-            (
-                "displacementLayeredMotionMotionSolver::faceZoneEvaluate"
-                "("
-                    "const faceZone&, "
-                    "const labelList&, "
-                    "const dictionary&, "
-                    "const PtrList<pointVectorField>&, "
-                    "const label"
-                ") const",
-                *this
-            )   << "slip can only be used on second faceZone patch of pair.  "
+            FatalIOErrorInFunction(*this)
                 << "FaceZone:" << fz.name()
                 << exit(FatalIOError);
         }
@@ -278,18 +267,8 @@ Foam::displacementLayeredMotionMotionSolver::faceZoneEvaluate
     }
     else
     {
-        FatalIOErrorIn
-        (
-            "displacementLayeredMotionMotionSolver::faceZoneEvaluate"
-            "("
-                "const faceZone&, "
-                "const labelList&, "
-                "const dictionary&, "
-                "const PtrList<pointVectorField>&, "
-                "const label"
-            ") const",
-            *this
-        )   << "Unknown faceZonePatch type " << type << " for faceZone "
+        FatalIOErrorInFunction(*this)
+            << "Unknown faceZonePatch type " << type << " for faceZone "
             << fz.name() << exit(FatalIOError);
     }
     return tfld;
@@ -310,12 +289,8 @@ void Foam::displacementLayeredMotionMotionSolver::cellZoneSolve
 
     if (patchesDict.size() != 2)
     {
-        FatalIOErrorIn
-        (
-            "displacementLayeredMotionMotionSolver::"
-            "cellZoneSolve(const label, const dictionary&)",
-            *this
-        )   << "Two faceZones (patches) must be specifed per cellZone. "
+        FatalIOErrorInFunction(*this)
+            << "Two faceZones (patches) must be specifed per cellZone. "
             << " cellZone:" << cellZoneI
             << " patches:" << patchesDict.toc()
             << exit(FatalIOError);
@@ -332,12 +307,8 @@ void Foam::displacementLayeredMotionMotionSolver::cellZoneSolve
         label zoneI = mesh().faceZones().findZoneID(faceZoneName);
         if (zoneI == -1)
         {
-            FatalIOErrorIn
-            (
-                "displacementLayeredMotionMotionSolver::"
-                "cellZoneSolve(const label, const dictionary&)",
-                *this
-            )   << "Cannot find faceZone " << faceZoneName
+            FatalIOErrorInFunction(*this)
+                << "Cannot find faceZone " << faceZoneName
                 << endl << "Valid zones are " << mesh().faceZones().names()
                 << exit(FatalIOError);
         }
@@ -506,11 +477,7 @@ void Foam::displacementLayeredMotionMotionSolver::cellZoneSolve
     }
     else
     {
-        FatalErrorIn
-        (
-            "displacementLayeredMotionMotionSolver::"
-            "cellZoneSolve(const label, const dictionary&)"
-        )
+        FatalErrorInFunction
             << "Invalid interpolationScheme: " << interpolationScheme
             << ". Valid schemes are 'oneSided' and 'linear'"
             << exit(FatalError);
@@ -573,11 +540,8 @@ void Foam::displacementLayeredMotionMotionSolver::solve()
 
         if (zoneI == -1)
         {
-            FatalIOErrorIn
-            (
-                "displacementLayeredMotionMotionSolver::solve()",
-                *this
-            )   << "Cannot find cellZone " << cellZoneName
+            FatalIOErrorInFunction(*this)
+                << "Cannot find cellZone " << cellZoneName
                 << endl << "Valid zones are " << mesh().cellZones().names()
                 << exit(FatalIOError);
         }
diff --git a/src/fvMotionSolver/motionDiffusivity/motionDiffusivity/motionDiffusivity.C b/src/fvMotionSolver/motionDiffusivity/motionDiffusivity/motionDiffusivity.C
index 86c94a35b83..4c01a9ebf73 100644
--- a/src/fvMotionSolver/motionDiffusivity/motionDiffusivity/motionDiffusivity.C
+++ b/src/fvMotionSolver/motionDiffusivity/motionDiffusivity/motionDiffusivity.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -59,11 +59,8 @@ Foam::autoPtr<Foam::motionDiffusivity> Foam::motionDiffusivity::New
 
     if (cstrIter == IstreamConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "motionDiffusivity::New(const fvMesh&, "
-            "const Istream& dict)"
-        )   << "Unknown diffusion type "
+        FatalErrorInFunction
+            << "Unknown diffusion type "
             << motionType << nl << nl
             << "Valid diffusion types are :" << endl
             << IstreamConstructorTablePtr_->sortedToc()
diff --git a/src/fvMotionSolver/pointPatchFields/derived/surfaceDisplacement/surfaceDisplacementPointPatchVectorField.C b/src/fvMotionSolver/pointPatchFields/derived/surfaceDisplacement/surfaceDisplacementPointPatchVectorField.C
index 30f48d60930..00a99a90569 100644
--- a/src/fvMotionSolver/pointPatchFields/derived/surfaceDisplacement/surfaceDisplacementPointPatchVectorField.C
+++ b/src/fvMotionSolver/pointPatchFields/derived/surfaceDisplacement/surfaceDisplacementPointPatchVectorField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -333,16 +333,8 @@ surfaceDisplacementPointPatchVectorField
 {
     if (velocity_.x() < 0 || velocity_.y() < 0 || velocity_.z() < 0)
     {
-        FatalErrorIn
-        (
-            "surfaceDisplacementPointPatchVectorField::\n"
-            "surfaceDisplacementPointPatchVectorField\n"
-            "(\n"
-            "    const pointPatch& p,\n"
-            "    const DimensionedField<vector, pointMesh>& iF,\n"
-            "    const dictionary& dict\n"
-            ")\n"
-        )   << "All components of velocity have to be positive : "
+        FatalErrorInFunction
+            << "All components of velocity have to be positive : "
             << velocity_ << nl
             << "Set velocity components to a great value if no clipping"
             << " necessary." << exit(FatalError);
diff --git a/src/fvMotionSolver/pointPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValuePointPatchField.C b/src/fvMotionSolver/pointPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValuePointPatchField.C
index 54725088c62..a27dd4ab8c8 100644
--- a/src/fvMotionSolver/pointPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValuePointPatchField.C
+++ b/src/fvMotionSolver/pointPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValuePointPatchField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -351,10 +351,8 @@ void Foam::timeVaryingMappedFixedValuePointPatchField<Type>::checkTable()
 
     if (!foundTime)
     {
-        FatalErrorIn
-        (
-            "timeVaryingMappedFixedValuePointPatchField<Type>::checkTable"
-        )   << "Cannot find starting sampling values for current time "
+        FatalErrorInFunction
+            << "Cannot find starting sampling values for current time "
             << this->db().time().value() << nl
             << "Have sampling values for times "
             << pointToPointPlanarInterpolation::timeNames(sampleTimes_) << nl
@@ -416,11 +414,8 @@ void Foam::timeVaryingMappedFixedValuePointPatchField<Type>::checkTable()
 
             if (vals.size() != mapperPtr_().sourceSize())
             {
-                FatalErrorIn
-                (
-                    "timeVaryingMappedFixedValuePointPatchField<Type>::"
-                    "checkTable()"
-                )   << "Number of values (" << vals.size()
+                FatalErrorInFunction
+                    << "Number of values (" << vals.size()
                     << ") differs from the number of points ("
                     <<  mapperPtr_().sourceSize()
                     << ") in file " << vals.objectPath() << exit(FatalError);
@@ -473,11 +468,8 @@ void Foam::timeVaryingMappedFixedValuePointPatchField<Type>::checkTable()
 
             if (vals.size() != mapperPtr_().sourceSize())
             {
-                FatalErrorIn
-                (
-                    "timeVaryingMappedFixedValuePointPatchField<Type>::"
-                    "checkTable()"
-                )   << "Number of values (" << vals.size()
+                FatalErrorInFunction
+                    << "Number of values (" << vals.size()
                     << ") differs from the number of points ("
                     <<  mapperPtr_().sourceSize()
                     << ") in file " << vals.objectPath() << exit(FatalError);
diff --git a/src/fvMotionSolver/pointPatchFields/derived/uniformInterpolatedDisplacement/uniformInterpolatedDisplacementPointPatchVectorField.C b/src/fvMotionSolver/pointPatchFields/derived/uniformInterpolatedDisplacement/uniformInterpolatedDisplacementPointPatchVectorField.C
index dd660e92b8b..ad48d728f97 100644
--- a/src/fvMotionSolver/pointPatchFields/derived/uniformInterpolatedDisplacement/uniformInterpolatedDisplacementPointPatchVectorField.C
+++ b/src/fvMotionSolver/pointPatchFields/derived/uniformInterpolatedDisplacement/uniformInterpolatedDisplacementPointPatchVectorField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -96,16 +96,8 @@ uniformInterpolatedDisplacementPointPatchVectorField
 
     if (timeNames_.size() < 1)
     {
-        FatalErrorIn
-        (
-            "uniformInterpolatedDisplacementPointPatchVectorField::\n"
-            "uniformInterpolatedDisplacementPointPatchVectorField\n"
-            "(\n"
-            "    const pointPatch&,\n"
-            "    const DimensionedField<vector, pointMesh>&,\n"
-            "    const dictionary&\n"
-            ")\n"
-        )   << "Did not find any times with " << fieldName_
+        FatalErrorInFunction
+            << "Did not find any times with " << fieldName_
             << exit(FatalError);
     }
 
diff --git a/src/fvOptions/cellSetOption/cellSetOption.C b/src/fvOptions/cellSetOption/cellSetOption.C
index 0711348e8bd..8864683ceb0 100644
--- a/src/fvOptions/cellSetOption/cellSetOption.C
+++ b/src/fvOptions/cellSetOption/cellSetOption.C
@@ -79,7 +79,7 @@ void Foam::fv::cellSetOption::setSelection(const dictionary& dict)
         }
         default:
         {
-            FatalErrorIn("::setSelection(const dictionary&)")
+            FatalErrorInFunction
                 << "Unknown selectionMode "
                 << selectionModeTypeNames_[selectionMode_]
                 << ". Valid selectionMode types are" << selectionModeTypeNames_
@@ -110,7 +110,7 @@ void Foam::fv::cellSetOption::setCellSet()
                 label globalCellI = returnReduce(cellI, maxOp<label>());
                 if (globalCellI < 0)
                 {
-                    WarningIn("cellSetOption::setCellSet()")
+                    WarningInFunction
                         << "Unable to find owner cell for point " << points_[i]
                         << endl;
                 }
@@ -139,7 +139,7 @@ void Foam::fv::cellSetOption::setCellSet()
             label zoneID = mesh_.cellZones().findZoneID(cellSetName_);
             if (zoneID == -1)
             {
-                FatalErrorIn("cellSetOption::setCellIds()")
+                FatalErrorInFunction
                     << "Cannot find cellZone " << cellSetName_ << endl
                     << "Valid cellZones are " << mesh_.cellZones().names()
                     << exit(FatalError);
@@ -157,7 +157,7 @@ void Foam::fv::cellSetOption::setCellSet()
         }
         default:
         {
-            FatalErrorIn("cellSetOption::setCellSet()")
+            FatalErrorInFunction
                 << "Unknown selectionMode "
                 << selectionModeTypeNames_[selectionMode_]
                 << ". Valid selectionMode types are" << selectionModeTypeNames_
diff --git a/src/fvOptions/fvOption/fvOption.C b/src/fvOptions/fvOption/fvOption.C
index ff944d4fe5a..967ee01ceaa 100644
--- a/src/fvOptions/fvOption/fvOption.C
+++ b/src/fvOptions/fvOption/fvOption.C
@@ -80,10 +80,8 @@ Foam::autoPtr<Foam::fv::option> Foam::fv::option::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "option::New(const word&, const dictionary&, const fvMesh&)"
-        )   << "Unknown Model type " << modelType << nl << nl
+        FatalErrorInFunction
+            << "Unknown Model type " << modelType << nl << nl
             << "Valid model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
             << exit(FatalError);
@@ -117,7 +115,7 @@ void Foam::fv::option::checkApplied() const
     {
         if (!applied_[i])
         {
-            WarningIn("void option::checkApplied() const")
+            WarningInFunction
                 << "Source " << name_ << " defined for field "
                 << fieldNames_[i] << " but never used" << endl;
         }
diff --git a/src/fvOptions/interRegionOption/interRegionOption.C b/src/fvOptions/interRegionOption/interRegionOption.C
index 332d02dfeb5..973fd952c59 100644
--- a/src/fvOptions/interRegionOption/interRegionOption.C
+++ b/src/fvOptions/interRegionOption/interRegionOption.C
@@ -49,7 +49,7 @@ void Foam::fv::interRegionOption::setMapper()
 
         if (mesh_.name() == nbrMesh.name())
         {
-            FatalErrorIn("interRegionOption::setCellIds()")
+            FatalErrorInFunction
                 << "Inter-region model selected, but local and "
                 << "neighbour regions are the same: " << nl
                 << "    local region: " << mesh_.name() << nl
@@ -75,7 +75,7 @@ void Foam::fv::interRegionOption::setMapper()
         }
         else
         {
-            FatalErrorIn("interRegionOption::setCellSet()")
+            FatalErrorInFunction
                 << "regions " << mesh_.name() << " and "
                 << nbrMesh.name() <<  " do not intersect"
                 << exit(FatalError);
diff --git a/src/fvOptions/interRegionOption/interRegionOptionI.H b/src/fvOptions/interRegionOption/interRegionOptionI.H
index 12c73c4b89b..738b6993469 100644
--- a/src/fvOptions/interRegionOption/interRegionOptionI.H
+++ b/src/fvOptions/interRegionOption/interRegionOptionI.H
@@ -37,10 +37,8 @@ Foam::fv::interRegionOption::meshInterp() const
 {
     if (!meshInterpPtr_.valid())
     {
-        FatalErrorIn
-        (
-            "const meshToMesh& interRegionOption::meshInterp() const"
-        )   << "Interpolation object not set"
+        FatalErrorInFunction
+            << "Interpolation object not set"
             << abort(FatalError);
     }
 
diff --git a/src/fvOptions/sources/derived/actuationDiskSource/actuationDiskSource.C b/src/fvOptions/sources/derived/actuationDiskSource/actuationDiskSource.C
index 304f7c61987..9b9049e6bc4 100644
--- a/src/fvOptions/sources/derived/actuationDiskSource/actuationDiskSource.C
+++ b/src/fvOptions/sources/derived/actuationDiskSource/actuationDiskSource.C
@@ -52,25 +52,25 @@ void Foam::fv::actuationDiskSource::checkData() const
 {
     if (magSqr(diskArea_) <= VSMALL)
     {
-        FatalErrorIn("Foam::fv::actuationDiskSource::checkData()")
+        FatalErrorInFunction
            << "diskArea is approximately zero"
            << exit(FatalIOError);
     }
     if (Cp_ <= VSMALL || Ct_ <= VSMALL)
     {
-        FatalErrorIn("Foam::fv::actuationDiskSource::checkData()")
+        FatalErrorInFunction
            << "Cp and Ct must be greater than zero"
            << exit(FatalIOError);
     }
     if (mag(diskDir_) < VSMALL)
     {
-        FatalErrorIn("Foam::fv::actuationDiskSource::checkData()")
+        FatalErrorInFunction
            << "disk direction vector is approximately zero"
            << exit(FatalIOError);
     }
     if (returnReduce(upstreamCellId_, maxOp<label>()) == -1)
     {
-        FatalErrorIn("Foam::fv::actuationDiskSource::checkData()")
+        FatalErrorInFunction
            << "upstream location " << upstreamPoint_  << " not found in mesh"
            << exit(FatalIOError);
     }
diff --git a/src/fvOptions/sources/derived/effectivenessHeatExchangerSource/effectivenessHeatExchangerSource.C b/src/fvOptions/sources/derived/effectivenessHeatExchangerSource/effectivenessHeatExchangerSource.C
index 106db470755..d354c44303c 100644
--- a/src/fvOptions/sources/derived/effectivenessHeatExchangerSource/effectivenessHeatExchangerSource.C
+++ b/src/fvOptions/sources/derived/effectivenessHeatExchangerSource/effectivenessHeatExchangerSource.C
@@ -168,16 +168,7 @@ Foam::fv::effectivenessHeatExchangerSource::effectivenessHeatExchangerSource
 {
     if (zoneID_ < 0)
     {
-        FatalErrorIn
-        (
-            "effectivenessHeatExchangerSource::effectivenessHeatExchangerSource"
-            "("
-                "const word&, "
-                "const word&, "
-                "const dictionary&, "
-                "const fvMesh&"
-            ")"
-        )
+        FatalErrorInFunction
             << type() << " " << this->name() << ": "
             << "    Unknown face zone name: " << faceZoneName_
             << ". Valid face zones are: " << mesh_.faceZones().names()
diff --git a/src/fvOptions/sources/derived/explicitPorositySource/explicitPorositySource.C b/src/fvOptions/sources/derived/explicitPorositySource/explicitPorositySource.C
index e3c8d8a94ac..deca3d4445a 100644
--- a/src/fvOptions/sources/derived/explicitPorositySource/explicitPorositySource.C
+++ b/src/fvOptions/sources/derived/explicitPorositySource/explicitPorositySource.C
@@ -63,8 +63,7 @@ Foam::fv::explicitPorositySource::explicitPorositySource
 
     if (selectionMode_ != smCellZone)
     {
-        FatalErrorIn("void Foam::fv::explicitPorositySource::initialise()")
-            << "The porosity region must be specified as a cellZone.  Current "
+        FatalErrorInFunction
             << "selection mode is " << selectionModeTypeNames_[selectionMode_]
             << exit(FatalError);
     }
diff --git a/src/fvOptions/sources/derived/meanVelocityForce/meanVelocityForce.C b/src/fvOptions/sources/derived/meanVelocityForce/meanVelocityForce.C
index 4b717229ceb..f4a6ca68e61 100644
--- a/src/fvOptions/sources/derived/meanVelocityForce/meanVelocityForce.C
+++ b/src/fvOptions/sources/derived/meanVelocityForce/meanVelocityForce.C
@@ -97,17 +97,7 @@ Foam::fv::meanVelocityForce::meanVelocityForce
 
     if (fieldNames_.size() != 1)
     {
-        FatalErrorIn
-        (
-            "Foam::fv::meanVelocityForce::"
-            "meanVelocityForce"
-            "("
-                "const word&, "
-                "const word&, "
-                "const dictionary&, "
-                "const fvMesh&"
-            ")"
-        )   << "Source can only be applied to a single field.  Current "
+        FatalErrorInFunction
             << "settings are:" << fieldNames_ << exit(FatalError);
     }
 
diff --git a/src/fvOptions/sources/derived/meanVelocityForce/patchMeanVelocityForce/patchMeanVelocityForce.C b/src/fvOptions/sources/derived/meanVelocityForce/patchMeanVelocityForce/patchMeanVelocityForce.C
index 8fdf8a98815..9b1acd02b36 100644
--- a/src/fvOptions/sources/derived/meanVelocityForce/patchMeanVelocityForce/patchMeanVelocityForce.C
+++ b/src/fvOptions/sources/derived/meanVelocityForce/patchMeanVelocityForce/patchMeanVelocityForce.C
@@ -60,7 +60,7 @@ Foam::fv::patchMeanVelocityForce::patchMeanVelocityForce
 {
     if (patchi_ < 0)
     {
-        FatalErrorIn("fv::patchMeanVelocityForce::patchMeanVelocityForce")
+        FatalErrorInFunction
             << "Cannot find patch " << patch_
             << exit(FatalError);
     }
diff --git a/src/fvOptions/sources/derived/rotorDiskSource/bladeModel/bladeModel.C b/src/fvOptions/sources/derived/rotorDiskSource/bladeModel/bladeModel.C
index 0f8978c4eea..e716ccd03a5 100644
--- a/src/fvOptions/sources/derived/rotorDiskSource/bladeModel/bladeModel.C
+++ b/src/fvOptions/sources/derived/rotorDiskSource/bladeModel/bladeModel.C
@@ -125,7 +125,7 @@ Foam::bladeModel::bladeModel(const dictionary& dict)
     }
     else
     {
-        FatalErrorIn("Foam::bladeModel::bladeModel(const dictionary&)")
+        FatalErrorInFunction
             << "No blade data specified" << exit(FatalError);
     }
 }
diff --git a/src/fvOptions/sources/derived/rotorDiskSource/profileModel/lookup/lookupProfile.C b/src/fvOptions/sources/derived/rotorDiskSource/profileModel/lookup/lookupProfile.C
index f07821c27bc..ce355867b1f 100644
--- a/src/fvOptions/sources/derived/rotorDiskSource/profileModel/lookup/lookupProfile.C
+++ b/src/fvOptions/sources/derived/rotorDiskSource/profileModel/lookup/lookupProfile.C
@@ -126,14 +126,8 @@ Foam::lookupProfile::lookupProfile
     }
     else
     {
-        FatalErrorIn
-        (
-            "Foam::lookupProfile::lookupProfile"
-            "("
-                "const dictionary&, "
-                "const word&"
-            ")"
-        )   << "No profile data specified" << exit(FatalError);
+        FatalErrorInFunction
+            << "No profile data specified" << exit(FatalError);
     }
 }
 
diff --git a/src/fvOptions/sources/derived/rotorDiskSource/profileModel/profileModel.C b/src/fvOptions/sources/derived/rotorDiskSource/profileModel/profileModel.C
index b70c677423b..8934fa53ad2 100644
--- a/src/fvOptions/sources/derived/rotorDiskSource/profileModel/profileModel.C
+++ b/src/fvOptions/sources/derived/rotorDiskSource/profileModel/profileModel.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -84,7 +84,7 @@ Foam::autoPtr<Foam::profileModel> Foam::profileModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("profileModel::New(const dictionary&)")
+        FatalErrorInFunction
             << "Unknown profile model type " << modelType
             << nl << nl
             << "Valid model types are :" << nl
diff --git a/src/fvOptions/sources/derived/rotorDiskSource/profileModel/profileModelList.C b/src/fvOptions/sources/derived/rotorDiskSource/profileModel/profileModelList.C
index 7b7a2bed5da..f39131df6ba 100644
--- a/src/fvOptions/sources/derived/rotorDiskSource/profileModel/profileModelList.C
+++ b/src/fvOptions/sources/derived/rotorDiskSource/profileModel/profileModelList.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -105,7 +105,7 @@ void Foam::profileModelList::connectBlades
                 profileNames[i] = pm.name();
             }
 
-            FatalErrorIn("void Foam::connectBlades(List<word>& names) const")
+            FatalErrorInFunction
                 << "Profile " << profileName << " could not be found "
                 << "in profile list.  Available profiles are"
                 << profileNames << exit(FatalError);
diff --git a/src/fvOptions/sources/derived/rotorDiskSource/profileModel/series/seriesProfile.C b/src/fvOptions/sources/derived/rotorDiskSource/profileModel/series/seriesProfile.C
index 56750e8d86d..eb7746dea2f 100644
--- a/src/fvOptions/sources/derived/rotorDiskSource/profileModel/series/seriesProfile.C
+++ b/src/fvOptions/sources/derived/rotorDiskSource/profileModel/series/seriesProfile.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -100,25 +100,13 @@ Foam::seriesProfile::seriesProfile
 
     if (CdCoeffs_.empty())
     {
-        FatalErrorIn
-        (
-            "Foam::seriesProfile::seriesProfile"
-            "("
-                "const dictionary&, "
-                "const word&"
-            ")"
-        )   << "CdCoeffs must be specified" << exit(FatalError);
+        FatalErrorInFunction
+            << "CdCoeffs must be specified" << exit(FatalError);
     }
     if (ClCoeffs_.empty())
     {
-        FatalErrorIn
-        (
-            "Foam::seriesProfile::seriesProfile"
-            "("
-                "const dictionary&, "
-                "const word&"
-            ")"
-        )   << "ClCoeffs must be specified" << exit(FatalError);
+        FatalErrorInFunction
+            << "ClCoeffs must be specified" << exit(FatalError);
     }
 }
 
diff --git a/src/fvOptions/sources/derived/rotorDiskSource/rotorDiskSource.C b/src/fvOptions/sources/derived/rotorDiskSource/rotorDiskSource.C
index 73e11394e76..e88c02c664f 100644
--- a/src/fvOptions/sources/derived/rotorDiskSource/rotorDiskSource.C
+++ b/src/fvOptions/sources/derived/rotorDiskSource/rotorDiskSource.C
@@ -101,7 +101,7 @@ void Foam::fv::rotorDiskSource::checkData()
                 }
                 default:
                 {
-                    FatalErrorIn("void rotorDiskSource::checkData()")
+                    FatalErrorInFunction
                         << "Unknown inlet velocity type" << abort(FatalError);
                 }
             }
@@ -111,7 +111,7 @@ void Foam::fv::rotorDiskSource::checkData()
         }
         default:
         {
-            FatalErrorIn("void rotorDiskSource::checkData()")
+            FatalErrorInFunction
                 << "Source cannot be used with '"
                 << selectionModeTypeNames_[selectionMode()]
                 << "' mode.  Please use one of: " << nl
@@ -374,7 +374,7 @@ void Foam::fv::rotorDiskSource::createCoordinateSystem()
         }
         default:
         {
-            FatalErrorIn("rotorDiskSource::createCoordinateSystem()")
+            FatalErrorInFunction
                 << "Unknown geometryMode " << geometryModeTypeNames_[gm]
                 << ". Available geometry modes include "
                 << geometryModeTypeNames_ << exit(FatalError);
@@ -454,12 +454,8 @@ Foam::tmp<Foam::vectorField> Foam::fv::rotorDiskSource::inflowVelocity
         }
         default:
         {
-            FatalErrorIn
-            (
-                "Foam::tmp<Foam::vectorField> "
-                "Foam::fv::rotorDiskSource::inflowVelocity"
-                "(const volVectorField&) const"
-            )   << "Unknown inlet flow specification" << abort(FatalError);
+            FatalErrorInFunction
+                << "Unknown inlet flow specification" << abort(FatalError);
         }
     }
 
diff --git a/src/fvOptions/sources/derived/rotorDiskSource/rotorDiskSourceTemplates.C b/src/fvOptions/sources/derived/rotorDiskSource/rotorDiskSourceTemplates.C
index a0664e696d6..181db2575e4 100644
--- a/src/fvOptions/sources/derived/rotorDiskSource/rotorDiskSourceTemplates.C
+++ b/src/fvOptions/sources/derived/rotorDiskSource/rotorDiskSourceTemplates.C
@@ -190,7 +190,7 @@ void Foam::fv::rotorDiskSource::writeField
 
         if (cells_.size() != values.size())
         {
-            FatalErrorIn("") << "cells_.size() != values_.size()"
+            FatalErrorInFunction
                 << abort(FatalError);
         }
 
diff --git a/src/fvOptions/sources/derived/rotorDiskSource/trimModel/trimModel/trimModelNew.C b/src/fvOptions/sources/derived/rotorDiskSource/trimModel/trimModel/trimModelNew.C
index 401e04ae8d4..e8c01c639b1 100644
--- a/src/fvOptions/sources/derived/rotorDiskSource/trimModel/trimModel/trimModelNew.C
+++ b/src/fvOptions/sources/derived/rotorDiskSource/trimModel/trimModel/trimModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -42,10 +42,8 @@ Foam::autoPtr<Foam::trimModel> Foam::trimModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "trimModel::New(const rotorDiskSource&, const dictionary&)"
-        )   << "Unknown " << typeName << " type "
+        FatalErrorInFunction
+            << "Unknown " << typeName << " type "
             << modelType << nl << nl
             << "Valid " << typeName << " types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSource.C b/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSource.C
index b4120b984a7..f7ce048afa2 100644
--- a/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSource.C
+++ b/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSource.C
@@ -116,11 +116,7 @@ Foam::fv::solidificationMeltingSource::Cp() const
         }
         default:
         {
-            FatalErrorIn
-            (
-                "Foam::tmp<Foam::volScalarField> "
-                "Foam::fv::solidificationMeltingSource::Cp() const"
-            )
+            FatalErrorInFunction
                 << "Unhandled thermo mode: " << thermoModeTypeNames_[mode_]
                 << abort(FatalError);
         }
@@ -240,10 +236,8 @@ Foam::fv::solidificationMeltingSource::solidificationMeltingSource
         }
         default:
         {
-            FatalErrorIn
-            (
-                "fv::solidificationMeltingSource::solidificationMeltingSource"
-            )   << "Unhandled thermo mode: " << thermoModeTypeNames_[mode_]
+            FatalErrorInFunction
+                << "Unhandled thermo mode: " << thermoModeTypeNames_[mode_]
                 << abort(FatalError);
         }
     }
diff --git a/src/fvOptions/sources/derived/tabulatedAccelerationSource/tabulated6DoFAcceleration/tabulated6DoFAcceleration.C b/src/fvOptions/sources/derived/tabulatedAccelerationSource/tabulated6DoFAcceleration/tabulated6DoFAcceleration.C
index 9a482b7012b..aae2e1e07aa 100644
--- a/src/fvOptions/sources/derived/tabulatedAccelerationSource/tabulated6DoFAcceleration/tabulated6DoFAcceleration.C
+++ b/src/fvOptions/sources/derived/tabulatedAccelerationSource/tabulated6DoFAcceleration/tabulated6DoFAcceleration.C
@@ -66,10 +66,8 @@ Foam::tabulated6DoFAcceleration::acceleration() const
 
     if (t < times_[0])
     {
-        FatalErrorIn
-        (
-            "tabulated6DoFAcceleration::acceleration()"
-        )   << "current time (" << t
+        FatalErrorInFunction
+            << "current time (" << t
             << ") is less than the minimum in the data table ("
             << times_[0] << ')'
             << exit(FatalError);
@@ -77,10 +75,8 @@ Foam::tabulated6DoFAcceleration::acceleration() const
 
     if (t > times_.last())
     {
-        FatalErrorIn
-        (
-            "tabulated6DoFAcceleration::acceleration()"
-        )   << "current time (" << t
+        FatalErrorInFunction
+            << "current time (" << t
             << ") is greater than the maximum in the data table ("
             << times_.last() << ')'
             << exit(FatalError);
@@ -138,10 +134,8 @@ bool Foam::tabulated6DoFAcceleration::read
         }
         else
         {
-            FatalErrorIn
-            (
-                "tabulated6DoFAcceleration::read(const dictionary&)"
-            )   << "Cannot open time data file " << timeDataFileName_
+            FatalErrorInFunction
+                << "Cannot open time data file " << timeDataFileName_
                 << exit(FatalError);
         }
     }
diff --git a/src/fvOptions/sources/general/semiImplicitSource/SemiImplicitSource.C b/src/fvOptions/sources/general/semiImplicitSource/SemiImplicitSource.C
index 4b8c48b411a..c7643dd71af 100644
--- a/src/fvOptions/sources/general/semiImplicitSource/SemiImplicitSource.C
+++ b/src/fvOptions/sources/general/semiImplicitSource/SemiImplicitSource.C
@@ -55,11 +55,8 @@ Foam::fv::SemiImplicitSource<Type>::wordToVolumeModeType
         }
     }
 
-    FatalErrorIn
-    (
-        "SemiImplicitSource<Type>::volumeModeType"
-        "SemiImplicitSource<Type>::wordToVolumeModeType(const word&)"
-    )   << "Unknown volumeMode type " << vmtName
+    FatalErrorInFunction
+        << "Unknown volumeMode type " << vmtName
         << ". Valid volumeMode types are:" << nl << volumeModeTypeNames_
         << exit(FatalError);
 
diff --git a/src/fvOptions/sources/interRegion/interRegionExplicitPorositySource/interRegionExplicitPorositySource.C b/src/fvOptions/sources/interRegion/interRegionExplicitPorositySource/interRegionExplicitPorositySource.C
index 5452142948f..10636cf4a2e 100644
--- a/src/fvOptions/sources/interRegion/interRegionExplicitPorositySource/interRegionExplicitPorositySource.C
+++ b/src/fvOptions/sources/interRegion/interRegionExplicitPorositySource/interRegionExplicitPorositySource.C
@@ -84,10 +84,7 @@ void Foam::fv::interRegionExplicitPorositySource::initialise()
     }
     else
     {
-        FatalErrorIn
-        (
-            "void Foam::fv::interRegionExplicitPorositySource::initialise()"
-        )
+        FatalErrorInFunction
             << "Unable to create porous cellZone " << zoneName
             << ": zone already exists"
             << abort(FatalError);
diff --git a/src/fvOptions/sources/interRegion/interRegionHeatTransfer/interRegionHeatTransferModel/interRegionHeatTransferModel.C b/src/fvOptions/sources/interRegion/interRegionHeatTransfer/interRegionHeatTransferModel/interRegionHeatTransferModel.C
index 213f96a24e3..170f72517ba 100644
--- a/src/fvOptions/sources/interRegion/interRegionHeatTransfer/interRegionHeatTransferModel/interRegionHeatTransferModel.C
+++ b/src/fvOptions/sources/interRegion/interRegionHeatTransfer/interRegionHeatTransferModel/interRegionHeatTransferModel.C
@@ -71,7 +71,7 @@ void Foam::fv::interRegionHeatTransferModel::setNbrModel()
 
     if (!nbrModelFound)
     {
-        FatalErrorIn("interRegionHeatTransferModel::setNbrModel()")
+        FatalErrorInFunction
             << "Neighbour model not found" << nbrModelName_
             << " in region " << nbrMesh.name() << nl
             << exit(FatalError);
@@ -241,14 +241,8 @@ void Foam::fv::interRegionHeatTransferModel::addSup
             }
             else
             {
-                FatalErrorIn
-                (
-                    "void Foam::fv::interRegionHeatTransferModel::addSup"
-                    "("
-                    "   fvMatrix<scalar>&, "
-                    "   const label "
-                    ")"
-                )   << " on mesh " << mesh_.name()
+                FatalErrorInFunction
+                    << " on mesh " << mesh_.name()
                     << " could not find object basicThermo."
                     << " The available objects are: "
                     << mesh_.names()
diff --git a/src/fvOptions/sources/interRegion/interRegionHeatTransfer/interRegionHeatTransferModel/interRegionHeatTransferModelI.H b/src/fvOptions/sources/interRegion/interRegionHeatTransfer/interRegionHeatTransferModel/interRegionHeatTransferModelI.H
index 89c6771a6fa..42f7fd28a5c 100644
--- a/src/fvOptions/sources/interRegion/interRegionHeatTransfer/interRegionHeatTransferModel/interRegionHeatTransferModelI.H
+++ b/src/fvOptions/sources/interRegion/interRegionHeatTransfer/interRegionHeatTransferModel/interRegionHeatTransferModelI.H
@@ -37,10 +37,8 @@ Foam::fv::interRegionHeatTransferModel::meshInterp() const
 {
     if (!meshInterpPtr_.valid())
     {
-        FatalErrorIn
-        (
-            "const meshToMesh& interRegionHeatTransferModel::meshInterp() const"
-        )   << "Interpolation object not set"
+        FatalErrorInFunction
+            << "Interpolation object not set"
             << abort(FatalError);
     }
 
@@ -60,7 +58,7 @@ Foam::fv::interRegionHeatTransferModel::nbrModel() const
 {
     if (nbrModel_ == NULL)
     {
-        FatalErrorIn("const interRegionHeatTransferModel& nbrModel() const")
+        FatalErrorInFunction
             << "Neighbour model not set"
             << abort(FatalError);
     }
@@ -74,7 +72,7 @@ Foam::fv::interRegionHeatTransferModel::nbrModel()
 {
     if (nbrModel_ == NULL)
     {
-        FatalErrorIn("interRegionHeatTransferModel& nbrModel()")
+        FatalErrorInFunction
             << "Neighbour model not set"
             << abort(FatalError);
     }
diff --git a/src/genericPatchFields/genericFvPatchField/genericFvPatchField.C b/src/genericPatchFields/genericFvPatchField/genericFvPatchField.C
index 120d7b1c52b..0a7afe5cb2e 100644
--- a/src/genericPatchFields/genericFvPatchField/genericFvPatchField.C
+++ b/src/genericPatchFields/genericFvPatchField/genericFvPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -37,11 +37,7 @@ Foam::genericFvPatchField<Type>::genericFvPatchField
 :
     calculatedFvPatchField<Type>(p, iF)
 {
-    FatalErrorIn
-    (
-        "genericFvPatchField<Type>::genericFvPatchField"
-        "(const fvPatch& p, const DimensionedField<Type, volMesh>& iF)"
-    )   << "Not Implemented\n    "
+    FatalErrorInFunction
         << "Trying to construct an genericFvPatchField on patch "
         << this->patch().name()
         << " of field " << this->dimensionedInternalField().name()
@@ -63,10 +59,8 @@ Foam::genericFvPatchField<Type>::genericFvPatchField
 {
     if (!dict.found("value"))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "genericFvPatchField<Type>::genericFvPatchField"
-            "(const fvPatch&, const Field<Type>&, const dictionary&)",
             dict
         )   << "\n    Cannot find 'value' entry"
             << " on patch " << this->patch().name()
@@ -120,11 +114,8 @@ Foam::genericFvPatchField<Type>::genericFvPatchField
                         }
                         else
                         {
-                            FatalIOErrorIn
+                            FatalIOErrorInFunction
                             (
-                                "genericFvPatchField<Type>::genericFvPatchField"
-                                "(const fvPatch&, const Field<Type>&, "
-                                "const dictionary&)",
                                 dict
                             )   << "\n    token following 'nonuniform' "
                                   "is not a compound"
@@ -153,11 +144,8 @@ Foam::genericFvPatchField<Type>::genericFvPatchField
 
                         if (fPtr->size() != this->size())
                         {
-                            FatalIOErrorIn
+                            FatalIOErrorInFunction
                             (
-                                "genericFvPatchField<Type>::genericFvPatchField"
-                                "(const fvPatch&, const Field<Type>&, "
-                                "const dictionary&)",
                                 dict
                             )   << "\n    size of field " << iter().keyword()
                                 << " (" << fPtr->size() << ')'
@@ -190,11 +178,8 @@ Foam::genericFvPatchField<Type>::genericFvPatchField
 
                         if (fPtr->size() != this->size())
                         {
-                            FatalIOErrorIn
+                            FatalIOErrorInFunction
                             (
-                                "genericFvPatchField<Type>::genericFvPatchField"
-                                "(const fvPatch&, const Field<Type>&, "
-                                "const dictionary&)",
                                 dict
                             )   << "\n    size of field " << iter().keyword()
                                 << " (" << fPtr->size() << ')'
@@ -230,11 +215,8 @@ Foam::genericFvPatchField<Type>::genericFvPatchField
 
                         if (fPtr->size() != this->size())
                         {
-                            FatalIOErrorIn
+                            FatalIOErrorInFunction
                             (
-                                "genericFvPatchField<Type>::genericFvPatchField"
-                                "(const fvPatch&, const Field<Type>&, "
-                                "const dictionary&)",
                                 dict
                             )   << "\n    size of field " << iter().keyword()
                                 << " (" << fPtr->size() << ')'
@@ -270,11 +252,8 @@ Foam::genericFvPatchField<Type>::genericFvPatchField
 
                         if (fPtr->size() != this->size())
                         {
-                            FatalIOErrorIn
+                            FatalIOErrorInFunction
                             (
-                                "genericFvPatchField<Type>::genericFvPatchField"
-                                "(const fvPatch&, const Field<Type>&, "
-                                "const dictionary&)",
                                 dict
                             )   << "\n    size of field " << iter().keyword()
                                 << " (" << fPtr->size() << ')'
@@ -307,11 +286,8 @@ Foam::genericFvPatchField<Type>::genericFvPatchField
 
                         if (fPtr->size() != this->size())
                         {
-                            FatalIOErrorIn
+                            FatalIOErrorInFunction
                             (
-                                "genericFvPatchField<Type>::genericFvPatchField"
-                                "(const fvPatch&, const Field<Type>&, "
-                                "const dictionary&)",
                                 dict
                             )   << "\n    size of field " << iter().keyword()
                                 << " (" << fPtr->size() << ')'
@@ -329,11 +305,8 @@ Foam::genericFvPatchField<Type>::genericFvPatchField
                     }
                     else
                     {
-                        FatalIOErrorIn
+                        FatalIOErrorInFunction
                         (
-                            "genericFvPatchField<Type>::genericFvPatchField"
-                            "(const fvPatch&, const Field<Type>&, "
-                            "const dictionary&)",
                             dict
                         )   << "\n    compound " << fieldToken.compoundToken()
                             << " not supported"
@@ -419,11 +392,8 @@ Foam::genericFvPatchField<Type>::genericFvPatchField
                         }
                         else
                         {
-                            FatalIOErrorIn
+                            FatalIOErrorInFunction
                             (
-                                "genericFvPatchField<Type>::genericFvPatchField"
-                                "(const fvPatch&, const Field<Type>&, "
-                                "const dictionary&)",
                                 dict
                             )   << "\n    unrecognised native type " << l
                                 << "\n    on patch " << this->patch().name()
@@ -724,12 +694,8 @@ Foam::genericFvPatchField<Type>::valueInternalCoeffs
     const tmp<scalarField>&
 ) const
 {
-    FatalErrorIn
-    (
-        "genericFvPatchField<Type>::"
-        "valueInternalCoeffs(const tmp<scalarField>&) const"
-    )   << "\n    "
-           "valueInternalCoeffs cannot be called for a genericFvPatchField"
+    FatalErrorInFunction
+        << "cannot be called for a genericFvPatchField"
            " (actual type " << actualTypeName_ << ")"
         << "\n    on patch " << this->patch().name()
         << " of field " << this->dimensionedInternalField().name()
@@ -749,12 +715,8 @@ Foam::genericFvPatchField<Type>::valueBoundaryCoeffs
     const tmp<scalarField>&
 ) const
 {
-    FatalErrorIn
-    (
-        "genericFvPatchField<Type>::"
-        "valueBoundaryCoeffs(const tmp<scalarField>&) const"
-    )   << "\n    "
-           "valueBoundaryCoeffs cannot be called for a genericFvPatchField"
+    FatalErrorInFunction
+        << "cannot be called for a genericFvPatchField"
            " (actual type " << actualTypeName_ << ")"
         << "\n    on patch " << this->patch().name()
         << " of field " << this->dimensionedInternalField().name()
@@ -771,12 +733,8 @@ template<class Type>
 Foam::tmp<Foam::Field<Type> >
 Foam::genericFvPatchField<Type>::gradientInternalCoeffs() const
 {
-    FatalErrorIn
-    (
-        "genericFvPatchField<Type>::"
-        "gradientInternalCoeffs() const"
-    )   << "\n    "
-           "gradientInternalCoeffs cannot be called for a genericFvPatchField"
+    FatalErrorInFunction
+        << "cannot be called for a genericFvPatchField"
            " (actual type " << actualTypeName_ << ")"
         << "\n    on patch " << this->patch().name()
         << " of field " << this->dimensionedInternalField().name()
@@ -792,12 +750,8 @@ template<class Type>
 Foam::tmp<Foam::Field<Type> >
 Foam::genericFvPatchField<Type>::gradientBoundaryCoeffs() const
 {
-    FatalErrorIn
-    (
-        "genericFvPatchField<Type>::"
-        "gradientBoundaryCoeffs() const"
-    )   << "\n    "
-           "gradientBoundaryCoeffs cannot be called for a genericFvPatchField"
+    FatalErrorInFunction
+        << "cannot be called for a genericFvPatchField"
            " (actual type " << actualTypeName_ << ")"
         << "\n    on patch " << this->patch().name()
         << " of field " << this->dimensionedInternalField().name()
diff --git a/src/genericPatchFields/genericPointPatchField/genericPointPatchField.C b/src/genericPatchFields/genericPointPatchField/genericPointPatchField.C
index c477c89dcde..08b254e658c 100644
--- a/src/genericPatchFields/genericPointPatchField/genericPointPatchField.C
+++ b/src/genericPatchFields/genericPointPatchField/genericPointPatchField.C
@@ -97,12 +97,8 @@ genericPointPatchField<Type>::genericPointPatchField
                         }
                         else
                         {
-                            FatalIOErrorIn
+                            FatalIOErrorInFunction
                             (
-                                "genericPointPatchField<Type>::"
-                                "genericPointPatchField"
-                                "(const pointPatch&, const Field<Type>&, "
-                                "const dictionary&)",
                                 dict
                             )   << "\n    token following 'nonuniform' "
                                   "is not a compound"
@@ -131,12 +127,8 @@ genericPointPatchField<Type>::genericPointPatchField
 
                         if (fPtr->size() != this->size())
                         {
-                            FatalIOErrorIn
+                            FatalIOErrorInFunction
                             (
-                                "genericPointPatchField<Type>::"
-                                "genericPointPatchField"
-                                "(const pointPatch&, const Field<Type>&, "
-                                "const dictionary&)",
                                 dict
                             )   << "\n    size of field " << iter().keyword()
                                 << " (" << fPtr->size() << ')'
@@ -169,12 +161,8 @@ genericPointPatchField<Type>::genericPointPatchField
 
                         if (fPtr->size() != this->size())
                         {
-                            FatalIOErrorIn
+                            FatalIOErrorInFunction
                             (
-                                "genericPointPatchField<Type>::"
-                                "genericPointPatchField"
-                                "(const pointPatch&, const Field<Type>&, "
-                                "const dictionary&)",
                                 dict
                             )   << "\n    size of field " << iter().keyword()
                                 << " (" << fPtr->size() << ')'
@@ -210,12 +198,8 @@ genericPointPatchField<Type>::genericPointPatchField
 
                         if (fPtr->size() != this->size())
                         {
-                            FatalIOErrorIn
+                            FatalIOErrorInFunction
                             (
-                                "genericPointPatchField<Type>::"
-                                "genericPointPatchField"
-                                "(const pointPatch&, const Field<Type>&, "
-                                "const dictionary&)",
                                 dict
                             )   << "\n    size of field " << iter().keyword()
                                 << " (" << fPtr->size() << ')'
@@ -251,12 +235,8 @@ genericPointPatchField<Type>::genericPointPatchField
 
                         if (fPtr->size() != this->size())
                         {
-                            FatalIOErrorIn
+                            FatalIOErrorInFunction
                             (
-                                "genericPointPatchField<Type>::"
-                                "genericPointPatchField"
-                                "(const pointPatch&, const Field<Type>&, "
-                                "const dictionary&)",
                                 dict
                             )   << "\n    size of field " << iter().keyword()
                                 << " (" << fPtr->size() << ')'
@@ -289,12 +269,8 @@ genericPointPatchField<Type>::genericPointPatchField
 
                         if (fPtr->size() != this->size())
                         {
-                            FatalIOErrorIn
+                            FatalIOErrorInFunction
                             (
-                                "genericPointPatchField<Type>::"
-                                "genericPointPatchField"
-                                "(const pointPatch&, const Field<Type>&, "
-                                "const dictionary&)",
                                 dict
                             )   << "\n    size of field " << iter().keyword()
                                 << " (" << fPtr->size() << ')'
@@ -312,12 +288,8 @@ genericPointPatchField<Type>::genericPointPatchField
                     }
                     else
                     {
-                        FatalIOErrorIn
+                        FatalIOErrorInFunction
                         (
-                            "genericPointPatchField<Type>::"
-                            "genericPointPatchField"
-                            "(const pointPatch&, const Field<Type>&, "
-                            "const dictionary&)",
                             dict
                         )   << "\n    compound " << fieldToken.compoundToken()
                             << " not supported"
diff --git a/src/lagrangian/DSMC/clouds/Templates/DSMCCloud/DSMCCloud.C b/src/lagrangian/DSMC/clouds/Templates/DSMCCloud/DSMCCloud.C
index aafa52ca59a..3cc13ad356d 100644
--- a/src/lagrangian/DSMC/clouds/Templates/DSMCCloud/DSMCCloud.C
+++ b/src/lagrangian/DSMC/clouds/Templates/DSMCCloud/DSMCCloud.C
@@ -131,7 +131,7 @@ void Foam::DSMCCloud<ParcelType>::initialise
 
                 if (typeId == -1)
                 {
-                    FatalErrorIn("Foam::DSMCCloud<ParcelType>::initialise")
+                    FatalErrorInFunction
                         << "typeId " << moleculeName << "not defined." << nl
                         << abort(FatalError);
                 }
diff --git a/src/lagrangian/DSMC/clouds/Templates/DSMCCloud/DSMCCloudI.H b/src/lagrangian/DSMC/clouds/Templates/DSMCCloud/DSMCCloudI.H
index 4d0ee08b6c1..16801a7bf78 100644
--- a/src/lagrangian/DSMC/clouds/Templates/DSMCCloud/DSMCCloudI.H
+++ b/src/lagrangian/DSMC/clouds/Templates/DSMCCloud/DSMCCloudI.H
@@ -107,7 +107,7 @@ Foam::DSMCCloud<ParcelType>::constProps
 {
     if (typeId < 0 || typeId >= constProps_.size())
     {
-        FatalErrorIn("Foam::DSMCCloud<ParcelType>::constProps(label typeId)")
+        FatalErrorInFunction
             << "constantProperties for requested typeId index "
             << typeId << " do not exist" << nl
             << abort(FatalError);
diff --git a/src/lagrangian/DSMC/submodels/BinaryCollisionModel/BinaryCollisionModel/BinaryCollisionModelNew.C b/src/lagrangian/DSMC/submodels/BinaryCollisionModel/BinaryCollisionModel/BinaryCollisionModelNew.C
index f01e28c9169..4d528d0304f 100644
--- a/src/lagrangian/DSMC/submodels/BinaryCollisionModel/BinaryCollisionModel/BinaryCollisionModelNew.C
+++ b/src/lagrangian/DSMC/submodels/BinaryCollisionModel/BinaryCollisionModel/BinaryCollisionModelNew.C
@@ -44,11 +44,7 @@ Foam::BinaryCollisionModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "BinaryCollisionModel<CloudType>::New"
-            "(const dictionary&, CloudType&)"
-        )
+        FatalErrorInFunction
             << "Unknown BinaryCollisionModel type "
             << modelType << nl << nl
             << "Valid BinaryCollisionModel types are:" << nl
diff --git a/src/lagrangian/DSMC/submodels/BinaryCollisionModel/NoBinaryCollision/NoBinaryCollision.C b/src/lagrangian/DSMC/submodels/BinaryCollisionModel/NoBinaryCollision/NoBinaryCollision.C
index 587d10a3bb7..d5c2d19b411 100644
--- a/src/lagrangian/DSMC/submodels/BinaryCollisionModel/NoBinaryCollision/NoBinaryCollision.C
+++ b/src/lagrangian/DSMC/submodels/BinaryCollisionModel/NoBinaryCollision/NoBinaryCollision.C
@@ -64,14 +64,7 @@ Foam::scalar Foam::NoBinaryCollision<CloudType>::sigmaTcR
     const typename CloudType::parcelType& pQ
 ) const
 {
-    FatalErrorIn
-    (
-        "Foam::scalar Foam::NoBinaryCollision<CloudType>::sigmaTcR"
-        "("
-            "const typename CloudType::parcelType&, "
-            "const typename CloudType::parcelType"
-        ") const"
-    )
+    FatalErrorInFunction
         << "sigmaTcR called on NoBinaryCollision model, this should "
         << "not happen, this is not an actual model." << nl
         << "Enclose calls to sigmaTcR within a if (binaryCollision().active()) "
diff --git a/src/lagrangian/DSMC/submodels/InflowBoundaryModel/FreeStream/FreeStream.C b/src/lagrangian/DSMC/submodels/InflowBoundaryModel/FreeStream/FreeStream.C
index c497b21d0f1..7fd2bc75370 100644
--- a/src/lagrangian/DSMC/submodels/InflowBoundaryModel/FreeStream/FreeStream.C
+++ b/src/lagrangian/DSMC/submodels/InflowBoundaryModel/FreeStream/FreeStream.C
@@ -97,14 +97,8 @@ Foam::FreeStream<CloudType>::FreeStream
 
         if (moleculeTypeIds_[i] == -1)
         {
-            FatalErrorIn
-            (
-                "Foam::FreeStream<CloudType>::FreeStream"
-                "("
-                    "const dictionary&, "
-                    "CloudType&"
-                ")"
-            )   << "typeId " << molecules[i] << "not defined in cloud." << nl
+            FatalErrorInFunction
+                << "typeId " << molecules[i] << "not defined in cloud." << nl
                 << abort(FatalError);
         }
     }
@@ -190,7 +184,7 @@ void Foam::FreeStream<CloudType>::inflow()
 
             if (min(boundaryT[patchi]) < SMALL)
             {
-                FatalErrorIn ("Foam::FreeStream<CloudType>::inflow()")
+                FatalErrorInFunction
                     << "Zero boundary temperature detected, check boundaryT "
                     << "condition." << nl
                     << nl << abort(FatalError);
diff --git a/src/lagrangian/DSMC/submodels/InflowBoundaryModel/InflowBoundaryModel/InflowBoundaryModelNew.C b/src/lagrangian/DSMC/submodels/InflowBoundaryModel/InflowBoundaryModel/InflowBoundaryModelNew.C
index c80e58159df..9fd145d1044 100644
--- a/src/lagrangian/DSMC/submodels/InflowBoundaryModel/InflowBoundaryModel/InflowBoundaryModelNew.C
+++ b/src/lagrangian/DSMC/submodels/InflowBoundaryModel/InflowBoundaryModel/InflowBoundaryModelNew.C
@@ -44,11 +44,8 @@ Foam::InflowBoundaryModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "InflowBoundaryModel<CloudType>::New"
-            "(const dictionary&, CloudType&)"
-        )   << "Unknown InflowBoundaryModel type "
+        FatalErrorInFunction
+            << "Unknown InflowBoundaryModel type "
             << modelType << nl << nl
             << "Valid InflowBoundaryModel types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/DSMC/submodels/WallInteractionModel/WallInteractionModel/WallInteractionModelNew.C b/src/lagrangian/DSMC/submodels/WallInteractionModel/WallInteractionModel/WallInteractionModelNew.C
index 1100028c868..179bdc6d593 100644
--- a/src/lagrangian/DSMC/submodels/WallInteractionModel/WallInteractionModel/WallInteractionModelNew.C
+++ b/src/lagrangian/DSMC/submodels/WallInteractionModel/WallInteractionModel/WallInteractionModelNew.C
@@ -44,11 +44,7 @@ Foam::WallInteractionModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "WallInteractionModel<CloudType>::New"
-            "(const dictionary&, CloudType&)"
-        )
+        FatalErrorInFunction
             << "Unknown WallInteractionModel type "
             << modelType << nl << nl
             << "Valid WallInteractionModel types are:" << nl
diff --git a/src/lagrangian/basic/Cloud/Cloud.C b/src/lagrangian/basic/Cloud/Cloud.C
index 8c365799746..c42136c92de 100644
--- a/src/lagrangian/basic/Cloud/Cloud.C
+++ b/src/lagrangian/basic/Cloud/Cloud.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,7 +56,7 @@ void Foam::Cloud<ParticleType>::checkPatches() const
 
     if (!ok)
     {
-        FatalErrorIn("void Foam::Cloud<ParticleType>::initCloud(const bool)")
+        FatalErrorInFunction
             << "Particle tracking across AMI patches is only currently "
             << "supported for cases where the AMI patches reside on a "
             << "single processor" << abort(FatalError);
diff --git a/src/lagrangian/basic/Cloud/CloudIO.C b/src/lagrangian/basic/Cloud/CloudIO.C
index 1845d541657..8a297d94142 100644
--- a/src/lagrangian/basic/Cloud/CloudIO.C
+++ b/src/lagrangian/basic/Cloud/CloudIO.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -219,11 +219,8 @@ void Foam::Cloud<ParticleType>::checkFieldIOobject
 {
     if (data.size() != c.size())
     {
-        FatalErrorIn
-        (
-            "void Cloud<ParticleType>::checkFieldIOobject"
-            "(const Cloud<ParticleType>&, const IOField<DataType>&) const"
-        )   << "Size of " << data.name()
+        FatalErrorInFunction
+            << "Size of " << data.name()
             << " field " << data.size()
             << " does not match the number of particles " << c.size()
             << abort(FatalError);
@@ -241,14 +238,8 @@ void Foam::Cloud<ParticleType>::checkFieldFieldIOobject
 {
     if (data.size() != c.size())
     {
-        FatalErrorIn
-        (
-            "void Cloud<ParticleType>::checkFieldFieldIOobject"
-            "("
-                "const Cloud<ParticleType>&, "
-                "const CompactIOField<Field<DataType>, DataType>&"
-            ") const"
-        )   << "Size of " << data.name()
+        FatalErrorInFunction
+            << "Size of " << data.name()
             << " field " << data.size()
             << " does not match the number of particles " << c.size()
             << abort(FatalError);
diff --git a/src/lagrangian/basic/IOPosition/IOPosition.C b/src/lagrangian/basic/IOPosition/IOPosition.C
index 5bb41e5fd87..b89b2c0b4c3 100644
--- a/src/lagrangian/basic/IOPosition/IOPosition.C
+++ b/src/lagrangian/basic/IOPosition/IOPosition.C
@@ -107,9 +107,8 @@ void Foam::IOPosition<CloudType>::readData(CloudType& c, bool checkClass)
     {
         if (firstToken.pToken() != token::BEGIN_LIST)
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "void IOPosition<CloudType>::readData(CloudType&, bool)",
                 is
             )   << "incorrect first token, '(', found "
                 << firstToken.info() << exit(FatalIOError);
@@ -133,9 +132,8 @@ void Foam::IOPosition<CloudType>::readData(CloudType& c, bool checkClass)
     }
     else
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "void IOPosition<ParticleType>::readData(CloudType&, bool)",
             is
         )   << "incorrect first token, expected <int> or '(', found "
             << firstToken.info() << exit(FatalIOError);
diff --git a/src/lagrangian/basic/InteractionLists/InteractionLists.C b/src/lagrangian/basic/InteractionLists/InteractionLists.C
index 4ec03e34b9f..ec2967ee446 100644
--- a/src/lagrangian/basic/InteractionLists/InteractionLists.C
+++ b/src/lagrangian/basic/InteractionLists/InteractionLists.C
@@ -1165,14 +1165,7 @@ void Foam::InteractionLists<ParticleType>::sendReferredData
 {
     if (mesh_.changing())
     {
-        WarningIn
-        (
-            "void Foam::InteractionLists<ParticleType>::sendReferredData"
-            "("
-                "const List<DynamicList<ParticleType*> >& cellOccupancy,"
-                "PstreamBuffers& pBufs"
-            ")"
-        )
+        WarningInFunction
             << "Mesh changing, rebuilding InteractionLists form scratch."
             << endl;
 
diff --git a/src/lagrangian/basic/InteractionLists/referredWallFace/referredWallFace.C b/src/lagrangian/basic/InteractionLists/referredWallFace/referredWallFace.C
index b6e8c91da63..bf497dd2c87 100644
--- a/src/lagrangian/basic/InteractionLists/referredWallFace/referredWallFace.C
+++ b/src/lagrangian/basic/InteractionLists/referredWallFace/referredWallFace.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -48,15 +48,8 @@ Foam::referredWallFace::referredWallFace
 {
     if (this->size() != pts_.size())
     {
-        FatalErrorIn
-        (
-            "Foam::referredWallFace::referredWallFace"
-            "("
-                "const face& f, "
-                "const pointField& pts, "
-                "label patchI"
-            ")"
-        )   << "Face and pointField are not the same size. " << nl << (*this)
+        FatalErrorInFunction
+            << "Face and pointField are not the same size. " << nl << (*this)
             << abort(FatalError);
     }
 }
@@ -70,13 +63,8 @@ Foam::referredWallFace::referredWallFace(const referredWallFace& rWF)
 {
     if (this->size() != pts_.size())
     {
-        FatalErrorIn
-        (
-            "Foam::referredWallFace::referredWallFace"
-            "("
-                "const referredWallFace& rWF"
-            ")"
-        )   << "Face and pointField are not the same size. " << nl << (*this)
+        FatalErrorInFunction
+            << "Face and pointField are not the same size. " << nl << (*this)
             << abort(FatalError);
     }
 }
diff --git a/src/lagrangian/basic/particle/particleI.H b/src/lagrangian/basic/particle/particleI.H
index 0ebd9748b4a..c1960b37d01 100644
--- a/src/lagrangian/basic/particle/particleI.H
+++ b/src/lagrangian/basic/particle/particleI.H
@@ -331,10 +331,7 @@ inline void Foam::particle::tetNeighbour(label triI)
 
     if (tetBasePtI == -1)
     {
-        FatalErrorIn
-        (
-            "inline void Foam::particle::tetNeighbour(label triI)"
-        )
+        FatalErrorInFunction
             << "No base point for face " << tetFaceI_ << ", " << f
             << ", produces a valid tet decomposition."
             << abort(FatalError);
@@ -447,11 +444,7 @@ inline void Foam::particle::tetNeighbour(label triI)
         }
         default:
         {
-            FatalErrorIn
-            (
-                "inline void "
-                "Foam::particle::tetNeighbour(label triI)"
-            )
+            FatalErrorInFunction
                 << "Tet tri face index error, can only be 0..3, supplied "
                 << triI << abort(FatalError);
 
@@ -530,17 +523,7 @@ inline void Foam::particle::crossEdgeConnectedFace
 
             if (tetBasePtI == -1)
             {
-                FatalErrorIn
-                (
-                    "inline void "
-                    "Foam::particle::crossEdgeConnectedFace"
-                    "("
-                        "const label& cellI,"
-                        "label& tetFaceI,"
-                        "label& tetPtI,"
-                        "const edge& e"
-                    ")"
-                )
+                FatalErrorInFunction
                     << "No base point for face " << fI << ", " << f
                     << ", produces a decomposition that has a minimum "
                     << "volume greater than tolerance."
@@ -586,7 +569,7 @@ inline Foam::label Foam::particle::getNewParticleID() const
 
     if (id == labelMax)
     {
-        WarningIn("particle::getNewParticleID() const")
+        WarningInFunction
             << "Particle counter has overflowed. This might cause problems"
             << " when reconstructing particle tracks." << endl;
     }
@@ -698,7 +681,7 @@ inline void Foam::particle::initCellFacePt()
 
         if (cellI_ == -1)
         {
-            FatalErrorIn("void Foam::particle::initCellFacePt()")
+            FatalErrorInFunction
                 << "cell, tetFace and tetPt search failure at position "
                 << position_ << abort(FatalError);
         }
@@ -732,8 +715,7 @@ inline void Foam::particle::initCellFacePt()
                     // it should be in, then this is considered an
                     // error.
 
-                    FatalErrorIn("void Foam::particle::initCellFacePt()")
-                        << "    cell, tetFace and tetPt search failure at "
+                    FatalErrorInFunction
                         << "position " << position_ << nl
                         << "    for requested cell " << oldCellI << nl
                         << "    If this is a restart or "
@@ -783,14 +765,14 @@ inline void Foam::particle::initCellFacePt()
 
                 if (tetFaceI_ == -1)
                 {
-                    FatalErrorIn("void Foam::particle::initCellFacePt()")
+                    FatalErrorInFunction
                         << "cell, tetFace and tetPt search failure at position "
                         << position_ << abort(FatalError);
                 }
 
                 if (debug)
                 {
-                    WarningIn("void Foam::particle::initCellFacePt()")
+                    WarningInFunction
                         << "Particle moved from " << position_
                         << " to " << newPosition
                         << " in cell " << cellI_
@@ -809,7 +791,7 @@ inline void Foam::particle::initCellFacePt()
 
             if (debug && cellI_ != oldCellI)
             {
-                WarningIn("void Foam::particle::initCellFacePt()")
+                WarningInFunction
                     << "Particle at position " << position_
                     << " searched for a cell, tetFace and tetPt." << nl
                     << "    Found"
diff --git a/src/lagrangian/basic/particle/particleTemplates.C b/src/lagrangian/basic/particle/particleTemplates.C
index 382df588f27..68bc5ab1e38 100644
--- a/src/lagrangian/basic/particle/particleTemplates.C
+++ b/src/lagrangian/basic/particle/particleTemplates.C
@@ -546,7 +546,7 @@ Foam::scalar Foam::particle::trackToFace
         }
         else
         {
-            FatalErrorIn("Particle::trackToFace(const vector&, TrackData&)")
+            FatalErrorInFunction
                 << "addressing failure" << abort(FatalError);
         }
     }
@@ -948,14 +948,8 @@ void Foam::particle::hitWedgePatch
     TrackData&
 )
 {
-    FatalErrorIn
-    (
-        "void Foam::particle::hitWedgePatch"
-        "("
-            "const wedgePolyPatch& wpp, "
-            "TrackData&"
-        ")"
-    )   << "Hitting a wedge patch should not be possible."
+    FatalErrorInFunction
+        << "Hitting a wedge patch should not be possible."
         << abort(FatalError);
 
     vector nf = normal();
@@ -1059,16 +1053,7 @@ void Foam::particle::hitCyclicAMIPatch
 
     if (patchFaceI < 0)
     {
-        FatalErrorIn
-        (
-            "template<class TrackData>"
-            "void Foam::particle::hitCyclicAMIPatch"
-            "("
-                "const cyclicAMIPolyPatch&, "
-                "TrackData&, "
-                "const vector&"
-            ")"
-        )
+        FatalErrorInFunction
             << "Particle lost across " << cyclicAMIPolyPatch::typeName
             << " patches " << cpp.name() << " and " << receiveCpp.name()
             << " at position " << position_ << abort(FatalError);
diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.C b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.C
index 7196440897f..7f7a9c25fdd 100644
--- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.C
+++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.C
@@ -60,14 +60,8 @@ Foam::COxidationDiffusionLimitedRate<CloudType>::COxidationDiffusionLimitedRate
 
     if (Sb_ < 0)
     {
-        FatalErrorIn
-        (
-            "COxidationDiffusionLimitedRate<CloudType>"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Stoichiometry of reaction, Sb, must be greater than zero" << nl
+        FatalErrorInFunction
+            << "Stoichiometry of reaction, Sb, must be greater than zero" << nl
             << exit(FatalError);
     }
 
diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationIntrinsicRate/COxidationIntrinsicRate.C b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationIntrinsicRate/COxidationIntrinsicRate.C
index 3e6b6a8d555..59340028483 100644
--- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationIntrinsicRate/COxidationIntrinsicRate.C
+++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationIntrinsicRate/COxidationIntrinsicRate.C
@@ -66,14 +66,8 @@ Foam::COxidationIntrinsicRate<CloudType>::COxidationIntrinsicRate
 
     if (Sb_ < 0)
     {
-        FatalErrorIn
-        (
-            "COxidationIntrinsicRate<CloudType>"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Stoichiometry of reaction, Sb, must be greater than zero" << nl
+        FatalErrorInFunction
+            << "Stoichiometry of reaction, Sb, must be greater than zero" << nl
             << exit(FatalError);
     }
 
diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C
index b97b8ab0c19..30f9b1bb40e 100644
--- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C
+++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C
@@ -208,10 +208,8 @@ Foam::scalar Foam::COxidationMurphyShaddix<CloudType>::calculate
 
     if (iter > maxIters_)
     {
-        WarningIn
-        (
-            "scalar Foam::COxidationMurphyShaddix<CloudType>::calculate(...)"
-        )   << "iter limit reached (" << maxIters_ << ")" << nl << endl;
+        WarningInFunction
+            << "iter limit reached (" << maxIters_ << ")" << nl << endl;
     }
 
     // Calculate the number of molar units reacted
diff --git a/src/lagrangian/distributionModels/distributionModel/distributionModel.C b/src/lagrangian/distributionModels/distributionModel/distributionModel.C
index c04856d3aed..af5aa745cb8 100644
--- a/src/lagrangian/distributionModels/distributionModel/distributionModel.C
+++ b/src/lagrangian/distributionModels/distributionModel/distributionModel.C
@@ -43,7 +43,7 @@ void Foam::distributionModels::distributionModel::check() const
 {
     if (minValue() < 0)
     {
-        FatalErrorIn("distributionModels::distributionModel::check() const")
+        FatalErrorInFunction
             << type() << "distribution: Minimum value must be greater than "
             << "zero." << nl << "Supplied minValue = " << minValue()
             << abort(FatalError);
@@ -51,7 +51,7 @@ void Foam::distributionModels::distributionModel::check() const
 
     if (maxValue() < minValue())
     {
-        FatalErrorIn("distributionModels::distributionModel::check() const")
+        FatalErrorInFunction
             << type() << "distribution: Maximum value is smaller than the "
             << "minimum value:" << nl << "    maxValue = " << maxValue()
             << ", minValue = " << minValue()
diff --git a/src/lagrangian/distributionModels/distributionModel/distributionModelNew.C b/src/lagrangian/distributionModels/distributionModel/distributionModelNew.C
index 81e82107129..fabb796e0b6 100644
--- a/src/lagrangian/distributionModels/distributionModel/distributionModelNew.C
+++ b/src/lagrangian/distributionModels/distributionModel/distributionModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -43,14 +43,7 @@ Foam::distributionModels::distributionModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "distributionModels::distributionModel::New"
-            "("
-                "const dictionary&, "
-                "cachedRandom&"
-            ")"
-        )
+        FatalErrorInFunction
             << "Unknown distribution model type " << modelType << nl << nl
             << "Valid distribution model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/distributionModels/normal/normal.C b/src/lagrangian/distributionModels/normal/normal.C
index c9e4cc0184d..a585ee59a1e 100644
--- a/src/lagrangian/distributionModels/normal/normal.C
+++ b/src/lagrangian/distributionModels/normal/normal.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -55,7 +55,7 @@ Foam::distributionModels::normal::normal
 {
     if (minValue_ < 0)
     {
-        FatalErrorIn("normal::normal(const dictionary&, Random&)")
+        FatalErrorInFunction
             << "Minimum value must be greater than zero. "
             << "Supplied minValue = " << minValue_
             << abort(FatalError);
@@ -63,7 +63,7 @@ Foam::distributionModels::normal::normal
 
     if (maxValue_ < minValue_)
     {
-        FatalErrorIn("normal::normal(const dictionary&, Random&)")
+        FatalErrorInFunction
             << "Maximum value is smaller than the minimum value:"
             << "    maxValue = " << maxValue_ << ", minValue = " << minValue_
             << abort(FatalError);
diff --git a/src/lagrangian/intermediate/IntegrationScheme/IntegrationScheme/IntegrationSchemeNew.C b/src/lagrangian/intermediate/IntegrationScheme/IntegrationScheme/IntegrationSchemeNew.C
index eda0cdc2206..1e8f9517411 100644
--- a/src/lagrangian/intermediate/IntegrationScheme/IntegrationScheme/IntegrationSchemeNew.C
+++ b/src/lagrangian/intermediate/IntegrationScheme/IntegrationScheme/IntegrationSchemeNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -46,10 +46,8 @@ Foam::IntegrationScheme<Type>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "IntegrationScheme::New(const dictionary&)"
-        )   << "Unknown integration scheme type "
+        FatalErrorInFunction
+            << "Unknown integration scheme type "
             << schemeName << nl << nl
             << "Valid integration scheme types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc() << nl
diff --git a/src/lagrangian/intermediate/clouds/Templates/CollidingCloud/CollidingCloud.C b/src/lagrangian/intermediate/clouds/Templates/CollidingCloud/CollidingCloud.C
index 3ad01176c08..f89ee163cf9 100644
--- a/src/lagrangian/intermediate/clouds/Templates/CollidingCloud/CollidingCloud.C
+++ b/src/lagrangian/intermediate/clouds/Templates/CollidingCloud/CollidingCloud.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -97,18 +97,8 @@ Foam::CollidingCloud<CloudType>::CollidingCloud
 {
     if (this->solution().steadyState())
     {
-        FatalErrorIn
-        (
-            "Foam::CollidingCloud<CloudType>::CollidingCloud"
-            "("
-                "const word&, "
-                "const volScalarField&, "
-                "const volVectorField&, "
-                "const volScalarField&, "
-                "const dimensionedVector&, "
-                "bool"
-            ")"
-        )   << "Collision modelling not currently available for steady state "
+        FatalErrorInFunction
+            << "Collision modelling not currently available for steady state "
             << "calculations" << exit(FatalError);
     }
 
diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H
index ed0f74793f4..626d2070701 100644
--- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H
+++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -363,13 +363,7 @@ inline Foam::scalar Foam::KinematicCloud<CloudType>::penetration
 {
     if ((fraction < 0) || (fraction > 1))
     {
-        FatalErrorIn
-        (
-            "inline Foam::scalar Foam::KinematicCloud<CloudType>::penetration"
-            "("
-                "const scalar"
-            ") const"
-        )
+        FatalErrorInFunction
             << "fraction should be in the range 0 < fraction < 1"
             << exit(FatalError);
     }
diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/cloudSolution/cloudSolution.C b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/cloudSolution/cloudSolution.C
index 8a0001f842a..d761e5f17a5 100644
--- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/cloudSolution/cloudSolution.C
+++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/cloudSolution/cloudSolution.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -149,7 +149,7 @@ void Foam::cloudSolution::read()
             }
             else
             {
-                FatalErrorIn("void cloudSolution::read()")
+                FatalErrorInFunction
                     << "Invalid scheme " << scheme << ". Valid schemes are "
                     << "explicit and semiImplicit" << exit(FatalError);
             }
@@ -171,7 +171,7 @@ Foam::scalar Foam::cloudSolution::relaxCoeff(const word& fieldName) const
         }
     }
 
-    FatalErrorIn("scalar cloudSolution::relaxCoeff(const word&) const")
+    FatalErrorInFunction
         << "Field name " << fieldName << " not found in schemes"
         << abort(FatalError);
 
@@ -189,7 +189,7 @@ bool Foam::cloudSolution::semiImplicit(const word& fieldName) const
         }
     }
 
-    FatalErrorIn("bool cloudSolution::semiImplicit(const word&) const")
+    FatalErrorInFunction
         << "Field name " << fieldName << " not found in schemes"
         << abort(FatalError);
 
diff --git a/src/lagrangian/intermediate/clouds/Templates/MPPICCloud/MPPICCloud.C b/src/lagrangian/intermediate/clouds/Templates/MPPICCloud/MPPICCloud.C
index 8c7c2cbb556..db56ae68fcb 100644
--- a/src/lagrangian/intermediate/clouds/Templates/MPPICCloud/MPPICCloud.C
+++ b/src/lagrangian/intermediate/clouds/Templates/MPPICCloud/MPPICCloud.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -82,18 +82,8 @@ Foam::MPPICCloud<CloudType>::MPPICCloud
 {
     if (this->solution().steadyState())
     {
-        FatalErrorIn
-        (
-            "Foam::MPPICCloud<CloudType>::MPPICCloud"
-            "("
-                "const word&, "
-                "const volScalarField&, "
-                "const volVectorField&, "
-                "const volScalarField&, "
-                "const dimensionedVector&, "
-                "bool"
-            ")"
-        )   << "MPPIC modelling not available for steady state calculations"
+        FatalErrorInFunction
+            << "MPPIC modelling not available for steady state calculations"
             << exit(FatalError);
     }
 
diff --git a/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C b/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C
index f99ac8bbbd0..fee005bb291 100644
--- a/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C
+++ b/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -63,15 +63,8 @@ void Foam::ReactingCloud<CloudType>::checkSuppliedComposition
 {
     if (YSupplied.size() != Y.size())
     {
-        FatalErrorIn
-        (
-            "ReactingCloud<CloudType>::checkSuppliedComposition"
-            "("
-                "const scalarField&, "
-                "const scalarField&, "
-                "const word&"
-            ")"
-        )   << YName << " supplied, but size is not compatible with "
+        FatalErrorInFunction
+            << YName << " supplied, but size is not compatible with "
             << "parcel composition: " << nl << "    "
             << YName << "(" << YSupplied.size() << ") vs required composition "
             << YName << "(" << Y.size() << ")" << nl
diff --git a/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloudI.H b/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloudI.H
index ea1b79f194a..ceab06a387a 100644
--- a/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloudI.H
+++ b/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloudI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -103,11 +103,8 @@ Foam::ThermoCloud<CloudType>::radAreaP()
 {
     if (!radiation_)
     {
-        FatalErrorIn
-        (
-            "inline Foam::DimensionedField<Foam::scalar, Foam::volMesh> "
-            "Foam::ThermoCloud<CloudType>::radAreaP()"
-        )   << "Radiation field requested, but radiation model not active"
+        FatalErrorInFunction
+            << "Radiation field requested, but radiation model not active"
             << abort(FatalError);
     }
 
@@ -121,11 +118,8 @@ Foam::ThermoCloud<CloudType>::radAreaP() const
 {
     if (!radiation_)
     {
-        FatalErrorIn
-        (
-            "inline Foam::DimensionedField<Foam::scalar, Foam::volMesh> "
-            "Foam::ThermoCloud<CloudType>::radAreaP()"
-        )   << "Radiation field requested, but radiation model not active"
+        FatalErrorInFunction
+            << "Radiation field requested, but radiation model not active"
             << abort(FatalError);
     }
 
@@ -139,11 +133,8 @@ Foam::ThermoCloud<CloudType>::radT4()
 {
     if (!radiation_)
     {
-        FatalErrorIn
-        (
-            "inline Foam::DimensionedField<Foam::scalar, Foam::volMesh> "
-            "Foam::ThermoCloud<CloudType>::radT4()"
-        )   << "Radiation field requested, but radiation model not active"
+        FatalErrorInFunction
+            << "Radiation field requested, but radiation model not active"
             << abort(FatalError);
     }
 
@@ -157,11 +148,8 @@ Foam::ThermoCloud<CloudType>::radT4() const
 {
     if (!radiation_)
     {
-        FatalErrorIn
-        (
-            "inline Foam::DimensionedField<Foam::scalar, Foam::volMesh> "
-            "Foam::ThermoCloud<CloudType>::radT4()"
-        )   << "Radiation field requested, but radiation model not active"
+        FatalErrorInFunction
+            << "Radiation field requested, but radiation model not active"
             << abort(FatalError);
     }
 
@@ -175,11 +163,8 @@ Foam::ThermoCloud<CloudType>::radAreaPT4()
 {
     if (!radiation_)
     {
-        FatalErrorIn
-        (
-            "inline Foam::DimensionedField<Foam::scalar, Foam::volMesh> "
-            "Foam::ThermoCloud<CloudType>::radAreaPT4()"
-        )   << "Radiation field requested, but radiation model not active"
+        FatalErrorInFunction
+            << "Radiation field requested, but radiation model not active"
             << abort(FatalError);
     }
 
@@ -193,11 +178,8 @@ Foam::ThermoCloud<CloudType>::radAreaPT4() const
 {
     if (!radiation_)
     {
-        FatalErrorIn
-        (
-            "inline Foam::DimensionedField<Foam::scalar, Foam::volMesh> "
-            "Foam::ThermoCloud<CloudType>::radAreaPT4()"
-        )   << "Radiation field requested, but radiation model not active"
+        FatalErrorInFunction
+            << "Radiation field requested, but radiation model not active"
             << abort(FatalError);
     }
 
diff --git a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcel.C b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcel.C
index 3063c87b116..e7471bbd684 100644
--- a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcel.C
+++ b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcel.C
@@ -101,10 +101,8 @@ bool Foam::CollidingParcel<ParcelType>::move
 
         default:
         {
-            FatalErrorIn
-            (
-                "CollidingParcel<ParcelType>::move(TrackData&, const scalar)"
-            )   << td.part() << " is an invalid part of the tracking method."
+            FatalErrorInFunction
+                << td.part() << " is an invalid part of the tracking method."
                 << abort(FatalError);
         }
     }
diff --git a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/CollisionRecordList.C b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/CollisionRecordList.C
index 451e6e225fc..d72a7fc49eb 100644
--- a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/CollisionRecordList.C
+++ b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/CollisionRecordList.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -75,19 +75,7 @@ Foam::CollisionRecordList<PairType, WallType>::CollisionRecordList
      || pairData.size() != nPair
     )
     {
-        FatalErrorIn
-        (
-            "Foam::CollisionRecordList<PairType, WallType>::CollisionRecordList"
-            "("
-                "const labelField& pairAccessed,"
-                "const labelField& pairOrigProcOfOther,"
-                "const labelField& pairOrigIdOfOther,"
-                "const Field<PairType>& pairData,"
-                "const labelField& wallAccessed,"
-                "const vectorField& wallPRel,"
-                "const Field<WallType>& wallData"
-            ")"
-        )
+        FatalErrorInFunction
             << "Pair field size mismatch." << nl
             << pairAccessed << nl
             << pairOrigProcOfOther << nl
@@ -114,19 +102,7 @@ Foam::CollisionRecordList<PairType, WallType>::CollisionRecordList
 
     if (wallPRel.size() != nWall || wallData.size() != nWall)
     {
-        FatalErrorIn
-        (
-            "Foam::CollisionRecordList<PairType, WallType>::CollisionRecordList"
-            "("
-                "const labelField& pairAccessed,"
-                "const labelField& pairOrigProcOfOther,"
-                "const labelField& pairOrigIdOfOther,"
-                "const Field<PairType>& pairData,"
-                "const labelField& wallAccessed,"
-                "const vectorField& wallPRel,"
-                "const Field<WallType>& wallData"
-            ")"
-        )
+        FatalErrorInFunction
             << "Wall field size mismatch." << nl
             << wallAccessed << nl
             << wallPRel << nl
@@ -423,11 +399,7 @@ void Foam::CollisionRecordList<PairType, WallType>::operator=
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn
-        (
-            "Foam::CollisionRecordList<PairType, WallType>::operator="
-            "(const Foam::CollisionRecordList<PairType, WallType>&)"
-        )
+        FatalErrorInFunction
             << "Attempted assignment to self"
             << abort(FatalError);
     }
diff --git a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/PairCollisionRecord/PairCollisionRecord.C b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/PairCollisionRecord/PairCollisionRecord.C
index d97da2b223c..572e5a41d01 100644
--- a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/PairCollisionRecord/PairCollisionRecord.C
+++ b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/PairCollisionRecord/PairCollisionRecord.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -88,11 +88,7 @@ void Foam::PairCollisionRecord<Type>::operator=
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn
-        (
-            "Foam::PairCollisionRecord<Type>::operator="
-            "(const Foam::PairCollisionRecord<Type>&)"
-        )
+        FatalErrorInFunction
             << "Attempted assignment to self"
             << abort(FatalError);
     }
diff --git a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/WallCollisionRecord/WallCollisionRecord.C b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/WallCollisionRecord/WallCollisionRecord.C
index 3037917b57c..3e4470eaf3f 100644
--- a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/WallCollisionRecord/WallCollisionRecord.C
+++ b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/WallCollisionRecord/WallCollisionRecord.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -86,11 +86,7 @@ void Foam::WallCollisionRecord<Type>::operator=
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn
-        (
-            "Foam::WallCollisionRecord<Type>::operator="
-            "(const Foam::WallCollisionRecord<Type>&)"
-        )
+        FatalErrorInFunction
             << "Attempted assignment to self"
             << abort(FatalError);
     }
diff --git a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/WallCollisionRecord/WallCollisionRecordI.H b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/WallCollisionRecord/WallCollisionRecordI.H
index 97ddffe6805..cc5031020c7 100644
--- a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/WallCollisionRecord/WallCollisionRecordI.H
+++ b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollisionRecordList/WallCollisionRecord/WallCollisionRecordI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -47,14 +47,7 @@ inline bool Foam::WallCollisionRecord<Type>::match
             << nl << "cosAcceptanceAngle " << cosAcceptanceAngle
             << endl;
 
-        FatalErrorIn
-        (
-            "inline bool Foam::WallCollisionRecord<Type>::match"
-            "("
-                "const vector& pRel,"
-                "scalar radius"
-            ") const"
-        )
+        FatalErrorInFunction
             << "Problem with matching WallCollisionRecord." << nl
             << "The given radius, " << radius << ", is smaller than distance "
             << "to the relative position of the WallInteractionSite, "
diff --git a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C
index f34f4b2f282..b7a2d9cf7c8 100644
--- a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C
+++ b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -53,15 +53,8 @@ void Foam::KinematicParcel<ParcelType>::setCellValues
     {
         if (debug)
         {
-            WarningIn
-            (
-                "void Foam::KinematicParcel<ParcelType>::setCellValues"
-                "("
-                    "TrackData&, "
-                    "const scalar, "
-                    "const label"
-                ")"
-            )   << "Limiting observed density in cell " << cellI << " to "
+            WarningInFunction
+                << "Limiting observed density in cell " << cellI << " to "
                 << td.cloud().constProps().rhoMin() <<  nl << endl;
         }
 
diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelI.H b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelI.H
index 6bcd5c52b94..ee14895298b 100644
--- a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelI.H
+++ b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -157,11 +157,8 @@ hRetentionCoeff() const
 
     if ((value < 0) || (value > 1))
     {
-        FatalErrorIn
-        (
-            "ReactingMultiphaseParcel<ParcelType>::constantProperties::"
-            "constantProperties"
-        )   << "hRetentionCoeff must be in the range 0 to 1" << nl
+        FatalErrorInFunction
+            << "hRetentionCoeff must be in the range 0 to 1" << nl
             << exit(FatalError) << endl;
     }
 
diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C
index efbee0018e6..0a34b431085 100644
--- a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C
+++ b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C
@@ -221,15 +221,8 @@ void Foam::ReactingParcel<ParcelType>::setCellValues
     {
         if (debug)
         {
-            WarningIn
-            (
-                "void Foam::ReactingParcel<ParcelType>::setCellValues"
-                "("
-                    "TrackData&, "
-                    "const scalar, "
-                    "const label"
-                ")"
-            )   << "Limiting observed pressure in cell " << cellI << " to "
+            WarningInFunction
+                << "Limiting observed pressure in cell " << cellI << " to "
                 << td.cloud().constProps().pMin() <<  nl << endl;
         }
 
@@ -289,16 +282,8 @@ void Foam::ReactingParcel<ParcelType>::cellValueSourceCorrection
     {
         if (debug)
         {
-            WarningIn
-            (
-                "void Foam::ReactingParcel<ParcelType>::"
-                "cellValueSourceCorrection"
-                "("
-                    "TrackData&, "
-                    "const scalar, "
-                    "const label"
-                ")"
-            )   << "Limiting observed temperature in cell " << cellI << " to "
+            WarningInFunction
+                << "Limiting observed temperature in cell " << cellI << " to "
                 << td.cloud().constProps().TMin() <<  nl << endl;
         }
 
diff --git a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.C b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.C
index 4198420d38d..cbbf563fa4a 100644
--- a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.C
+++ b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.C
@@ -51,15 +51,8 @@ void Foam::ThermoParcel<ParcelType>::setCellValues
     {
         if (debug)
         {
-            WarningIn
-            (
-                "void Foam::ThermoParcel<ParcelType>::setCellValues"
-                "("
-                    "TrackData&, "
-                    "const scalar, "
-                    "const label"
-                ")"
-            )   << "Limiting observed temperature in cell " << cellI << " to "
+            WarningInFunction
+                << "Limiting observed temperature in cell " << cellI << " to "
                 << td.cloud().constProps().TMin() <<  nl << endl;
         }
 
@@ -86,15 +79,8 @@ void Foam::ThermoParcel<ParcelType>::cellValueSourceCorrection
     {
         if (debug)
         {
-            WarningIn
-            (
-                "void Foam::ThermoParcel<ParcelType>::cellValueSourceCorrection"
-                "("
-                    "TrackData&, "
-                    "const scalar, "
-                    "const label"
-                ")"
-            )   << "Limiting observed temperature in cell " << cellI << " to "
+            WarningInFunction
+                << "Limiting observed temperature in cell " << cellI << " to "
                 << td.cloud().constProps().TMin() <<  nl << endl;
         }
 
@@ -124,20 +110,8 @@ void Foam::ThermoParcel<ParcelType>::calcSurfaceValues
     {
         if (debug)
         {
-            WarningIn
-            (
-                "void Foam::ThermoParcel<ParcelType>::calcSurfaceValues"
-                "("
-                    "TrackData&, "
-                    "const label, "
-                    "const scalar, "
-                    "scalar&, "
-                    "scalar&, "
-                    "scalar&, "
-                    "scalar&, "
-                    "scalar&"
-                ") const"
-            )   << "Limiting parcel surface temperature to "
+            WarningInFunction
+                << "Limiting parcel surface temperature to "
                 << td.cloud().constProps().TMin() <<  nl << endl;
         }
 
diff --git a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelTrackingDataI.H b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelTrackingDataI.H
index 5b0c42ed87b..22d7ccf85a3 100644
--- a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelTrackingDataI.H
+++ b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelTrackingDataI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -127,12 +127,8 @@ Foam::ThermoParcel<ParcelType>::TrackingData<CloudType>::GInterp() const
 {
     if (!GInterp_.valid())
     {
-        FatalErrorIn
-        (
-            "inline const Foam::interpolation<Foam::scalar>&"
-            "Foam::ThermoParcel<ParcelType>::TrackingData<CloudType>::"
-            "GInterp() const"
-        )   << "Radiation G interpolation object not set"
+        FatalErrorInFunction
+            << "Radiation G interpolation object not set"
             << abort(FatalError);
     }
 
diff --git a/src/lagrangian/intermediate/phaseProperties/phaseProperties/phaseProperties.C b/src/lagrangian/intermediate/phaseProperties/phaseProperties/phaseProperties.C
index 691815e2cd3..3041ab5c541 100644
--- a/src/lagrangian/intermediate/phaseProperties/phaseProperties/phaseProperties.C
+++ b/src/lagrangian/intermediate/phaseProperties/phaseProperties/phaseProperties.C
@@ -90,10 +90,8 @@ void Foam::phaseProperties::reorder(const wordList& specieNames)
 
         if (!found)
         {
-            FatalErrorIn
-            (
-                "void phaseProperties::reorder(const wordList&)"
-            )   << "Could not find specie " << names0[i]
+            FatalErrorInFunction
+                << "Could not find specie " << names0[i]
                 << " in list " <<  names_
                 << " for phase " << phaseTypeNames[phase_]
                 << exit(FatalError);
@@ -121,11 +119,8 @@ void Foam::phaseProperties::setCarrierIds
         }
         if (carrierIds_[i] == -1)
         {
-            FatalErrorIn
-            (
-                "void phaseProperties::setCarrierIds"
-                "(const wordList& carrierNames)"
-            )   << "Could not find carrier specie " << names_[i]
+            FatalErrorInFunction
+                << "Could not find carrier specie " << names_[i]
                 << " in species list" <<  nl
                 << "Available species are: " << nl << carrierNames << nl
                 << exit(FatalError);
@@ -144,10 +139,8 @@ void Foam::phaseProperties::checkTotalMassFraction() const
 
     if (Y_.size() != 0 && mag(total - 1.0) > SMALL)
     {
-        FatalErrorIn
-        (
-            "void phaseProperties::checkTotalMassFraction() const"
-        )   << "Specie fractions must total to unity for phase "
+        FatalErrorInFunction
+            << "Specie fractions must total to unity for phase "
             << phaseTypeNames[phase_] << nl
             << "Species: " << nl << names_ << nl
             << exit(FatalError);
@@ -177,10 +170,8 @@ Foam::word Foam::phaseProperties::phaseToStateLabel(const phaseType pt) const
         }
         default:
         {
-            FatalErrorIn
-            (
-                "phaseProperties::phaseToStateLabel(phaseType pt)"
-            )   << "Invalid phase: " << phaseTypeNames[pt] << nl
+            FatalErrorInFunction
+                << "Invalid phase: " << phaseTypeNames[pt] << nl
                 << "    phase must be gas, liquid or solid" << nl
                 << exit(FatalError);
         }
@@ -258,15 +249,8 @@ void Foam::phaseProperties::reorder
         }
         default:
         {
-            FatalErrorIn
-            (
-                "phaseProperties::reorder"
-                "("
-                    "const wordList& gasNames, "
-                    "const wordList& liquidNames, "
-                    "const wordList& solidNames"
-                ")"
-            )   << "Invalid phase: " << phaseTypeNames[phase_] << nl
+            FatalErrorInFunction
+                << "Invalid phase: " << phaseTypeNames[phase_] << nl
                 << "    phase must be gas, liquid or solid" << nl
                 << exit(FatalError);
         }
@@ -302,10 +286,8 @@ const Foam::word& Foam::phaseProperties::name(const label speciei) const
 {
     if (speciei >= names_.size())
     {
-        FatalErrorIn
-        (
-            "const word& phaseProperties::name(const label) const"
-        )   << "Requested specie " << speciei << "out of range" << nl
+        FatalErrorInFunction
+            << "Requested specie " << speciei << "out of range" << nl
             << "Available phase species:" << nl << names_ << nl
             << exit(FatalError);
     }
@@ -324,10 +306,8 @@ Foam::scalar& Foam::phaseProperties::Y(const label speciei)
 {
     if (speciei >= Y_.size())
     {
-        FatalErrorIn
-        (
-            "const scalar& phaseProperties::Y(const label) const"
-        )   << "Requested specie " << speciei << "out of range" << nl
+        FatalErrorInFunction
+            << "Requested specie " << speciei << "out of range" << nl
             << "Available phase species:" << nl << names_ << nl
             << exit(FatalError);
     }
diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/CloudFunctionObject/CloudFunctionObjectNew.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/CloudFunctionObject/CloudFunctionObjectNew.C
index f105d6b3cb2..dd9b77145e2 100644
--- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/CloudFunctionObject/CloudFunctionObjectNew.C
+++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/CloudFunctionObject/CloudFunctionObjectNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -45,16 +45,8 @@ Foam::CloudFunctionObject<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "CloudFunctionObject<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&, "
-                "const word&, "
-                "const word&"
-            ")"
-        )   << "Unknown cloud function type "
+        FatalErrorInFunction
+            << "Unknown cloud function type "
             << objectType << nl << nl
             << "Valid cloud function types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C
index bf347c9f303..10cb1d3c544 100644
--- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C
+++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -119,11 +119,7 @@ void Foam::ParticleCollector<CloudType>::initPolygons
         label np = polygons[polyI].size();
         if (np < 3)
         {
-            FatalIOErrorIn
-            (
-                "Foam::ParticleCollector<CloudType>::initPolygons()",
-                this->coeffDict()
-            )
+            FatalIOErrorInFunction(this->coeffDict())
                 << "polygons must consist of at least 3 points"
                 << exit(FatalIOError);
         }
@@ -584,16 +580,7 @@ Foam::ParticleCollector<CloudType>::ParticleCollector
     }
     else
     {
-        FatalIOErrorIn
-        (
-            "Foam::ParticleCollector<CloudType>::ParticleCollector"
-            "("
-                "const dictionary&,"
-                "CloudType&, "
-                "const word&"
-            ")",
-            this->coeffDict()
-        )
+        FatalIOErrorInFunction(this->coeffDict())
             << "Unknown mode " << mode << ".  Available options are "
             << "polygon, polygonWithNormal and concentricCircle"
             << exit(FatalIOError);
diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleErosion/ParticleErosion.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleErosion/ParticleErosion.C
index f4fd96bb171..d4d90fbf6ef 100644
--- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleErosion/ParticleErosion.C
+++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleErosion/ParticleErosion.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -54,7 +54,7 @@ void Foam::ParticleErosion<CloudType>::write()
     }
     else
     {
-        FatalErrorIn("void Foam::ParticleErosion<CloudType>::write()")
+        FatalErrorInFunction
             << "QPtr not valid" << abort(FatalError);
     }
 }
@@ -87,14 +87,8 @@ Foam::ParticleErosion<CloudType>::ParticleErosion
 
         if (patchIDs.empty())
         {
-            WarningIn
-            (
-                "Foam::ParticleErosion<CloudType>::ParticleErosion"
-                "("
-                    "const dictionary&, "
-                    "CloudType& "
-                ")"
-            )   << "Cannot find any patch names matching " << patchName[i]
+            WarningInFunction
+                << "Cannot find any patch names matching " << patchName[i]
                 << endl;
         }
 
diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleTracks/ParticleTracks.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleTracks/ParticleTracks.C
index 856ace872ac..b1057c92bce 100644
--- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleTracks/ParticleTracks.C
+++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleTracks/ParticleTracks.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -125,14 +125,8 @@ void Foam::ParticleTracks<CloudType>::postFace
     {
         if (!cloudPtr_.valid())
         {
-            FatalErrorIn
-            (
-                "Foam::ParticleTracks<CloudType>::postFace"
-                "("
-                    "const parcelType&, "
-                    "const label"
-                ")"
-            )<< "Cloud storage not allocated" << abort(FatalError);
+            FatalErrorInFunction
+             << "Cloud storage not allocated" << abort(FatalError);
         }
 
         hitTableType::iterator iter =
diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/PatchPostProcessing/PatchPostProcessing.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/PatchPostProcessing/PatchPostProcessing.C
index dc60b4206e3..d037b32b61d 100644
--- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/PatchPostProcessing/PatchPostProcessing.C
+++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/PatchPostProcessing/PatchPostProcessing.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -144,14 +144,8 @@ Foam::PatchPostProcessing<CloudType>::PatchPostProcessing
 
         if (patchIDs.empty())
         {
-            WarningIn
-            (
-                "Foam::PatchPostProcessing<CloudType>::PatchPostProcessing"
-                "("
-                    "const dictionary&, "
-                    "CloudType& "
-                ")"
-            )   << "Cannot find any patch names matching " << patchName[i]
+            WarningInFunction
+                << "Cannot find any patch names matching " << patchName[i]
                 << endl;
         }
 
diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/VoidFraction/VoidFraction.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/VoidFraction/VoidFraction.C
index 7314d531bad..d8ea47cd74b 100644
--- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/VoidFraction/VoidFraction.C
+++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/VoidFraction/VoidFraction.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -36,7 +36,7 @@ void Foam::VoidFraction<CloudType>::write()
     }
     else
     {
-        FatalErrorIn("void Foam::VoidFraction<CloudType>::write()")
+        FatalErrorInFunction
             << "thetaPtr not valid" << abort(FatalError);
     }
 }
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/CollisionModel/CollisionModelNew.C b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/CollisionModel/CollisionModelNew.C
index 03a1b80595b..5c0d407586f 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/CollisionModel/CollisionModelNew.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/CollisionModel/CollisionModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,14 +44,8 @@ Foam::CollisionModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "CollisionModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown collision model type " << modelType
+        FatalErrorInFunction
+            << "Unknown collision model type " << modelType
             << ", constructor not in hash table" << nl << nl
             << "    Valid collision model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc() << exit(FatalError);
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairModel/PairModel/PairModelNew.C b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairModel/PairModel/PairModelNew.C
index 612c0983d48..f06dcbd813e 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairModel/PairModel/PairModelNew.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairModel/PairModel/PairModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,14 +44,8 @@ Foam::PairModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "PairModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown pair model type "
+        FatalErrorInFunction
+            << "Unknown pair model type "
             << PairModelType
             << ", constructor not in hash table" << nl << nl
             << "    Valid pair model types are:" << nl
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/WallModel/WallModel/WallModelNew.C b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/WallModel/WallModel/WallModelNew.C
index 65ab04f35d2..f53ffd0094b 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/WallModel/WallModel/WallModelNew.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/WallModel/WallModel/WallModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,14 +44,8 @@ Foam::WallModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "WallModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown wall model type type " << WallModelType
+        FatalErrorInFunction
+            << "Unknown wall model type type " << WallModelType
             << ", constructor not in hash table" << nl << nl
             << "    Valid wall model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc() << exit(FatalError);
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModelNew.C b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModelNew.C
index 68aa221a1bc..7a3ddd98109 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModelNew.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,14 +44,8 @@ Foam::DispersionModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "DispersionModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown dispersion model type "
+        FatalErrorInFunction
+            << "Unknown dispersion model type "
             << modelType << nl << nl
             << "Valid dispersion model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/CellZoneInjection/CellZoneInjection.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/CellZoneInjection/CellZoneInjection.C
index cb2084c6589..083b0b6cb93 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/CellZoneInjection/CellZoneInjection.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/CellZoneInjection/CellZoneInjection.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -226,7 +226,7 @@ void Foam::CellZoneInjection<CloudType>::updateMesh()
 
     if (zoneI < 0)
     {
-        FatalErrorIn("Foam::CellZoneInjection<CloudType>::updateMesh()")
+        FatalErrorInFunction
             << "Unknown cell zone name: " << cellZoneName_
             << ". Valid cell zones are: " << mesh.cellZones().names()
             << nl << exit(FatalError);
@@ -242,7 +242,7 @@ void Foam::CellZoneInjection<CloudType>::updateMesh()
 
     if ((nCellsTotal == 0) || (VCellsTotal*numberDensity_ < 1))
     {
-        WarningIn("Foam::CellZoneInjection<CloudType>::updateMesh()")
+        WarningInFunction
             << "Number of particles to be added to cellZone " << cellZoneName_
             << " is zero" << endl;
     }
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeNozzleInjection/ConeNozzleInjection.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeNozzleInjection/ConeNozzleInjection.C
index 97c3c819a03..58538988d91 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeNozzleInjection/ConeNozzleInjection.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeNozzleInjection/ConeNozzleInjection.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,7 +56,7 @@ void Foam::ConeNozzleInjection<CloudType>::setInjectionMethod()
     }
     else
     {
-        FatalErrorIn("Foam::InjectionModel<CloudType>::setInjectionMethod()")
+        FatalErrorInFunction
             << "injectionMethod must be either 'point' or 'disc'"
             << exit(FatalError);
     }
@@ -84,7 +84,7 @@ void Foam::ConeNozzleInjection<CloudType>::setFlowType()
     }
     else
     {
-        FatalErrorIn("Foam::InjectionModel<CloudType>::setFlowType()")
+        FatalErrorInFunction
             << "flowType must be either 'constantVelocity', "
             <<"'pressureDrivenVelocity' or 'flowRateAndDischarge'"
             << exit(FatalError);
@@ -162,15 +162,8 @@ Foam::ConeNozzleInjection<CloudType>::ConeNozzleInjection
 {
     if (innerDiameter_ >= outerDiameter_)
     {
-        FatalErrorIn
-        (
-            "Foam::ConeNozzleInjection<CloudType>::ConeNozzleInjection"
-            "("
-                "const dictionary&, "
-                "CloudType&, "
-                "const word&"
-            ")"
-        )<< "innerNozzleDiameter >= outerNozzleDiameter" << nl
+        FatalErrorInFunction
+         << "innerNozzleDiameter >= outerNozzleDiameter" << nl
          << exit(FatalError);
     }
 
@@ -361,19 +354,8 @@ void Foam::ConeNozzleInjection<CloudType>::setPositionAndCell
         }
         default:
         {
-            FatalErrorIn
-            (
-                "void Foam::ConeNozzleInjection<CloudType>::setPositionAndCell"
-                "("
-                    "const label, "
-                    "const label, "
-                    "const scalar, "
-                    "vector&, "
-                    "label&, "
-                    "label&, "
-                    "label&"
-                ")"
-            )<< "Unknown injectionMethod type" << nl
+            FatalErrorInFunction
+             << "Unknown injectionMethod type" << nl
              << exit(FatalError);
         }
     }
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InflationInjection/InflationInjection.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InflationInjection/InflationInjection.C
index 31b746625d3..8b80a42b9e9 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InflationInjection/InflationInjection.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InflationInjection/InflationInjection.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -236,15 +236,7 @@ Foam::label Foam::InflationInjection<CloudType>::parcelsToInject
     {
         if (iterationNo > maxIterations)
         {
-            WarningIn
-            (
-                "Foam::label "
-                "Foam::InflationInjection<CloudType>::parcelsToInject"
-                "("
-                    "const scalar, "
-                    "const scalar"
-                ")"
-            )
+            WarningInFunction
                 << "Maximum particle split iterations ("
                 << maxIterations << ") exceeded" << endl;
 
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C
index 5be9e15ebfd..18a3c22a99f 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C
@@ -158,17 +158,8 @@ bool Foam::InjectionModel<CloudType>::findCellAtPosition
     {
         if (errorOnNotFound)
         {
-            FatalErrorIn
-            (
-                "Foam::InjectionModel<CloudType>::findCellAtPosition"
-                "("
-                    "label&, "
-                    "label&, "
-                    "label&, "
-                    "vector&, "
-                    "bool"
-                ")"
-            )   << "Cannot find parcel injection cell. "
+            FatalErrorInFunction
+                << "Cannot find parcel injection cell. "
                 << "Parcel position = " << p0 << nl
                 << abort(FatalError);
         }
@@ -215,17 +206,8 @@ Foam::scalar Foam::InjectionModel<CloudType>::setNumberOfParticles
         default:
         {
             nP = 0.0;
-            FatalErrorIn
-            (
-                "Foam::scalar "
-                "Foam::InjectionModel<CloudType>::setNumberOfParticles"
-                "("
-                    "const label, "
-                    "const scalar, "
-                    "const scalar, "
-                    "const scalar"
-                ")"
-            )<< "Unknown parcelBasis type" << nl
+            FatalErrorInFunction
+             << "Unknown parcelBasis type" << nl
              << exit(FatalError);
         }
     }
@@ -355,15 +337,8 @@ Foam::InjectionModel<CloudType>::InjectionModel
     }
     else
     {
-        FatalErrorIn
-        (
-            "Foam::InjectionModel<CloudType>::InjectionModel"
-            "("
-                "const dictionary&, "
-                "CloudType&, "
-                "const word&"
-            ")"
-        )<< "parcelBasisType must be either 'number', 'mass' or 'fixed'" << nl
+        FatalErrorInFunction
+         << "parcelBasisType must be either 'number', 'mass' or 'fixed'" << nl
          << exit(FatalError);
     }
 }
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModelNew.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModelNew.C
index c268f7a96de..e9a8af2f082 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModelNew.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,14 +44,8 @@ Foam::InjectionModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "InjectionModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown injection model type "
+        FatalErrorInFunction
+            << "Unknown injection model type "
             << modelType << nl << nl
             << "Valid injection model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc() << exit(FatalError);
@@ -78,16 +72,8 @@ Foam::InjectionModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "InjectionModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "const word&, "
-                "const word&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown injection model type "
+        FatalErrorInFunction
+            << "Unknown injection model type "
             << modelType << nl << nl
             << "Valid injection model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc() << exit(FatalError);
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/PatchInjection/patchInjectionBase.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/PatchInjection/patchInjectionBase.C
index eef73729c9e..0d070691f01 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/PatchInjection/patchInjectionBase.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/PatchInjection/patchInjectionBase.C
@@ -49,14 +49,8 @@ Foam::patchInjectionBase::patchInjectionBase
 {
     if (patchId_ < 0)
     {
-        FatalErrorIn
-        (
-            "patchInjectionBase::patchInjectionBase"
-            "("
-                "const polyMesh& mesh, "
-                "const word& patchName"
-            ")"
-        )   << "Requested patch " << patchName_ << " not found" << nl
+        FatalErrorInFunction
+            << "Requested patch " << patchName_ << " not found" << nl
             << "Available patches are: " << mesh.boundaryMesh().names() << nl
             << exit(FatalError);
     }
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Drag/NonSphereDrag/NonSphereDragForce.C b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Drag/NonSphereDrag/NonSphereDragForce.C
index acf63677a10..489079f524e 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Drag/NonSphereDrag/NonSphereDragForce.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Drag/NonSphereDrag/NonSphereDragForce.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -53,14 +53,8 @@ Foam::NonSphereDragForce<CloudType>::NonSphereDragForce
 {
     if (phi_ <= 0 || phi_ > 1)
     {
-        FatalErrorIn
-        (
-            "NonSphereDrag<CloudType>::NonSphereDrag"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Ratio of surface of sphere having same volume as particle to "
+        FatalErrorInFunction
+            << "Ratio of surface of sphere having same volume as particle to "
             << "actual surface area of particle (phi) must be greater than 0 "
             << "and less than or equal to 1" << exit(FatalError);
     }
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Lift/LiftForce/LiftForceI.H b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Lift/LiftForce/LiftForceI.H
index 00c3c7813a5..6c4aeab5968 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Lift/LiftForce/LiftForceI.H
+++ b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Lift/LiftForce/LiftForceI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -31,11 +31,8 @@ Foam::LiftForce<CloudType>::curlUcInterp() const
 {
     if (!curlUcInterpPtr_.valid())
     {
-        FatalErrorIn
-        (
-            "inline const Foam::interpolation<Foam::vector>&"
-            "Foam::LiftForce<CloudType>::curlUcInterp() const"
-        )   << "Carrier phase curlUc interpolation object not set"
+        FatalErrorInFunction
+            << "Carrier phase curlUc interpolation object not set"
             << abort(FatalError);
     }
 
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/ParticleForce/ParticleForce.C b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/ParticleForce/ParticleForce.C
index 7adbb47ebde..a5a07d7baa9 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/ParticleForce/ParticleForce.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/ParticleForce/ParticleForce.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -43,16 +43,8 @@ Foam::ParticleForce<CloudType>::ParticleForce
 {
     if (readCoeffs && (coeffs_.dictName() != forceType))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "Foam::ParticleForce<CloudType>::ParticleForce"
-            "("
-                "CloudType&, "
-                "const fvMesh&, "
-                "const dictionary&, "
-                "const word&, "
-                "const bool"
-            ")",
             dict
         )   << "Force " << forceType << " must be specified as a dictionary"
             << exit(FatalIOError);
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/ParticleForce/ParticleForceNew.C b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/ParticleForce/ParticleForceNew.C
index 38c4bdc5848..7e378756584 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/ParticleForce/ParticleForceNew.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/ParticleForce/ParticleForceNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,15 +44,8 @@ Foam::ParticleForce<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "ParticleForce<CloudType>::New"
-            "("
-                "CloudType&, "
-                "const fvMesh&, "
-                "const dictionary&"
-            ")"
-        )   << "Unknown particle force type "
+        FatalErrorInFunction
+            << "Unknown particle force type "
             << forceType
             << ", constructor not in hash table" << nl << nl
             << "    Valid particle force types are:" << nl
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/PressureGradient/PressureGradientForceI.H b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/PressureGradient/PressureGradientForceI.H
index dc58dde52ae..c9813d8ee02 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/PressureGradient/PressureGradientForceI.H
+++ b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/PressureGradient/PressureGradientForceI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -31,11 +31,8 @@ Foam::PressureGradientForce<CloudType>::DUcDtInterp() const
 {
     if (!DUcDtInterpPtr_.valid())
     {
-        FatalErrorIn
-        (
-            "inline const Foam::interpolation<Foam::vector>&"
-            "Foam::PressureGradientForce<CloudType>::DUcDtInterp() const"
-        )   << "Carrier phase DUcDt interpolation object not set"
+        FatalErrorInFunction
+            << "Carrier phase DUcDt interpolation object not set"
             << abort(FatalError);
     }
 
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/LocalInteraction.C b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/LocalInteraction.C
index 77a6debde79..441812b5432 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/LocalInteraction.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/LocalInteraction.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -70,7 +70,7 @@ Foam::LocalInteraction<CloudType>::LocalInteraction
         if (it == PatchInteractionModel<CloudType>::itOther)
         {
             const word& patchName = patchData_[patchI].patchName();
-            FatalErrorIn("LocalInteraction(const dictionary&, CloudType&)")
+            FatalErrorInFunction
                 << "Unknown patch interaction type "
                 << interactionTypeName << " for patch " << patchName
                 << ". Valid selections are:"
@@ -255,17 +255,8 @@ bool Foam::LocalInteraction<CloudType>::correct
             }
             default:
             {
-                FatalErrorIn
-                (
-                    "bool LocalInteraction<CloudType>::correct"
-                    "("
-                        "typename CloudType::parcelType&, "
-                        "const polyPatch&, "
-                        "bool&, "
-                        "const scalar, "
-                        "const tetIndices&"
-                    ") const"
-                )   << "Unknown interaction type "
+                FatalErrorInFunction
+                    << "Unknown interaction type "
                     << patchData_[patchI].interactionTypeName()
                     << "(" << it << ") for patch "
                     << patchData_[patchI].patchName()
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/patchInteractionDataList.C b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/patchInteractionDataList.C
index 3564eacf933..30aa85357f8 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/patchInteractionDataList.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/patchInteractionDataList.C
@@ -56,14 +56,8 @@ Foam::patchInteractionDataList::patchInteractionDataList
 
         if (patchIDs.empty())
         {
-            WarningIn
-            (
-                "Foam::patchInteractionDataList::patchInteractionDataList"
-                "("
-                    "const polyMesh&, "
-                    "const dictionary&"
-                ")"
-            )   << "Cannot find any patch names matching " << patchName
+            WarningInFunction
+                << "Cannot find any patch names matching " << patchName
                 << endl;
         }
 
@@ -88,14 +82,8 @@ Foam::patchInteractionDataList::patchInteractionDataList
 
     if (badPatches.size() > 0)
     {
-        FatalErrorIn
-        (
-            "Foam::patchInteractionDataList::patchInteractionDataList"
-            "("
-                "const polyMesh&, "
-                "const dictionary&"
-            ")"
-        )   << "All patches must be specified when employing local patch "
+        FatalErrorInFunction
+            << "All patches must be specified when employing local patch "
             << "interaction. Please specify data for patches:" << nl
             << badPatches << nl << exit(FatalError);
     }
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/PatchInteractionModel/PatchInteractionModelNew.C b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/PatchInteractionModel/PatchInteractionModelNew.C
index eaa89563f3d..82c1ada60c9 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/PatchInteractionModel/PatchInteractionModelNew.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/PatchInteractionModel/PatchInteractionModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,14 +44,8 @@ Foam::PatchInteractionModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "PatchInteractionModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown patch interaction model type "
+        FatalErrorInFunction
+            << "Unknown patch interaction model type "
             << modelType << nl << nl
             << "Valid patch interaction model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/StandardWallInteraction/StandardWallInteraction.C b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/StandardWallInteraction/StandardWallInteraction.C
index fa86f67ca9f..3b19a02acc3 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/StandardWallInteraction/StandardWallInteraction.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/StandardWallInteraction/StandardWallInteraction.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -52,14 +52,8 @@ Foam::StandardWallInteraction<CloudType>::StandardWallInteraction
         {
             const word interactionTypeName(this->coeffDict().lookup("type"));
 
-            FatalErrorIn
-            (
-                "StandardWallInteraction<CloudType>::StandardWallInteraction"
-                "("
-                    "const dictionary&, "
-                    "CloudType&"
-                ")"
-            )   << "Unknown interaction result type "
+            FatalErrorInFunction
+                << "Unknown interaction result type "
                 << interactionTypeName
                 << ". Valid selections are:" << this->interactionTypeNames_
                 << endl << exit(FatalError);
@@ -170,17 +164,8 @@ bool Foam::StandardWallInteraction<CloudType>::correct
             }
             default:
             {
-                FatalErrorIn
-                (
-                    "bool StandardWallInteraction<CloudType>::correct"
-                    "("
-                        "typename CloudType::parcelType&, "
-                        "const polyPatch&, "
-                        "bool& keepParticle, "
-                        "const scalar, "
-                        "const tetIndices&"
-                    ") const"
-                )   << "Unknown interaction type "
+                FatalErrorInFunction
+                    << "Unknown interaction type "
                     << this->interactionTypeToWord(interactionType_)
                     << "(" << interactionType_ << ")" << endl
                     << abort(FatalError);
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/StochasticCollision/StochasticCollisionModel/StochasticCollisionModelNew.C b/src/lagrangian/intermediate/submodels/Kinematic/StochasticCollision/StochasticCollisionModel/StochasticCollisionModelNew.C
index 5c2a4b80f09..8faa120fe2a 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/StochasticCollision/StochasticCollisionModel/StochasticCollisionModelNew.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/StochasticCollision/StochasticCollisionModel/StochasticCollisionModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,14 +44,8 @@ Foam::StochasticCollisionModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "StochasticCollisionModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown model type type "
+        FatalErrorInFunction
+            << "Unknown model type type "
             << modelType << ", constructor not in hash table" << nl << nl
             << "    Valid model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc() << exit(FatalError);
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModelNew.C b/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModelNew.C
index b2e7d479667..492a1e1f37f 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModelNew.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,14 +44,8 @@ Foam::SurfaceFilmModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "SurfaceFilmModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown surface film model type "
+        FatalErrorInFunction
+            << "Unknown surface film model type "
             << modelType << nl << nl
             << "Valid surface film model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/intermediate/submodels/MPPIC/AveragingMethods/AveragingMethod/AveragingMethod.C b/src/lagrangian/intermediate/submodels/MPPIC/AveragingMethods/AveragingMethod/AveragingMethod.C
index cc29f5810b6..7ef6edb34d0 100644
--- a/src/lagrangian/intermediate/submodels/MPPIC/AveragingMethods/AveragingMethod/AveragingMethod.C
+++ b/src/lagrangian/intermediate/submodels/MPPIC/AveragingMethods/AveragingMethod/AveragingMethod.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -87,15 +87,8 @@ Foam::AveragingMethod<Type>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "Foam::AveragingMethod<Type>::New"
-            "("
-                "const IOobject&, "
-                "const dictionary&, "
-                "const fvMesh&"
-            ")"
-        )   << "Unknown averaging method " << averageType
+        FatalErrorInFunction
+            << "Unknown averaging method " << averageType
             << ", constructor not in hash table" << nl << nl
             << "    Valid averaging methods are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/intermediate/submodels/MPPIC/CorrectionLimitingMethods/CorrectionLimitingMethod/CorrectionLimitingMethod.C b/src/lagrangian/intermediate/submodels/MPPIC/CorrectionLimitingMethods/CorrectionLimitingMethod/CorrectionLimitingMethod.C
index 3c6b0ca885d..a7ac4c36383 100644
--- a/src/lagrangian/intermediate/submodels/MPPIC/CorrectionLimitingMethods/CorrectionLimitingMethod/CorrectionLimitingMethod.C
+++ b/src/lagrangian/intermediate/submodels/MPPIC/CorrectionLimitingMethods/CorrectionLimitingMethod/CorrectionLimitingMethod.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -65,13 +65,8 @@ Foam::CorrectionLimitingMethod::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "CorrectionLimitingMethod::New"
-            "("
-                "const dictionary&"
-            ")"
-        )   << "Unknown correction limiter type " << modelType
+        FatalErrorInFunction
+            << "Unknown correction limiter type " << modelType
             << ", constructor not in hash table" << nl << nl
             << "    Valid correction limiter types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/intermediate/submodels/MPPIC/DampingModels/DampingModel/DampingModel.C b/src/lagrangian/intermediate/submodels/MPPIC/DampingModels/DampingModel/DampingModel.C
index c91831966e8..4c765da9c43 100644
--- a/src/lagrangian/intermediate/submodels/MPPIC/DampingModels/DampingModel/DampingModel.C
+++ b/src/lagrangian/intermediate/submodels/MPPIC/DampingModels/DampingModel/DampingModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -89,14 +89,8 @@ Foam::DampingModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "DampingModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown damping model type " << modelType
+        FatalErrorInFunction
+            << "Unknown damping model type " << modelType
             << ", constructor not in hash table" << nl << nl
             << "    Valid damping model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/intermediate/submodels/MPPIC/IsotropyModels/IsotropyModel/IsotropyModel.C b/src/lagrangian/intermediate/submodels/MPPIC/IsotropyModels/IsotropyModel/IsotropyModel.C
index da454553cfc..eb52e2e5c5b 100644
--- a/src/lagrangian/intermediate/submodels/MPPIC/IsotropyModels/IsotropyModel/IsotropyModel.C
+++ b/src/lagrangian/intermediate/submodels/MPPIC/IsotropyModels/IsotropyModel/IsotropyModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -93,14 +93,8 @@ Foam::IsotropyModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "IsotropyModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown isotropy model type " << modelType
+        FatalErrorInFunction
+            << "Unknown isotropy model type " << modelType
             << ", constructor not in hash table" << nl << nl
             << "    Valid isotropy model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/intermediate/submodels/MPPIC/PackingModels/PackingModel/PackingModel.C b/src/lagrangian/intermediate/submodels/MPPIC/PackingModels/PackingModel/PackingModel.C
index fd29b227691..bacf4d0bc9b 100644
--- a/src/lagrangian/intermediate/submodels/MPPIC/PackingModels/PackingModel/PackingModel.C
+++ b/src/lagrangian/intermediate/submodels/MPPIC/PackingModels/PackingModel/PackingModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -91,14 +91,8 @@ Foam::PackingModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "PackingModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown packing model type " << modelType
+        FatalErrorInFunction
+            << "Unknown packing model type " << modelType
             << ", constructor not in hash table" << nl << nl
             << "    Valid packing model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/intermediate/submodels/MPPIC/ParticleStressModels/ParticleStressModel/ParticleStressModel.C b/src/lagrangian/intermediate/submodels/MPPIC/ParticleStressModels/ParticleStressModel/ParticleStressModel.C
index d95d42c4a1d..0f0c8d6556a 100644
--- a/src/lagrangian/intermediate/submodels/MPPIC/ParticleStressModels/ParticleStressModel/ParticleStressModel.C
+++ b/src/lagrangian/intermediate/submodels/MPPIC/ParticleStressModels/ParticleStressModel/ParticleStressModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -72,13 +72,8 @@ Foam::autoPtr<Foam::ParticleStressModel> Foam::ParticleStressModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "ParticleStressModel::New"
-            "("
-                "const dictionary&"
-            ")"
-        )   << "Unknown particle stress model type " << modelType
+        FatalErrorInFunction
+            << "Unknown particle stress model type " << modelType
             << ", constructor not in hash table" << nl << nl
             << "    Valid particle stress model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/intermediate/submodels/MPPIC/TimeScaleModels/TimeScaleModel/TimeScaleModel.C b/src/lagrangian/intermediate/submodels/MPPIC/TimeScaleModels/TimeScaleModel/TimeScaleModel.C
index bc4c7d5397e..c700a01efca 100644
--- a/src/lagrangian/intermediate/submodels/MPPIC/TimeScaleModels/TimeScaleModel/TimeScaleModel.C
+++ b/src/lagrangian/intermediate/submodels/MPPIC/TimeScaleModels/TimeScaleModel/TimeScaleModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -74,13 +74,8 @@ Foam::autoPtr<Foam::TimeScaleModel> Foam::TimeScaleModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "TimeScaleModel::New"
-            "("
-                "const dictionary&"
-            ")"
-        )   << "Unknown time scale model type " << modelType
+        FatalErrorInFunction
+            << "Unknown time scale model type " << modelType
             << ", constructor not in hash table" << nl << nl
             << "    Valid time scale model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.C b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.C
index 2b4e987a735..ee3f961e68e 100644
--- a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.C
+++ b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.C
@@ -164,14 +164,8 @@ Foam::label Foam::CompositionModel<CloudType>::carrierId
 
     if (id < 0 && !allowNotFound)
     {
-        FatalErrorIn
-        (
-            "label CompositionModel<CloudType>::carrierId"
-            "("
-                "const word&, "
-                "const bool"
-            ") const"
-        )   << "Unable to determine global id for requested component "
+        FatalErrorInFunction
+            << "Unable to determine global id for requested component "
             << cmptName << ". Available components are " << nl
             << thermo_.carrier().species()
             << abort(FatalError);
@@ -193,15 +187,8 @@ Foam::label Foam::CompositionModel<CloudType>::localId
 
     if (id < 0 && !allowNotFound)
     {
-        FatalErrorIn
-        (
-            "label CompositionModel<CloudType>::localId"
-            "("
-                "const label, "
-                "const word&, "
-                "const bool"
-            ") const"
-        )   << "Unable to determine local id for component " << cmptName
+        FatalErrorInFunction
+            << "Unable to determine local id for component " << cmptName
             << abort(FatalError);
     }
 
@@ -221,16 +208,8 @@ Foam::label Foam::CompositionModel<CloudType>::localToCarrierId
 
     if (cid < 0 && !allowNotFound)
     {
-        FatalErrorIn
-        (
-            "label "
-            "CompositionModel<CloudType>::localToCarrierId"
-            "("
-                "const label, "
-                "const label, "
-                "const bool"
-            ") const"
-        )   << "Unable to determine global carrier id for phase "
+        FatalErrorInFunction
+            << "Unable to determine global carrier id for phase "
             << phasei << " with local id " << id
             << abort(FatalError);
     }
@@ -282,14 +261,8 @@ Foam::scalarField Foam::CompositionModel<CloudType>::X
         }
         default:
         {
-            FatalErrorIn
-            (
-                "scalarField CompositionModel<CloudType>::X"
-                "("
-                    "const label, "
-                    "const scalarField&"
-                ") const"
-            )   << "Only possible to convert gas and liquid mass fractions"
+            FatalErrorInFunction
+                << "Only possible to convert gas and liquid mass fractions"
                 << abort(FatalError);
         }
     }
@@ -345,16 +318,8 @@ Foam::scalar Foam::CompositionModel<CloudType>::H
         }
         default:
         {
-            FatalErrorIn
-            (
-                "scalar CompositionModel<CloudType>::H"
-                "("
-                "    const label, "
-                "    const scalarField&, "
-                "    const scalar, "
-                "    const scalar"
-                ") const"
-            )   << "Unknown phase enumeration" << abort(FatalError);
+            FatalErrorInFunction
+                << "Unknown phase enumeration" << abort(FatalError);
         }
     }
 
@@ -407,16 +372,8 @@ Foam::scalar Foam::CompositionModel<CloudType>::Hs
         }
         default:
         {
-            FatalErrorIn
-            (
-                "scalar CompositionModel<CloudType>::Hs"
-                "("
-                "    const label, "
-                "    const scalarField&, "
-                "    const scalar, "
-                "    const scalar"
-                ") const"
-            )   << "Unknown phase enumeration"
+            FatalErrorInFunction
+                << "Unknown phase enumeration"
                 << abort(FatalError);
         }
     }
@@ -466,16 +423,8 @@ Foam::scalar Foam::CompositionModel<CloudType>::Hc
         }
         default:
         {
-            FatalErrorIn
-            (
-                "scalar CompositionModel<CloudType>::Hc"
-                "("
-                "    const label, "
-                "    const scalarField&, "
-                "    const scalar, "
-                "    const scalar"
-                ") const"
-            )   << "Unknown phase enumeration"
+            FatalErrorInFunction
+                << "Unknown phase enumeration"
                 << abort(FatalError);
         }
     }
@@ -524,16 +473,8 @@ Foam::scalar Foam::CompositionModel<CloudType>::Cp
         }
         default:
         {
-            FatalErrorIn
-            (
-                "scalar CompositionModel<CloudType>::Cp"
-                "("
-                    "const label, "
-                    "const scalarField&, "
-                    "const scalar, "
-                    "const scalar"
-                ") const"
-            )   << "Unknown phase enumeration"
+            FatalErrorInFunction
+                << "Unknown phase enumeration"
                 << abort(FatalError);
         }
     }
@@ -559,16 +500,8 @@ Foam::scalar Foam::CompositionModel<CloudType>::L
         {
             if (debug)
             {
-                WarningIn
-                (
-                    "scalar CompositionModel<CloudType>::L"
-                    "("
-                        "const label, "
-                        "const scalarField&, "
-                        "const scalar, "
-                        "const scalar"
-                    ") const\n"
-                )   << "No support for gaseous components" << endl;
+                WarningInFunction
+                    << "No support for gaseous components" << endl;
             }
             break;
         }
@@ -584,31 +517,15 @@ Foam::scalar Foam::CompositionModel<CloudType>::L
         {
             if (debug)
             {
-                WarningIn
-                (
-                    "scalar CompositionModel<CloudType>::L"
-                    "("
-                        "const label, "
-                        "const scalarField&, "
-                        "const scalar, "
-                        "const scalar"
-                    ") const\n"
-                )   << "No support for solid components" << endl;
+                WarningInFunction
+                    << "No support for solid components" << endl;
             }
             break;
         }
         default:
         {
-            FatalErrorIn
-            (
-                "scalar CompositionModel<CloudType>::L"
-                "("
-                    "const label, "
-                    "const scalarField&, "
-                    "const scalar, "
-                    "const scalar"
-                ") const"
-            )   << "Unknown phase enumeration"
+            FatalErrorInFunction
+                << "Unknown phase enumeration"
                 << abort(FatalError);
         }
     }
diff --git a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModelNew.C b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModelNew.C
index ba09858376f..a21bcddea8c 100644
--- a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModelNew.C
+++ b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,14 +44,8 @@ Foam::CompositionModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "CompositionModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown composition model type "
+        FatalErrorInFunction
+            << "Unknown composition model type "
             << modelType << nl << nl
             << "Valid composition model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc() << nl
diff --git a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SingleMixtureFraction/SingleMixtureFraction.C b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SingleMixtureFraction/SingleMixtureFraction.C
index 3209c04fa51..e86974da9c2 100644
--- a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SingleMixtureFraction/SingleMixtureFraction.C
+++ b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SingleMixtureFraction/SingleMixtureFraction.C
@@ -51,30 +51,27 @@ void Foam::SingleMixtureFraction<CloudType>::constructIds()
             }
             default:
             {
-                FatalErrorIn
-                (
-                    "void Foam::SingleMixtureFraction<CloudType>::"
-                    "constructIds()"
-                )   << "Unknown phase enumeration" << nl << abort(FatalError);
+                FatalErrorInFunction
+                    << "Unknown phase enumeration" << nl << abort(FatalError);
             }
         }
     }
 
     if (idGas_ < 0)
     {
-        FatalErrorIn("Foam::SingleMixtureFraction<CloudType>::constructIds()")
+        FatalErrorInFunction
             << "No gas phase found in phase list:" << nl
             << this->phaseTypes() << exit(FatalError);
     }
     if (idLiquid_ < 0)
     {
-        FatalErrorIn("Foam::SingleMixtureFraction<CloudType>::constructIds()")
+        FatalErrorInFunction
             << "No liquid phase found in phase list:" << nl
             << this->phaseTypes() << exit(FatalError);
     }
     if (idSolid_ < 0)
     {
-        FatalErrorIn("Foam::SingleMixtureFraction<CloudType>::constructIds()")
+        FatalErrorInFunction
             << "No solid phase found in phase list:" << nl
             << this->phaseTypes() << exit(FatalError);
     }
@@ -102,15 +99,8 @@ Foam::SingleMixtureFraction<CloudType>::SingleMixtureFraction
 
     if (this->phaseProps().size() != 3)
     {
-        FatalErrorIn
-        (
-            "Foam::SingleMixtureFraction<CloudType>::"
-            "SingleMixtureFraction"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Incorrect numebr of phases: " << nl
+        FatalErrorInFunction
+            << "Incorrect numebr of phases: " << nl
             << "    Please specify 1 gas, 1 liquid and 1 solid"
             << exit(FatalError);
     }
@@ -121,15 +111,8 @@ Foam::SingleMixtureFraction<CloudType>::SingleMixtureFraction
 
     if (mag(sum(YMixture0_) - 1.0) > SMALL)
     {
-        FatalErrorIn
-        (
-            "Foam::SingleMixtureFraction<CloudType>::"
-            "SingleMixtureFraction"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Sum of phases should be 1. Phase fractions:" << nl
+        FatalErrorInFunction
+            << "Sum of phases should be 1. Phase fractions:" << nl
             << YMixture0_ << exit(FatalError);
     }
 }
diff --git a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SinglePhaseMixture/SinglePhaseMixture.C b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SinglePhaseMixture/SinglePhaseMixture.C
index 1fe61169cb8..5ed0917ccad 100644
--- a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SinglePhaseMixture/SinglePhaseMixture.C
+++ b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SinglePhaseMixture/SinglePhaseMixture.C
@@ -32,17 +32,13 @@ void Foam::SinglePhaseMixture<CloudType>::constructIds()
 {
     if (this->phaseProps().size() == 0)
     {
-        FatalErrorIn
-        (
-            "void Foam::SinglePhaseMixture<CloudType>::constructIds()"
-        )   << "Phase list is empty" << exit(FatalError);
+        FatalErrorInFunction
+            << "Phase list is empty" << exit(FatalError);
     }
     else if (this->phaseProps().size() > 1)
     {
-        FatalErrorIn
-        (
-            "void Foam::SinglePhaseMixture<CloudType>::constructIds()"
-        )   << "Only one phase permitted" << exit(FatalError);
+        FatalErrorInFunction
+            << "Only one phase permitted" << exit(FatalError);
     }
 
     switch (this->phaseProps()[0].phase())
@@ -64,10 +60,8 @@ void Foam::SinglePhaseMixture<CloudType>::constructIds()
         }
         default:
         {
-            FatalErrorIn
-            (
-                "void Foam::SinglePhaseMixture<CloudType>::constructIds()"
-            )   << "Unknown phase enumeration" << abort(FatalError);
+            FatalErrorInFunction
+                << "Unknown phase enumeration" << abort(FatalError);
         }
     }
 }
diff --git a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporation/LiquidEvaporation.C b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporation/LiquidEvaporation.C
index 2ebb2bcb168..ad57ba6136e 100644
--- a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporation/LiquidEvaporation.C
+++ b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporation/LiquidEvaporation.C
@@ -78,14 +78,8 @@ Foam::LiquidEvaporation<CloudType>::LiquidEvaporation
 {
     if (activeLiquids_.size() == 0)
     {
-        WarningIn
-        (
-            "Foam::LiquidEvaporation<CloudType>::LiquidEvaporation"
-            "("
-                "const dictionary& dict, "
-                "CloudType& owner"
-            ")"
-        )   << "Evaporation model selected, but no active liquids defined"
+        WarningInFunction
+            << "Evaporation model selected, but no active liquids defined"
             << nl << endl;
     }
     else
@@ -156,24 +150,8 @@ void Foam::LiquidEvaporation<CloudType>::calculate
     {
         if (debug)
         {
-            WarningIn
-            (
-                "void Foam::LiquidEvaporation<CloudType>::calculate"
-                "("
-                    "const scalar, "
-                    "const label, "
-                    "const scalar, "
-                    "const scalar, "
-                    "const scalar, "
-                    "const scalar, "
-                    "const scalar, "
-                    "const scalar, "
-                    "const scalar, "
-                    "const scalar, "
-                    "const scalarField&, "
-                    "scalarField&"
-                ") const"
-            )   << "Parcel reached critical conditions: "
+            WarningInFunction
+                << "Parcel reached critical conditions: "
                 << "evaporating all avaliable mass" << endl;
         }
 
@@ -259,16 +237,8 @@ Foam::scalar Foam::LiquidEvaporation<CloudType>::dh
         }
         default:
         {
-            FatalErrorIn
-            (
-                "Foam::scalar Foam::LiquidEvaporation<CloudType>::dh"
-                "("
-                    "const label, "
-                    "const label, "
-                    "const scalar, "
-                    "const scalar"
-                ") const"
-            )   << "Unknown enthalpyTransfer type" << abort(FatalError);
+            FatalErrorInFunction
+                << "Unknown enthalpyTransfer type" << abort(FatalError);
         }
     }
 
diff --git a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporationBoil/LiquidEvaporationBoil.C b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporationBoil/LiquidEvaporationBoil.C
index b51614bc484..42e04e1c2c1 100644
--- a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporationBoil/LiquidEvaporationBoil.C
+++ b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporationBoil/LiquidEvaporationBoil.C
@@ -78,14 +78,8 @@ Foam::LiquidEvaporationBoil<CloudType>::LiquidEvaporationBoil
 {
     if (activeLiquids_.size() == 0)
     {
-        WarningIn
-        (
-            "Foam::LiquidEvaporationBoil<CloudType>::LiquidEvaporationBoil"
-            "("
-                "const dictionary& dict, "
-                "CloudType& owner"
-            ")"
-        )   << "Evaporation model selected, but no active liquids defined"
+        WarningInFunction
+            << "Evaporation model selected, but no active liquids defined"
             << nl << endl;
     }
     else
@@ -156,24 +150,8 @@ void Foam::LiquidEvaporationBoil<CloudType>::calculate
     {
         if (debug)
         {
-            WarningIn
-            (
-                "void Foam::LiquidEvaporationBoil<CloudType>::calculate"
-                "("
-                    "const scalar, "
-                    "const label, "
-                    "const scalar, "
-                    "const scalar, "
-                    "const scalar, "
-                    "const scalar, "
-                    "const scalar, "
-                    "const scalar, "
-                    "const scalar, "
-                    "const scalar, "
-                    "const scalarField&, "
-                    "scalarField&"
-                ") const"
-            )   << "Parcel reached critical conditions: "
+            WarningInFunction
+                << "Parcel reached critical conditions: "
                 << "evaporating all avaliable mass" << endl;
         }
 
@@ -355,16 +333,8 @@ Foam::scalar Foam::LiquidEvaporationBoil<CloudType>::dh
         }
         default:
         {
-            FatalErrorIn
-            (
-                "Foam::scalar Foam::LiquidEvaporationBoil<CloudType>::dh"
-                "("
-                    "const label, "
-                    "const label, "
-                    "const scalar, "
-                    "const scalar"
-                ") const"
-            )   << "Unknown enthalpyTransfer type" << abort(FatalError);
+            FatalErrorInFunction
+                << "Unknown enthalpyTransfer type" << abort(FatalError);
         }
     }
 
diff --git a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModel.C b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModel.C
index 7e2999ccfb2..c06b79bd51f 100644
--- a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModel.C
+++ b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModel.C
@@ -56,11 +56,8 @@ const
         }
     }
 
-    FatalErrorIn
-    (
-        "PhaseChangeModel<CloudType>::enthalpyTransferType"
-        "PhaseChangeModel<CloudType>::wordToEnthalpyTransfer(const word&) const"
-    )   << "Unknown enthalpyType " << etName << ". Valid selections are:" << nl
+    FatalErrorInFunction
+        << "Unknown enthalpyType " << etName << ". Valid selections are:" << nl
         << enthalpyTransferTypeNames << exit(FatalError);
 
     return enthalpyTransferType(0);
diff --git a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModelNew.C b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModelNew.C
index 503afe2ad8d..dcacd8e4b6d 100644
--- a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModelNew.C
+++ b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,14 +44,8 @@ Foam::PhaseChangeModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "PhaseChangeModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown phase change model type "
+        FatalErrorInFunction
+            << "Unknown phase change model type "
             << modelType << nl << nl
             << "Valid phase change model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/ConstantRateDevolatilisation/ConstantRateDevolatilisation.C b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/ConstantRateDevolatilisation/ConstantRateDevolatilisation.C
index a98e959392d..9aeee431d02 100644
--- a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/ConstantRateDevolatilisation/ConstantRateDevolatilisation.C
+++ b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/ConstantRateDevolatilisation/ConstantRateDevolatilisation.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -42,15 +42,8 @@ Foam::ConstantRateDevolatilisation<CloudType>::ConstantRateDevolatilisation
 {
     if (volatileData_.empty())
     {
-        WarningIn
-        (
-            "Foam::ConstantRateDevolatilisation<CloudType>::"
-            "ConstantRateDevolatilisation"
-            "("
-                "const dictionary& dict, "
-                "CloudType& owner"
-            ")"
-        )   << "Devolatilisation model selected, but no volatiles defined"
+        WarningInFunction
+            << "Devolatilisation model selected, but no volatiles defined"
             << nl << endl;
     }
     else
diff --git a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModelNew.C b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModelNew.C
index f76905787bc..8e7970ac49f 100644
--- a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModelNew.C
+++ b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,14 +44,8 @@ Foam::DevolatilisationModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "DevolatilisationModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown devolatilisation model type "
+        FatalErrorInFunction
+            << "Unknown devolatilisation model type "
             << modelType << nl << nl
             << "Valid devolatilisation model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/SingleKineticRateDevolatilisation/SingleKineticRateDevolatilisation.C b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/SingleKineticRateDevolatilisation/SingleKineticRateDevolatilisation.C
index 935b357188d..a4a5b1c1849 100644
--- a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/SingleKineticRateDevolatilisation/SingleKineticRateDevolatilisation.C
+++ b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/SingleKineticRateDevolatilisation/SingleKineticRateDevolatilisation.C
@@ -43,15 +43,8 @@ SingleKineticRateDevolatilisation
 {
     if (volatileData_.empty())
     {
-        WarningIn
-        (
-            "Foam::SingleKineticRateDevolatilisation<CloudType>::"
-            "SingleKineticRateDevolatilisation"
-            "("
-                "const dictionary& dict, "
-                "CloudType& owner"
-            ")"
-        )   << "Devolatilisation model selected, but no volatiles defined"
+        WarningInFunction
+            << "Devolatilisation model selected, but no volatiles defined"
             << nl << endl;
     }
     else
diff --git a/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModelNew.C b/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModelNew.C
index cbc4bc4d63f..935fd37e606 100644
--- a/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModelNew.C
+++ b/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,14 +44,8 @@ Foam::SurfaceReactionModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "SurfaceReactionModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown surface reaction model type "
+        FatalErrorInFunction
+            << "Unknown surface reaction model type "
             << modelType << nl << nl
             << "Valid surface reaction model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModelNew.C b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModelNew.C
index 524fb70bec6..609a317e38e 100644
--- a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModelNew.C
+++ b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,14 +44,8 @@ Foam::HeatTransferModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "HeatTransferModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown heat transfer model type "
+        FatalErrorInFunction
+            << "Unknown heat transfer model type "
             << modelType << nl << nl
             << "Valid heat transfer model types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.C b/src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.C
index 2d47253de91..7f752378866 100644
--- a/src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.C
+++ b/src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,14 +56,8 @@ Foam::ThermoSurfaceFilm<CloudType>::interactionTypeEnum(const word& it) const
         }
     }
 
-    FatalErrorIn
-    (
-        "ThermoSurfaceFilm<CloudType>::interactionType "
-        "ThermoSurfaceFilm<CloudType>::interactionTypeEnum"
-        "("
-            "const word& it"
-        ") const"
-    )   << "Unknown interaction type " << it
+    FatalErrorInFunction
+        << "Unknown interaction type " << it
         << ". Valid interaction types include: " << interactionTypeNames_
         << abort(FatalError);
 
@@ -79,14 +73,8 @@ Foam::word Foam::ThermoSurfaceFilm<CloudType>::interactionTypeStr
 {
     if (it >= interactionTypeNames_.size())
     {
-        FatalErrorIn
-        (
-            "ThermoSurfaceFilm<CloudType>::interactionType "
-            "ThermoSurfaceFilm<CloudType>::interactionTypeStr"
-            "("
-                "const interactionType& it"
-            ") const"
-        )   << "Unknown interaction type enumeration" << abort(FatalError);
+        FatalErrorInFunction
+            << "Unknown interaction type enumeration" << abort(FatalError);
     }
 
     return interactionTypeNames_[it];
@@ -617,15 +605,8 @@ bool Foam::ThermoSurfaceFilm<CloudType>::transferParcel
             }
             default:
             {
-                FatalErrorIn
-                (
-                    "bool ThermoSurfaceFilm<CloudType>::transferParcel"
-                    "("
-                        "parcelType&, "
-                        "const polyPatch&, "
-                        "bool&"
-                    ")"
-                )   << "Unknown interaction type enumeration"
+                FatalErrorInFunction
+                    << "Unknown interaction type enumeration"
                     << abort(FatalError);
             }
         }
diff --git a/src/lagrangian/molecularDynamics/molecularMeasurements/bufferedAccumulator/bufferedAccumulator.C b/src/lagrangian/molecularDynamics/molecularMeasurements/bufferedAccumulator/bufferedAccumulator.C
index 2163688da9b..f04b7363a45 100644
--- a/src/lagrangian/molecularDynamics/molecularMeasurements/bufferedAccumulator/bufferedAccumulator.C
+++ b/src/lagrangian/molecularDynamics/molecularMeasurements/bufferedAccumulator/bufferedAccumulator.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -156,7 +156,7 @@ Foam::label Foam::bufferedAccumulator<Type>::addToBuffers
         {
             if (bufferToRefill != -1)
             {
-                FatalErrorIn("bufferedAccumulator<Type>::addToBuffers ")
+                FatalErrorInFunction
                     << "More than one bufferedAccumulator accumulation "
                     << "buffer filled at once, this is considered an error."
                     << abort(FatalError);
@@ -181,10 +181,8 @@ Foam::Field<Type> Foam::bufferedAccumulator<Type>::averaged() const
     }
     else
     {
-        WarningIn
-        (
-            "bufferedAccumulator<Type>::averagedbufferedAccumulator() const"
-        )   << "Averaged correlation function requested but averagesTaken = "
+        WarningInFunction
+            << "Averaged correlation function requested but averagesTaken = "
             << averagesTaken_
             << ". Returning empty field."
             << endl;
@@ -214,10 +212,8 @@ void Foam::bufferedAccumulator<Type>::operator=
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn
-        (
-            "bufferedAccumulator<Type>::operator=(const bufferedAccumulator&)"
-        )   << "Attempted assignment to self"
+        FatalErrorInFunction
+            << "Attempted assignment to self"
             << abort(FatalError);
     }
 
diff --git a/src/lagrangian/molecularDynamics/molecularMeasurements/correlationFunction/correlationFunction.C b/src/lagrangian/molecularDynamics/molecularMeasurements/correlationFunction/correlationFunction.C
index 0928783a53d..54ac66d1fa1 100644
--- a/src/lagrangian/molecularDynamics/molecularMeasurements/correlationFunction/correlationFunction.C
+++ b/src/lagrangian/molecularDynamics/molecularMeasurements/correlationFunction/correlationFunction.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -134,7 +134,7 @@ void Foam::correlationFunction<Type>::calculateCorrelationFunction
 {
     if (measurandFieldSize() != currentValues.size())
     {
-        FatalErrorIn("correlationFunction<Type>::calculateCorrelationFunction")
+        FatalErrorInFunction
             << "Trying to supply a Field of length"
             << currentValues.size()
             << " to calculate the correlation function. "
@@ -186,7 +186,7 @@ void Foam::correlationFunction<Type>::calculateCorrelationFunction
 {
     if (measurandFieldSize() != 1)
     {
-        FatalErrorIn("correlationFunction<Type>::calculateCorrelationFunction")
+        FatalErrorInFunction
             << "Trying to supply a single value to calculate the correlation "
             << "function.  Expecting a Field of length "
             << measurandFieldSize()
diff --git a/src/lagrangian/molecularDynamics/molecularMeasurements/distribution/distribution.C b/src/lagrangian/molecularDynamics/molecularMeasurements/distribution/distribution.C
index ecae0dc4656..bc02f151a1f 100644
--- a/src/lagrangian/molecularDynamics/molecularMeasurements/distribution/distribution.C
+++ b/src/lagrangian/molecularDynamics/molecularMeasurements/distribution/distribution.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -91,7 +91,7 @@ Foam::label Foam::distribution::totalEntries() const
 
         if (sumOfEntries < 0)
         {
-            WarningIn("label distribution::totalEntries()")
+            WarningInFunction
                 << "Accumulated distribution values total has become negative: "
                 << "sumOfEntries = " << sumOfEntries
                 << ". This is most likely to be because too many samples "
@@ -228,7 +228,7 @@ void Foam::distribution::add(const scalar valueToAdd)
 
     if ((*this)[n] < 0)
     {
-        FatalErrorIn("distribution::add(const scalar valueToAdd)")
+        FatalErrorInFunction
             << "Accumulated distribution value has become negative: "
             << "bin = " << (0.5 + scalar(n)) * binWidth_
             << ", value = " << (*this)[n]
@@ -446,7 +446,7 @@ void Foam::distribution::operator=(const distribution& rhs)
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn("distribution::operator=(const distribution&)")
+        FatalErrorInFunction
             << "Attempted assignment to self"
             << abort(FatalError);
     }
diff --git a/src/lagrangian/molecularDynamics/molecule/mdTools/calculateTransportProperties.H b/src/lagrangian/molecularDynamics/molecule/mdTools/calculateTransportProperties.H
index 72af8f36579..f077bad9e1a 100644
--- a/src/lagrangian/molecularDynamics/molecule/mdTools/calculateTransportProperties.H
+++ b/src/lagrangian/molecularDynamics/molecule/mdTools/calculateTransportProperties.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -29,7 +29,7 @@ if (writeVacf)
 
     if (!vacf.writeAveraged(vacfFile))
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Failed writing to "
             << vacfFile.name()
             << abort(FatalError);
@@ -45,7 +45,7 @@ if (writePacf)
 
     if (!pacf.writeAveraged(pacfFile))
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Failed writing to "
             << pacfFile.name()
             << abort(FatalError);
@@ -65,7 +65,7 @@ if (writeHFacf)
 
     if (!hfacf.writeAveraged(hfacfFile))
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Failed writing to "
             << hfacfFile.name()
             << abort(FatalError);
diff --git a/src/lagrangian/molecularDynamics/molecule/molecule/molecule.C b/src/lagrangian/molecularDynamics/molecule/molecule/molecule.C
index d45bcc9633b..75312848bd3 100644
--- a/src/lagrangian/molecularDynamics/molecule/molecule/molecule.C
+++ b/src/lagrangian/molecularDynamics/molecule/molecule/molecule.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -180,7 +180,7 @@ bool Foam::molecule::move(molecule::trackingData& td, const scalar trackTime)
     }
     else
     {
-        FatalErrorIn("molecule::move(trackingData&, const scalar)") << nl
+        FatalErrorInFunction
             << td.part() << " is an invalid part of the integration method."
             << abort(FatalError);
     }
diff --git a/src/lagrangian/molecularDynamics/molecule/molecule/moleculeI.H b/src/lagrangian/molecularDynamics/molecule/molecule/moleculeI.H
index 2b858980e1e..062395ba6b7 100644
--- a/src/lagrangian/molecularDynamics/molecule/molecule/moleculeI.H
+++ b/src/lagrangian/molecularDynamics/molecule/molecule/moleculeI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -151,7 +151,7 @@ inline Foam::molecule::constantProperties::constantProperties
 
         if (eigenValues(momOfInertia).x() < VSMALL)
         {
-            FatalErrorIn("molecule::constantProperties::constantProperties")
+            FatalErrorInFunction
                 << "An eigenvalue of the inertia tensor is zero, the molecule "
                 << dict.name() << " is not a valid 6DOF shape."
                 << nl << abort(FatalError);
@@ -264,7 +264,7 @@ inline void Foam::molecule::constantProperties::checkSiteListSizes() const
      || siteIds_.size() != siteCharges_.size()
     )
     {
-        FatalErrorIn("molecule::constantProperties::checkSiteListSizes")
+        FatalErrorInFunction
             << "Sizes of site id, charge and "
             << "referencePositions are not the same. "
             << nl << abort(FatalError);
@@ -378,7 +378,7 @@ inline bool Foam::molecule::constantProperties::pairPotentialSite
 
     if (s == -1)
     {
-        FatalErrorIn("moleculeI.H") << nl
+        FatalErrorInFunction
             << sId << " site not found."
             << nl << abort(FatalError);
     }
@@ -403,10 +403,8 @@ inline bool Foam::molecule::constantProperties::electrostaticSite
 
     if (s == -1)
     {
-        FatalErrorIn
-        (
-            "molecule::constantProperties::electrostaticSite(label)"
-        )   << sId << " site not found."
+        FatalErrorInFunction
+            << sId << " site not found."
             << nl << abort(FatalError);
     }
 
diff --git a/src/lagrangian/molecularDynamics/molecule/moleculeCloud/moleculeCloud.C b/src/lagrangian/molecularDynamics/molecule/moleculeCloud/moleculeCloud.C
index d0e0dfdd98f..3e48822f035 100644
--- a/src/lagrangian/molecularDynamics/molecule/moleculeCloud/moleculeCloud.C
+++ b/src/lagrangian/molecularDynamics/molecule/moleculeCloud/moleculeCloud.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -78,7 +78,7 @@ void Foam::moleculeCloud::buildConstProps()
 
             if (siteIds[sI] == -1)
             {
-                FatalErrorIn("moleculeCloud::buildConstProps()")
+                FatalErrorInFunction
                     << siteId << " site not found."
                     << nl << abort(FatalError);
             }
@@ -485,7 +485,7 @@ void Foam::moleculeCloud::initialiseMolecules
 
     if (!cellZones.size())
     {
-        FatalErrorIn("void Foam::moleculeCloud::initialiseMolecules")
+        FatalErrorInFunction
             << "No cellZones found in the mesh."
             << abort(FatalError);
     }
@@ -525,7 +525,7 @@ void Foam::moleculeCloud::initialiseMolecules
 
                 if (latticeIds.size() != latticePositions.size())
                 {
-                    FatalErrorIn("Foam::moleculeCloud::initialiseMolecules")
+                    FatalErrorInFunction
                         << "latticeIds and latticePositions must be the same "
                         << " size." << nl
                         << abort(FatalError);
@@ -547,7 +547,7 @@ void Foam::moleculeCloud::initialiseMolecules
 
                     if (numberDensity < VSMALL)
                     {
-                        WarningIn("moleculeCloud::initialiseMolecules")
+                        WarningInFunction
                             << "numberDensity too small, not filling zone "
                             << zone.name() << endl;
 
@@ -580,7 +580,7 @@ void Foam::moleculeCloud::initialiseMolecules
 
                     if (massDensity < VSMALL)
                     {
-                        WarningIn("moleculeCloud::initialiseMolecules")
+                        WarningInFunction
                             << "massDensity too small, not filling zone "
                             << zone.name() << endl;
 
@@ -596,7 +596,7 @@ void Foam::moleculeCloud::initialiseMolecules
                 }
                 else
                 {
-                    FatalErrorIn("Foam::moleculeCloud::initialiseMolecules")
+                    FatalErrorInFunction
                         << "massDensity or numberDensity not specified " << nl
                         << abort(FatalError);
                 }
@@ -963,7 +963,7 @@ void Foam::moleculeCloud::initialiseMolecules
                      && !partOfLayerInBounds
                     )
                     {
-                        WarningIn("Foam::moleculeCloud::initialiseMolecules()")
+                        WarningInFunction
                             << "A whole layer of unit cells was placed "
                             << "outside the bounds of the mesh, but no "
                             << "molecules have been placed in zone '"
@@ -1011,7 +1011,7 @@ void Foam::moleculeCloud::createMolecule
 
     if (cell == -1)
     {
-        FatalErrorIn("Foam::moleculeCloud::createMolecule")
+        FatalErrorInFunction
             << "Position specified does not correspond to a mesh cell." << nl
             << abort(FatalError);
     }
diff --git a/src/lagrangian/molecularDynamics/molecule/moleculeCloud/moleculeCloudI.H b/src/lagrangian/molecularDynamics/molecule/moleculeCloud/moleculeCloudI.H
index 2cf2e52bb19..553606bd9f9 100644
--- a/src/lagrangian/molecularDynamics/molecule/moleculeCloud/moleculeCloudI.H
+++ b/src/lagrangian/molecularDynamics/molecule/moleculeCloud/moleculeCloudI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -207,7 +207,7 @@ inline bool Foam::moleculeCloud::evaluatePotentialLimit
 
                     if (rsIsJMag < SMALL)
                     {
-                        WarningIn("moleculeCloud::removeHighEnergyOverlaps()")
+                        WarningInFunction
                             << "Molecule site pair closer than "
                             << SMALL
                             << ": mag separation = " << rsIsJMag
@@ -256,7 +256,7 @@ inline bool Foam::moleculeCloud::evaluatePotentialLimit
 
                     if (rsIsJMag < SMALL)
                     {
-                        WarningIn("moleculeCloud::removeHighEnergyOverlaps()")
+                        WarningInFunction
                             << "Molecule site pair closer than "
                             << SMALL
                             << ": mag separation = " << rsIsJMag
diff --git a/src/lagrangian/molecularDynamics/molecule/reducedUnits/reducedUnits.C b/src/lagrangian/molecularDynamics/molecule/reducedUnits/reducedUnits.C
index 61c768c9fe7..5ce30a1d605 100644
--- a/src/lagrangian/molecularDynamics/molecule/reducedUnits/reducedUnits.C
+++ b/src/lagrangian/molecularDynamics/molecule/reducedUnits/reducedUnits.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -41,7 +41,7 @@ void Foam::reducedUnits::calcRefValues()
      || refMass_ < VSMALL
     )
     {
-        FatalErrorIn("Foam::reducedUnits::calcRefValues() ")
+        FatalErrorInFunction
             << "One of more referencence values too small for floating point "
             << "calculation: "
             << "refTime_ = " << refTime_
@@ -152,10 +152,8 @@ void Foam::reducedUnits::operator=(const reducedUnits& rhs)
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn
-        (
-            "Foam::reducedUnits::operator=(const Foam::reducedUnits&)"
-        )   << "Attempted assignment to self"
+        FatalErrorInFunction
+            << "Attempted assignment to self"
             << abort(FatalError);
     }
 }
diff --git a/src/lagrangian/molecularDynamics/potential/energyScalingFunction/basic/energyScalingFunctionNew.C b/src/lagrangian/molecularDynamics/potential/energyScalingFunction/basic/energyScalingFunctionNew.C
index dea6f7965e8..0ea36b20e04 100644
--- a/src/lagrangian/molecularDynamics/potential/energyScalingFunction/basic/energyScalingFunctionNew.C
+++ b/src/lagrangian/molecularDynamics/potential/energyScalingFunction/basic/energyScalingFunctionNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -46,10 +46,8 @@ Foam::autoPtr<Foam::energyScalingFunction> Foam::energyScalingFunction::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "energyScalingFunction::New()"
-        )   << "Unknown energyScalingFunction type "
+        FatalErrorInFunction
+            << "Unknown energyScalingFunction type "
             << scalingType << nl << nl
             << "Valid energyScalingFunctions are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/molecularDynamics/potential/pairPotential/basic/pairPotential.C b/src/lagrangian/molecularDynamics/potential/pairPotential/basic/pairPotential.C
index ce5ed42692e..0775247d7e8 100644
--- a/src/lagrangian/molecularDynamics/potential/pairPotential/basic/pairPotential.C
+++ b/src/lagrangian/molecularDynamics/potential/pairPotential/basic/pairPotential.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -100,7 +100,7 @@ Foam::scalar Foam::pairPotential::force(const scalar r) const
 
     if (k < 0)
     {
-        FatalErrorIn("pairPotential::force(const scalar) const")
+        FatalErrorInFunction
             << "r less than rMin in pair potential " << name_ << nl
             << abort(FatalError);
     }
@@ -137,7 +137,7 @@ Foam::scalar Foam::pairPotential::energy(const scalar r) const
 
     if (k < 0)
     {
-        FatalErrorIn("pairPotential::energy(const scalar) const")
+        FatalErrorInFunction
             << "r less than rMin in pair potential " << name_ << nl
             << abort(FatalError);
     }
diff --git a/src/lagrangian/molecularDynamics/potential/pairPotential/basic/pairPotentialNew.C b/src/lagrangian/molecularDynamics/potential/pairPotential/basic/pairPotentialNew.C
index 26f1cff6f85..ff3f9256822 100644
--- a/src/lagrangian/molecularDynamics/potential/pairPotential/basic/pairPotentialNew.C
+++ b/src/lagrangian/molecularDynamics/potential/pairPotential/basic/pairPotentialNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -45,10 +45,8 @@ Foam::autoPtr<Foam::pairPotential> Foam::pairPotential::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "pairPotential::New()"
-        )   << "Unknown pairPotential type "
+        FatalErrorInFunction
+            << "Unknown pairPotential type "
             << potentialType << nl << nl
             << "Valid pairPotentials are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/molecularDynamics/potential/pairPotential/pairPotentialList/pairPotentialList.C b/src/lagrangian/molecularDynamics/potential/pairPotential/pairPotentialList/pairPotentialList.C
index d423141a585..6a7da5a59ae 100644
--- a/src/lagrangian/molecularDynamics/potential/pairPotential/pairPotentialList/pairPotentialList.C
+++ b/src/lagrangian/molecularDynamics/potential/pairPotential/pairPotentialList/pairPotentialList.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -58,7 +58,7 @@ void Foam::pairPotentialList::readPairPotentialDict
                 }
                 else
                 {
-                    FatalErrorIn("pairPotentialList::buildPotentials") << nl
+                    FatalErrorInFunction
                         << "Pair pairPotential specification subDict "
                         << idA << "-" << idB << " not found"
                         << nl << abort(FatalError);
@@ -78,7 +78,7 @@ void Foam::pairPotentialList::readPairPotentialDict
 
                 else
                 {
-                    FatalErrorIn("pairPotentialList::buildPotentials") << nl
+                    FatalErrorInFunction
                         << "Pair pairPotential specification subDict "
                         << idA << "-" << idB << " or "
                         << idB << "-" << idA << " not found"
@@ -91,7 +91,7 @@ void Foam::pairPotentialList::readPairPotentialDict
                  && pairPotentialDict.found(idB+"-"+idA)
                 )
                 {
-                    FatalErrorIn("pairPotentialList::buildPotentials") << nl
+                    FatalErrorInFunction
                         << "Pair pairPotential specification subDict "
                         << idA << "-" << idB << " and "
                         << idB << "-" << idA << " found multiple definition"
@@ -126,7 +126,7 @@ void Foam::pairPotentialList::readPairPotentialDict
                     )
                 )
                 {
-                    FatalErrorIn("pairPotentialList::readPairPotentialDict")
+                    FatalErrorInFunction
                         << "Failed writing to "
                         << ppTabFile.name() << nl
                         << abort(FatalError);
@@ -137,7 +137,7 @@ void Foam::pairPotentialList::readPairPotentialDict
 
     if (!pairPotentialDict.found("electrostatic"))
     {
-        FatalErrorIn("pairPotentialList::buildPotentials") << nl
+        FatalErrorInFunction
             << "Pair pairPotential specification subDict electrostatic"
             << nl << abort(FatalError);
     }
@@ -159,7 +159,7 @@ void Foam::pairPotentialList::readPairPotentialDict
 
         if (!electrostaticPotential_->writeEnergyAndForceTables(ppTabFile))
         {
-            FatalErrorIn("pairPotentialList::readPairPotentialDict")
+            FatalErrorInFunction
                 << "Failed writing to "
                 << ppTabFile.name() << nl
                 << abort(FatalError);
diff --git a/src/lagrangian/molecularDynamics/potential/pairPotential/pairPotentialList/pairPotentialListI.H b/src/lagrangian/molecularDynamics/potential/pairPotential/pairPotentialList/pairPotentialListI.H
index 5dc7de1c316..04fb468871f 100644
--- a/src/lagrangian/molecularDynamics/potential/pairPotential/pairPotentialList/pairPotentialListI.H
+++ b/src/lagrangian/molecularDynamics/potential/pairPotential/pairPotentialList/pairPotentialListI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -45,7 +45,7 @@ inline Foam::label Foam::pairPotentialList::pairPotentialIndex
 
     if (index > size() - 1)
     {
-        FatalErrorIn("Foam::pairPotentialList::pairPotentialIndex ")
+        FatalErrorInFunction
             << "Attempting to access a pairPotential with too high an index."
             << nl << "a = " << a << ", b = " << b << ", index = " << index
             << nl << "max index = " << size() - 1
diff --git a/src/lagrangian/molecularDynamics/potential/potential/potential.C b/src/lagrangian/molecularDynamics/potential/potential/potential.C
index f14b0e58566..b33d39987c4 100644
--- a/src/lagrangian/molecularDynamics/potential/potential/potential.C
+++ b/src/lagrangian/molecularDynamics/potential/potential/potential.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -38,7 +38,7 @@ void Foam::potential::setSiteIdList(const dictionary& moleculePropertiesDict)
 
         if (!moleculePropertiesDict.found(id))
         {
-            FatalErrorIn("potential::setSiteIdList(const dictionary&)")
+            FatalErrorInFunction
                 << id << " molecule subDict not found"
                 << nl << abort(FatalError);
         }
@@ -65,7 +65,7 @@ void Foam::potential::setSiteIdList(const dictionary& moleculePropertiesDict)
 
             if (findIndex(siteIdNames, siteId) == -1)
             {
-                FatalErrorIn("potential::setSiteIdList(const dictionary&)")
+                FatalErrorInFunction
                     << siteId << " in pairPotentialSiteIds is not in siteIds: "
                     << siteIdNames << nl << abort(FatalError);
             }
@@ -173,7 +173,7 @@ void Foam::potential::potential::readPotentialDict()
 
             if (removalOrder_[rO] == -1)
             {
-                FatalErrorIn("potential::readPotentialDict()")
+                FatalErrorInFunction
                     << "removalOrder entry: " << remOrd[rO]
                     << " not found in idList."
                     << nl << abort(FatalError);
@@ -186,7 +186,7 @@ void Foam::potential::potential::readPotentialDict()
 
     if (!potentialDict.found("pair"))
     {
-        FatalErrorIn("potential::readPotentialDict()")
+        FatalErrorInFunction
             << "pair potential specification subDict not found"
             << abort(FatalError);
     }
@@ -207,7 +207,7 @@ void Foam::potential::potential::readPotentialDict()
     {
         if (!potentialDict.found("tether"))
         {
-            FatalErrorIn("potential::readPotentialDict()")
+            FatalErrorInFunction
                 << "tether potential specification subDict not found"
                 << abort(FatalError);
         }
@@ -282,14 +282,8 @@ void Foam::potential::potential::readMdInitialiseDict
 
             if (!moleculePropertiesDict.found(id))
             {
-                FatalErrorIn
-                (
-                    "potential::readMdInitialiseDict"
-                    "("
-                        "const IOdictionary&, "
-                        "IOdictionary&"
-                    ")"
-                )   << "Molecule type " << id
+                FatalErrorInFunction
+                    << "Molecule type " << id
                     << " not found in moleculeProperties dictionary." << nl
                     << abort(FatalError);
             }
@@ -337,14 +331,7 @@ void Foam::potential::potential::readMdInitialiseDict
             }
             else
             {
-                FatalErrorIn
-                (
-                    "potential::readMdInitialiseDict"
-                    "("
-                        "const IOdictionary&, "
-                        "IOdictionary&"
-                    ")"
-                )   << "Tether id  " << tetherSiteId
+                FatalErrorInFunction
                     << " not found as a site of any molecule in zone." << nl
                     << abort(FatalError);
             }
diff --git a/src/lagrangian/molecularDynamics/potential/tetherPotential/basic/tetherPotentialNew.C b/src/lagrangian/molecularDynamics/potential/tetherPotential/basic/tetherPotentialNew.C
index 7b6889b07d0..58da03728d8 100644
--- a/src/lagrangian/molecularDynamics/potential/tetherPotential/basic/tetherPotentialNew.C
+++ b/src/lagrangian/molecularDynamics/potential/tetherPotential/basic/tetherPotentialNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -43,10 +43,8 @@ Foam::autoPtr<Foam::tetherPotential> Foam::tetherPotential::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "tetherPotential::New()"
-        )   << "Unknown tetherPotential type "
+        FatalErrorInFunction
+            << "Unknown tetherPotential type "
             << potentialType << nl << nl
             << "Valid tetherPotentials are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/lagrangian/molecularDynamics/potential/tetherPotential/tetherPotentialList/tetherPotentialList.C b/src/lagrangian/molecularDynamics/potential/tetherPotential/tetherPotentialList/tetherPotentialList.C
index 341b950b515..8833d793041 100644
--- a/src/lagrangian/molecularDynamics/potential/tetherPotential/tetherPotentialList/tetherPotentialList.C
+++ b/src/lagrangian/molecularDynamics/potential/tetherPotential/tetherPotentialList/tetherPotentialList.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -49,7 +49,7 @@ void Foam::tetherPotentialList::readTetherPotentialDict
 
         if (tetherId == -1)
         {
-            FatalErrorIn("tetherPotentialList::readTetherPotentialDict")
+            FatalErrorInFunction
                 << nl
                 << "No matching entry found in siteIdList for tether name "
                 << tetherPotentialName
@@ -57,7 +57,7 @@ void Foam::tetherPotentialList::readTetherPotentialDict
         }
         else if (!tetherPotentialDict.found(tetherPotentialName))
         {
-            FatalErrorIn("tetherPotentialList::readTetherPotentialDict")
+            FatalErrorInFunction
                 << nl << "tether potential specification subDict "
                 << tetherPotentialName << " not found"
                 << abort(FatalError);
diff --git a/src/lagrangian/molecularDynamics/potential/tetherPotential/tetherPotentialList/tetherPotentialListI.H b/src/lagrangian/molecularDynamics/potential/tetherPotential/tetherPotentialList/tetherPotentialListI.H
index d89bbbe1f9e..9ab909f0114 100644
--- a/src/lagrangian/molecularDynamics/potential/tetherPotential/tetherPotentialList/tetherPotentialListI.H
+++ b/src/lagrangian/molecularDynamics/potential/tetherPotential/tetherPotentialList/tetherPotentialListI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -34,10 +34,7 @@ inline Foam::label Foam::tetherPotentialList::tetherPotentialIndex
 
     if (index == -1 || a >= idMap_.size())
     {
-        FatalErrorIn
-        (
-            "Foam::tetherPotentialList::tetherPotentialIndex(const label a)"
-        )
+        FatalErrorInFunction
         << "Attempting to access an undefined tetherPotential."
         << abort(FatalError);
 
diff --git a/src/lagrangian/spray/submodels/AtomizationModel/AtomizationModel/AtomizationModelNew.C b/src/lagrangian/spray/submodels/AtomizationModel/AtomizationModel/AtomizationModelNew.C
index 87595888562..3ef9a30928d 100644
--- a/src/lagrangian/spray/submodels/AtomizationModel/AtomizationModel/AtomizationModelNew.C
+++ b/src/lagrangian/spray/submodels/AtomizationModel/AtomizationModel/AtomizationModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,14 +44,8 @@ Foam::AtomizationModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "AtomizationModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown AtomizationModelType type "
+        FatalErrorInFunction
+            << "Unknown AtomizationModelType type "
             << AtomizationModelType
             << ", constructor not in hash table" << nl << nl
             << "    Valid AtomizationModel types are:" << nl
diff --git a/src/lagrangian/spray/submodels/BreakupModel/BreakupModel/BreakupModelNew.C b/src/lagrangian/spray/submodels/BreakupModel/BreakupModel/BreakupModelNew.C
index caddbe4acb1..d60bfc051a6 100644
--- a/src/lagrangian/spray/submodels/BreakupModel/BreakupModel/BreakupModelNew.C
+++ b/src/lagrangian/spray/submodels/BreakupModel/BreakupModel/BreakupModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,14 +44,8 @@ Foam::BreakupModel<CloudType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "BreakupModel<CloudType>::New"
-            "("
-                "const dictionary&, "
-                "CloudType&"
-            ")"
-        )   << "Unknown BreakupModelType type "
+        FatalErrorInFunction
+            << "Unknown BreakupModelType type "
             << BreakupModelType
             << ", constructor not in hash table" << nl << nl
             << "    Valid BreakupModel types are:" << nl
diff --git a/src/lagrangian/spray/submodels/BreakupModel/TAB/TAB.C b/src/lagrangian/spray/submodels/BreakupModel/TAB/TAB.C
index 92a92157ad3..4f3607b6e96 100644
--- a/src/lagrangian/spray/submodels/BreakupModel/TAB/TAB.C
+++ b/src/lagrangian/spray/submodels/BreakupModel/TAB/TAB.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -60,7 +60,7 @@ Foam::TAB<CloudType>::TAB
     else
     {
         SMDMethod_ = method2;
-        WarningIn("Foam::TAB<CloudType>::TAB(const dictionary&, CloudType&)")
+        WarningInFunction
             << "Unknown SMDCalculationMethod. Valid options are "
             << "(method1 | method2). Using method2" << endl;
     }
diff --git a/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C b/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C
index 63881bb1e6e..b86451b1458 100644
--- a/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C
+++ b/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C
@@ -49,11 +49,7 @@ Foam::DispersionRASModel<CloudType>::kModel() const
     }
     else
     {
-        FatalErrorIn
-        (
-            "Foam::tmp<Foam::volScalarField>"
-            "Foam::DispersionRASModel<CloudType>::kModel() const"
-        )
+        FatalErrorInFunction
             << "Turbulence model not found in mesh database" << nl
             << "Database objects include: " << obr.sortedToc()
             << abort(FatalError);
@@ -83,11 +79,7 @@ Foam::DispersionRASModel<CloudType>::epsilonModel() const
     }
     else
     {
-        FatalErrorIn
-        (
-            "Foam::tmp<Foam::volScalarField>"
-            "Foam::DispersionRASModel<CloudType>::epsilonModel() const"
-        )
+        FatalErrorInFunction
             << "Turbulence model not found in mesh database" << nl
             << "Database objects include: " << obr.sortedToc()
             << abort(FatalError);
diff --git a/src/lagrangian/turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForce.C b/src/lagrangian/turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForce.C
index d33b3057a3e..563ab8c7360 100644
--- a/src/lagrangian/turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForce.C
+++ b/src/lagrangian/turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForce.C
@@ -71,11 +71,7 @@ Foam::BrownianMotionForce<CloudType>::kModel() const
     }
     else
     {
-        FatalErrorIn
-        (
-            "Foam::tmp<Foam::volScalarField>"
-            "Foam::DispersionRASModel<CloudType>::kModel() const"
-        )
+        FatalErrorInFunction
             << "Turbulence model not found in mesh database" << nl
             << "Database objects include: " << obr.sortedToc()
             << abort(FatalError);
diff --git a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoLayerDriver.C b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoLayerDriver.C
index 4999a16d3ca..06ffb6c5253 100644
--- a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoLayerDriver.C
+++ b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoLayerDriver.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -743,7 +743,7 @@ void Foam::autoLayerDriver::setNumLayers
     {
         if (maxLayers[i] == labelMin || minLayers[i] == labelMax)
         {
-            FatalErrorIn("setNumLayers(..)")
+            FatalErrorInFunction
                 << "Patchpoint:" << i << " coord:" << pp.localPoints()[i]
                 << " maxLayers:" << maxLayers
                 << " minLayers:" << minLayers
@@ -1189,7 +1189,7 @@ void Foam::autoLayerDriver::calculateLayerThickness
          || max(layerParams.minThickness()) > 2
         )
         {
-            FatalErrorIn("calculateLayerThickness(..)")
+            FatalErrorInFunction
                 << "Thickness should be factor of local undistorted cell size."
                 << " Valid values are [0..2]." << nl
                 << " minThickness:" << layerParams.minThickness()
@@ -1654,7 +1654,7 @@ void Foam::autoLayerDriver::getVertexString
 
     if (fp == -1)
     {
-        FatalErrorIn("autoLayerDriver::getVertexString(..)")
+        FatalErrorInFunction
             << "problem." << abort(FatalError);
     }
 
@@ -1741,7 +1741,7 @@ Foam::label Foam::autoLayerDriver::truncateDisplacement
 
         if (mesh.isInternalFace(faceI))
         {
-            FatalErrorIn("truncateDisplacement(..)")
+            FatalErrorInFunction
                 << "Faceset " << illegalPatchFaces.name()
                 << " contains internal face " << faceI << nl
                 << "It should only contain patch faces" << abort(FatalError);
@@ -3630,7 +3630,7 @@ void Foam::autoLayerDriver::doLayers
             }
             else
             {
-                WarningIn("autoLayerDriver::doLayers(..)")
+                WarningInFunction
                     << "Ignoring layers on coupled patch " << pp.name()
                     << endl;
             }
diff --git a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoLayerDriverShrink.C b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoLayerDriverShrink.C
index e8c3d38cd6c..f355d8cfed0 100644
--- a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoLayerDriverShrink.C
+++ b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoLayerDriverShrink.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -991,7 +991,7 @@ void Foam::autoLayerDriver::medialAxisSmoothingInfo
 
         if (nUnvisit > 0)
         {
-            WarningIn("autoLayerDriver::medialAxisSmoothingInfo(..)")
+            WarningInFunction
                 << "Walking did not visit all points." << nl
                 << "    Did not visit " << nUnvisit
                 << " out of " << mesh.globalData().nTotalPoints()
diff --git a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriver.C b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriver.C
index 41e6ca0dccc..7e4fd3a1af5 100644
--- a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriver.C
+++ b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriver.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -177,7 +177,7 @@ Foam::pointField Foam::autoSnapDriver::smoothPatchDisplacement
             }
             else
             {
-                FatalErrorIn("autoSnapDriver::smoothPatchDisplacement(..)")
+                FatalErrorInFunction
                     << "Both sides of baffle consisting of faces " << f0
                     << " and " << f1 << " are already slave faces."
                     << abort(FatalError);
@@ -825,11 +825,8 @@ Foam::labelList Foam::autoSnapDriver::getZoneSurfacePoints
 
     if (zoneI == -1)
     {
-        FatalErrorIn
-        (
-            "autoSnapDriver::getZoneSurfacePoints"
-            "(const fvMesh&, const indirectPrimitivePatch&, const word&)"
-        )   << "Cannot find zone " << zoneName
+        FatalErrorInFunction
+            << "Cannot find zone " << zoneName
             << exit(FatalError);
     }
 
@@ -1756,7 +1753,7 @@ Foam::vectorField Foam::autoSnapDriver::calcNearestSurface
         {
             if (snapSurf[pointI] == -1)
             {
-                WarningIn("autoSnapDriver::calcNearestSurface(..)")
+                WarningInFunction
                     << "For point:" << pointI
                     << " coordinate:" << localPoints[pointI]
                     << " did not find any surface within:"
@@ -2013,7 +2010,7 @@ Foam::vectorField Foam::autoSnapDriver::calcNearestSurface
 //    {
 //        if (snapSurf[pointI] == -1)
 //        {
-//            WarningIn("autoSnapDriver::calcNearestLocalSurface(..)")
+//            WarningInFunction
 //                << "For point:" << pointI
 //                << " coordinate:" << localPoints[pointI]
 //                << " did not find any surface within:"
@@ -3135,7 +3132,7 @@ void Foam::autoSnapDriver::doSnap
 
             if (!meshOk)
             {
-                WarningIn("autoSnapDriver::doSnap(..)")
+                WarningInFunction
                     << "Did not succesfully snap mesh."
                     << " Continuing to snap to resolve easy" << nl
                     << "    surfaces but the"
diff --git a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriverFeature.C b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriverFeature.C
index 6fc6363bb95..183b59a445e 100644
--- a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriverFeature.C
+++ b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriverFeature.C
@@ -264,10 +264,8 @@ void Foam::autoSnapDriver::calcNearestFace
         label zoneI = mesh.faceZones().findZoneID(faceZoneName);
         if (zoneI == -1)
         {
-            FatalErrorIn
-            (
-                "autoSnapDriver::calcNearestFace(..)"
-            )   << "Problem. Cannot find zone " << faceZoneName
+            FatalErrorInFunction
+                << "Problem. Cannot find zone " << faceZoneName
                 << exit(FatalError);
         }
         const faceZone& fZone = mesh.faceZones()[zoneI];
@@ -332,10 +330,8 @@ void Foam::autoSnapDriver::calcNearestFace
             }
             else
             {
-                WarningIn
-                (
-                    "autoSnapDriver::calcNearestFace(..)"
-                )   << "Did not find surface near face centre " << fc[hitI]
+                WarningInFunction
+                    << "Did not find surface near face centre " << fc[hitI]
                     << endl;
             }
         }
@@ -398,10 +394,8 @@ void Foam::autoSnapDriver::calcNearestFace
         }
         else
         {
-            WarningIn
-            (
-                "autoSnapDriver::calcNearestFace(..)"
-            )   << "Did not find surface near face centre " << fc[hitI]
+            WarningInFunction
+                << "Did not find surface near face centre " << fc[hitI]
                 << endl;
         }
     }
@@ -2637,11 +2631,8 @@ void Foam::autoSnapDriver::reverseAttractMeshPoints
                 }
                 else
                 {
-                    WarningIn
-                    (
-                        "autoSnapDriver::featureAttractionUsingFeatureEdges"
-                        "(..)"
-                    )   << "Did not find pp point near " << featPt
+                    WarningInFunction
+                        << "Did not find pp point near " << featPt
                         << endl;
                 }
             }
diff --git a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/layerParameters/layerParameters.C b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/layerParameters/layerParameters.C
index be4272e37a5..ed9dde3a813 100644
--- a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/layerParameters/layerParameters.C
+++ b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/layerParameters/layerParameters.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -229,10 +229,8 @@ Foam::layerParameters::layerParameters
 
     if (layerSpec_ == ILLEGAL || nSpec != 2)
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "layerParameters::layerParameters"
-            "(const dictionary&, const polyBoundaryMesh&)",
             dict
         )   << "Over- or underspecified layer thickness."
             << " Please specify" << nl
@@ -254,7 +252,7 @@ Foam::layerParameters::layerParameters
 
     if (nLayerIter_ < 0 || nRelaxedIter_ < 0)
     {
-        FatalIOErrorIn("layerParameters::layerParameters(..)", dict)
+        FatalIOErrorInFunction(dict)
             << "Layer iterations should be >= 0." << endl
             << "nLayerIter:" << nLayerIter_
             << " nRelaxedIter:" << nRelaxedIter_
@@ -276,7 +274,7 @@ Foam::layerParameters::layerParameters
 
             if (patchIDs.size() == 0)
             {
-                IOWarningIn("layerParameters::layerParameters(..)", layersDict)
+                IOWarningInFunction(layersDict)
                     << "Layer specification for " << key
                     << " does not match any patch." << endl
                     << "Valid patches are " << boundaryMesh.names() << endl;
@@ -360,9 +358,8 @@ Foam::layerParameters::layerParameters
                         break;
 
                         default:
-                            FatalIOErrorIn
+                            FatalIOErrorInFunction
                             (
-                                "layerParameters::layerParameters(..)",
                                 dict
                             )   << "problem." << exit(FatalIOError);
                         break;
@@ -434,8 +431,7 @@ Foam::scalar Foam::layerParameters::layerThickness
 
         default:
         {
-            FatalErrorIn("layerParameters::layerThickness(..)")
-                << "Illegal thickness specification " <<    layerSpec_
+            FatalErrorInFunction
                 << exit(FatalError);
             return -VGREAT;
         }
@@ -486,7 +482,7 @@ Foam::scalar Foam::layerParameters::layerExpansionRatio
 
         default:
         {
-            FatalErrorIn("layerParameters::layerThickness(..)")
+            FatalErrorInFunction
                 << "Illegal thickness specification" << exit(FatalError);
             return -VGREAT;
         }
@@ -545,7 +541,7 @@ Foam::scalar Foam::layerParameters::firstLayerThickness
 
         default:
         {
-            FatalErrorIn("layerParameters::layerThickness(..)")
+            FatalErrorInFunction
                 << "Illegal thickness specification" << exit(FatalError);
             return -VGREAT;
         }
diff --git a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/refinementParameters/refinementParameters.C b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/refinementParameters/refinementParameters.C
index 0ed25cf81c7..b87015effac 100644
--- a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/refinementParameters/refinementParameters.C
+++ b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/refinementParameters/refinementParameters.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -100,10 +100,8 @@ const
 
         if (globalCellI == -1)
         {
-            FatalErrorIn
-            (
-                "refinementParameters::findCells(const polyMesh&) const"
-            )   << "Point " << keepPoint
+            FatalErrorInFunction
+                << "Point " << keepPoint
                 << " is not inside the mesh or on a face or edge." << nl
                 << "Bounding box of the mesh:" << mesh.bounds()
                 << exit(FatalError);
diff --git a/src/mesh/autoMesh/autoHexMesh/externalDisplacementMeshMover/externalDisplacementMeshMover.C b/src/mesh/autoMesh/autoHexMesh/externalDisplacementMeshMover/externalDisplacementMeshMover.C
index 2067b24cace..14916efc9c4 100644
--- a/src/mesh/autoMesh/autoHexMesh/externalDisplacementMeshMover/externalDisplacementMeshMover.C
+++ b/src/mesh/autoMesh/autoHexMesh/externalDisplacementMeshMover/externalDisplacementMeshMover.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -67,12 +67,8 @@ Foam::externalDisplacementMeshMover::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "externalDisplacementMeshMover::New(const word&"
-            ", pointVectorField&, const List<labelPair>&"
-            ", const dictionary&)"
-        )   << "Unknown externalDisplacementMeshMover type "
+        FatalErrorInFunction
+            << "Unknown externalDisplacementMeshMover type "
             << type << nl << nl
             << "Valid externalDisplacementMeshMover types:" << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/mesh/autoMesh/autoHexMesh/externalDisplacementMeshMover/medialAxisMeshMover.C b/src/mesh/autoMesh/autoHexMesh/externalDisplacementMeshMover/medialAxisMeshMover.C
index df17b0ece4a..b699a825a76 100644
--- a/src/mesh/autoMesh/autoHexMesh/externalDisplacementMeshMover/medialAxisMeshMover.C
+++ b/src/mesh/autoMesh/autoHexMesh/externalDisplacementMeshMover/medialAxisMeshMover.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -507,11 +507,8 @@ void Foam::medialAxisMeshMover::update(const dictionary& coeffDict)
             }
             else
             {
-                WarningIn
-                (
-                    "medialAxisMeshMover::"
-                    "medialAxisSmoothingInfo(..)"
-                )   << "Walking did not visit all points." << nl
+                WarningInFunction
+                    << "Walking did not visit all points." << nl
                     << "    Did not visit " << nUnvisit
                     << " out of " << mesh().globalData().nTotalPoints()
                     << " points. This is not necessarily a problem" << nl
diff --git a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinement.C b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinement.C
index 2fc70109dd2..ff2a971da76 100644
--- a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinement.C
+++ b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinement.C
@@ -133,7 +133,7 @@ void Foam::meshRefinement::calcNeighbourData
 
     if (neiLevel.size() != nBoundaryFaces || neiCc.size() != nBoundaryFaces)
     {
-        FatalErrorIn("meshRefinement::calcNeighbour(..)") << "nBoundaries:"
+        FatalErrorInFunction
             << nBoundaryFaces << " neiLevel:" << neiLevel.size()
             << abort(FatalError);
     }
@@ -321,11 +321,8 @@ void Foam::meshRefinement::testSyncPointList
 {
     if (fld.size() != mesh.nPoints())
     {
-        FatalErrorIn
-        (
-            "meshRefinement::testSyncPointList(const polyMesh&"
-            ", const List<scalar>&)"
-        )   << msg << endl
+        FatalErrorInFunction
+            << msg << endl
             << "fld size:" << fld.size() << " mesh points:" << mesh.nPoints()
             << abort(FatalError);
     }
@@ -371,11 +368,8 @@ void Foam::meshRefinement::testSyncPointList
 {
     if (fld.size() != mesh.nPoints())
     {
-        FatalErrorIn
-        (
-            "meshRefinement::testSyncPointList(const polyMesh&"
-            ", const List<point>&)"
-        )   << msg << endl
+        FatalErrorInFunction
+            << msg << endl
             << "fld size:" << fld.size() << " mesh points:" << mesh.nPoints()
             << abort(FatalError);
     }
@@ -521,7 +515,7 @@ void Foam::meshRefinement::checkData()
             {
                 if (mesh_.isInternalFace(faceI))
                 {
-                    WarningIn("meshRefinement::checkData()")
+                    WarningInFunction
                         << "Internal face:" << faceI
                         << " fc:" << mesh_.faceCentres()[faceI]
                         << " cached surfaceIndex_:" << surfaceIndex_[faceI]
@@ -538,7 +532,7 @@ void Foam::meshRefinement::checkData()
                  != neiHit[faceI-mesh_.nInternalFaces()]
                 )
                 {
-                    WarningIn("meshRefinement::checkData()")
+                    WarningInFunction
                         << "Boundary face:" << faceI
                         << " fc:" << mesh_.faceCentres()[faceI]
                         << " cached surfaceIndex_:" << surfaceIndex_[faceI]
@@ -937,7 +931,7 @@ Pout<< "face:" << faceI << " verts:" << f
 //
 //    if (localPoints.size() != globalToLocalRegion.size())
 //    {
-//        FatalErrorIn("calcLocalRegions(..)")
+//        FatalErrorInFunction
 //            << "localPoints:" << localPoints.size()
 //            << " globalToLocalRegion:" << globalToLocalRegion.size()
 //            << exit(FatalError);
@@ -1153,7 +1147,7 @@ Pout<< "face:" << faceI << " verts:" << f
 //
 //                if (!someLocal)
 //                {
-//                    FatalErrorIn("calcRegionRegions(..)")
+//                    FatalErrorInFunction
 //                        << "Received from processor " << procI
 //                        << " connection " << e
 //                        << " where none of the elements is local to me."
@@ -1873,10 +1867,8 @@ void Foam::meshRefinement::checkCoupledFaceZones(const polyMesh& mesh)
             {
                 if (zoneNames[procI] != zoneNames[Pstream::myProcNo()])
                 {
-                    FatalErrorIn
-                    (
-                        "meshRefinement::checkCoupledFaceZones(const polyMesh&)"
-                    )   << "faceZones are not synchronised on processors." << nl
+                    FatalErrorInFunction
+                        << "faceZones are not synchronised on processors." << nl
                         << "Processor " << procI << " has faceZones "
                         << zoneNames[procI] << nl
                         << "Processor " << Pstream::myProcNo()
@@ -1908,20 +1900,16 @@ void Foam::meshRefinement::checkCoupledFaceZones(const polyMesh& mesh)
                 }
                 else if (faceToZone[bFaceI] == zoneI)
                 {
-                    FatalErrorIn
-                    (
-                        "meshRefinement::checkCoupledFaceZones(const polyMesh&)"
-                    )   << "Face " << fZone[i] << " in zone "
+                    FatalErrorInFunction
+                        << "Face " << fZone[i] << " in zone "
                         << fZone.name()
                         << " is twice in zone!"
                         << abort(FatalError);
                 }
                 else
                 {
-                    FatalErrorIn
-                    (
-                        "meshRefinement::checkCoupledFaceZones(const polyMesh&)"
-                    )   << "Face " << fZone[i] << " in zone "
+                    FatalErrorInFunction
+                        << "Face " << fZone[i] << " in zone "
                         << fZone.name()
                         << " is also in zone "
                         << fZones[faceToZone[bFaceI]].name()
@@ -1938,10 +1926,8 @@ void Foam::meshRefinement::checkCoupledFaceZones(const polyMesh& mesh)
     {
         if (faceToZone[i] != neiFaceToZone[i])
         {
-            FatalErrorIn
-            (
-                "meshRefinement::checkCoupledFaceZones(const polyMesh&)"
-            )   << "Face " << mesh.nInternalFaces()+i
+            FatalErrorInFunction
+                << "Face " << mesh.nInternalFaces()+i
                 << " is in zone " << faceToZone[i]
                 << ", its coupled face is in zone " << neiFaceToZone[i]
                 << abort(FatalError);
@@ -2242,7 +2228,7 @@ Foam::labelList Foam::meshRefinement::meshedPatches() const
 
         if (patchI == -1)
         {
-            FatalErrorIn("meshRefinement::meshedPatches() const")
+            FatalErrorInFunction
                 << "Problem : did not find patch " << meshedPatches_[i]
                 << endl << "Valid patches are " << patches.names()
                 << abort(FatalError);
@@ -2341,10 +2327,8 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::splitMeshRegions
 
     if (regionI == -1)
     {
-        FatalErrorIn
-        (
-            "meshRefinement::splitMeshRegions(const point&)"
-        )   << "Point " << keepPoint
+        FatalErrorInFunction
+            << "Point " << keepPoint
             << " is not inside the mesh." << nl
             << "Bounding box of the mesh:" << mesh_.bounds()
             << exit(FatalError);
@@ -2383,10 +2367,8 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::splitMeshRegions
     label nExposedFaces = returnReduce(exposedFaces.size(), sumOp<label>());
     if (nExposedFaces)
     {
-        //FatalErrorIn
-        //(
-        //    "meshRefinement::splitMeshRegions(const point&)"
-        //)   << "Removing non-reachable cells should only expose"
+        //FatalErrorInFunction
+        //    << "Removing non-reachable cells should only expose"
         //    << " boundary faces" << nl
         //    << "ExposedFaces:" << exposedFaces << abort(FatalError);
 
@@ -2397,10 +2379,8 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::splitMeshRegions
             defaultPatch = globalToMasterPatch[0];
         }
 
-        WarningIn
-        (
-            "meshRefinement::splitMeshRegions(const point&)"
-        )   << "Removing non-reachable cells exposes "
+        WarningInFunction
+            << "Removing non-reachable cells exposes "
             << nExposedFaces << " internal or coupled faces." << endl
             << "    These get put into patch " << defaultPatch << endl;
         exposedPatch.setSize(exposedFaces.size(), defaultPatch);
diff --git a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C
index d9ec65959ca..3d0242153bf 100644
--- a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C
+++ b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C
@@ -95,11 +95,8 @@ Foam::label Foam::meshRefinement::createBaffle
     {
         if (neiPatch == -1)
         {
-            FatalErrorIn
-            (
-                "meshRefinement::createBaffle"
-                "(const label, const label, const label, polyTopoChange&)"
-            )   << "No neighbour patch for internal face " << faceI
+            FatalErrorInFunction
+                << "No neighbour patch for internal face " << faceI
                 << " fc:" << mesh_.faceCentres()[faceI]
                 << " ownPatch:" << ownPatch << abort(FatalError);
         }
@@ -305,7 +302,7 @@ void Foam::meshRefinement::getBafflePatches
 
             if (ownPatch[faceI] == -1 || neiPatch[faceI] == -1)
             {
-                FatalErrorIn("getBafflePatches(..)")
+                FatalErrorInFunction
                     << "problem." << abort(FatalError);
             }
         }
@@ -374,7 +371,7 @@ Foam::Map<Foam::labelPair> Foam::meshRefinement::getZoneBafflePatches
 
                     if (!bafflePatch.insert(faceI, patches))
                     {
-                        FatalErrorIn("getZoneBafflePatches(..)")
+                        FatalErrorInFunction
                             << "Face " << faceI
                             << " fc:" << mesh_.faceCentres()[faceI]
                             << " in zone " << fZone.name()
@@ -402,11 +399,8 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::createBaffles
      || neiPatch.size() != mesh_.nFaces()
     )
     {
-        FatalErrorIn
-        (
-            "meshRefinement::createBaffles"
-            "(const labelList&, const labelList&)"
-        )   << "Illegal size :"
+        FatalErrorInFunction
+            << "Illegal size :"
             << " ownPatch:" << ownPatch.size()
             << " neiPatch:" << neiPatch.size()
             << ". Should be number of faces:" << mesh_.nFaces()
@@ -428,11 +422,8 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::createBaffles
              || (neiPatch[faceI] == -1 && syncedNeiPatch[faceI] != -1)
             )
             {
-                FatalErrorIn
-                (
-                    "meshRefinement::createBaffles"
-                    "(const labelList&, const labelList&)"
-                )   << "Non synchronised at face:" << faceI
+                FatalErrorInFunction
+                    << "Non synchronised at face:" << faceI
                     << " on patch:" << mesh_.boundaryMesh().whichPatch(faceI)
                     << " fc:" << mesh_.faceCentres()[faceI] << endl
                     << "ownPatch:" << ownPatch[faceI]
@@ -551,7 +542,7 @@ void Foam::meshRefinement::checkZoneFaces() const
 
                 if (zoneI != -1)
                 {
-                    FatalErrorIn("meshRefinement::checkZoneFaces")
+                    FatalErrorInFunction
                         << "face:" << faceI << " on patch " << pp.name()
                         << " is in zone " << fZones[zoneI].name()
                         << exit(FatalError);
@@ -641,7 +632,7 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::createZoneBaffles
 
             if (baffleI != faceToPatch.size())
             {
-                FatalErrorIn("meshRefinement::createZoneBaffles(..)")
+                FatalErrorInFunction
                     << "Had " << faceToPatch.size() << " patches to create "
                     << " but encountered " << baffleI
                     << " slave faces originating from patcheable faces."
@@ -1337,12 +1328,8 @@ void Foam::meshRefinement::findCellZoneInsideWalk
 
         if (keepRegionI == -1)
         {
-            FatalErrorIn
-            (
-                "meshRefinement::findCellZoneInsideWalk"
-                "(const labelList&, const labelList&"
-                ", const labelList&, const labelList&)"
-            )   << "Point " << insidePoint
+            FatalErrorInFunction
+                << "Point " << insidePoint
                 << " is not inside the mesh." << nl
                 << "Bounding box of the mesh:" << mesh_.bounds()
                 << exit(FatalError);
@@ -1359,12 +1346,8 @@ void Foam::meshRefinement::findCellZoneInsideWalk
                 }
                 else if (cellToZone[cellI] != surfaceToCellZone[surfI])
                 {
-                    WarningIn
-                    (
-                        "meshRefinement::findCellZoneInsideWalk"
-                        "(const labelList&, const labelList&"
-                        ", const labelList&, const labelList&)"
-                    )   << "Cell " << cellI
+                    WarningInFunction
+                        << "Cell " << cellI
                         << " at " << mesh_.cellCentres()[cellI]
                         << " is inside surface " << surfaces_.names()[surfI]
                         << " but already marked as being in zone "
@@ -1502,11 +1485,8 @@ void Foam::meshRefinement::findCellZoneTopo
 
     if (keepRegionI == -1)
     {
-        FatalErrorIn
-        (
-            "meshRefinement::findCellZoneTopo"
-            "(const point&, const labelList&, const labelList&, labelList&)"
-        )   << "Point " << keepPoint
+        FatalErrorInFunction
+            << "Point " << keepPoint
             << " is not inside the mesh." << nl
             << "Bounding box of the mesh:" << mesh_.bounds()
             << exit(FatalError);
@@ -1625,11 +1605,8 @@ void Foam::meshRefinement::findCellZoneTopo
 
         if (zoneI ==  -2)
         {
-            FatalErrorIn
-            (
-                "meshRefinement::findCellZoneTopo"
-                "(const point&, const labelList&, const labelList&, labelList&)"
-            )   << "For region " << regionI << " haven't set cell zone."
+            FatalErrorInFunction
+                << "For region " << regionI << " haven't set cell zone."
                 << exit(FatalError);
         }
     }
@@ -1674,7 +1651,7 @@ void Foam::meshRefinement::makeConsistentFaceIndex
         }
         else if (ownZone != neiZone && namedSurfaceIndex[faceI] == -1)
         {
-            FatalErrorIn("meshRefinement::zonify()")
+            FatalErrorInFunction
                 << "Different cell zones on either side of face " << faceI
                 << " at " << mesh_.faceCentres()[faceI]
                 << " but face not marked with a surface."
@@ -1722,7 +1699,7 @@ void Foam::meshRefinement::makeConsistentFaceIndex
                 }
                 else if (ownZone != neiZone && namedSurfaceIndex[faceI] == -1)
                 {
-                    FatalErrorIn("meshRefinement::zonify()")
+                    FatalErrorInFunction
                         << "Different cell zones on either side of face "
                         << faceI << " at " << mesh_.faceCentres()[faceI]
                         << " but face not marked with a surface."
@@ -2062,7 +2039,7 @@ Foam::label Foam::meshRefinement::markPatchZones
     {
         if (!allFaceInfo[faceI].valid(dummyTrackData))
         {
-            FatalErrorIn("meshRefinement::markPatchZones(..)")
+            FatalErrorInFunction
                 << "Problem: unvisited face " << faceI
                 << " at " << patch.faceCentres()[faceI]
                 << exit(FatalError);
@@ -2287,7 +2264,7 @@ void Foam::meshRefinement::consistentOrientation
                 }
                 else
                 {
-                    FatalErrorIn("meshRefinement::consistentOrientation(..)")
+                    FatalErrorInFunction
                         << "Incorrect status for face " << meshFaceI
                         << abort(FatalError);
                 }
@@ -2315,7 +2292,7 @@ void Foam::meshRefinement::consistentOrientation
         }
         else
         {
-            FatalErrorIn("meshRefinement::consistentOrientation(..)")
+            FatalErrorInFunction
                 << "Problem : unvisited face " << faceI
                 << " centre:" << mesh_.faceCentres()[meshFaceI]
                 << abort(FatalError);
@@ -2576,11 +2553,8 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::splitMesh
 
     if (keepRegionI == -1)
     {
-        FatalErrorIn
-        (
-            "meshRefinement::splitMesh"
-            "(const label, const labelList&, const point&)"
-        )   << "Point " << keepPoint
+        FatalErrorInFunction
+            << "Point " << keepPoint
             << " is not inside the mesh." << nl
             << "Bounding box of the mesh:" << mesh_.bounds()
             << exit(FatalError);
@@ -2784,7 +2758,7 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::splitMesh
         }
         else
         {
-            WarningIn("meshRefinement::splitMesh(..)")
+            WarningInFunction
                 << "For exposed face " << faceI
                 << " fc:" << mesh_.faceCentres()[faceI]
                 << " found no patch." << endl
diff --git a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementProblemCells.C b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementProblemCells.C
index 871c7f8a6c6..f1b8776f8a1 100644
--- a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementProblemCells.C
+++ b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementProblemCells.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -437,7 +437,7 @@ Foam::labelList Foam::meshRefinement::nearestPatch
             {
                 if (!haveWarned)
                 {
-                    WarningIn("meshRefinement::nearestPatch(..)")
+                    WarningInFunction
                         << "Did not visit some faces, e.g. face " << faceI
                         << " at " << mesh_.faceCentres()[faceI] << endl
                         << "Assigning  these cells to patch "
diff --git a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementTemplates.C b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementTemplates.C
index 2cbc1f697c7..1bdb191299c 100644
--- a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementTemplates.C
+++ b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -63,14 +63,8 @@ T Foam::meshRefinement::gAverage
 {
     if (values.size() != isMasterElem.size())
     {
-        FatalErrorIn
-        (
-            "meshRefinement::gAverage\n"
-            "(\n"
-            "    const PackedBoolList& isMasterElem,\n"
-            "    const UList<T>& values\n"
-            ")\n"
-        )   << "Number of elements in list " << values.size()
+        FatalErrorInFunction
+            << "Number of elements in list " << values.size()
             << " does not correspond to number of elements in isMasterElem "
             << isMasterElem.size()
             << exit(FatalError);
@@ -116,11 +110,8 @@ void Foam::meshRefinement::testSyncBoundaryFaceList
 
     if (faceData.size() != nBFaces || syncedFaceData.size() != nBFaces)
     {
-        FatalErrorIn
-        (
-            "meshRefinement::testSyncBoundaryFaceList"
-            "(const scalar, const string&, const List<T>&, const List<T>&)"
-        )   << "Boundary faces:" << nBFaces
+        FatalErrorInFunction
+            << "Boundary faces:" << nBFaces
             << " faceData:" << faceData.size()
             << " syncedFaceData:" << syncedFaceData.size()
             << abort(FatalError);
@@ -143,7 +134,7 @@ void Foam::meshRefinement::testSyncBoundaryFaceList
             {
                 label faceI = pp.start()+i;
 
-                FatalErrorIn("testSyncFaces")
+                FatalErrorInFunction
                     << msg
                     << "patchFace:" << i
                     << " face:" << faceI
@@ -303,7 +294,7 @@ void Foam::meshRefinement::weightedSum
      || meshPoints.size() != pointData.size()
     )
     {
-        FatalErrorIn("medialAxisMeshMover::weightedSum(..)")
+        FatalErrorInFunction
             << "Inconsistent sizes for edge or point data:"
             << " isMasterEdge:" << isMasterEdge.size()
             << " edgeWeights:" << edgeWeights.size()
diff --git a/src/mesh/autoMesh/autoHexMesh/refinementFeatures/refinementFeatures.C b/src/mesh/autoMesh/autoHexMesh/refinementFeatures/refinementFeatures.C
index 823c4fe17f5..1f4a43e28c2 100644
--- a/src/mesh/autoMesh/autoHexMesh/refinementFeatures/refinementFeatures.C
+++ b/src/mesh/autoMesh/autoHexMesh/refinementFeatures/refinementFeatures.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -91,11 +91,8 @@ void Foam::refinementFeatures::read
 
             if (fName.empty())
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "refinementFeatures::read"
-                    "(const objectRegistry&"
-                    ", const PtrList<dictionary>&)",
                     dict
                 )   << "Could not open " << featObj.objectPath()
                     << exit(FatalIOError);
@@ -192,12 +189,8 @@ void Foam::refinementFeatures::read
 
             if (dict.size() < 1)
             {
-                FatalErrorIn
-                (
-                    "refinementFeatures::read"
-                    "(const objectRegistry&"
-                    ", const PtrList<dictionary>&)"
-                )   << " : levels should be at least size 1" << endl
+                FatalErrorInFunction
+                    << " : levels should be at least size 1" << endl
                     << "levels : "  << dict["levels"]
                     << exit(FatalError);
             }
@@ -219,12 +212,8 @@ void Foam::refinementFeatures::read
                      || (levels_[featI][j] > levels_[featI][j-1])
                     )
                     {
-                        FatalErrorIn
-                        (
-                            "refinementFeatures::read"
-                            "(const objectRegistry&"
-                            ", const PtrList<dictionary>&)"
-                        )   << " : Refinement should be specified in order"
+                        FatalErrorInFunction
+                            << " : Refinement should be specified in order"
                             << " of increasing distance"
                             << " (and decreasing refinement level)." << endl
                             << "Distance:" << distances_[featI][j]
diff --git a/src/mesh/autoMesh/autoHexMesh/refinementSurfaces/refinementSurfaces.C b/src/mesh/autoMesh/autoHexMesh/refinementSurfaces/refinementSurfaces.C
index ea43fb6f888..92bfa75ae98 100644
--- a/src/mesh/autoMesh/autoHexMesh/refinementSurfaces/refinementSurfaces.C
+++ b/src/mesh/autoMesh/autoHexMesh/refinementSurfaces/refinementSurfaces.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -114,10 +114,8 @@ Foam::refinementSurfaces::refinementSurfaces
              || globalLevelIncr[surfI] < 0
             )
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "refinementSurfaces::refinementSurfaces"
-                    "(const searchableSurfaces&, const dictionary>&",
                     dict
                 )   << "Illegal level specification for surface "
                     << names_[surfI]
@@ -176,10 +174,8 @@ Foam::refinementSurfaces::refinementSurfaces
                          || levelIncr < 0
                         )
                         {
-                            FatalIOErrorIn
+                            FatalIOErrorInFunction
                             (
-                                "refinementSurfaces::refinementSurfaces"
-                                "(const searchableSurfaces&, const dictionary&",
                                 dict
                             )   << "Illegal level specification for surface "
                                 << names_[surfI] << " region "
@@ -219,9 +215,8 @@ Foam::refinementSurfaces::refinementSurfaces
 
     if (unmatchedKeys.size() > 0)
     {
-        IOWarningIn
+        IOWarningInFunction
         (
-            "refinementSurfaces::refinementSurfaces(..)",
             surfacesDict
         )   << "Not all entries in refinementSurfaces dictionary were used."
             << " The following entries were not used : "
@@ -1299,7 +1294,7 @@ void Foam::refinementSurfaces::findInside
          && selectionMethod != surfaceZonesInfo::OUTSIDE
         )
         {
-            FatalErrorIn("refinementSurfaces::findInside(..)")
+            FatalErrorInFunction
                 << "Trying to use surface "
                 << surface.name()
                 << " which has non-geometric inside selection method "
diff --git a/src/mesh/autoMesh/autoHexMesh/refinementSurfaces/surfaceZonesInfo.C b/src/mesh/autoMesh/autoHexMesh/refinementSurfaces/surfaceZonesInfo.C
index 69c3f7777b9..cb247ede204 100644
--- a/src/mesh/autoMesh/autoHexMesh/refinementSurfaces/surfaceZonesInfo.C
+++ b/src/mesh/autoMesh/autoHexMesh/refinementSurfaces/surfaceZonesInfo.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -122,9 +122,8 @@ Foam::surfaceZonesInfo::surfaceZonesInfo
             && !surface.hasVolumeType()
             )
             {
-                IOWarningIn
+                IOWarningInFunction
                 (
-                    "surfaceZonesInfo::surfaceZonesInfo(..)",
                     surfacesDict
                 )   << "Illegal entry zoneInside "
                     << areaSelectionAlgoNames[zoneInside_]
@@ -135,9 +134,8 @@ Foam::surfaceZonesInfo::surfaceZonesInfo
         }
         else if (hasSide)
         {
-            IOWarningIn
+            IOWarningInFunction
             (
-                "surfaceZonesInfo::surfaceZonesInfo(..)",
                 surfacesDict
             )   << "Unused entry zoneInside for faceZone "
                 << faceZoneName_
@@ -393,11 +391,8 @@ Foam::labelList Foam::surfaceZonesInfo::addCellZonesToMesh
     {
         if (allCellZones[procI] != allCellZones[0])
         {
-            FatalErrorIn
-            (
-                "meshRefinement::zonify"
-                "(const label, const point&)"
-            )   << "Zones not synchronised among processors." << nl
+            FatalErrorInFunction
+                << "Zones not synchronised among processors." << nl
                 << " Processor0 has cellZones:" << allCellZones[0]
                 << " , processor" << procI
                 << " has cellZones:" << allCellZones[procI]
@@ -459,11 +454,8 @@ Foam::labelList Foam::surfaceZonesInfo::addFaceZonesToMesh
     {
         if (allFaceZones[procI] != allFaceZones[0])
         {
-            FatalErrorIn
-            (
-                "meshRefinement::zonify"
-                "(const label, const point&)"
-            )   << "Zones not synchronised among processors." << nl
+            FatalErrorInFunction
+                << "Zones not synchronised among processors." << nl
                 << " Processor0 has faceZones:" << allFaceZones[0]
                 << " , processor" << procI
                 << " has faceZones:" << allFaceZones[procI]
diff --git a/src/mesh/autoMesh/autoHexMesh/shellSurfaces/shellSurfaces.C b/src/mesh/autoMesh/autoHexMesh/shellSurfaces/shellSurfaces.C
index cd398025534..a92a2b01148 100644
--- a/src/mesh/autoMesh/autoHexMesh/shellSurfaces/shellSurfaces.C
+++ b/src/mesh/autoMesh/autoHexMesh/shellSurfaces/shellSurfaces.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -65,11 +65,8 @@ void Foam::shellSurfaces::setAndCheckLevels
 {
     if (modes_[shellI] != DISTANCE && distLevels.size() != 1)
     {
-        FatalErrorIn
-        (
-            "shellSurfaces::shellSurfaces"
-            "(const searchableSurfaces&, const dictionary&)"
-        )   << "For refinement mode "
+        FatalErrorInFunction
+            << "For refinement mode "
             << refineModeNames_[modes_[shellI]]
             << " specify only one distance+level."
             << " (its distance gets discarded)"
@@ -93,11 +90,8 @@ void Foam::shellSurfaces::setAndCheckLevels
              || (levels_[shellI][j] > levels_[shellI][j-1])
             )
             {
-                FatalErrorIn
-                (
-                    "shellSurfaces::shellSurfaces"
-                    "(const searchableSurfaces&, const dictionary&)"
-                )   << "For refinement mode "
+                FatalErrorInFunction
+                    << "For refinement mode "
                     << refineModeNames_[modes_[shellI]]
                     << " : Refinement should be specified in order"
                     << " of increasing distance"
@@ -126,12 +120,8 @@ void Foam::shellSurfaces::setAndCheckLevels
     {
         if (!allGeometry_[shells_[shellI]].hasVolumeType())
         {
-            FatalErrorIn
-            (
-                "shellSurfaces::shellSurfaces"
-                "(const searchableSurfaces&"
-                ", const PtrList<dictionary>&)"
-            )   << "Shell " << shell.name()
+            FatalErrorInFunction
+                << "Shell " << shell.name()
                 << " does not support testing for "
                 << refineModeNames_[modes_[shellI]] << endl
                 << "Probably it is not closed."
@@ -413,9 +403,8 @@ Foam::shellSurfaces::shellSurfaces
 
     if (unmatchedKeys.size() > 0)
     {
-        IOWarningIn
+        IOWarningInFunction
         (
-            "shellSurfaces::shellSurfaces(..)",
             shellsDict
         )   << "Not all entries in refinementRegions dictionary were used."
             << " The following entries were not used : "
diff --git a/src/mesh/blockMesh/blockDescriptor/blockDescriptor.C b/src/mesh/blockMesh/blockDescriptor/blockDescriptor.C
index fad60ea2fdc..1357a9e5668 100644
--- a/src/mesh/blockMesh/blockDescriptor/blockDescriptor.C
+++ b/src/mesh/blockMesh/blockDescriptor/blockDescriptor.C
@@ -49,13 +49,8 @@ Foam::blockDescriptor::blockDescriptor
 {
     if (expand_.size() != 12)
     {
-        FatalErrorIn
-        (
-            "blockDescriptor::blockDescriptor"
-            "(const cellShape&, const pointField& blockPointField, "
-            "const curvedEdgeList&, const Vector<label>& meshDensity, "
-            "const scalarList& expand, const word& zoneName)"
-        )   << "Unknown definition of expansion ratios"
+        FatalErrorInFunction
+            << "Unknown definition of expansion ratios"
             << exit(FatalError);
     }
 
@@ -106,10 +101,8 @@ Foam::blockDescriptor::blockDescriptor
         }
         else
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "blockDescriptor::blockDescriptor"
-                "(const pointField&, const curvedEdgeList&, Istream&)",
                 is
             )   << "incorrect token while reading n, expected '(', found "
                 << t.info()
@@ -163,11 +156,8 @@ Foam::blockDescriptor::blockDescriptor
     }
     else
     {
-        FatalErrorIn
-        (
-            "blockDescriptor::blockDescriptor"
-            "(const pointField&, const curvedEdgeList&, Istream&)"
-        )   << "Unknown definition of expansion ratios: " << expRatios
+        FatalErrorInFunction
+            << "Unknown definition of expansion ratios: " << expRatios
             << exit(FatalError);
     }
 
diff --git a/src/mesh/blockMesh/blockMesh/blockMesh.C b/src/mesh/blockMesh/blockMesh/blockMesh.C
index a7d46b04017..615a8d7c556 100644
--- a/src/mesh/blockMesh/blockMesh/blockMesh.C
+++ b/src/mesh/blockMesh/blockMesh/blockMesh.C
@@ -83,7 +83,7 @@ const Foam::polyMesh& Foam::blockMesh::topology() const
 {
     if (!topologyPtr_)
     {
-        FatalErrorIn("blockMesh::topology() const")
+        FatalErrorInFunction
             << "topologyPtr_ not allocated"
             << exit(FatalError);
     }
diff --git a/src/mesh/blockMesh/blockMesh/blockMeshCheck.C b/src/mesh/blockMesh/blockMesh/blockMeshCheck.C
index 39c7ed6c109..e153f9d7b7b 100644
--- a/src/mesh/blockMesh/blockMesh/blockMeshCheck.C
+++ b/src/mesh/blockMesh/blockMesh/blockMeshCheck.C
@@ -139,7 +139,7 @@ void Foam::blockMesh::checkBlockMesh(const polyMesh& bm) const
 
     if (!ok)
     {
-        FatalErrorIn("blockMesh::checkBlockMesh(const polyMesh& bm)")
+        FatalErrorInFunction
             << "Block mesh topology incorrect, stopping mesh generation!"
             << exit(FatalError);
     }
@@ -161,10 +161,8 @@ bool Foam::blockMesh::blockLabelsOK
         {
             ok = false;
 
-            WarningIn
-            (
-                "bool Foam::blockMesh::blockLabelsOK(...)"
-            )   << "out-of-range point label " << blockShape[blockI]
+            WarningInFunction
+                << "out-of-range point label " << blockShape[blockI]
                 << " (min = 0"
                 << ") in block " << blockLabel << endl;
         }
@@ -172,10 +170,8 @@ bool Foam::blockMesh::blockLabelsOK
         {
             ok = false;
 
-            WarningIn
-            (
-                "bool Foam::blockMesh::blockLabelsOK(...)"
-            )   << "out-of-range point label " << blockShape[blockI]
+            WarningInFunction
+                << "out-of-range point label " << blockShape[blockI]
                 << " (max = " << points.size() - 1
                 << ") in block " << blockLabel << endl;
         }
@@ -204,10 +200,8 @@ bool Foam::blockMesh::patchLabelsOK
             {
                 ok = false;
 
-                WarningIn
-                (
-                    "bool Foam::blockMesh::patchLabelsOK(...)"
-                )   << "out-of-range point label " << f[fp]
+                WarningInFunction
+                    << "out-of-range point label " << f[fp]
                     << " (min = 0"
                     << ") on patch " << patchLabel
                     << ", face " << faceI << endl;
@@ -216,10 +210,8 @@ bool Foam::blockMesh::patchLabelsOK
             {
                 ok = false;
 
-                WarningIn
-                (
-                    "bool Foam::blockMesh::patchLabelsOK(...)"
-                )   << "out-of-range point label " << f[fp]
+                WarningInFunction
+                    << "out-of-range point label " << f[fp]
                     << " (max = " << points.size() - 1
                     << ") on patch " << patchLabel
                     << ", face " << faceI << endl;
diff --git a/src/mesh/blockMesh/blockMesh/blockMeshMerge.C b/src/mesh/blockMesh/blockMesh/blockMeshMerge.C
index f8d05d0f2d7..edac5b9e491 100644
--- a/src/mesh/blockMesh/blockMesh/blockMeshMerge.C
+++ b/src/mesh/blockMesh/blockMesh/blockMeshMerge.C
@@ -95,7 +95,7 @@ void Foam::blockMesh::calcMergeInfo()
 
         if (!foundFace)
         {
-            FatalErrorIn("blockMesh::calcMergeInfo()")
+            FatalErrorInFunction
                 << "Cannot find merge face for block " << blockPlabel
                 << exit(FatalError);
         }
@@ -204,7 +204,7 @@ void Foam::blockMesh::calcMergeInfo()
 
         if (!foundFace)
         {
-            FatalErrorIn("blockMesh::calcMergeInfo()")
+            FatalErrorInFunction
                 << "Cannot find merge face for block " << blockNlabel
                 << exit(FatalError);
         }
@@ -214,7 +214,7 @@ void Foam::blockMesh::calcMergeInfo()
 
         if (blockPfaceFaces.size() != blockNfaceFaces.size())
         {
-            FatalErrorIn("blockMesh::calcMergeInfo()")
+            FatalErrorInFunction
                 << "Inconsistent number of faces between block pair "
                 << blockPlabel << " and " << blockNlabel
                 << exit(FatalError);
@@ -287,7 +287,7 @@ void Foam::blockMesh::calcMergeInfo()
             {
                 if (cp[blockPfaceFacePointLabel] == -1)
                 {
-                    FatalErrorIn("blockMesh::calcMergeInfo()")
+                    FatalErrorInFunction
                         << "Inconsistent point locations between block pair "
                         << blockPlabel << " and " << blockNlabel << nl
                         << "    probably due to inconsistent grading."
@@ -407,7 +407,7 @@ void Foam::blockMesh::calcMergeInfo()
 
         if (nPasses > 100)
         {
-            FatalErrorIn("blockMesh::calcMergeInfo()")
+            FatalErrorInFunction
                 << "Point merging failed after max number of passes."
                 << exit(FatalError);
         }
@@ -452,7 +452,7 @@ void Foam::blockMesh::calcMergeInfo()
 
         if (!foundFace)
         {
-            FatalErrorIn("blockMesh::calcMergeInfo()")
+            FatalErrorInFunction
                 << "Cannot find merge face for block " << blockPlabel
                 << exit(FatalError);
         }
@@ -479,7 +479,7 @@ void Foam::blockMesh::calcMergeInfo()
 
         if (!foundFace)
         {
-            FatalErrorIn("blockMesh::calcMergeInfo()")
+            FatalErrorInFunction
                 << "Cannot find merge face for block " << blockNlabel
                 << exit(FatalError);
         }
@@ -503,7 +503,7 @@ void Foam::blockMesh::calcMergeInfo()
 
                 if (mergeList_[PpointLabel] == -1)
                 {
-                    FatalErrorIn("blockMesh::calcMergeInfo()")
+                    FatalErrorInFunction
                         << "Unable to merge point "
                         << blockPfaceFacePointLabel
                         << ' ' << blockPpoints[blockPfaceFacePointLabel]
@@ -529,7 +529,7 @@ void Foam::blockMesh::calcMergeInfo()
 
                 if (mergeList_[NpointLabel] == -1)
                 {
-                    FatalErrorIn("blockMesh::calcMergeInfo()")
+                    FatalErrorInFunction
                         << "unable to merge point "
                         << blockNfaceFacePointLabel
                         << ' ' << blockNpoints[blockNfaceFacePointLabel]
@@ -552,7 +552,7 @@ void Foam::blockMesh::calcMergeInfo()
     {
         if (mergeList_[pointLabel] > pointLabel)
         {
-            FatalErrorIn("blockMesh::calcMergeInfo()")
+            FatalErrorInFunction
                 << "Merge list contains point index out of range"
                 << exit(FatalError);
         }
diff --git a/src/mesh/blockMesh/blockMesh/blockMeshMergeFast.C b/src/mesh/blockMesh/blockMesh/blockMeshMergeFast.C
index 077db0b8fd2..2936da2643a 100644
--- a/src/mesh/blockMesh/blockMesh/blockMeshMergeFast.C
+++ b/src/mesh/blockMesh/blockMesh/blockMeshMergeFast.C
@@ -103,11 +103,8 @@ Pair<int> faceMap
         }
     }
 
-    FatalErrorIn
-    (
-        "faceMap(const label facePi, const face& faceP, "
-        "const label faceNi, const face& faceN)"
-    )   << "Cannot find point correspondance for faces "
+    FatalErrorInFunction
+        << "Cannot find point correspondance for faces "
         << faceP << " and " << faceN
         << exit(FatalError);
 
@@ -146,7 +143,7 @@ void setBlockFaceCorrespondence
 
         if (!foundFace)
         {
-            FatalErrorIn("setBlockFaceCorrespondence()")
+            FatalErrorInFunction
                 << "Cannot find merge face for block " << topoPi
                 << exit(FatalError);
         }
@@ -410,7 +407,7 @@ void Foam::blockMesh::calcMergeInfoFast()
 
             if (Pnij != NPnij)
             {
-                FatalErrorIn("blockMesh::calcMergeInfoFast()")
+                FatalErrorInFunction
                     << "Sub-division mismatch between face "
                     << blockPfacei << " of block " << blockPi << Pnij
                     << " and face "
@@ -449,7 +446,7 @@ void Foam::blockMesh::calcMergeInfoFast()
 
                 if (sqrDist > testSqrDist)
                 {
-                    FatalErrorIn("blockMesh::calcMergeInfoFast()")
+                    FatalErrorInFunction
                         << "Point merge failure between face "
                         << blockPfacei << " of block " << blockPi
                         << " and face "
@@ -555,7 +552,7 @@ void Foam::blockMesh::calcMergeInfoFast()
 
         if (nPasses > 100)
         {
-            FatalErrorIn("blockMesh::calcMergeInfoFast()")
+            FatalErrorInFunction
                 << "Point merging failed after 100 passes."
                 << exit(FatalError);
         }
@@ -570,7 +567,7 @@ void Foam::blockMesh::calcMergeInfoFast()
     {
         if (mergeList_[pointi] > pointi)
         {
-            FatalErrorIn("blockMesh::calcMergeInfoFast()")
+            FatalErrorInFunction
                 << "Merge list contains point index out of range"
                 << exit(FatalError);
         }
diff --git a/src/mesh/blockMesh/blockMesh/blockMeshTopology.C b/src/mesh/blockMesh/blockMesh/blockMeshTopology.C
index a4b9b548cb6..2d476ef2a90 100644
--- a/src/mesh/blockMesh/blockMesh/blockMeshTopology.C
+++ b/src/mesh/blockMesh/blockMesh/blockMeshTopology.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -99,10 +99,8 @@ bool Foam::blockMesh::readPatches
         {
             if (patchNames[nPatches] == patchNames[i])
             {
-                FatalErrorIn
-                (
-                    "blockMesh::createTopology(IOdictionary&)"
-                )   << "Duplicate patch " << patchNames[nPatches]
+                FatalErrorInFunction
+                    << "Duplicate patch " << patchNames[nPatches]
                     << " at line " << patchStream.lineNumber()
                     << ". Exiting !" << nl
                     << exit(FatalError);
@@ -126,7 +124,7 @@ bool Foam::blockMesh::readPatches
             word halfA = patchNames[nPatches-1] + "_half0";
             word halfB = patchNames[nPatches-1] + "_half1";
 
-            WarningIn("blockMesh::createTopology(IOdictionary&)")
+            WarningInFunction
                 << "Old-style cyclic definition."
                 << " Splitting patch "
                 << patchNames[nPatches-1] << " into two halves "
@@ -154,10 +152,8 @@ bool Foam::blockMesh::readPatches
             // Split faces
             if ((tmpBlocksPatches[nPatches-1].size() % 2) != 0)
             {
-                FatalErrorIn
-                (
-                    "blockMesh::createTopology(IOdictionary&)"
-                )   << "Size of cyclic faces is not a multiple of 2 :"
+                FatalErrorInFunction
+                    << "Size of cyclic faces is not a multiple of 2 :"
                     << tmpBlocksPatches[nPatches-1]
                     << exit(FatalError);
             }
@@ -212,7 +208,7 @@ bool Foam::blockMesh::readBoundary
 
         if (!patchInfo.isDict())
         {
-            FatalIOErrorIn("blockMesh::readBoundary(..)", meshDescription)
+            FatalIOErrorInFunction(meshDescription)
                 << "Entry " << patchInfo << " in boundary section is not a"
                 << " valid dictionary." << exit(FatalIOError);
         }
@@ -249,10 +245,8 @@ void Foam::blockMesh::createCellShapes
 
         if (tmpBlockCells[blockI].mag(blockPointField_) < 0.0)
         {
-            WarningIn
-            (
-                "blockMesh::createTopology(IOdictionary&)"
-            )   << "negative volume block : " << blockI
+            WarningInFunction
+                << "negative volume block : " << blockI
                 << ", probably defined inside-out" << endl;
         }
     }
@@ -465,7 +459,7 @@ Foam::polyMesh* Foam::blockMesh::createTopology
 
         if (!topologyOK)
         {
-            FatalErrorIn("blockMesh::createTopology(IOdictionary&)")
+            FatalErrorInFunction
                 << "Cannot create mesh due to errors in topology, exiting !"
                 << nl << exit(FatalError);
         }
@@ -510,9 +504,8 @@ Foam::polyMesh* Foam::blockMesh::createTopology
             }
             else if (word(dict.lookup("type")) != patchTypes[patchI])
             {
-                IOWarningIn
+                IOWarningInFunction
                 (
-                    "blockMesh::createTopology(IOdictionary&)",
                     meshDescription
                 )   << "For patch " << patchNames[patchI]
                     << " overriding type '" << patchTypes[patchI]
@@ -565,7 +558,7 @@ Foam::polyMesh* Foam::blockMesh::createTopology
 
         if (!topologyOK)
         {
-            FatalErrorIn("blockMesh::createTopology(IOdictionary&)")
+            FatalErrorInFunction
                 << "Cannot create mesh due to errors in topology, exiting !"
                 << nl << exit(FatalError);
         }
diff --git a/src/mesh/blockMesh/curvedEdges/arcEdge.C b/src/mesh/blockMesh/curvedEdges/arcEdge.C
index 512eab4a206..6f967cefb0a 100644
--- a/src/mesh/blockMesh/curvedEdges/arcEdge.C
+++ b/src/mesh/blockMesh/curvedEdges/arcEdge.C
@@ -52,8 +52,7 @@ Foam::cylindricalCS Foam::arcEdge::calcAngle()
 
     if (mag(denom) < VSMALL)
     {
-        FatalErrorIn("cylindricalCS arcEdge::calcAngle()")
-            << "Invalid arc definition - are the points co-linear?  Denom ="
+        FatalErrorInFunction
             << denom
             << abort(FatalError);
     }
@@ -135,7 +134,7 @@ Foam::point Foam::arcEdge::position(const scalar lambda) const
 {
     if (lambda < -SMALL || lambda > 1 + SMALL)
     {
-        FatalErrorIn("arcEdge::position(const scalar lambda) const")
+        FatalErrorInFunction
             << "Parameter out of range, lambda = " << lambda
             << abort(FatalError);
     }
diff --git a/src/mesh/blockMesh/curvedEdges/curvedEdge.C b/src/mesh/blockMesh/curvedEdges/curvedEdge.C
index 471f5a7f110..895c4729475 100644
--- a/src/mesh/blockMesh/curvedEdges/curvedEdge.C
+++ b/src/mesh/blockMesh/curvedEdges/curvedEdge.C
@@ -93,7 +93,7 @@ Foam::autoPtr<Foam::curvedEdge> Foam::curvedEdge::New
 
     if (cstrIter == IstreamConstructorTablePtr_->end())
     {
-        FatalErrorIn("curvedEdge::New(const pointField&, Istream&)")
+        FatalErrorInFunction
             << "Unknown curvedEdge type "
             << edgeType << nl << nl
             << "Valid curvedEdge types are" << endl
diff --git a/src/mesh/blockMesh/curvedEdges/lineEdge.C b/src/mesh/blockMesh/curvedEdges/lineEdge.C
index a00243e5841..260ede19619 100644
--- a/src/mesh/blockMesh/curvedEdges/lineEdge.C
+++ b/src/mesh/blockMesh/curvedEdges/lineEdge.C
@@ -67,7 +67,7 @@ Foam::point Foam::lineEdge::position(const scalar lambda) const
 {
     if (lambda < -SMALL || lambda > 1+SMALL)
     {
-        FatalErrorIn("lineEdge::position(const scalar)")
+        FatalErrorInFunction
             << "Parameter out of range, lambda = " << lambda
             << abort(FatalError);
     }
diff --git a/src/mesh/extrudeModel/extrudeModel/extrudeModelNew.C b/src/mesh/extrudeModel/extrudeModel/extrudeModelNew.C
index 18e18d3b4f5..010ddc4de4e 100644
--- a/src/mesh/extrudeModel/extrudeModel/extrudeModelNew.C
+++ b/src/mesh/extrudeModel/extrudeModel/extrudeModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -41,10 +41,8 @@ Foam::autoPtr<Foam::extrudeModel> Foam::extrudeModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "extrudeModel::New(const dictionary&)"
-        )   << "Unknown extrudeModel type "
+        FatalErrorInFunction
+            << "Unknown extrudeModel type "
             << modelType << nl << nl
             << "Valid extrudeModel types are :" << nl
             << dictionaryConstructorTablePtr_->sortedToc() << nl
diff --git a/src/mesh/extrudeModel/linearDirection/linearDirection.C b/src/mesh/extrudeModel/linearDirection/linearDirection.C
index d7db3a45b54..36a0094d2ed 100644
--- a/src/mesh/extrudeModel/linearDirection/linearDirection.C
+++ b/src/mesh/extrudeModel/linearDirection/linearDirection.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -52,7 +52,7 @@ linearDirection::linearDirection(const dictionary& dict)
 
     if (thickness_ <= 0)
     {
-        FatalErrorIn("linearDirection(const dictionary&)")
+        FatalErrorInFunction
             << "thickness should be positive : " << thickness_
             << exit(FatalError);
     }
diff --git a/src/mesh/extrudeModel/linearNormal/linearNormal.C b/src/mesh/extrudeModel/linearNormal/linearNormal.C
index 06e0aafc2ce..d3a25216aee 100644
--- a/src/mesh/extrudeModel/linearNormal/linearNormal.C
+++ b/src/mesh/extrudeModel/linearNormal/linearNormal.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -51,7 +51,7 @@ linearNormal::linearNormal(const dictionary& dict)
 {
     if (thickness_ <= 0)
     {
-        FatalErrorIn("linearNormal(const dictionary&)")
+        FatalErrorInFunction
             << "thickness should be positive : " << thickness_
             << exit(FatalError);
     }
@@ -60,7 +60,7 @@ linearNormal::linearNormal(const dictionary& dict)
 
     if (firstCellThickness_ >= thickness_)
     {
-        FatalErrorIn("linearNormal(const dictionary&)")
+        FatalErrorInFunction
             << "firstCellThickness is larger than thickness"
             << exit(FatalError);
     }
diff --git a/src/mesh/extrudeModel/planeExtrusion/planeExtrusion.C b/src/mesh/extrudeModel/planeExtrusion/planeExtrusion.C
index 53efd1c1000..dfcb24d10ea 100644
--- a/src/mesh/extrudeModel/planeExtrusion/planeExtrusion.C
+++ b/src/mesh/extrudeModel/planeExtrusion/planeExtrusion.C
@@ -48,7 +48,7 @@ plane::plane(const dictionary& dict)
 {
     if (nLayers_ != 1)
     {
-        IOWarningIn("plane::plane(const dictionary& dict)", dict)
+        IOWarningInFunction(dict)
             << "Expected nLayers (if specified) to be 1"
             << endl;
         nLayers_ = 1;
diff --git a/src/mesh/extrudeModel/sigmaRadial/sigmaRadial.C b/src/mesh/extrudeModel/sigmaRadial/sigmaRadial.C
index bb447806cf6..c97caf82504 100644
--- a/src/mesh/extrudeModel/sigmaRadial/sigmaRadial.C
+++ b/src/mesh/extrudeModel/sigmaRadial/sigmaRadial.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -51,7 +51,7 @@ sigmaRadial::sigmaRadial(const dictionary& dict)
 {
     if (mag(expansionRatio() - 1.0) > SMALL)
     {
-        WarningIn("sigmaRadial::sigmaRadial(const dictionary&)")
+        WarningInFunction
             << "Ignoring expansionRatio setting." << endl;
     }
 }
diff --git a/src/mesh/extrudeModel/wedge/wedge.C b/src/mesh/extrudeModel/wedge/wedge.C
index f29d8145db6..a5d139c1b3f 100644
--- a/src/mesh/extrudeModel/wedge/wedge.C
+++ b/src/mesh/extrudeModel/wedge/wedge.C
@@ -48,7 +48,7 @@ wedge::wedge(const dictionary& dict)
 {
     if (nLayers_ != 1)
     {
-        IOWarningIn("wedge::wedge(const dictionary& dict)", dict)
+        IOWarningInFunction(dict)
             << "Expected nLayers (if specified) to be 1"
             << endl;
         nLayers_ = 1;
diff --git a/src/meshTools/AMIInterpolation/AMIInterpolation/AMIInterpolation.C b/src/meshTools/AMIInterpolation/AMIInterpolation/AMIInterpolation.C
index 70372fc7244..f3b6c566387 100644
--- a/src/meshTools/AMIInterpolation/AMIInterpolation/AMIInterpolation.C
+++ b/src/meshTools/AMIInterpolation/AMIInterpolation/AMIInterpolation.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -63,15 +63,7 @@ Foam::AMIInterpolation<SourcePatch, TargetPatch>::interpolationMethodToWord
         }
         default:
         {
-            FatalErrorIn
-            (
-                "const Foam::word"
-                "Foam::AMIInterpolation<SourcePatch, TargetPatch>::"
-                "interpolationMethodToWord"
-                "("
-                    "const interpolationMethod&"
-                ")"
-            )
+            FatalErrorInFunction
                 << "Unhandled interpolationMethod enumeration " << method
                 << abort(FatalError);
         }
@@ -121,16 +113,7 @@ Foam::AMIInterpolation<SourcePatch, TargetPatch>::wordTointerpolationMethod
     }
     else
     {
-        FatalErrorIn
-        (
-            "Foam::AMIInterpolation<SourcePatch, TargetPatch>::"
-            "interpolationMethod"
-            "Foam::AMIInterpolation<SourcePatch, TargetPatch>::"
-            "wordTointerpolationMethod"
-            "("
-                "const word&"
-            ")"
-        )
+        FatalErrorInFunction
             << "Invalid interpolationMethod " << im
             << ".  Valid methods are:" << methods
             << exit(FatalError);
@@ -176,15 +159,7 @@ void Foam::AMIInterpolation<SourcePatch, TargetPatch>::projectPointsToSurface
 
     if (nMiss > 0)
     {
-        FatalErrorIn
-        (
-            "void Foam::AMIInterpolation<SourcePatch, TargetPatch>::"
-            "projectPointsToSurface"
-            "("
-                "const searchableSurface&, "
-                "pointField&"
-            ") const"
-        )
+        FatalErrorInFunction
             << "Error projecting points to surface: "
             << nMiss << " faces could not be determined"
             << abort(FatalError);
@@ -786,15 +761,8 @@ Foam::AMIInterpolation<SourcePatch, TargetPatch>::AMIInterpolation
      || fineAMI.tgtAddress().size() != targetRestrictAddressing.size()
     )
     {
-        FatalErrorIn
-        (
-            "AMIInterpolation<SourcePatch, TargetPatch>::AMIInterpolation"
-            "("
-                "const AMIInterpolation<SourcePatch, TargetPatch>&, "
-                "const labelList&, "
-                "const labelList&"
-            ")"
-        )   << "Size mismatch." << nl
+        FatalErrorInFunction
+            << "Size mismatch." << nl
             << "Source patch size:" << fineAMI.srcAddress().size() << nl
             << "Source agglomeration size:"
             << sourceRestrictAddressing.size() << nl
@@ -1143,16 +1111,8 @@ void Foam::AMIInterpolation<SourcePatch, TargetPatch>::interpolateToTarget
 {
     if (fld.size() != srcAddress_.size())
     {
-        FatalErrorIn
-        (
-            "AMIInterpolation::interpolateToTarget"
-            "("
-                "const UList<Type>&, "
-                "const CombineOp&, "
-                "List<Type>&, "
-                "const UList<Type>&"
-            ") const"
-        )   << "Supplied field size is not equal to source patch size" << nl
+        FatalErrorInFunction
+            << "Supplied field size is not equal to source patch size" << nl
             << "    source patch   = " << srcAddress_.size() << nl
             << "    target patch   = " << tgtAddress_.size() << nl
             << "    supplied field = " << fld.size()
@@ -1163,16 +1123,8 @@ void Foam::AMIInterpolation<SourcePatch, TargetPatch>::interpolateToTarget
     {
         if (defaultValues.size() != tgtAddress_.size())
         {
-            FatalErrorIn
-            (
-                "AMIInterpolation::interpolateToTarget"
-                "("
-                    "const UList<Type>&, "
-                    "const CombineOp&, "
-                    "List<Type>&, "
-                    "const UList<Type>&"
-                ") const"
-            )   << "Employing default values when sum of weights falls below "
+            FatalErrorInFunction
+                << "Employing default values when sum of weights falls below "
                 << lowWeightCorrection_
                 << " but supplied default field size is not equal to target "
                 << "patch size" << nl
@@ -1244,16 +1196,8 @@ void Foam::AMIInterpolation<SourcePatch, TargetPatch>::interpolateToSource
 {
     if (fld.size() != tgtAddress_.size())
     {
-        FatalErrorIn
-        (
-            "AMIInterpolation::interpolateToSource"
-            "("
-                "const UList<Type>&, "
-                "const CombineOp&, "
-                "List<Type>&, "
-                "const UList<Type>&"
-            ") const"
-        )   << "Supplied field size is not equal to target patch size" << nl
+        FatalErrorInFunction
+            << "Supplied field size is not equal to target patch size" << nl
             << "    source patch   = " << srcAddress_.size() << nl
             << "    target patch   = " << tgtAddress_.size() << nl
             << "    supplied field = " << fld.size()
@@ -1264,16 +1208,8 @@ void Foam::AMIInterpolation<SourcePatch, TargetPatch>::interpolateToSource
     {
         if (defaultValues.size() != srcAddress_.size())
         {
-            FatalErrorIn
-            (
-                "AMIInterpolation::interpolateToSource"
-                "("
-                    "const UList<Type>&, "
-                    "const CombineOp&, "
-                    "List<Type>&, "
-                    "const UList<Type>&"
-                ") const"
-            )   << "Employing default values when sum of weights falls below "
+            FatalErrorInFunction
+                << "Employing default values when sum of weights falls below "
                 << lowWeightCorrection_
                 << " but supplied default field size is not equal to target "
                 << "patch size" << nl
diff --git a/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/AMIMethod/AMIMethod.C b/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/AMIMethod/AMIMethod.C
index 292d8167328..8eb4aaeeca7 100644
--- a/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/AMIMethod/AMIMethod.C
+++ b/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/AMIMethod/AMIMethod.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -54,7 +54,7 @@ void Foam::AMIMethod<SourcePatch, TargetPatch>::checkPatches() const
 
         if (!bbTgtInf.contains(bbSrc))
         {
-            WarningIn("AMIMethod<SourcePatch, TargetPatch>::checkPatches()")
+            WarningInFunction
                 << "Source and target patch bounding boxes are not similar"
                 << nl
                 << "    source box span     : " << bbSrc.span() << nl
@@ -94,18 +94,7 @@ bool Foam::AMIMethod<SourcePatch, TargetPatch>::initialise
     }
     else if (!tgtPatch_.size())
     {
-        WarningIn
-        (
-            "void Foam::AMIMethod<SourcePatch, TargetPatch>::initialise"
-            "("
-                "labelListList&, "
-                "scalarListList&, "
-                "labelListList&, "
-                "scalarListList&, "
-                "label&, "
-                "label&"
-            ")"
-        )
+        WarningInFunction
             << srcPatch_.size() << " source faces but no target faces" << endl;
 
         return false;
@@ -135,18 +124,8 @@ bool Foam::AMIMethod<SourcePatch, TargetPatch>::initialise
         {
             if (requireMatch_)
             {
-                FatalErrorIn
-                (
-                    "void Foam::AMIMethod<SourcePatch, TargetPatch>::initialise"
-                    "("
-                        "labelListList&, "
-                        "scalarListList&, "
-                        "labelListList&, "
-                        "scalarListList&, "
-                        "label&, "
-                        "label&"
-                    ")"
-                )   << "Unable to find initial target face"
+                FatalErrorInFunction
+                    << "Unable to find initial target face"
                     << abort(FatalError);
             }
 
diff --git a/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/AMIMethod/AMIMethodNew.C b/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/AMIMethod/AMIMethodNew.C
index d06294d583c..3d1463305c8 100644
--- a/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/AMIMethod/AMIMethodNew.C
+++ b/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/AMIMethod/AMIMethodNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -49,20 +49,8 @@ Foam::AMIMethod<SourcePatch, TargetPatch>::New
 
     if (cstrIter == componentsConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "AMIMethod<SourcePatch, TargetPatch>::New"
-            "("
-                "const word&, "
-                "const SourcePatch&, "
-                "const TargetPatch&, "
-                "const scalarField&, "
-                "const scalarField&, "
-                "const faceAreaIntersect::triangulationMode&, "
-                "const bool, "
-                "const bool"
-            ")"
-        )   << "Unknown AMIMethod type "
+        FatalErrorInFunction
+            << "Unknown AMIMethod type "
             << methodName << nl << nl
             << "Valid AMIMethod types are:" << nl
             << componentsConstructorTablePtr_->sortedToc() << exit(FatalError);
diff --git a/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/faceAreaWeightAMI/faceAreaWeightAMI.C b/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/faceAreaWeightAMI/faceAreaWeightAMI.C
index d9cfb8402a0..da5c84ac97b 100644
--- a/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/faceAreaWeightAMI/faceAreaWeightAMI.C
+++ b/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/faceAreaWeightAMI/faceAreaWeightAMI.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -284,20 +284,8 @@ void Foam::faceAreaWeightAMI<SourcePatch, TargetPatch>::setNextFaces
 
         if (errorOnNotFound)
         {
-            FatalErrorIn
-            (
-                "void Foam::faceAreaWeightAMI<SourcePatch, TargetPatch>::"
-                "setNextFaces"
-                "("
-                    "label&, "
-                    "label&, "
-                    "label&, "
-                    "const boolList&, "
-                    "labelList&, "
-                    "const DynamicList<label>&, "
-                    "bool"
-                ") const"
-            )  << "Unable to set source and target faces" << abort(FatalError);
+            FatalErrorInFunction
+               << "Unable to set source and target faces" << abort(FatalError);
         }
     }
 }
@@ -348,15 +336,8 @@ Foam::scalar Foam::faceAreaWeightAMI<SourcePatch, TargetPatch>::interArea
     }
     else
     {
-        WarningIn
-        (
-            "void Foam::faceAreaWeightAMI<SourcePatch, TargetPatch>::"
-            "interArea"
-            "("
-                "const label, "
-                "const label"
-            ") const"
-        )   << "Invalid normal for source face " << srcFaceI
+        WarningInFunction
+            << "Invalid normal for source face " << srcFaceI
             << " points " << UIndirectList<point>(srcPoints, src)
             << " target face " << tgtFaceI
             << " points " << UIndirectList<point>(tgtPoints, tgt)
diff --git a/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/mapNearestAMI/mapNearestAMI.C b/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/mapNearestAMI/mapNearestAMI.C
index 4f4f8e5a99a..0efaf241f46 100644
--- a/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/mapNearestAMI/mapNearestAMI.C
+++ b/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/mapNearestAMI/mapNearestAMI.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -108,17 +108,7 @@ void Foam::mapNearestAMI<SourcePatch, TargetPatch>::setNextNearestFaces
             {
                 const vectorField& srcCf = this->srcPatch_.faceCentres();
 
-                FatalErrorIn
-                (
-                    "void Foam::mapNearestAMI<SourcePatch, TargetPatch>::"
-                    "setNextNearestFaces"
-                    "("
-                        "boolList&, "
-                        "label&, "
-                        "label&, "
-                        "label&"
-                    ") const"
-                )
+                FatalErrorInFunction
                     << "Unable to find target face for source face "
                     << srcFaceI << " with face centre " << srcCf[srcFaceI]
                     << abort(FatalError);
diff --git a/src/meshTools/AMIInterpolation/faceAreaIntersect/faceAreaIntersect.C b/src/meshTools/AMIInterpolation/faceAreaIntersect/faceAreaIntersect.C
index 45d1eb515b5..617a85a0a08 100644
--- a/src/meshTools/AMIInterpolation/faceAreaIntersect/faceAreaIntersect.C
+++ b/src/meshTools/AMIInterpolation/faceAreaIntersect/faceAreaIntersect.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -355,16 +355,8 @@ Foam::scalar Foam::faceAreaIntersect::calc
         }
         default:
         {
-            FatalErrorIn
-            (
-                "Foam::scalar Foam::faceAreaIntersect::calc"
-                "("
-                    "const face&, "
-                    "const face&, "
-                    "const vector&, "
-                    "const triangulationMode&"
-                ")"
-            )   << "Unknown triangulation mode enumeration"
+            FatalErrorInFunction
+                << "Unknown triangulation mode enumeration"
                 << abort(FatalError);
         }
     }
diff --git a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatchField/cyclicACMIPointPatchField.C b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatchField/cyclicACMIPointPatchField.C
index cc15eaf02fa..038f403fff0 100644
--- a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatchField/cyclicACMIPointPatchField.C
+++ b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatchField/cyclicACMIPointPatchField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -59,14 +59,8 @@ Foam::cyclicACMIPointPatchField<Type>::cyclicACMIPointPatchField
 {
     if (!isType<cyclicACMIPointPatch>(p))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "cyclicACMIPointPatchField<Type>::cyclicACMIPointPatchField\n"
-            "(\n"
-            "    const pointPatch&,\n"
-            "    const DimensionedField<Type, pointMesh>&,\n"
-            "    const dictionary&\n"
-            ")\n",
             dict
         )   << "patch " << this->patch().index() << " not cyclicACMI type. "
             << "Patch type = " << p.type()
@@ -91,16 +85,8 @@ Foam::cyclicACMIPointPatchField<Type>::cyclicACMIPointPatchField
 {
     if (!isType<cyclicACMIPointPatch>(this->patch()))
     {
-        FatalErrorIn
-        (
-            "cyclicACMIPointPatchField<Type>::cyclicACMIPointPatchField\n"
-            "(\n"
-            "    const cyclicACMIPointPatchField<Type>&,\n"
-            "    const pointPatch&,\n"
-            "    const DimensionedField<Type, pointMesh>&,\n"
-            "    const pointPatchFieldMapper&\n"
-            ")\n"
-        )   << "Field type does not correspond to patch type for patch "
+        FatalErrorInFunction
+            << "Field type does not correspond to patch type for patch "
             << this->patch().index() << "." << endl
             << "Field type: " << typeName << endl
             << "Patch type: " << this->patch().type()
diff --git a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatch.C b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatch.C
index 6a033c394da..1da23843a4f 100644
--- a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatch.C
+++ b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatch.C
@@ -135,7 +135,7 @@ void Foam::cyclicACMIPolyPatch::setNeighbourFaceAreas() const
     }
     else
     {
-        WarningIn("cyclicACMIPolyPatch::setNeighbourFaceAreas() const")
+        WarningInFunction
             << "Target mask size differs to that of the neighbour patch\n"
             << "    May occur when decomposing." << endl;
     }
@@ -259,16 +259,8 @@ Foam::cyclicACMIPolyPatch::cyclicACMIPolyPatch
 
     if (nonOverlapPatchName_ == name)
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "cyclicACMIPolyPatch::cyclicACMIPolyPatch"
-            "("
-                "const word&, "
-                "const dictionary&, "
-                "const label, "
-                "const polyBoundaryMesh&, "
-                "const word&"
-            ")",
             dict
         )   << "Non-overlapping patch name " << nonOverlapPatchName_
             << " cannot be the same as this patch " << name
@@ -324,16 +316,8 @@ Foam::cyclicACMIPolyPatch::cyclicACMIPolyPatch
 
     if (nonOverlapPatchName_ == name())
     {
-        FatalErrorIn
-        (
-            "const cyclicACMIPolyPatch& "
-            "const polyBoundaryMesh&, "
-            "const label, "
-            "const label, "
-            "const label, "
-            "const word&, "
-            "const word&"
-        )   << "Non-overlapping patch name " << nonOverlapPatchName_
+        FatalErrorInFunction
+            << "Non-overlapping patch name " << nonOverlapPatchName_
             << " cannot be the same as this patch " << name()
             << exit(FatalError);
     }
@@ -388,7 +372,7 @@ Foam::label Foam::cyclicACMIPolyPatch::nonOverlapPatchID() const
 
         if (nonOverlapPatchID_ == -1)
         {
-            FatalErrorIn("cyclicPolyAMIPatch::neighbPatchID() const")
+            FatalErrorInFunction
                 << "Illegal non-overlapping patch name " << nonOverlapPatchName_
                 << nl << "Valid patch names are "
                 << this->boundaryMesh().names()
@@ -397,7 +381,7 @@ Foam::label Foam::cyclicACMIPolyPatch::nonOverlapPatchID() const
 
         if (nonOverlapPatchID_ < index())
         {
-            FatalErrorIn("cyclicPolyAMIPatch::neighbPatchID() const")
+            FatalErrorInFunction
                 << "Boundary ordering error: " << type()
                 << " patch must be defined prior to its non-overlapping patch"
                 << nl
@@ -434,11 +418,8 @@ Foam::label Foam::cyclicACMIPolyPatch::nonOverlapPatchID() const
 
         if (!ok)
         {
-            FatalErrorIn
-            (
-                "Foam::label "
-                "Foam::cyclicACMIPolyPatch::nonOverlapPatchID() const"
-            )   << "Inconsistent ACMI patches " << name() << " and "
+            FatalErrorInFunction
+                << "Inconsistent ACMI patches " << name() << " and "
                 << noPp.name() << ".  Patches should have identical topology"
                 << exit(FatalError);
         }
diff --git a/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPointPatchField/cyclicAMIPointPatchField.C b/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPointPatchField/cyclicAMIPointPatchField.C
index a959b9b3afb..7bfdf7de807 100644
--- a/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPointPatchField/cyclicAMIPointPatchField.C
+++ b/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPointPatchField/cyclicAMIPointPatchField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -59,14 +59,8 @@ Foam::cyclicAMIPointPatchField<Type>::cyclicAMIPointPatchField
 {
     if (!isType<cyclicAMIPointPatch>(p))
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "cyclicAMIPointPatchField<Type>::cyclicAMIPointPatchField\n"
-            "(\n"
-            "    const pointPatch&,\n"
-            "    const DimensionedField<Type, pointMesh>&,\n"
-            "    const dictionary&\n"
-            ")\n",
             dict
         )   << "patch " << this->patch().index() << " not cyclicAMI type. "
             << "Patch type = " << p.type()
@@ -91,16 +85,8 @@ Foam::cyclicAMIPointPatchField<Type>::cyclicAMIPointPatchField
 {
     if (!isType<cyclicAMIPointPatch>(this->patch()))
     {
-        FatalErrorIn
-        (
-            "cyclicAMIPointPatchField<Type>::cyclicAMIPointPatchField\n"
-            "(\n"
-            "    const cyclicAMIPointPatchField<Type>&,\n"
-            "    const pointPatch&,\n"
-            "    const DimensionedField<Type, pointMesh>&,\n"
-            "    const pointPatchFieldMapper&\n"
-            ")\n"
-        )   << "Field type does not correspond to patch type for patch "
+        FatalErrorInFunction
+            << "Field type does not correspond to patch type for patch "
             << this->patch().index() << "." << endl
             << "Field type: " << typeName << endl
             << "Patch type: " << this->patch().type()
diff --git a/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C b/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C
index 7dfa8977f8b..a14224a42b4 100644
--- a/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C
+++ b/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C
@@ -116,7 +116,7 @@ void Foam::cyclicAMIPolyPatch::calcTransforms
 {
     if (transform() != neighbPatch().transform())
     {
-        FatalErrorIn("cyclicAMIPolyPatch::calcTransforms()")
+        FatalErrorInFunction
             << "Patch " << name()
             << " has transform type " << transformTypeNames[transform()]
             << ", neighbour patch " << neighbPatchName()
@@ -188,17 +188,8 @@ void Foam::cyclicAMIPolyPatch::calcTransforms
 
                 if (areaError > matchTolerance())
                 {
-                    WarningIn
-                    (
-                        "void Foam::cyclicAMIPolyPatch::calcTransforms"
-                        "("
-                            "const primitivePatch&, "
-                            "const pointField&, "
-                            "const vectorField&, "
-                            "const pointField&, "
-                            "const vectorField&"
-                        ")"
-                    )   << "Patch areas are not consistent within "
+                    WarningInFunction
+                        << "Patch areas are not consistent within "
                         << 100*matchTolerance()
                         << " % indicating a possible error in the specified "
                         << "angle of rotation" << nl
@@ -538,15 +529,8 @@ Foam::cyclicAMIPolyPatch::cyclicAMIPolyPatch
 {
     if (nbrPatchName_ == word::null && !coupleGroup_.valid())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "cyclicAMIPolyPatch::cyclicAMIPolyPatch"
-            "("
-                "const word&, "
-                "const dictionary&, "
-                "const label, "
-                "const polyBoundaryMesh&"
-            ")",
             dict
         )   << "No \"neighbourPatch\" or \"coupleGroup\" provided."
             << exit(FatalIOError);
@@ -554,15 +538,8 @@ Foam::cyclicAMIPolyPatch::cyclicAMIPolyPatch
 
     if (nbrPatchName_ == name)
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "cyclicAMIPolyPatch::cyclicAMIPolyPatch"
-            "("
-                "const word&, "
-                "const dictionary&, "
-                "const label, "
-                "const polyBoundaryMesh&"
-            ")",
             dict
         )   << "Neighbour patch name " << nbrPatchName_
             << " cannot be the same as this patch " << name
@@ -590,15 +567,8 @@ Foam::cyclicAMIPolyPatch::cyclicAMIPolyPatch
             scalar magRot = mag(rotationAxis_);
             if (magRot < SMALL)
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "cyclicAMIPolyPatch::cyclicAMIPolyPatch"
-                    "("
-                        "const word&, "
-                        "const dictionary&, "
-                        "const label, "
-                        "const polyBoundaryMesh&"
-                    ")",
                     dict
                 )   << "Illegal rotationAxis " << rotationAxis_ << endl
                     << "Please supply a non-zero vector."
@@ -679,15 +649,8 @@ Foam::cyclicAMIPolyPatch::cyclicAMIPolyPatch
 {
     if (nbrPatchName_ == name())
     {
-        FatalErrorIn
-        (
-            "const cyclicAMIPolyPatch& "
-            "const polyBoundaryMesh&, "
-            "const label, "
-            "const label, "
-            "const label, "
-            "const word&"
-        )   << "Neighbour patch name " << nbrPatchName_
+        FatalErrorInFunction
+            << "Neighbour patch name " << nbrPatchName_
             << " cannot be the same as this patch " << name()
             << exit(FatalError);
     }
@@ -740,7 +703,7 @@ Foam::label Foam::cyclicAMIPolyPatch::neighbPatchID() const
 
         if (nbrPatchID_ == -1)
         {
-            FatalErrorIn("cyclicPolyAMIPatch::neighbPatchID() const")
+            FatalErrorInFunction
                 << "Illegal neighbourPatch name " << neighbPatchName()
                 << nl << "Valid patch names are "
                 << this->boundaryMesh().names()
@@ -756,7 +719,7 @@ Foam::label Foam::cyclicAMIPolyPatch::neighbPatchID() const
 
         if (nbrPatch.neighbPatchName() != name())
         {
-            WarningIn("cyclicAMIPolyPatch::neighbPatchID() const")
+            WarningInFunction
                 << "Patch " << name()
                 << " specifies neighbour patch " << neighbPatchName()
                 << nl << " but that in return specifies "
@@ -817,10 +780,7 @@ const Foam::AMIPatchToPatchInterpolation& Foam::cyclicAMIPolyPatch::AMI() const
 {
     if (!owner())
     {
-        FatalErrorIn
-        (
-            "const AMIPatchToPatchInterpolation& cyclicAMIPolyPatch::AMI()"
-        )
+        FatalErrorInFunction
             << "AMI interpolator only available to owner patch"
             << abort(FatalError);
     }
diff --git a/src/meshTools/algorithms/MeshWave/FaceCellWave.C b/src/meshTools/algorithms/MeshWave/FaceCellWave.C
index f254302a7f4..4988fcfb175 100644
--- a/src/meshTools/algorithms/MeshWave/FaceCellWave.C
+++ b/src/meshTools/algorithms/MeshWave/FaceCellWave.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -274,11 +274,7 @@ void Foam::FaceCellWave<Type, TrackingData>::checkCyclic
             )
         )
         {
-            FatalErrorIn
-            (
-                "FaceCellWave<Type, TrackingData>"
-                "::checkCyclic(const polyPatch&)"
-            )   << "problem: i:" << i1 << "  otheri:" << i2
+            FatalErrorInFunction
                 << "   faceInfo:" << allFaceInfo_[i1]
                 << "   otherfaceInfo:" << allFaceInfo_[i2]
                 << abort(FatalError);
@@ -286,11 +282,7 @@ void Foam::FaceCellWave<Type, TrackingData>::checkCyclic
 
         if (changedFace_[i1] != changedFace_[i2])
         {
-            FatalErrorIn
-            (
-                "FaceCellWave<Type, TrackingData>"
-                "::checkCyclic(const polyPatch&)"
-            )   << " problem: i:" << i1 << "  otheri:" << i2
+            FatalErrorInFunction
                 << "   faceInfo:" << allFaceInfo_[i1]
                 << "   otherfaceInfo:" << allFaceInfo_[i2]
                 << "   changedFace:" << changedFace_[i1]
@@ -847,12 +839,8 @@ Foam::FaceCellWave<Type, TrackingData>::FaceCellWave
      || allCellInfo.size() != mesh_.nCells()
     )
     {
-        FatalErrorIn
-        (
-            "FaceCellWave<Type, TrackingData>::FaceCellWave"
-            "(const polyMesh&, const labelList&, const List<Type>,"
-            " UList<Type>&, UList<Type>&, const label maxIter)"
-        )   << "face and cell storage not the size of mesh faces, cells:"
+        FatalErrorInFunction
+            << "face and cell storage not the size of mesh faces, cells:"
             << endl
             << "    allFaceInfo   :" << allFaceInfo.size() << endl
             << "    mesh_.nFaces():" << mesh_.nFaces() << endl
@@ -902,12 +890,8 @@ Foam::FaceCellWave<Type, TrackingData>::FaceCellWave
      || allCellInfo.size() != mesh_.nCells()
     )
     {
-        FatalErrorIn
-        (
-            "FaceCellWave<Type, TrackingData>::FaceCellWave"
-            "(const polyMesh&, const labelList&, const List<Type>,"
-            " UList<Type>&, UList<Type>&, const label maxIter)"
-        )   << "face and cell storage not the size of mesh faces, cells:"
+        FatalErrorInFunction
+            << "face and cell storage not the size of mesh faces, cells:"
             << endl
             << "    allFaceInfo   :" << allFaceInfo.size() << endl
             << "    mesh_.nFaces():" << mesh_.nFaces() << endl
@@ -924,12 +908,7 @@ Foam::FaceCellWave<Type, TrackingData>::FaceCellWave
 
     if ((maxIter > 0) && (iter >= maxIter))
     {
-        FatalErrorIn
-        (
-            "FaceCellWave<Type, TrackingData>::FaceCellWave"
-            "(const polyMesh&, const labelList&, const List<Type>,"
-            " UList<Type>&, UList<Type>&, const label maxIter)"
-        )
+        FatalErrorInFunction
             << "Maximum number of iterations reached. Increase maxIter." << endl
             << "    maxIter:" << maxIter << endl
             << "    nChangedCells:" << nChangedCells_ << endl
@@ -975,7 +954,7 @@ Foam::label Foam::FaceCellWave<Type, TrackingData>::faceToCell()
         label faceI = changedFaces_[changedFaceI];
         if (!changedFace_[faceI])
         {
-            FatalErrorIn("FaceCellWave<Type, TrackingData>::faceToCell()")
+            FatalErrorInFunction
                 << "Face " << faceI
                 << " not marked as having been changed"
                 << abort(FatalError);
@@ -1058,7 +1037,7 @@ Foam::label Foam::FaceCellWave<Type, TrackingData>::cellToFace()
         label cellI = changedCells_[changedCellI];
         if (!changedCell_[cellI])
         {
-            FatalErrorIn("FaceCellWave<Type, TrackingData>::cellToFace()")
+            FatalErrorInFunction
                 << "Cell " << cellI << " not marked as having been changed"
                 << abort(FatalError);
         }
diff --git a/src/meshTools/algorithms/PatchEdgeFaceWave/PatchEdgeFaceWave.C b/src/meshTools/algorithms/PatchEdgeFaceWave/PatchEdgeFaceWave.C
index 0ac91b03c83..4435571b91e 100644
--- a/src/meshTools/algorithms/PatchEdgeFaceWave/PatchEdgeFaceWave.C
+++ b/src/meshTools/algorithms/PatchEdgeFaceWave/PatchEdgeFaceWave.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -328,12 +328,8 @@ PatchEdgeFaceWave
 
     if (allEdgeInfo_.size() != patch_.nEdges())
     {
-        FatalErrorIn
-        (
-            "PatchEdgeFaceWave<Type, TrackingData>::PatchEdgeFaceWave"
-            "(const polyMesh&, const labelList&, const List<Type>,"
-            " List<Type>&, List<Type>&, const label maxIter)"
-        )   << "size of edgeInfo work array is not equal to the number"
+        FatalErrorInFunction
+            << "size of edgeInfo work array is not equal to the number"
             << " of edges in the patch" << endl
             << "    edgeInfo   :" << allEdgeInfo_.size() << endl
             << "    patch.nEdges:" << patch_.nEdges()
@@ -341,12 +337,8 @@ PatchEdgeFaceWave
     }
     if (allFaceInfo_.size() != patch_.size())
     {
-        FatalErrorIn
-        (
-            "PatchEdgeFaceWave<Type, TrackingData>::PatchEdgeFaceWave"
-            "(const polyMesh&, const labelList&, const List<Type>,"
-            " List<Type>&, List<Type>&, const label maxIter)"
-        )   << "size of edgeInfo work array is not equal to the number"
+        FatalErrorInFunction
+            << "size of edgeInfo work array is not equal to the number"
             << " of faces in the patch" << endl
             << "    faceInfo   :" << allFaceInfo_.size() << endl
             << "    patch.size:" << patch_.size()
@@ -367,12 +359,8 @@ PatchEdgeFaceWave
 
     if ((maxIter > 0) && (iter >= maxIter))
     {
-        FatalErrorIn
-        (
-            "PatchEdgeFaceWave<Type, TrackingData>::PatchEdgeFaceWave"
-            "(const polyMesh&, const labelList&, const List<Type>,"
-            " List<Type>&, List<Type>&, const label maxIter)"
-        )   << "Maximum number of iterations reached. Increase maxIter." << endl
+        FatalErrorInFunction
+            << "Maximum number of iterations reached. Increase maxIter." << endl
             << "    maxIter:" << maxIter << endl
             << "    changedEdges:" << changedEdges_.size() << endl
             << "    changedFaces:" << changedFaces_.size() << endl
@@ -511,7 +499,7 @@ faceToEdge()
 
         if (!changedFace_[faceI])
         {
-            FatalErrorIn("PatchEdgeFaceWave<Type, TrackingData>::faceToEdge()")
+            FatalErrorInFunction
                 << "face " << faceI
                 << " not marked as having been changed" << nl
                 << "This might be caused by multiple occurences of the same"
@@ -576,7 +564,7 @@ edgeToFace()
 
         if (!changedEdge_[edgeI])
         {
-            FatalErrorIn("PatchEdgeFaceWave<Type, TrackingData>::edgeToFace()")
+            FatalErrorInFunction
                 << "edge " << edgeI
                 << " not marked as having been changed" << nl
                 << "This might be caused by multiple occurences of the same"
diff --git a/src/meshTools/algorithms/PatchEdgeFaceWave/patchEdgeFaceRegionI.H b/src/meshTools/algorithms/PatchEdgeFaceWave/patchEdgeFaceRegionI.H
index 07e6935b257..e66ed648132 100644
--- a/src/meshTools/algorithms/PatchEdgeFaceWave/patchEdgeFaceRegionI.H
+++ b/src/meshTools/algorithms/PatchEdgeFaceWave/patchEdgeFaceRegionI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -39,7 +39,7 @@ inline bool Foam::patchEdgeFaceRegion::update
 {
     if (!w2.valid(td))
     {
-        FatalErrorIn("patchEdgeFaceRegion::update(..)")
+        FatalErrorInFunction
             << "problem." << abort(FatalError);
     }
 
diff --git a/src/meshTools/algorithms/PatchEdgeFaceWave/patchEdgeFaceRegionsI.H b/src/meshTools/algorithms/PatchEdgeFaceWave/patchEdgeFaceRegionsI.H
index f39488a018f..a3c373bbb9f 100644
--- a/src/meshTools/algorithms/PatchEdgeFaceWave/patchEdgeFaceRegionsI.H
+++ b/src/meshTools/algorithms/PatchEdgeFaceWave/patchEdgeFaceRegionsI.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -110,7 +110,7 @@ inline bool Foam::patchEdgeFaceRegions::updateEdge
 
     if (!faceInfo.valid(td))
     {
-        FatalErrorIn("patchEdgeFaceRegions::updateEdge(..)")
+        FatalErrorInFunction
             << "problem." << abort(FatalError);
     }
 
@@ -157,7 +157,7 @@ inline bool Foam::patchEdgeFaceRegions::updateEdge
 
     if (!edgeInfo.valid(td))
     {
-        FatalErrorIn("patchEdgeFaceRegions::updateEdge(..)")
+        FatalErrorInFunction
             << "problem." << abort(FatalError);
     }
 
@@ -217,7 +217,7 @@ inline bool Foam::patchEdgeFaceRegions::updateFace
 
     if (!edgeInfo.valid(td))
     {
-        FatalErrorIn("patchEdgeFaceRegions::updateFace(..)")
+        FatalErrorInFunction
             << "problem." << abort(FatalError);
     }
 
diff --git a/src/meshTools/algorithms/PointEdgeWave/PointEdgeWave.C b/src/meshTools/algorithms/PointEdgeWave/PointEdgeWave.C
index a4535d15534..3bd86cdfe32 100644
--- a/src/meshTools/algorithms/PointEdgeWave/PointEdgeWave.C
+++ b/src/meshTools/algorithms/PointEdgeWave/PointEdgeWave.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -134,11 +134,8 @@ void Foam::PointEdgeWave<Type, TrackingData>::transform
     }
     else
     {
-        FatalErrorIn
-        (
-            "PointEdgeWave<Type, TrackingData>::transform"
-            "(const tensorField&, List<Type>&)"
-        )   << "Non-uniform transformation on patch " << patch.name()
+        FatalErrorInFunction
+            << "Non-uniform transformation on patch " << patch.name()
             << " of type " << patch.type()
             << " not supported for point fields"
             << abort(FatalError);
@@ -638,12 +635,8 @@ Foam::PointEdgeWave<Type, TrackingData>::PointEdgeWave
 {
     if (allPointInfo_.size() != mesh_.nPoints())
     {
-        FatalErrorIn
-        (
-            "PointEdgeWave<Type, TrackingData>::PointEdgeWave"
-            "(const polyMesh&, const labelList&, const List<Type>,"
-            " List<Type>&, List<Type>&, const label maxIter)"
-        )   << "size of pointInfo work array is not equal to the number"
+        FatalErrorInFunction
+            << "size of pointInfo work array is not equal to the number"
             << " of points in the mesh" << endl
             << "    pointInfo   :" << allPointInfo_.size() << endl
             << "    mesh.nPoints:" << mesh_.nPoints()
@@ -651,12 +644,8 @@ Foam::PointEdgeWave<Type, TrackingData>::PointEdgeWave
     }
     if (allEdgeInfo_.size() != mesh_.nEdges())
     {
-        FatalErrorIn
-        (
-            "PointEdgeWave<Type, TrackingData>::PointEdgeWave"
-            "(const polyMesh&, const labelList&, const List<Type>,"
-            " List<Type>&, List<Type>&, const label maxIter)"
-        )   << "size of edgeInfo work array is not equal to the number"
+        FatalErrorInFunction
+            << "size of edgeInfo work array is not equal to the number"
             << " of edges in the mesh" << endl
             << "    edgeInfo   :" << allEdgeInfo_.size() << endl
             << "    mesh.nEdges:" << mesh_.nEdges()
@@ -678,12 +667,8 @@ Foam::PointEdgeWave<Type, TrackingData>::PointEdgeWave
 
     if ((maxIter > 0) && (iter >= maxIter))
     {
-        FatalErrorIn
-        (
-            "PointEdgeWave<Type, TrackingData>::PointEdgeWave"
-            "(const polyMesh&, const labelList&, const List<Type>,"
-            " List<Type>&, List<Type>&, const label maxIter)"
-        )   << "Maximum number of iterations reached. Increase maxIter." << endl
+        FatalErrorInFunction
+            << "Maximum number of iterations reached. Increase maxIter." << endl
             << "    maxIter:" << maxIter << endl
             << "    nChangedPoints:" << nChangedPoints_ << endl
             << "    nChangedEdges:" << nChangedEdges_ << endl
@@ -794,7 +779,7 @@ Foam::label Foam::PointEdgeWave<Type, TrackingData>::edgeToPoint()
 
         if (!changedEdge_[edgeI])
         {
-            FatalErrorIn("PointEdgeWave<Type, TrackingData>::edgeToPoint()")
+            FatalErrorInFunction
                 << "edge " << edgeI
                 << " not marked as having been changed" << nl
                 << "This might be caused by multiple occurences of the same"
@@ -872,7 +857,7 @@ Foam::label Foam::PointEdgeWave<Type, TrackingData>::pointToEdge()
 
         if (!changedPoint_[pointI])
         {
-            FatalErrorIn("PointEdgeWave<Type, TrackingData>::pointToEdge()")
+            FatalErrorInFunction
                 << "Point " << pointI
                 << " not marked as having been changed" << nl
                 << "This might be caused by multiple occurences of the same"
diff --git a/src/meshTools/cellClassification/cellClassification.C b/src/meshTools/cellClassification/cellClassification.C
index 800d007f6fb..066062c24fd 100644
--- a/src/meshTools/cellClassification/cellClassification.C
+++ b/src/meshTools/cellClassification/cellClassification.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -287,11 +287,8 @@ void Foam::cellClassification::markCells
 
         if (returnReduce(cellI, maxOp<label>()) == -1)
         {
-            FatalErrorIn
-            (
-                "List<cellClassification::cType> markCells"
-                "(const meshSearch&, const boolList&, const pointField&)"
-            )   << "outsidePoint " << outsidePts[outsidePtI]
+            FatalErrorInFunction
+                << "outsidePoint " << outsidePts[outsidePtI]
                 << " is not inside any cell"
                 << nl << "It might be on a face or outside the geometry"
                 << exit(FatalError);
@@ -513,11 +510,8 @@ Foam::cellClassification::cellClassification
 {
     if (mesh_.nCells() != size())
     {
-        FatalErrorIn
-        (
-            "cellClassification::cellClassification"
-            "(const polyMesh&, const labelList&)"
-        )   << "Number of elements of cellType argument is not equal to the"
+        FatalErrorInFunction
+            << "Number of elements of cellType argument is not equal to the"
             << " number of cells" << abort(FatalError);
     }
 }
diff --git a/src/meshTools/cellClassification/cellInfoI.H b/src/meshTools/cellClassification/cellInfoI.H
index 300f9200367..11902e02b13 100644
--- a/src/meshTools/cellClassification/cellInfoI.H
+++ b/src/meshTools/cellClassification/cellInfoI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -46,7 +46,7 @@ inline bool Foam::cellInfo::update
      || (w2.type() == cellClassification::CUT)
     )
     {
-        FatalErrorIn("cellInfo::update(const cellInfo&)")
+        FatalErrorInFunction
             << "Problem: trying to propagate NOTSET or CUT type:" << w2.type()
             << " into cell/face with type:" << type() << endl
             << "thisFaceI:" << thisFaceI
@@ -77,7 +77,7 @@ inline bool Foam::cellInfo::update
     }
 
     // Two conflicting types
-    FatalErrorIn("cellInfo::update(const cellInfo&)")
+    FatalErrorInFunction
         << "Problem: trying to propagate conflicting types:" << w2.type()
         << " into cell/face with type:" << type() << endl
         << "thisFaceI:" << thisFaceI
diff --git a/src/meshTools/cellDist/cellDistFuncs.C b/src/meshTools/cellDist/cellDistFuncs.C
index 103f4ef992a..fb8300842ad 100644
--- a/src/meshTools/cellDist/cellDistFuncs.C
+++ b/src/meshTools/cellDist/cellDistFuncs.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -186,25 +186,25 @@ Foam::label Foam::cellDistFuncs::getPointNeighbours
 
             if (!nbs.found(nb))
             {
-                SeriousErrorIn("Foam::cellDistFuncs::getPointNeighbours")
+                SeriousErrorInFunction
                     << "getPointNeighbours : patchFaceI:" << patchFaceI
                     << " verts:" << f << endl;
 
                 forAll(f, fp)
                 {
-                    SeriousErrorIn("Foam::cellDistFuncs::getPointNeighbours")
+                    SeriousErrorInFunction
                         << "point:" << f[fp] << " pointFaces:"
                         << patch.pointFaces()[f[fp]] << endl;
                 }
 
                 for (label i = 0; i < nNeighbours; i++)
                 {
-                    SeriousErrorIn("Foam::cellDistFuncs::getPointNeighbours")
+                    SeriousErrorInFunction
                         << "fast nbr:" << neighbours[i]
                         << endl;
                 }
 
-                FatalErrorIn("getPointNeighbours")
+                FatalErrorInFunction
                     << "Problem: fast pointNeighbours routine included " << nb
                     << " which is not in proper neigbour list " << nbs.toc()
                     << abort(FatalError);
@@ -214,7 +214,7 @@ Foam::label Foam::cellDistFuncs::getPointNeighbours
 
         if (nbs.size())
         {
-            FatalErrorIn("getPointNeighbours")
+            FatalErrorInFunction
                 << "Problem: fast pointNeighbours routine did not find "
                 << nbs.toc() << abort(FatalError);
         }
diff --git a/src/meshTools/cellFeatures/cellFeatures.C b/src/meshTools/cellFeatures/cellFeatures.C
index 1282b16aaf5..660ba7d3fb1 100644
--- a/src/meshTools/cellFeatures/cellFeatures.C
+++ b/src/meshTools/cellFeatures/cellFeatures.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -53,10 +53,8 @@ bool Foam::cellFeatures::faceAlignedEdge(const label faceI, const label edgeI)
         }
     }
 
-    FatalErrorIn
-    (
-        "cellFeatures::faceAlignedEdge(const label, const label)"
-    )   << "Can not find edge " << mesh_.edges()[edgeI]
+    FatalErrorInFunction
+        << "Can not find edge " << mesh_.edges()[edgeI]
         << " on face " << faceI << abort(FatalError);
 
     return false;
@@ -101,11 +99,8 @@ Foam::label Foam::cellFeatures::nextEdge
         }
     }
 
-    FatalErrorIn
-    (
-        "cellFeatures::nextEdge(const label, const Map<label>"
-        ", const labelHashSet&, const label, const label, const label)"
-    )   << "Can not find edge in " << featureEdge_ << " connected to edge "
+    FatalErrorInFunction
+        << "Can not find edge in " << featureEdge_ << " connected to edge "
         << thisEdgeI << " at vertex " << thisVertI << endl
         << "This might mean that the externalEdges do not form a closed loop"
         << abort(FatalError);
@@ -359,7 +354,7 @@ void Foam::cellFeatures::calcSuperFaces() const
 
                 if (superFace.size() <= 2)
                 {
-                    WarningIn("cellFeatures::calcSuperFaces")
+                    WarningInFunction
                         << " Can not collapse faces " << faceMap_[superFaceI]
                         << " into one big face on cell " << cellI_ << endl
                         << "Try decreasing minCos:" << minCos_ << endl;
@@ -427,10 +422,8 @@ bool Foam::cellFeatures::isFeaturePoint(const label edge0, const label edge1)
      || (edge1 >= mesh_.nEdges())
     )
     {
-        FatalErrorIn
-        (
-            "cellFeatures::isFeatureVertex(const label, const label)"
-        )   << "Illegal edge labels : edge0:" << edge0 << " edge1:" << edge1
+        FatalErrorInFunction
+            << "Illegal edge labels : edge0:" << edge0 << " edge1:" << edge1
             << abort(FatalError);
     }
 
@@ -468,11 +461,8 @@ bool Foam::cellFeatures::isFeaturePoint(const label edge0, const label edge1)
     {
         cosAngle = GREAT;   // satisfy compiler
 
-        FatalErrorIn
-        (
-            "cellFeatures::isFeaturePoint(const label, const label"
-            ", const label)"
-        )   << "Edges do not share common vertex. e0:" << e0
+        FatalErrorInFunction
+            << "Edges do not share common vertex. e0:" << e0
             << " e1:" << e1 << abort(FatalError);
     }
 
@@ -499,10 +489,8 @@ bool Foam::cellFeatures::isFeatureVertex(const label faceI, const label vertI)
      || (vertI >= mesh_.nPoints())
     )
     {
-        FatalErrorIn
-        (
-            "cellFeatures::isFeatureVertex(const label, const label)"
-        )   << "Illegal face " << faceI << " or vertex " << vertI
+        FatalErrorInFunction
+            << "Illegal face " << faceI << " or vertex " << vertI
             << abort(FatalError);
     }
 
@@ -533,10 +521,8 @@ bool Foam::cellFeatures::isFeatureVertex(const label faceI, const label vertI)
 
     if (edge1 == -1)
     {
-        FatalErrorIn
-        (
-            "cellFeatures::isFeatureVertex(const label, const label)"
-        )   << "Did not find two edges sharing vertex " << vertI
+        FatalErrorInFunction
+            << "Did not find two edges sharing vertex " << vertI
             << " on face " << faceI << " vertices:" << mesh_.faces()[faceI]
             << abort(FatalError);
     }
diff --git a/src/meshTools/coordinateSystems/coordinateRotation/axesRotation.C b/src/meshTools/coordinateSystems/coordinateRotation/axesRotation.C
index 33ebf9c1617..c28a6fd3b48 100644
--- a/src/meshTools/coordinateSystems/coordinateRotation/axesRotation.C
+++ b/src/meshTools/coordinateSystems/coordinateRotation/axesRotation.C
@@ -57,7 +57,7 @@ void Foam::axesRotation::calcTransform
 
     if (mag(b) < SMALL)
     {
-        FatalErrorIn("axesRotation::calcTransform()")
+        FatalErrorInFunction
             << "axis1, axis2 appear co-linear: "
             << axis1 << ", " << axis2 << endl
             << abort(FatalError);
@@ -86,15 +86,7 @@ void Foam::axesRotation::calcTransform
         }
         default:
         {
-            FatalErrorIn
-            (
-                "axesRotation::calcTransform"
-                "("
-                    "const vector&,"
-                    "const vector&,"
-                    "const axisOrder&"
-                ")"
-            )
+            FatalErrorInFunction
                 << "Unhandled axes specifictation" << endl
                 << abort(FatalError);
 
@@ -294,10 +286,8 @@ void Foam::axesRotation::operator=(const dictionary& dict)
     }
     else
     {
-        FatalErrorIn
-        (
-            "axesRotation::operator=(const dictionary&) "
-        )   << "not entry of the type (e1, e2) or (e2, e3) or (e3, e1) "
+        FatalErrorInFunction
+            << "not entry of the type (e1, e2) or (e2, e3) or (e3, e1) "
             << "found "
             << exit(FatalError);
     }
diff --git a/src/meshTools/coordinateSystems/coordinateRotation/coordinateRotationNew.C b/src/meshTools/coordinateSystems/coordinateRotation/coordinateRotationNew.C
index fe1a0ba00bd..02b111038be 100644
--- a/src/meshTools/coordinateSystems/coordinateRotation/coordinateRotationNew.C
+++ b/src/meshTools/coordinateSystems/coordinateRotation/coordinateRotationNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -47,13 +47,8 @@ Foam::autoPtr<Foam::coordinateRotation> Foam::coordinateRotation::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "coordinateRotation::New"
-            "("
-            "   const dictionary&, "
-            "   const objectRegistry& "
-            ")",
             dict
         )   << "Unknown coordinateRotation type "
             << rotType << nl << nl
@@ -86,12 +81,8 @@ Foam::autoPtr<Foam::coordinateRotation> Foam::coordinateRotation::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "coordinateRotation::New"
-            "("
-            "   const dictionary&, "
-            ")",
             dict
         )   << "Unknown coordinateRotation type "
             << rotType << nl << nl
diff --git a/src/meshTools/coordinateSystems/coordinateRotation/cylindrical.C b/src/meshTools/coordinateSystems/coordinateRotation/cylindrical.C
index 832c6dec2e2..a5427b5fa1e 100644
--- a/src/meshTools/coordinateSystems/coordinateRotation/cylindrical.C
+++ b/src/meshTools/coordinateSystems/coordinateRotation/cylindrical.C
@@ -152,7 +152,7 @@ Foam::cylindrical::cylindrical(const dictionary& dict)
     origin_(),
     e3_()
 {
-    FatalErrorIn("cylindrical(const dictionary&)")
+    FatalErrorInFunction
         << " cylindrical can not be constructed from dictionary "
         << " use the construtctor : "
            "("
@@ -210,10 +210,7 @@ Foam::tmp<Foam::vectorField> Foam::cylindrical::transform
 {
     if (Rptr_->size() != vf.size())
     {
-        FatalErrorIn
-        (
-            "tmp<vectorField> cylindrical::transform(const vectorField&)"
-        )
+        FatalErrorInFunction
             << "vectorField st has different size to tensorField "
             << abort(FatalError);
     }
@@ -272,13 +269,7 @@ Foam::tmp<Foam::tensorField> Foam::cylindrical::transformTensor
 {
     if (Rptr_->size() != tf.size())
     {
-        FatalErrorIn
-        (
-            "tmp<tensorField> cylindrical::transformTensor"
-            "("
-                "const tensorField&"
-            ")"
-        )
+        FatalErrorInFunction
             << "tensorField st has different size to tensorField Tr"
             << abort(FatalError);
     }
@@ -305,14 +296,7 @@ Foam::tmp<Foam::tensorField> Foam::cylindrical::transformTensor
 {
     if (cellMap.size() != tf.size())
     {
-        FatalErrorIn
-        (
-            "tmp<tensorField> cylindrical::transformTensor"
-            "("
-                "const tensorField&, "
-                "const labelList&"
-            ")"
-        )
+        FatalErrorInFunction
             << "tensorField tf has different size to tensorField Tr"
             << abort(FatalError);
     }
@@ -338,7 +322,7 @@ Foam::tmp<Foam::symmTensorField> Foam::cylindrical::transformVector
 {
     if (Rptr_->size() != vf.size())
     {
-        FatalErrorIn("cylindrical::transformVector(const vectorField&)")
+        FatalErrorInFunction
             << "tensorField vf has different size to tensorField Tr"
             << abort(FatalError);
     }
diff --git a/src/meshTools/coordinateSystems/coordinateSystem.C b/src/meshTools/coordinateSystems/coordinateSystem.C
index a63423aab29..68aa5e06f90 100644
--- a/src/meshTools/coordinateSystems/coordinateSystem.C
+++ b/src/meshTools/coordinateSystems/coordinateSystem.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -147,11 +147,8 @@ Foam::coordinateSystem::coordinateSystem
 
         if (index < 0)
         {
-            FatalErrorIn
-            (
-                "coordinateSystem::coordinateSystem"
-                "(const objectRegistry&, const dictionary&):"
-            )   << "could not find coordinate system: " << key << nl
+            FatalErrorInFunction
+                << "could not find coordinate system: " << key << nl
                 << "available coordinate systems: " << lst.toc() << nl << nl
                 << exit(FatalError);
         }
diff --git a/src/meshTools/coordinateSystems/coordinateSystemNew.C b/src/meshTools/coordinateSystems/coordinateSystemNew.C
index 98c7ebbc57a..59f3e520cbf 100644
--- a/src/meshTools/coordinateSystems/coordinateSystemNew.C
+++ b/src/meshTools/coordinateSystems/coordinateSystemNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -42,9 +42,8 @@ Foam::autoPtr<Foam::coordinateSystem> Foam::coordinateSystem::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "coordinateSystem::New(const objectRegistry&, const dictionary&)",
             dict
         )   << "Unknown coordinateSystem type "
             << coordType << nl << nl
diff --git a/src/meshTools/edgeFaceCirculator/edgeFaceCirculatorI.H b/src/meshTools/edgeFaceCirculator/edgeFaceCirculatorI.H
index 6eac8946f64..a5c8a99c7dd 100644
--- a/src/meshTools/edgeFaceCirculator/edgeFaceCirculatorI.H
+++ b/src/meshTools/edgeFaceCirculator/edgeFaceCirculatorI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,10 +44,8 @@ void Foam::edgeFaceCirculator::setFace
 
     if (!isBoundaryEdge_ && !mesh_.isInternalFace(faceI))
     {
-        FatalErrorIn
-        (
-            "edgeFaceCirculator::setFace(const label, const label)"
-        )   << "Edge is not defined as boundary edge but still walked to"
+        FatalErrorInFunction
+            << "Edge is not defined as boundary edge but still walked to"
             << " boundary face:" << faceI << " on cell:" << cellI
             << abort(FatalError);
     }
@@ -79,7 +77,7 @@ void Foam::edgeFaceCirculator::otherFace(const label cellI)
         }
     }
 
-    FatalErrorIn("edgeFaceCirculator::otherFace(const label)")
+    FatalErrorInFunction
         << "Could not find next face stepping"
         << " through cell along edge." << endl
         << "face:" << faceLabel_ << " index in face:" << index_
@@ -197,10 +195,8 @@ bool Foam::edgeFaceCirculator::sameOrder(const label v0, const label v1) const
 
     if (fp != index_)
     {
-        FatalErrorIn
-        (
-            "edgeFaceCirculator::sameOrder(const label, const label) const"
-        )   << "v0:" << v1 << " and v1:" << v1
+        FatalErrorInFunction
+            << "v0:" << v1 << " and v1:" << v1
             << " not on position:" << index_ << " on face:" << faceLabel_
             << " verts:" << f << " or not consecutive." << abort(FatalError);
     }
@@ -255,7 +251,7 @@ void Foam::edgeFaceCirculator::setCanonical()
             {
                 const face& f = mesh_.faces()[faceLabel_];
 
-                FatalErrorIn("Foam::edgeFaceCirculator::setCanonical()")
+                FatalErrorInFunction
                     << "Walked " << i << " cells around edge "
                     << mesh_.points()[f[index_]]
                     << mesh_.points()[f.nextLabel(index_)]
@@ -289,7 +285,7 @@ void Foam::edgeFaceCirculator::setCanonical()
             {
                 const face& f = mesh_.faces()[faceLabel_];
 
-                FatalErrorIn("Foam::edgeFaceCirculator::setCanonical()")
+                FatalErrorInFunction
                     << "Reached boundary face " << faceLabel_
                     << " when walking around internal edge "
                     << mesh_.points()[f[index_]]
@@ -357,7 +353,7 @@ Foam::edgeFaceCirculator::operator++()
 {
     if (faceLabel_ == -1)
     {
-        FatalErrorIn("edgeFaceCirculator::operator++()")
+        FatalErrorInFunction
             << "Already reached end(). Cannot walk any further."
             << abort(FatalError);
     }
diff --git a/src/meshTools/indexedOctree/treeDataFace.C b/src/meshTools/indexedOctree/treeDataFace.C
index b6af6e42dd8..e80b5635863 100644
--- a/src/meshTools/indexedOctree/treeDataFace.C
+++ b/src/meshTools/indexedOctree/treeDataFace.C
@@ -202,11 +202,8 @@ Foam::volumeType Foam::treeDataFace::getVolumeType
 
     if (info.index() == -1)
     {
-        FatalErrorIn
-        (
-            "treeDataFace::getSampleType"
-            "(indexedOctree<treeDataFace>&, const point&)"
-        )   << "Could not find " << sample << " in octree."
+        FatalErrorInFunction
+            << "Could not find " << sample << " in octree."
             << abort(FatalError);
     }
 
diff --git a/src/meshTools/indexedOctree/treeDataPrimitivePatch.C b/src/meshTools/indexedOctree/treeDataPrimitivePatch.C
index 4e920f6525c..67fd126264d 100644
--- a/src/meshTools/indexedOctree/treeDataPrimitivePatch.C
+++ b/src/meshTools/indexedOctree/treeDataPrimitivePatch.C
@@ -171,11 +171,8 @@ Foam::volumeType Foam::treeDataPrimitivePatch<PatchType>::getVolumeType
 
     if (info.index() == -1)
     {
-        FatalErrorIn
-        (
-            "treeDataPrimitivePatch::getSampleType"
-            "(indexedOctree<treeDataPrimitivePatch>&, const point&)"
-        )   << "Could not find " << sample << " in octree."
+        FatalErrorInFunction
+            << "Could not find " << sample << " in octree."
             << abort(FatalError);
     }
 
@@ -588,16 +585,8 @@ bool Foam::treeDataPrimitivePatch<PatchType>::findSelfIntersectOp::operator()
 {
     if (edgeID_ == -1)
     {
-        FatalErrorIn
-        (
-            "findSelfIntersectOp::operator()\n"
-            "(\n"
-            "    const label index,\n"
-            "    const point& start,\n"
-            "    const point& end,\n"
-            "    point& intersectionPoint\n"
-            ") const"
-        )   << "EdgeID not set. Please set edgeID to the index of"
+        FatalErrorInFunction
+            << "EdgeID not set. Please set edgeID to the index of"
             << " the edge you are testing"
             << exit(FatalError);
     }
diff --git a/src/meshTools/indexedOctree/treeDataTriSurface.C b/src/meshTools/indexedOctree/treeDataTriSurface.C
index ef00434eb28..c8c69d7f85d 100644
--- a/src/meshTools/indexedOctree/treeDataTriSurface.C
+++ b/src/meshTools/indexedOctree/treeDataTriSurface.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -40,11 +40,8 @@ Foam::volumeType Foam::treeDataPrimitivePatch<Foam::triSurface>::getVolumeType
 
     if (info.index() == -1)
     {
-        FatalErrorIn
-        (
-            "treeDataPrimitivePatch::getSampleType"
-            "(indexedOctree<treeDataPrimitivePatch>&, const point&)"
-        )   << "Could not find " << sample << " in octree."
+        FatalErrorInFunction
+            << "Could not find " << sample << " in octree."
             << abort(FatalError);
     }
 
@@ -72,7 +69,7 @@ Foam::volumeType Foam::treeDataPrimitivePatch<Foam::triSurface>::getVolumeType
     }
     else
     {
-        FatalErrorIn("treeDataPrimitivePatch<PatchType>::getVolumeType(..)")
+        FatalErrorInFunction
             << "problem" << abort(FatalError);
         return volumeType::UNKNOWN;
     }
diff --git a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.C b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.C
index aa8fda17bd1..7cbb79b7b17 100644
--- a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.C
+++ b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.C
@@ -208,11 +208,8 @@ void Foam::mappedPatchBase::findSamples
         {
             if (samplePatch_.size() && samplePatch_ != "none")
             {
-                FatalErrorIn
-                (
-                    "mappedPatchBase::findSamples(const pointField&,"
-                    " labelList&, labelList&, pointField&) const"
-                )   << "No need to supply a patch name when in "
+                FatalErrorInFunction
+                    << "No need to supply a patch name when in "
                     << sampleModeNames_[mode] << " mode." << exit(FatalError);
             }
 
@@ -251,11 +248,8 @@ void Foam::mappedPatchBase::findSamples
         {
             if (samplePatch_.size() && samplePatch_ != "none")
             {
-                FatalErrorIn
-                (
-                    "mappedPatchBase::findSamples(const pointField&,"
-                    " labelList&, labelList&, pointField&) const"
-                )   << "No need to supply a patch name when in "
+                FatalErrorInFunction
+                    << "No need to supply a patch name when in "
                     << sampleModeNames_[mode] << " mode." << exit(FatalError);
             }
 
@@ -426,11 +420,8 @@ void Foam::mappedPatchBase::findSamples
         {
             if (samplePatch().size() && samplePatch() != "none")
             {
-                FatalErrorIn
-                (
-                    "mappedPatchBase::findSamples(const pointField&,"
-                    " labelList&, labelList&, pointField&) const"
-                )   << "No need to supply a patch name when in "
+                FatalErrorInFunction
+                    << "No need to supply a patch name when in "
                     << sampleModeNames_[mode] << " mode." << exit(FatalError);
             }
 
@@ -474,7 +465,7 @@ void Foam::mappedPatchBase::findSamples
 
         default:
         {
-            FatalErrorIn("mappedPatchBase::findSamples(..)")
+            FatalErrorInFunction
                 << "problem." << abort(FatalError);
         }
     }
@@ -530,7 +521,7 @@ void Foam::mappedPatchBase::calcMapping() const
     static bool hasWarned = false;
     if (mapPtr_.valid())
     {
-        FatalErrorIn("mappedPatchBase::calcMapping() const")
+        FatalErrorInFunction
             << "Mapping already calculated" << exit(FatalError);
     }
 
@@ -556,17 +547,8 @@ void Foam::mappedPatchBase::calcMapping() const
 
     if (sampleMyself && coincident)
     {
-        WarningIn
-        (
-            "mappedPatchBase::mappedPatchBase\n"
-            "(\n"
-            "    const polyPatch& pp,\n"
-            "    const word& sampleRegion,\n"
-            "    const sampleMode mode,\n"
-            "    const word& samplePatch,\n"
-            "    const vector& offset\n"
-            ")\n"
-        )   << "Invalid offset " << d << endl
+        WarningInFunction
+            << "Invalid offset " << d << endl
             << "Offset is the vector added to the patch face centres to"
             << " find the patch face supplying the data." << endl
             << "Setting it to " << d
@@ -618,17 +600,8 @@ void Foam::mappedPatchBase::calcMapping() const
         {
             if (!hasWarned)
             {
-                WarningIn
-                (
-                    "mappedPatchBase::mappedPatchBase\n"
-                    "(\n"
-                    "    const polyPatch& pp,\n"
-                    "    const word& sampleRegion,\n"
-                    "    const sampleMode mode,\n"
-                    "    const word& samplePatch,\n"
-                    "    const vector& offset\n"
-                    ")\n"
-                )   << "Did not find " << nNotFound
+                WarningInFunction
+                    << "Did not find " << nNotFound
                     << " out of " << sampleProcs.size() << " total samples."
                     << " Sampling these on owner cell centre instead." << endl
                     << "On patch " << patch_.name()
@@ -772,7 +745,7 @@ void Foam::mappedPatchBase::calcMapping() const
                 }
                 else
                 {
-                    FatalErrorIn("mappedPatchBase::calcMapping() const")
+                    FatalErrorInFunction
                         << "On patch " << patch_.name()
                         << " patchface " << faceI
                         << " is assigned to more than once."
@@ -784,7 +757,7 @@ void Foam::mappedPatchBase::calcMapping() const
         {
             if (used[faceI] == 0)
             {
-                FatalErrorIn("mappedPatchBase::calcMapping() const")
+                FatalErrorInFunction
                     << "On patch " << patch_.name()
                     << " patchface " << faceI
                     << " is never assigned to."
@@ -831,7 +804,7 @@ void Foam::mappedPatchBase::calcAMI() const
 {
     if (AMIPtr_.valid())
     {
-        FatalErrorIn("mappedPatchBase::calcAMI() const")
+        FatalErrorInFunction
             << "AMI already calculated" << exit(FatalError);
     }
 
@@ -914,10 +887,8 @@ Foam::tmp<Foam::pointField> Foam::mappedPatchBase::readListOrField
                 is >> static_cast<List<vector>&>(fld);
                 if (fld.size() != size)
                 {
-                    FatalIOErrorIn
+                    FatalIOErrorInFunction
                     (
-                        "mappedPatchBase::readListOrField"
-                        "(const word& keyword, const dictionary&, const label)",
                         dict
                     )   << "size " << fld.size()
                         << " is not equal to the given value of " << size
@@ -926,10 +897,8 @@ Foam::tmp<Foam::pointField> Foam::mappedPatchBase::readListOrField
             }
             else
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "mappedPatchBase::readListOrField"
-                    "(const word& keyword, const dictionary&, const label)",
                     dict
                 )   << "expected keyword 'uniform' or 'nonuniform', found "
                     << firstToken.wordToken()
@@ -940,10 +909,8 @@ Foam::tmp<Foam::pointField> Foam::mappedPatchBase::readListOrField
         {
             if (is.version() == 2.0)
             {
-                IOWarningIn
+                IOWarningInFunction
                 (
-                    "mappedPatchBase::readListOrField"
-                    "(const word& keyword, const dictionary&, const label)",
                     dict
                 )   << "expected keyword 'uniform' or 'nonuniform', "
                        "assuming List format for backwards compatibility."
@@ -1135,13 +1102,8 @@ Foam::mappedPatchBase::mappedPatchBase
     }
     else if (mode_ != NEARESTPATCHFACE && mode_ != NEARESTPATCHFACEAMI)
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "mappedPatchBase::mappedPatchBase\n"
-            "(\n"
-            "    const polyPatch&,\n"
-            "    const dictionary&\n"
-            ")\n",
             dict
         )   << "Please supply the offsetMode as one of "
             << NamedEnum<offsetMode, 3>::words()
@@ -1175,14 +1137,8 @@ Foam::mappedPatchBase::mappedPatchBase
 {
     if (mode != NEARESTPATCHFACE && mode != NEARESTPATCHFACEAMI)
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "mappedPatchBase::mappedPatchBase\n"
-            "(\n"
-            "    const polyPatch&,\n"
-            "    const sampleMode,\n"
-            "    const dictionary&\n"
-            ")\n",
             dict
         )   << "Construct from sampleMode and dictionary only applicable for "
             << " collocated patches in modes "
@@ -1293,7 +1249,7 @@ const Foam::polyPatch& Foam::mappedPatchBase::samplePolyPatch() const
 
     if (patchI == -1)
     {
-        FatalErrorIn("mappedPatchBase::samplePolyPatch()")
+        FatalErrorInFunction
             << "Cannot find patch " << samplePatch()
             << " in region " << sampleRegion_ << endl
             << "Valid patches are " << nbrMesh.boundaryMesh().names()
@@ -1418,7 +1374,7 @@ Foam::pointIndexHit Foam::mappedPatchBase::facePoint
 
         default:
         {
-            FatalErrorIn("mappedPatchBase::facePoint()")
+            FatalErrorInFunction
                 << "problem" << abort(FatalError);
             return pointIndexHit();
         }
diff --git a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBaseI.H b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBaseI.H
index 8133a9d6923..fc392dfaaf2 100644
--- a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBaseI.H
+++ b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBaseI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -36,7 +36,7 @@ inline const Foam::word& Foam::mappedPatchBase::sampleRegion() const
     {
         if (!coupleGroup_.valid())
         {
-            FatalErrorIn("mappedPatchBase::sampleRegion()")
+            FatalErrorInFunction
                 << "Supply either a regionName or a coupleGroup"
                 << " for patch " << patch_.name()
                 << " in region " << patch_.boundaryMesh().mesh().name()
@@ -62,7 +62,7 @@ inline const Foam::word& Foam::mappedPatchBase::samplePatch() const
     {
         if (!coupleGroup_.valid())
         {
-            FatalErrorIn("mappedPatchBase::samplePolyPatch()")
+            FatalErrorInFunction
                 << "Supply either a patchName or a coupleGroup"
                 << " for patch " << patch_.name()
                 << " in region " << patch_.boundaryMesh().mesh().name()
@@ -115,7 +115,7 @@ inline Foam::label Foam::mappedPatchBase::sampleSize() const
         }
         default:
         {
-            FatalErrorIn("mappedPatchBase::sampleSize()")
+            FatalErrorInFunction
                 << "problem." << abort(FatalError);
             return -1;
         }
diff --git a/src/meshTools/meshSearch/meshSearch.C b/src/meshTools/meshSearch/meshSearch.C
index 2d9e1c2ea11..ac56d0474dd 100644
--- a/src/meshTools/meshSearch/meshSearch.C
+++ b/src/meshTools/meshSearch/meshSearch.C
@@ -146,10 +146,8 @@ Foam::label Foam::meshSearch::findNearestCellWalk
 {
     if (seedCellI < 0)
     {
-        FatalErrorIn
-        (
-            "meshSearch::findNearestCellWalk(const point&, const label)"
-        )   << "illegal seedCell:" << seedCellI << exit(FatalError);
+        FatalErrorInFunction
+            << "illegal seedCell:" << seedCellI << exit(FatalError);
     }
 
     // Walk in direction of face that decreases distance
@@ -245,10 +243,8 @@ Foam::label Foam::meshSearch::findNearestFaceWalk
 {
     if (seedFaceI < 0)
     {
-        FatalErrorIn
-        (
-            "meshSearch::findNearestFaceWalk(const point&, const label)"
-        )   << "illegal seedFace:" << seedFaceI << exit(FatalError);
+        FatalErrorInFunction
+            << "illegal seedFace:" << seedFaceI << exit(FatalError);
     }
 
     const vectorField& centres = mesh_.faceCentres();
@@ -335,10 +331,8 @@ Foam::label Foam::meshSearch::findCellWalk
 {
     if (seedCellI < 0)
     {
-        FatalErrorIn
-        (
-            "meshSearch::findCellWalk(const point&, const label)"
-        )   << "illegal seedCell:" << seedCellI << exit(FatalError);
+        FatalErrorInFunction
+            << "illegal seedCell:" << seedCellI << exit(FatalError);
     }
 
     if (mesh_.pointInCell(location, seedCellI, cellDecompMode_))
@@ -408,11 +402,8 @@ Foam::label Foam::meshSearch::findNearestBoundaryFaceWalk
 {
     if (seedFaceI < 0)
     {
-        FatalErrorIn
-        (
-            "meshSearch::findNearestBoundaryFaceWalk"
-            "(const point&, const label)"
-        )   << "illegal seedFace:" << seedFaceI << exit(FatalError);
+        FatalErrorInFunction
+            << "illegal seedFace:" << seedFaceI << exit(FatalError);
     }
 
     // Start off from seedFaceI
diff --git a/src/meshTools/meshTools/meshTools.C b/src/meshTools/meshTools/meshTools.C
index 5c98fe087bc..01b726586e7 100644
--- a/src/meshTools/meshTools/meshTools.C
+++ b/src/meshTools/meshTools/meshTools.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -82,10 +82,8 @@ Foam::vectorField Foam::meshTools::calcBoxPointNormals(const primitivePatch& pp)
         }
         else
         {
-            WarningIn
-            (
-                "Foam::meshTools::calcBoxPointNormals(const primitivePatch& pp)"
-            )   << "Average point normal not visible for point:"
+            WarningInFunction
+                << "Average point normal not visible for point:"
                 << pp.meshPoints()[pointI] << endl;
 
             label visOctant =
@@ -176,11 +174,8 @@ Foam::vectorField Foam::meshTools::calcBoxPointNormals(const primitivePatch& pp)
             {
                 pn[pointI] = vector::zero;
 
-                WarningIn
-                (
-                    "Foam::meshTools::calcBoxPointNormals"
-                    "(const primitivePatch& pp)"
-                )   << "No visible octant for point:" << pp.meshPoints()[pointI]
+                WarningInFunction
+                    << "No visible octant for point:" << pp.meshPoints()[pointI]
                     << " cooord:" << pp.points()[pp.meshPoints()[pointI]] << nl
                     << "Normal set to " << pn[pointI] << endl;
             }
@@ -412,11 +407,8 @@ Foam::label Foam::meshTools::getSharedEdge
             }
         }
     }
-    FatalErrorIn
-    (
-        "meshTools::getSharedEdge(const primitiveMesh&, const label"
-        ", const label)"
-    )   << "Faces " << f0 << " and " << f1 << " do not share an edge"
+    FatalErrorInFunction
+        << "Faces " << f0 << " and " << f1 << " do not share an edge"
         << abort(FatalError);
 
     return -1;
@@ -451,11 +443,8 @@ Foam::label Foam::meshTools::getSharedFace
     }
 
 
-    FatalErrorIn
-    (
-        "meshTools::getSharedFace(const primitiveMesh&, const label"
-        ", const label)"
-    )   << "No common face for"
+    FatalErrorInFunction
+        << "No common face for"
         << "  cell0I:" << cell0I << "  faces:" << cFaces
         << "  cell1I:" << cell1I << "  faces:"
         << mesh.cells()[cell1I]
@@ -501,11 +490,8 @@ void Foam::meshTools::getEdgeFaces
 
     if ((face0 == -1) || (face1 == -1))
     {
-        FatalErrorIn
-        (
-            "meshTools::getEdgeFaces(const primitiveMesh&, const label"
-            ", const label, label&, label&"
-        )   << "Can not find faces using edge " << mesh.edges()[edgeI]
+        FatalErrorInFunction
+            << "Can not find faces using edge " << mesh.edges()[edgeI]
             << " on cell " << cellI << abort(FatalError);
     }
 }
@@ -535,11 +521,8 @@ Foam::label Foam::meshTools::otherEdge
         }
     }
 
-    FatalErrorIn
-    (
-        "meshTools::otherEdge(const primitiveMesh&, const labelList&"
-        ", const label, const label)"
-    )   << "Can not find edge in "
+    FatalErrorInFunction
+        << "Can not find edge in "
         << UIndirectList<edge>(mesh.edges(), edgeLabels)()
         << " connected to edge "
         << thisEdgeI << " with vertices " << mesh.edges()[thisEdgeI]
@@ -584,11 +567,8 @@ Foam::label Foam::meshTools::otherCell
 {
     if (!mesh.isInternalFace(faceI))
     {
-        FatalErrorIn
-        (
-            "meshTools::otherCell(const primitiveMesh&, const label"
-            ", const label)"
-        )   << "Face " << faceI << " is not internal"
+        FatalErrorInFunction
+            << "Face " << faceI << " is not internal"
             << abort(FatalError);
     }
 
@@ -774,10 +754,8 @@ Foam::vector Foam::meshTools::edgeToCutDir
 {
     if (!hexMatcher().isA(mesh, cellI))
     {
-        FatalErrorIn
-        (
-            "Foam::meshTools::getCutDir(const label, const label)"
-        )   << "Not a hex : cell:" << cellI << abort(FatalError);
+        FatalErrorInFunction
+            << "Not a hex : cell:" << cellI << abort(FatalError);
     }
 
 
@@ -824,10 +802,8 @@ Foam::label Foam::meshTools::cutDirToEdge
 {
     if (!hexMatcher().isA(mesh, cellI))
     {
-        FatalErrorIn
-        (
-            "Foam::meshTools::getCutDir(const label, const vector&)"
-        )   << "Not a hex : cell:" << cellI << abort(FatalError);
+        FatalErrorInFunction
+            << "Not a hex : cell:" << cellI << abort(FatalError);
     }
 
     const labelList& cEdges = mesh.cellEdges()[cellI];
@@ -871,10 +847,8 @@ Foam::label Foam::meshTools::cutDirToEdge
     {
         if (!doneEdges.found(cEdges[cEdgeI]))
         {
-            FatalErrorIn
-            (
-                "meshTools::cutDirToEdge(const label, const vector&)"
-            )   << "Cell:" << cellI << " edges:" << cEdges << endl
+            FatalErrorInFunction
+                << "Cell:" << cellI << " edges:" << cEdges << endl
                 << "Edge:" << cEdges[cEdgeI] << " not yet handled"
                 << abort(FatalError);
         }
@@ -882,10 +856,8 @@ Foam::label Foam::meshTools::cutDirToEdge
 
     if (maxEdgeI == -1)
     {
-        FatalErrorIn
-        (
-            "meshTools::cutDirToEdge(const label, const vector&)"
-        )   << "Problem : did not find edge aligned with " << cutDir
+        FatalErrorInFunction
+            << "Problem : did not find edge aligned with " << cutDir
             << " on cell " << cellI << abort(FatalError);
     }
 
diff --git a/src/meshTools/polyMeshZipUpCells/polyMeshZipUpCells.C b/src/meshTools/polyMeshZipUpCells/polyMeshZipUpCells.C
index a1256b0d6f6..d1edb53ad42 100644
--- a/src/meshTools/polyMeshZipUpCells/polyMeshZipUpCells.C
+++ b/src/meshTools/polyMeshZipUpCells/polyMeshZipUpCells.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -117,7 +117,7 @@ bool Foam::polyMeshZipUpCells(polyMesh& mesh)
                 }
                 else if (edgeUsage[edgeI] != 2)
                 {
-                    WarningIn("void polyMeshZipUpCells(polyMesh& mesh)")
+                    WarningInFunction
                         << "edge " << cellEdges[edgeI] << " in cell " << cellI
                         << " used " << edgeUsage[edgeI] << " times. " << nl
                         << "Should be 1 or 2 - serious error "
@@ -494,7 +494,7 @@ bool Foam::polyMeshZipUpCells(polyMesh& mesh)
                     {
                         if (orderedEdge[checkI] == orderedEdge[checkJ])
                         {
-                            WarningIn("void polyMeshZipUpCells(polyMesh& mesh)")
+                            WarningInFunction
                                 << "Duplicate point found in edge to insert. "
                                 << nl << "Point: " << orderedEdge[checkI]
                                 << " edge: " << orderedEdge << endl;
@@ -688,13 +688,7 @@ bool Foam::polyMeshZipUpCells(polyMesh& mesh)
                                 {
                                     if (newFace[checkI] == newFace[checkJ])
                                     {
-                                        WarningIn
-                                        (
-                                            "void polyMeshZipUpCells"
-                                            "("
-                                                "polyMesh& mesh"
-                                            ")"
-                                        )
+                                        WarningInFunction
                                             << "Duplicate point found "
                                             << "in the new face. " << nl
                                             << "Point: "
@@ -729,7 +723,7 @@ bool Foam::polyMeshZipUpCells(polyMesh& mesh)
             labelList toc(problemCells.toc());
             sort(toc);
 
-            FatalErrorIn("void polyMeshZipUpCells(polyMesh& mesh)")
+            FatalErrorInFunction
                 << "Found " << problemCells.size() << " problem cells." << nl
                 << "Cells: " << toc
                 << abort(FatalError);
@@ -781,8 +775,7 @@ bool Foam::polyMeshZipUpCells(polyMesh& mesh)
 
     if (nChangedFacesInMesh > 0)
     {
-        FatalErrorIn("void polyMeshZipUpCells(polyMesh& mesh)")
-            << "cell zip-up failed after 100 cycles.  Probable problem "
+        FatalErrorInFunction
             << "with the original mesh"
             << abort(FatalError);
     }
diff --git a/src/meshTools/primitiveMeshGeometry/primitiveMeshGeometry.C b/src/meshTools/primitiveMeshGeometry/primitiveMeshGeometry.C
index de6cd25d3ac..6f6f23b75cf 100644
--- a/src/meshTools/primitiveMeshGeometry/primitiveMeshGeometry.C
+++ b/src/meshTools/primitiveMeshGeometry/primitiveMeshGeometry.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -318,12 +318,8 @@ bool Foam::primitiveMeshGeometry::checkFaceDotProduct
                     // Non-orthogonality greater than 90 deg
                     if (report)
                     {
-                        WarningIn
-                        (
-                            "primitiveMeshGeometry::checkFaceDotProduct"
-                            "(const bool, const scalar, const labelList&"
-                            ", labelHashSet*)"
-                        )   << "Severe non-orthogonality detected for face "
+                        WarningInFunction
+                            << "Severe non-orthogonality detected for face "
                             << faceI
                             << " between cells " << own[faceI] << " and "
                             << nei[faceI]
@@ -383,11 +379,8 @@ bool Foam::primitiveMeshGeometry::checkFaceDotProduct
     {
         if (report)
         {
-            SeriousErrorIn
-            (
-                "primitiveMeshGeometry::checkFaceDotProduct"
-                "(const bool, const scalar, const labelList&, labelHashSet*)"
-            )   << "Error in non-orthogonality detected" << endl;
+            SeriousErrorInFunction
+                << "Error in non-orthogonality detected" << endl;
         }
 
         return true;
@@ -497,12 +490,8 @@ bool Foam::primitiveMeshGeometry::checkFacePyramids
     {
         if (report)
         {
-            SeriousErrorIn
-            (
-                "primitiveMeshGeometry::checkFacePyramids("
-                "const bool, const scalar, const pointField&"
-                ", const labelList&, labelHashSet*)"
-            )   << "Error in face pyramids: faces pointing the wrong way!"
+            SeriousErrorInFunction
+                << "Error in face pyramids: faces pointing the wrong way!"
                 << endl;
         }
 
@@ -638,11 +627,7 @@ bool Foam::primitiveMeshGeometry::checkFaceSkewness
     {
         if (report)
         {
-            WarningIn
-            (
-                "primitiveMeshGeometry::checkFaceSkewness"
-                "(const bool, const scalar, const labelList&, labelHashSet*)"
-            )   << "Large face skewness detected.  Max skewness = "
+            WarningInFunction
                 << 100*maxSkew
                 << " percent.\nThis may impair the quality of the result." << nl
                 << nWarnSkew << " highly skew faces detected."
@@ -725,11 +710,7 @@ bool Foam::primitiveMeshGeometry::checkFaceWeights
     {
         if (report)
         {
-            WarningIn
-            (
-                "primitiveMeshGeometry::checkFaceWeights"
-                "(const bool, const scalar, const labelList&, labelHashSet*)"
-            )   << "Small interpolation weight detected.  Min weight = "
+            WarningInFunction
                 << minWeight << '.' << nl
                 << nWarnWeight << " faces with small weights detected."
                 << endl;
@@ -767,12 +748,8 @@ bool Foam::primitiveMeshGeometry::checkFaceAngles
 {
     if (maxDeg < -SMALL || maxDeg > 180+SMALL)
     {
-        FatalErrorIn
-        (
-            "primitiveMeshGeometry::checkFaceAngles"
-            "(const bool, const scalar, const pointField&, const labelList&"
-            ", labelHashSet*)"
-        )   << "maxDeg should be [0..180] but is now " << maxDeg
+        FatalErrorInFunction
+            << "maxDeg should be [0..180] but is now " << maxDeg
             << abort(FatalError);
     }
 
@@ -874,12 +851,8 @@ bool Foam::primitiveMeshGeometry::checkFaceAngles
     {
         if (report)
         {
-            WarningIn
-            (
-                "primitiveMeshGeometry::checkFaceAngles"
-                "(const bool, const scalar,  const pointField&"
-                ", const labelList&, labelHashSet*)"
-            )   << nConcave  << " face points with severe concave angle (> "
+            WarningInFunction
+                << nConcave  << " face points with severe concave angle (> "
                 << maxDeg << " deg) found.\n"
                 << endl;
         }
@@ -910,12 +883,8 @@ bool Foam::primitiveMeshGeometry::checkFaceAngles
 //{
 //    if (warnFlatness < 0 || warnFlatness > 1)
 //    {
-//        FatalErrorIn
-//        (
-//            "primitiveMeshGeometry::checkFaceFlatness"
-//            "(const bool, const scalar, const pointField&"
-//            ", const labelList&, labelHashSet*)"
-//        )   << "warnFlatness should be [0..1] but is now " << warnFlatness
+//        FatalErrorInFunction
+//            << "warnFlatness should be [0..1] but is now " << warnFlatness
 //            << abort(FatalError);
 //    }
 //
@@ -1011,12 +980,8 @@ bool Foam::primitiveMeshGeometry::checkFaceAngles
 //    {
 //        if (report)
 //        {
-//            WarningIn
-//            (
-//                "primitiveMeshGeometry::checkFaceFlatness"
-//                "(const bool, const scalar, const pointField&"
-//                ", const labelList&, labelHashSet*)"
-//            )   << nWarped  << " faces with severe warpage (flatness < "
+//            WarningInFunction
+//                << nWarped  << " faces with severe warpage (flatness < "
 //                << warnFlatness << ") found.\n"
 //                << endl;
 //        }
@@ -1047,12 +1012,8 @@ bool Foam::primitiveMeshGeometry::checkFaceTwist
 {
     if (minTwist < -1-SMALL || minTwist > 1+SMALL)
     {
-        FatalErrorIn
-        (
-            "primitiveMeshGeometry::checkFaceTwist"
-            "(const bool, const scalar, const primitiveMesh&, const pointField&"
-            ", const labelList&, labelHashSet*)"
-        )   << "minTwist should be [-1..1] but is now " << minTwist
+        FatalErrorInFunction
+            << "minTwist should be [-1..1] but is now " << minTwist
             << abort(FatalError);
     }
 
@@ -1129,12 +1090,8 @@ bool Foam::primitiveMeshGeometry::checkFaceTwist
     {
         if (report)
         {
-            WarningIn
-            (
-                "primitiveMeshGeometry::checkFaceTwist"
-                "(const bool, const scalar, const primitiveMesh&"
-                ", const pointField&, const labelList&, labelHashSet*)"
-            )   << nWarped  << " faces with severe warpage "
+            WarningInFunction
+                << nWarped  << " faces with severe warpage "
                 << "(cosine of the angle between triangle normal and "
                 << "face normal < " << minTwist << ") found.\n"
                 << endl;
@@ -1195,12 +1152,8 @@ bool Foam::primitiveMeshGeometry::checkFaceArea
     {
         if (report)
         {
-            WarningIn
-            (
-                "primitiveMeshGeometry::checkFaceArea"
-                "(const bool, const scalar, const primitiveMesh&"
-                ", const pointField&, const labelList&, labelHashSet*)"
-            )   << nZeroArea  << " faces with area < " << minArea
+            WarningInFunction
+                << nZeroArea  << " faces with area < " << minArea
                 << " found.\n"
                 << endl;
         }
@@ -1300,13 +1253,8 @@ bool Foam::primitiveMeshGeometry::checkCellDeterminant
     {
         if (report)
         {
-            WarningIn
-            (
-                "primitiveMeshGeometry::checkCellDeterminant"
-                "(const bool, const scalar, const primitiveMesh&"
-                ", const pointField&, const labelList&, const labelList&"
-                ", labelHashSet*)"
-            )   << nWarnDet << " cells with determinant < " << warnDet
+            WarningInFunction
+                << nWarnDet << " cells with determinant < " << warnDet
                 << " found.\n"
                 << endl;
         }
diff --git a/src/meshTools/regionCoupled/GAMG/interfaces/regionCoupledGAMGInterface/regionCoupledBaseGAMGInterface.C b/src/meshTools/regionCoupled/GAMG/interfaces/regionCoupledGAMGInterface/regionCoupledBaseGAMGInterface.C
index 9066f4dfc7c..9663074005f 100644
--- a/src/meshTools/regionCoupled/GAMG/interfaces/regionCoupledGAMGInterface/regionCoupledBaseGAMGInterface.C
+++ b/src/meshTools/regionCoupled/GAMG/interfaces/regionCoupledGAMGInterface/regionCoupledBaseGAMGInterface.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -191,19 +191,8 @@ Foam::regionCoupledBaseGAMGInterface::regionCoupledBaseGAMGInterface
         }
         else
         {
-            FatalErrorIn
-            (
-                "regionCoupledBaseGAMGInterface::"
-                "regionCoupledBaseGAMGInterface"
-                "("
-                "const label index,"
-                "const lduInterfacePtrsList& coarseInterfaces,"
-                "const lduInterface& fineInterface,"
-                "const labelField& localRestrictAddressing,"
-                "const labelField& neighbourRestrictAddressing,"
-                "const label fineLevelIndex"
-                ")"
-            )   << " GAMGAgglomeration was not found in the nbr mesh. "
+            FatalErrorInFunction
+                << " GAMGAgglomeration was not found in the nbr mesh. "
                 << " Check on the cacheAgglomeration flag in fvSolution"
                 << exit(FatalError);
         }
@@ -228,13 +217,6 @@ internalFieldTransfer
     const labelUList& iF
 ) const
 {
-//     WarningIn
-//     (
-//         "regionCoupledBaseGAMGInterface::internalFieldTransfer"
-//         "( const Pstream::commsTypes, const labelUList&)"
-//         " the internal field can not be transfered "
-//         " as the neighbFvPatch are in different meshes "
-//     );
     /*
     //const labelUList& nbrFaceCells = neighbPatch().faceCells();
 
diff --git a/src/meshTools/regionCoupled/patches/regionCoupledPolyPatch/regionCoupledBase.C b/src/meshTools/regionCoupled/patches/regionCoupledPolyPatch/regionCoupledBase.C
index a9cb60355de..482c7e65579 100644
--- a/src/meshTools/regionCoupled/patches/regionCoupledPolyPatch/regionCoupledBase.C
+++ b/src/meshTools/regionCoupled/patches/regionCoupledPolyPatch/regionCoupledBase.C
@@ -205,7 +205,7 @@ Foam::label Foam::regionCoupledBase::neighbPatchID() const
 
             if (nbrPatchID_ == -1)
             {
-                FatalErrorIn("cyclicPolyAMIPatch::neighbPatchID() const")
+                FatalErrorInFunction
                     << "Illegal neighbourPatch name " << nbrPatchName_
                     << nl << "Valid patch names are "
                     << mesh.boundaryMesh().names()
@@ -221,7 +221,7 @@ Foam::label Foam::regionCoupledBase::neighbPatchID() const
 
             if (nbrPatch.nbrPatchName() != patch_.name())
             {
-                WarningIn("regionCoupledBase::neighbPatchID() const")
+                WarningInFunction
                     << "Patch " << patch_.name()
                     << " specifies neighbour patch " << nbrPatchName()
                     << nl << " but that in return specifies "
@@ -283,10 +283,7 @@ const Foam::AMIPatchToPatchInterpolation& Foam::regionCoupledBase::AMI() const
 {
     if (!owner())
     {
-        FatalErrorIn
-        (
-            "const AMIPatchToPatchInterpolation& regionCoupledBase::AMI()"
-        )
+        FatalErrorInFunction
             << "AMI interpolator only available to owner patch"
             << abort(FatalError);
     }
diff --git a/src/meshTools/regionSplit/localPointRegion.C b/src/meshTools/regionSplit/localPointRegion.C
index bad9ca8d570..8a5d714a956 100644
--- a/src/meshTools/regionSplit/localPointRegion.C
+++ b/src/meshTools/regionSplit/localPointRegion.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -127,7 +127,7 @@ void Foam::localPointRegion::countPointRegions
 
             if (minRegion[faceI].empty())
             {
-                FatalErrorIn("localPointRegion::countPointRegions(..)")
+                FatalErrorInFunction
                     << "Face from candidateFace without minRegion set." << endl
                     << "Face:" << faceI << " fc:" << mesh.faceCentres()[faceI]
                     << " verts:" << f << abort(FatalError);
@@ -535,11 +535,8 @@ Foam::labelList Foam::localPointRegion::findDuplicateFaces
 
                 if (isDuplicate(f, otherF, true))
                 {
-                    FatalErrorIn
-                    (
-                        "findDuplicateFaces(const primitiveMesh&"
-                        ", const labelList&)"
-                    )   << "Face:" << bFaceI + mesh.nInternalFaces()
+                    FatalErrorInFunction
+                        << "Face:" << bFaceI + mesh.nInternalFaces()
                         << " has local points:" << f
                         << " which are in same order as face:"
                         << otherFaceI + mesh.nInternalFaces()
@@ -557,11 +554,8 @@ Foam::labelList Foam::localPointRegion::findDuplicateFaces
                      || duplicateFace[otherFaceI] != -1
                     )
                     {
-                        FatalErrorIn
-                        (
-                            "findDuplicateFaces(const primitiveMesh&"
-                            ", const labelList&)"
-                        )   << "One of two duplicate faces already marked"
+                        FatalErrorInFunction
+                            << "One of two duplicate faces already marked"
                             << " as duplicate." << nl
                             << "This means that three or more faces share"
                             << " the same points and this is illegal." << nl
@@ -623,10 +617,8 @@ Foam::List<Foam::labelPair> Foam::localPointRegion::findDuplicateFacePairs
              || (patch1 != -1 && isA<processorPolyPatch>(patches[patch1]))
             )
             {
-                FatalErrorIn
-                (
-                    "localPointRegion::findDuplicateFacePairs(const polyMesh&)"
-                )   << "One of two duplicate faces is on"
+                FatalErrorInFunction
+                    << "One of two duplicate faces is on"
                     << " processorPolyPatch."
                     << "This is not allowed." << nl
                     << "Face:" << meshFace0
diff --git a/src/meshTools/regionSplit/regionSplit.C b/src/meshTools/regionSplit/regionSplit.C
index 2583c2ddfe8..27b438cd679 100644
--- a/src/meshTools/regionSplit/regionSplit.C
+++ b/src/meshTools/regionSplit/regionSplit.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -64,11 +64,8 @@ void Foam::regionSplit::transferCoupledFaceRegion
         }
         else if (faceRegion[otherFaceI] != faceRegion[faceI])
         {
-            FatalErrorIn
-            (
-                  "regionSplit::transferCoupledFaceRegion"
-                  "(const label, const label, labelList&, labelList&) const"
-              )   << "Problem : coupled face " << faceI
+            FatalErrorInFunction
+                  << "Problem : coupled face " << faceI
                   << " on patch " << mesh().boundaryMesh().whichPatch(faceI)
                   << " has region " << faceRegion[faceI]
                   << " but coupled face " << otherFaceI
@@ -280,10 +277,8 @@ Foam::label Foam::regionSplit::calcLocalRegionSplit
             {
                 if (syncBlockedFace[faceI] != blockedFace[faceI])
                 {
-                    FatalErrorIn
-                    (
-                        "regionSplit::calcLocalRegionSplit(..)"
-                    )   << "Face " << faceI << " not synchronised. My value:"
+                    FatalErrorInFunction
+                        << "Face " << faceI << " not synchronised. My value:"
                         << blockedFace[faceI] << "  coupled value:"
                         << syncBlockedFace[faceI]
                         << abort(FatalError);
@@ -356,7 +351,7 @@ Foam::label Foam::regionSplit::calcLocalRegionSplit
         {
             if (cellRegion[cellI] < 0)
             {
-                FatalErrorIn("regionSplit::calcLocalRegionSplit(..)")
+                FatalErrorInFunction
                     << "cell:" << cellI << " region:" << cellRegion[cellI]
                     << abort(FatalError);
             }
@@ -366,7 +361,7 @@ Foam::label Foam::regionSplit::calcLocalRegionSplit
         {
             if (faceRegion[faceI] == -1)
             {
-                FatalErrorIn("regionSplit::calcLocalRegionSplit(..)")
+                FatalErrorInFunction
                     << "face:" << faceI << " region:" << faceRegion[faceI]
                     << abort(FatalError);
             }
diff --git a/src/meshTools/searchableSurface/searchableBox.C b/src/meshTools/searchableSurface/searchableBox.C
index 6005822e0b7..5eac58aa337 100644
--- a/src/meshTools/searchableSurface/searchableBox.C
+++ b/src/meshTools/searchableSurface/searchableBox.C
@@ -58,7 +58,7 @@ void Foam::searchableBox::projectOntoCoordPlane
     }
     else
     {
-        FatalErrorIn("searchableBox::projectOntoCoordPlane(..)")
+        FatalErrorInFunction
             << "Point on plane " << planePt
             << " is not on coordinate " << min()[dir]
             << " nor " << max()[dir] << abort(FatalError);
@@ -172,14 +172,8 @@ Foam::searchableBox::searchableBox
 {
     if (!contains(midpoint()))
     {
-        FatalErrorIn
-        (
-            "Foam::searchableBox::searchableBox\n"
-            "(\n"
-            "    const IOobject& io,\n"
-            "    const treeBoundBox& bb\n"
-            ")\n"
-        )   << "Illegal bounding box specification : "
+        FatalErrorInFunction
+            << "Illegal bounding box specification : "
             << static_cast<const treeBoundBox>(*this) << exit(FatalError);
     }
 
@@ -198,14 +192,8 @@ Foam::searchableBox::searchableBox
 {
     if (!contains(midpoint()))
     {
-        FatalErrorIn
-        (
-            "Foam::searchableBox::searchableBox\n"
-            "(\n"
-            "    const IOobject& io,\n"
-            "    const treeBoundBox& bb\n"
-            ")\n"
-        )   << "Illegal bounding box specification : "
+        FatalErrorInFunction
+            << "Illegal bounding box specification : "
             << static_cast<const treeBoundBox>(*this) << exit(FatalError);
     }
 
@@ -433,7 +421,7 @@ Foam::pointIndexHit Foam::searchableBox::findLine
 
         if (info.index() == -1)
         {
-            FatalErrorIn("searchableBox::findLine(const point&, const point&)")
+            FatalErrorInFunction
                 << "point " << info.rawPoint()
                 << " on segment " << start << end
                 << " should be on face of " << *this
diff --git a/src/meshTools/searchableSurface/searchableDisk.C b/src/meshTools/searchableSurface/searchableDisk.C
index a9c968aacd4..db8f92f0a99 100644
--- a/src/meshTools/searchableSurface/searchableDisk.C
+++ b/src/meshTools/searchableSurface/searchableDisk.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -317,11 +317,8 @@ void Foam::searchableDisk::getVolumeType
     List<volumeType>& volType
 ) const
 {
-    FatalErrorIn
-    (
-        "searchableDisk::getVolumeType(const pointField&"
-        ", List<volumeType>&) const"
-    )   << "Volume type not supported for disk."
+    FatalErrorInFunction
+        << "Volume type not supported for disk."
         << exit(FatalError);
 }
 
diff --git a/src/meshTools/searchableSurface/searchablePlane.C b/src/meshTools/searchableSurface/searchablePlane.C
index e6c9668b1f1..5f931758f91 100644
--- a/src/meshTools/searchableSurface/searchablePlane.C
+++ b/src/meshTools/searchableSurface/searchablePlane.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -256,11 +256,8 @@ void Foam::searchablePlane::getVolumeType
     List<volumeType>& volType
 ) const
 {
-    FatalErrorIn
-    (
-        "searchableCollection::getVolumeType(const pointField&"
-        ", List<volumeType>&) const"
-    )   << "Volume type not supported for plane."
+    FatalErrorInFunction
+        << "Volume type not supported for plane."
         << exit(FatalError);
 }
 
diff --git a/src/meshTools/searchableSurface/searchablePlate.C b/src/meshTools/searchableSurface/searchablePlate.C
index 163f282c504..a6ad5eeb6bc 100644
--- a/src/meshTools/searchableSurface/searchablePlate.C
+++ b/src/meshTools/searchableSurface/searchablePlate.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -48,7 +48,7 @@ Foam::direction Foam::searchablePlate::calcNormal(const point& span)
     {
         if (span[dir] < 0)
         {
-            FatalErrorIn("searchablePlate::calcNormal()")
+            FatalErrorInFunction
                 << "Span should have two positive and one zero entry. Now:"
                 << span << exit(FatalError);
         }
@@ -69,7 +69,7 @@ Foam::direction Foam::searchablePlate::calcNormal(const point& span)
 
     if (normalDir == 3)
     {
-        FatalErrorIn("searchablePlate::calcNormal()")
+        FatalErrorInFunction
             << "Span should have two positive and one zero entry. Now:"
             << span << exit(FatalError);
     }
@@ -190,7 +190,7 @@ Foam::pointIndexHit Foam::searchablePlate::findLine
 
         if (!bb.contains(info.hitPoint()))
         {
-            FatalErrorIn("searchablePlate::findLine(..)")
+            FatalErrorInFunction
                 << "bb:" << bb << endl
                 << "origin_:" << origin_ << endl
                 << "span_:" << span_ << endl
@@ -440,11 +440,8 @@ void Foam::searchablePlate::getVolumeType
     List<volumeType>& volType
 ) const
 {
-    FatalErrorIn
-    (
-        "searchableCollection::getVolumeType(const pointField&"
-        ", List<volumeType>&) const"
-    )   << "Volume type not supported for plate."
+    FatalErrorInFunction
+        << "Volume type not supported for plate."
         << exit(FatalError);
 }
 
diff --git a/src/meshTools/searchableSurface/searchableSurface.C b/src/meshTools/searchableSurface/searchableSurface.C
index 59151953846..0f5fe77decb 100644
--- a/src/meshTools/searchableSurface/searchableSurface.C
+++ b/src/meshTools/searchableSurface/searchableSurface.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -48,11 +48,8 @@ Foam::autoPtr<Foam::searchableSurface> Foam::searchableSurface::New
 
     if (cstrIter == dictConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "searchableSurface::New(const word&,"
-            " const IOobject&, const dictionary&)"
-        )   << "Unknown searchableSurface type " << searchableSurfaceType
+        FatalErrorInFunction
+            << "Unknown searchableSurface type " << searchableSurfaceType
             << endl << endl
             << "Valid searchableSurface types : " << endl
             << dictConstructorTablePtr_->sortedToc()
diff --git a/src/meshTools/searchableSurface/searchableSurfaceCollection.C b/src/meshTools/searchableSurface/searchableSurfaceCollection.C
index e43d8319804..bbda5a487c3 100644
--- a/src/meshTools/searchableSurface/searchableSurfaceCollection.C
+++ b/src/meshTools/searchableSurface/searchableSurfaceCollection.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -218,11 +218,8 @@ Foam::searchableSurfaceCollection::searchableSurfaceCollection
             // if all indices offset by globalSize() of the local region...
             if (s.size() != s.globalSize())
             {
-                FatalErrorIn
-                (
-                    "searchableSurfaceCollection::searchableSurfaceCollection"
-                    "(const IOobject&, const dictionary&)"
-                )   << "Cannot use a distributed surface in a collection."
+                FatalErrorInFunction
+                    << "Cannot use a distributed surface in a collection."
                     << exit(FatalError);
             }
 
@@ -532,10 +529,8 @@ void Foam::searchableSurfaceCollection::findLine
 
                     if (s < 0 || s > 1)
                     {
-                        FatalErrorIn
-                        (
-                            "searchableSurfaceCollection::findLine(..)"
-                        )   << "point:" << info[pointI]
+                        FatalErrorInFunction
+                            << "point:" << info[pointI]
                             << " s:" << s
                             << " outside vector "
                             << " start:" << start[pointI]
@@ -702,11 +697,8 @@ void Foam::searchableSurfaceCollection::getVolumeType
     List<volumeType>& volType
 ) const
 {
-    FatalErrorIn
-    (
-        "searchableSurfaceCollection::getVolumeType(const pointField&"
-        ", List<volumeType>&) const"
-    )   << "Volume type not supported for collection."
+    FatalErrorInFunction
+        << "Volume type not supported for collection."
         << exit(FatalError);
 }
 
diff --git a/src/meshTools/searchableSurface/searchableSurfaces.C b/src/meshTools/searchableSurface/searchableSurfaces.C
index 49cbaf8ab08..7152bbd4ca5 100644
--- a/src/meshTools/searchableSurface/searchableSurfaces.C
+++ b/src/meshTools/searchableSurface/searchableSurfaces.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -136,11 +136,8 @@ Foam::searchableSurfaces::searchableSurfaces(const label size)
 //
 //                    if (index == -1)
 //                    {
-//                        FatalErrorIn
-//                        (
-//                            "searchableSurfaces::searchableSurfaces"
-//                            "( const IOobject&, const dictionary&)"
-//                        )   << "Unknown region name " << key
+//                        FatalErrorInFunction
+//                            << "Unknown region name " << key
 //                            << " for surface " << s.name() << endl
 //                            << "Valid region names are " << localNames
 //                            << exit(FatalError);
@@ -191,11 +188,8 @@ Foam::searchableSurfaces::searchableSurfaces
 
         if (!topDict.isDict(key))
         {
-            FatalErrorIn
-            (
-                "searchableSurfaces::searchableSurfaces"
-                "( const IOobject&, const dictionary&)"
-            )   << "Found non-dictionary entry " << iter()
+            FatalErrorInFunction
+                << "Found non-dictionary entry " << iter()
                 << " in top-level dictionary " << topDict
                 << exit(FatalError);
         }
@@ -264,11 +258,8 @@ Foam::searchableSurfaces::searchableSurfaces
 
                     if (index == -1)
                     {
-                        FatalErrorIn
-                        (
-                            "searchableSurfaces::searchableSurfaces"
-                            "( const IOobject&, const dictionary&)"
-                        )   << "Unknown region name " << key
+                        FatalErrorInFunction
+                            << "Unknown region name " << key
                             << " for surface " << s.name() << endl
                             << "Valid region names are " << localNames
                             << exit(FatalError);
@@ -926,10 +917,8 @@ const Foam::searchableSurface& Foam::searchableSurfaces::operator[]
 
     if (surfI < 0)
     {
-        FatalErrorIn
-        (
-            "searchableSurfaces::operator[](const word&) const"
-        )   << "Surface named " << surfName << " not found." << nl
+        FatalErrorInFunction
+            << "Surface named " << surfName << " not found." << nl
             << "Available surface names: " << names_ << endl
             << abort(FatalError);
     }
@@ -947,10 +936,8 @@ Foam::searchableSurface& Foam::searchableSurfaces::operator[]
 
     if (surfI < 0)
     {
-        FatalErrorIn
-        (
-            "searchableSurfaces::operator[](const word&)"
-        )   << "Surface named " << surfName << " not found." << nl
+        FatalErrorInFunction
+            << "Surface named " << surfName << " not found." << nl
             << "Available surface names: " << names_ << endl
             << abort(FatalError);
     }
diff --git a/src/meshTools/searchableSurface/searchableSurfacesQueries.C b/src/meshTools/searchableSurface/searchableSurfacesQueries.C
index 2073de3d767..aaa9ffbf019 100644
--- a/src/meshTools/searchableSurface/searchableSurfacesQueries.C
+++ b/src/meshTools/searchableSurface/searchableSurfacesQueries.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -810,7 +810,7 @@ void Foam::searchableSurfacesQueries::signedDistance
                     }
                     default:
                     {
-                        FatalErrorIn("signedDistance()")
+                        FatalErrorInFunction
                             << "getVolumeType failure,"
                             << " neither INSIDE or OUTSIDE."
                             << " point:" << surfPoints[i]
@@ -879,11 +879,8 @@ Foam::pointIndexHit Foam::searchableSurfacesQueries::facesIntersection
         }
         else
         {
-            FatalErrorIn
-            (
-                "searchableSurfacesQueries::facesIntersection"
-                "(const labelList&, const scalar, const scalar, const point&)"
-            )   << "Did not find point within distance "
+            FatalErrorInFunction
+                << "Did not find point within distance "
                 << initDistSqr << " of starting point " << start
                 << " on surface "
                 << allSurfaces[surfacesToTest[i]].IOobject::name()
diff --git a/src/meshTools/searchableSurface/triSurfaceMesh.C b/src/meshTools/searchableSurface/triSurfaceMesh.C
index 7b6b8ad6ad9..3aaeb06edf3 100644
--- a/src/meshTools/searchableSurface/triSurfaceMesh.C
+++ b/src/meshTools/searchableSurface/triSurfaceMesh.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -89,11 +89,8 @@ addToRunTimeSelectionTable(searchableSurface, triSurfaceMesh, dict);
 //        return runTime.constant();
 //    }
 //
-//    FatalErrorIn
-//    (
-//        "searchableSurfaces::findRawInstance"
-//        "(const Time&, const fileName&, const word&)"
-//    )   << "Cannot find file \"" << name << "\" in directory "
+//    FatalErrorInFunction
+//        << "Cannot find file \"" << name << "\" in directory "
 //        << runTime.constant()/dir
 //        << exit(FatalError);
 //
@@ -110,10 +107,8 @@ const Foam::fileName& Foam::triSurfaceMesh::checkFile
 {
     if (fName.empty())
     {
-        FatalErrorIn
-        (
-            "triSurfaceMesh::checkFile(const fileName&, const fileName&)"
-        )   << "Cannot find triSurfaceMesh starting from "
+        FatalErrorInFunction
+            << "Cannot find triSurfaceMesh starting from "
             << objectName << exit(FatalError);
     }
     return fName;
diff --git a/src/meshTools/sets/cellSources/faceZoneToCell/faceZoneToCell.C b/src/meshTools/sets/cellSources/faceZoneToCell/faceZoneToCell.C
index cf0bf76e162..91573484337 100644
--- a/src/meshTools/sets/cellSources/faceZoneToCell/faceZoneToCell.C
+++ b/src/meshTools/sets/cellSources/faceZoneToCell/faceZoneToCell.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -100,7 +100,7 @@ void Foam::faceZoneToCell::combine(topoSet& set, const bool add) const
 
     if (!hasMatched)
     {
-        WarningIn("faceZoneToCell::combine(topoSet&, const bool)")
+        WarningInFunction
             << "Cannot find any faceZone named " << zoneName_ << endl
             << "Valid names are " << mesh_.faceZones().names() << endl;
     }
diff --git a/src/meshTools/sets/cellSources/fieldToCell/fieldToCell.C b/src/meshTools/sets/cellSources/fieldToCell/fieldToCell.C
index a8d22a6ff88..475ba3c313e 100644
--- a/src/meshTools/sets/cellSources/fieldToCell/fieldToCell.C
+++ b/src/meshTools/sets/cellSources/fieldToCell/fieldToCell.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -196,11 +196,8 @@ void Foam::fieldToCell::applyToSet
 
     if (!fieldObject.headerOk())
     {
-        WarningIn
-        (
-            "fieldToCell::applyToSet(const topoSetSource::setAction"
-            ", topoSet& set)"
-        )   << "Cannot read field " << fieldName_
+        WarningInFunction
+            << "Cannot read field " << fieldName_
             << " from time " << mesh().time().timeName() << endl;
     }
     else if (fieldObject.headerClassName() == "volScalarField")
@@ -227,11 +224,8 @@ void Foam::fieldToCell::applyToSet
     }
     else
     {
-        WarningIn
-        (
-            "fieldToCell::applyToSet(const topoSetSource::setAction"
-            ", topoSet& set)"
-        )   << "Cannot handle fields of type " << fieldObject.headerClassName()
+        WarningInFunction
+            << "Cannot handle fields of type " << fieldObject.headerClassName()
             << endl;
     }
 }
diff --git a/src/meshTools/sets/cellSources/regionToCell/regionToCell.C b/src/meshTools/sets/cellSources/regionToCell/regionToCell.C
index 96c3077cdea..f602bc239cb 100644
--- a/src/meshTools/sets/cellSources/regionToCell/regionToCell.C
+++ b/src/meshTools/sets/cellSources/regionToCell/regionToCell.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -131,11 +131,8 @@ Foam::boolList Foam::regionToCell::findRegions
 
         if (keepProcI == -1)
         {
-            FatalErrorIn
-            (
-                "outsideCellSelection::findRegions"
-                "(const bool, const regionSplit&)"
-            )   << "Did not find " << insidePoints_[i]
+            FatalErrorInFunction
+                << "Did not find " << insidePoints_[i]
                 << " in mesh." << " Mesh bounds are " << mesh_.bounds()
                 << exit(FatalError);
         }
diff --git a/src/meshTools/sets/cellSources/shapeToCell/shapeToCell.C b/src/meshTools/sets/cellSources/shapeToCell/shapeToCell.C
index 32662fb97f7..1fcc2495224 100644
--- a/src/meshTools/sets/cellSources/shapeToCell/shapeToCell.C
+++ b/src/meshTools/sets/cellSources/shapeToCell/shapeToCell.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -105,10 +105,8 @@ Foam::shapeToCell::shapeToCell
 {
     if (!cellModeller::lookup(type_) && (type_ != "splitHex"))
     {
-        FatalErrorIn
-        (
-            "shapeToCell::shapeToCell(const polyMesh&, const word&)"
-        )   << "Illegal cell type " << type_ << exit(FatalError);
+        FatalErrorInFunction
+            << "Illegal cell type " << type_ << exit(FatalError);
     }
 }
 
@@ -125,10 +123,8 @@ Foam::shapeToCell::shapeToCell
 {
     if (!cellModeller::lookup(type_) && (type_ != "splitHex"))
     {
-        FatalErrorIn
-        (
-            "shapeToCell::shapeToCell(const polyMesh&, const dictionary&)"
-        )   << "Illegal cell type " << type_ << exit(FatalError);
+        FatalErrorInFunction
+            << "Illegal cell type " << type_ << exit(FatalError);
     }
 }
 
@@ -145,10 +141,8 @@ Foam::shapeToCell::shapeToCell
 {
     if (!cellModeller::lookup(type_) && (type_ != "splitHex"))
     {
-        FatalErrorIn
-        (
-            "shapeToCell::shapeToCell(const polyMesh&, Istream&)"
-        )   << "Illegal cell type " << type_ << exit(FatalError);
+        FatalErrorInFunction
+            << "Illegal cell type " << type_ << exit(FatalError);
     }
 }
 
diff --git a/src/meshTools/sets/cellSources/surfaceToCell/surfaceToCell.C b/src/meshTools/sets/cellSources/surfaceToCell/surfaceToCell.C
index 1b9e7e76433..b08d4b4c8ae 100644
--- a/src/meshTools/sets/cellSources/surfaceToCell/surfaceToCell.C
+++ b/src/meshTools/sets/cellSources/surfaceToCell/surfaceToCell.C
@@ -194,7 +194,7 @@ void Foam::surfaceToCell::combine(topoSet& set, const bool add) const
             label cellI = queryMesh.findCell(outsidePoint, -1, false);
             if (returnReduce(cellI, maxOp<label>()) == -1)
             {
-                FatalErrorIn("surfaceToCell::combine(topoSet&, const bool)")
+                FatalErrorInFunction
                     << "outsidePoint " << outsidePoint
                     << " is not inside any cell"
                     << exit(FatalError);
@@ -332,10 +332,8 @@ void Foam::surfaceToCell::checkSettings() const
         )
     )
     {
-        FatalErrorIn
-        (
-            "surfaceToCell:checkSettings()"
-        )   << "Illegal include cell specification."
+        FatalErrorInFunction
+            << "Illegal include cell specification."
             << " Result would be either all or no cells." << endl
             << "Please set one of includeCut, includeInside, includeOutside"
             << " to true, set nearDistance to a value > 0"
@@ -345,10 +343,8 @@ void Foam::surfaceToCell::checkSettings() const
 
     if (useSurfaceOrientation_ && includeCut_)
     {
-        FatalErrorIn
-        (
-            "surfaceToCell:checkSettings()"
-        )   << "Illegal include cell specification."
+        FatalErrorInFunction
+            << "Illegal include cell specification."
             << " You cannot specify both 'useSurfaceOrientation'"
             << " and 'includeCut'"
             << " since 'includeCut' specifies a topological split"
diff --git a/src/meshTools/sets/cellSources/targetVolumeToCell/targetVolumeToCell.C b/src/meshTools/sets/cellSources/targetVolumeToCell/targetVolumeToCell.C
index 2f29a302162..10d54638390 100644
--- a/src/meshTools/sets/cellSources/targetVolumeToCell/targetVolumeToCell.C
+++ b/src/meshTools/sets/cellSources/targetVolumeToCell/targetVolumeToCell.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -163,7 +163,7 @@ void Foam::targetVolumeToCell::combine(topoSet& set, const bool add) const
         // Check that maxPoint indeed selects all cells
         if (maxCells != nTotCells)
         {
-            WarningIn("targetVolumeToCell::combine(topoSet&, const bool) const")
+            WarningInFunction
                 << "Plane " << plane(points[maxPointI], n_)
                 << " selects " << maxCells
                 << " cells instead of all " << nTotCells
@@ -241,7 +241,7 @@ void Foam::targetVolumeToCell::combine(topoSet& set, const bool add) const
         }
         else
         {
-            WarningIn("targetVolumeToCell::combine(topoSet&, const bool) const")
+            WarningInFunction
                 << "Did not converge onto plane. " << nl
                 << "high plane:"
                 << plane(high*n_, n_)
diff --git a/src/meshTools/sets/cellSources/zoneToCell/zoneToCell.C b/src/meshTools/sets/cellSources/zoneToCell/zoneToCell.C
index 291fb6bdb2c..56ed36a1726 100644
--- a/src/meshTools/sets/cellSources/zoneToCell/zoneToCell.C
+++ b/src/meshTools/sets/cellSources/zoneToCell/zoneToCell.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -83,7 +83,7 @@ void Foam::zoneToCell::combine(topoSet& set, const bool add) const
 
     if (!hasMatched)
     {
-        WarningIn("zoneToCell::combine(topoSet&, const bool)")
+        WarningInFunction
             << "Cannot find any cellZone named " << zoneName_ << endl
             << "Valid names are " << mesh_.cellZones().names() << endl;
     }
diff --git a/src/meshTools/sets/cellZoneSources/setToCellZone/setToCellZone.C b/src/meshTools/sets/cellZoneSources/setToCellZone/setToCellZone.C
index f0c0e646edc..7fc2aa1a3cc 100644
--- a/src/meshTools/sets/cellZoneSources/setToCellZone/setToCellZone.C
+++ b/src/meshTools/sets/cellZoneSources/setToCellZone/setToCellZone.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -105,11 +105,8 @@ void Foam::setToCellZone::applyToSet
 {
     if (!isA<cellZoneSet>(set))
     {
-        WarningIn
-        (
-            "setToCellZone::applyToSet(const topoSetSource::setAction"
-            ", topoSet"
-        )   << "Operation only allowed on a cellZoneSet." << endl;
+        WarningInFunction
+            << "Operation only allowed on a cellZoneSet." << endl;
     }
     else
     {
diff --git a/src/meshTools/sets/faceSources/normalToFace/normalToFace.C b/src/meshTools/sets/faceSources/normalToFace/normalToFace.C
index 4d40c128db3..eb189120862 100644
--- a/src/meshTools/sets/faceSources/normalToFace/normalToFace.C
+++ b/src/meshTools/sets/faceSources/normalToFace/normalToFace.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -62,11 +62,8 @@ void Foam::normalToFace::setNormal()
 
     if (tol_ < -1 || tol_ > 1)
     {
-        FatalErrorIn
-        (
-            "normalToFace::normalToFace(const polyMesh&, const vector&"
-            ", const scalar)"
-        )   << "tolerance not within range -1..1 : " << tol_
+        FatalErrorInFunction
+            << "tolerance not within range -1..1 : " << tol_
             << exit(FatalError);
     }
 }
diff --git a/src/meshTools/sets/faceSources/patchToFace/patchToFace.C b/src/meshTools/sets/faceSources/patchToFace/patchToFace.C
index 4dec4263038..e4c36cbc28d 100644
--- a/src/meshTools/sets/faceSources/patchToFace/patchToFace.C
+++ b/src/meshTools/sets/faceSources/patchToFace/patchToFace.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -83,7 +83,7 @@ void Foam::patchToFace::combine(topoSet& set, const bool add) const
 
     if (patchIDs.empty())
     {
-        WarningIn("patchToFace::combine(topoSet&, const bool)")
+        WarningInFunction
             << "Cannot find any patch named " << patchName_ << endl
             << "Valid names are " << mesh_.boundaryMesh().names() << endl;
     }
diff --git a/src/meshTools/sets/faceSources/zoneToFace/zoneToFace.C b/src/meshTools/sets/faceSources/zoneToFace/zoneToFace.C
index 34704105fab..fa29739e75f 100644
--- a/src/meshTools/sets/faceSources/zoneToFace/zoneToFace.C
+++ b/src/meshTools/sets/faceSources/zoneToFace/zoneToFace.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -83,7 +83,7 @@ void Foam::zoneToFace::combine(topoSet& set, const bool add) const
 
     if (!hasMatched)
     {
-        WarningIn("zoneToFace::combine(topoSet&, const bool)")
+        WarningInFunction
             << "Cannot find any faceZone named " << zoneName_ << endl
             << "Valid names are " << mesh_.faceZones().names() << endl;
     }
diff --git a/src/meshTools/sets/faceZoneSources/faceZoneToFaceZone/faceZoneToFaceZone.C b/src/meshTools/sets/faceZoneSources/faceZoneToFaceZone/faceZoneToFaceZone.C
index dd0c9d425ab..e3f36bb25c1 100644
--- a/src/meshTools/sets/faceZoneSources/faceZoneToFaceZone/faceZoneToFaceZone.C
+++ b/src/meshTools/sets/faceZoneSources/faceZoneToFaceZone/faceZoneToFaceZone.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -105,11 +105,8 @@ void Foam::faceZoneToFaceZone::applyToSet
 {
     if (!isA<faceZoneSet>(set))
     {
-        WarningIn
-        (
-            "faceZoneToFaceZone::applyToSet(const topoSetSource::setAction"
-            ", topoSet"
-        )   << "Operation only allowed on a faceZoneSet." << endl;
+        WarningInFunction
+            << "Operation only allowed on a faceZoneSet." << endl;
     }
     else
     {
diff --git a/src/meshTools/sets/faceZoneSources/searchableSurfaceToFaceZone/searchableSurfaceToFaceZone.C b/src/meshTools/sets/faceZoneSources/searchableSurfaceToFaceZone/searchableSurfaceToFaceZone.C
index c9ce92f25b0..1015de9bd6b 100644
--- a/src/meshTools/sets/faceZoneSources/searchableSurfaceToFaceZone/searchableSurfaceToFaceZone.C
+++ b/src/meshTools/sets/faceZoneSources/searchableSurfaceToFaceZone/searchableSurfaceToFaceZone.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -101,12 +101,8 @@ void Foam::searchableSurfaceToFaceZone::applyToSet
 {
     if (!isA<faceZoneSet>(set))
     {
-        WarningIn
-        (
-            "searchableSurfaceToFaceZone::applyToSet"
-            "(const topoSetSource::setAction"
-            ", topoSet"
-        )   << "Operation only allowed on a faceZoneSet." << endl;
+        WarningInFunction
+            << "Operation only allowed on a faceZoneSet." << endl;
     }
     else
     {
diff --git a/src/meshTools/sets/faceZoneSources/setAndNormalToFaceZone/setAndNormalToFaceZone.C b/src/meshTools/sets/faceZoneSources/setAndNormalToFaceZone/setAndNormalToFaceZone.C
index e94a2bf6d0f..2f1ed95d793 100644
--- a/src/meshTools/sets/faceZoneSources/setAndNormalToFaceZone/setAndNormalToFaceZone.C
+++ b/src/meshTools/sets/faceZoneSources/setAndNormalToFaceZone/setAndNormalToFaceZone.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -106,14 +106,8 @@ void Foam::setAndNormalToFaceZone::applyToSet
 {
     if (!isA<faceZoneSet>(set))
     {
-        WarningIn
-        (
-            "setAndNormalToFaceZone::applyToSet"
-            "("
-                "const topoSetSource::setAction, "
-                "topoSet&"
-            ")"
-        )   << "Operation only allowed on a faceZoneSet." << endl;
+        WarningInFunction
+            << "Operation only allowed on a faceZoneSet." << endl;
     }
     else
     {
diff --git a/src/meshTools/sets/faceZoneSources/setToFaceZone/setToFaceZone.C b/src/meshTools/sets/faceZoneSources/setToFaceZone/setToFaceZone.C
index add3a1dbae0..fc32253f96f 100644
--- a/src/meshTools/sets/faceZoneSources/setToFaceZone/setToFaceZone.C
+++ b/src/meshTools/sets/faceZoneSources/setToFaceZone/setToFaceZone.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -106,11 +106,8 @@ void Foam::setToFaceZone::applyToSet
 {
     if (!isA<faceZoneSet>(set))
     {
-        WarningIn
-        (
-            "setToFaceZone::applyToSet(const topoSetSource::setAction"
-            ", topoSet"
-        )   << "Operation only allowed on a faceZoneSet." << endl;
+        WarningInFunction
+            << "Operation only allowed on a faceZoneSet." << endl;
     }
     else
     {
diff --git a/src/meshTools/sets/faceZoneSources/setsToFaceZone/setsToFaceZone.C b/src/meshTools/sets/faceZoneSources/setsToFaceZone/setsToFaceZone.C
index d4699870a47..91bb90e39b4 100644
--- a/src/meshTools/sets/faceZoneSources/setsToFaceZone/setsToFaceZone.C
+++ b/src/meshTools/sets/faceZoneSources/setsToFaceZone/setsToFaceZone.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -111,11 +111,8 @@ void Foam::setsToFaceZone::applyToSet
 {
     if (!isA<faceZoneSet>(set))
     {
-        WarningIn
-        (
-            "setsToFaceZone::applyToSet(const topoSetSource::setAction"
-            ", topoSet"
-        )   << "Operation only allowed on a faceZoneSet." << endl;
+        WarningInFunction
+            << "Operation only allowed on a faceZoneSet." << endl;
     }
     else
     {
@@ -160,11 +157,8 @@ void Foam::setsToFaceZone::applyToSet
                         }
                         else
                         {
-                            WarningIn
-                            (
-                                "setsToFaceZone::applyToSet"
-                                "(const topoSetSource::setAction, topoSet)"
-                            )   << "One of owner or neighbour of internal face "
+                            WarningInFunction
+                                << "One of owner or neighbour of internal face "
                                 << faceI << " should be in cellSet "
                                 << cSet.name()
                                 << " to be able to determine orientation."
diff --git a/src/meshTools/sets/pointSources/surfaceToPoint/surfaceToPoint.C b/src/meshTools/sets/pointSources/surfaceToPoint/surfaceToPoint.C
index c7bd9743b27..7f0d0ed9f91 100644
--- a/src/meshTools/sets/pointSources/surfaceToPoint/surfaceToPoint.C
+++ b/src/meshTools/sets/pointSources/surfaceToPoint/surfaceToPoint.C
@@ -108,7 +108,7 @@ void Foam::surfaceToPoint::checkSettings() const
 {
     if (nearDist_ < 0 && !includeInside_ && !includeOutside_)
     {
-        FatalErrorIn("surfaceToPoint:checkSettings()")
+        FatalErrorInFunction
             << "Illegal point selection specification."
             << " Result would be either all or no points." << endl
             << "Please set one of includeInside or includeOutside"
diff --git a/src/meshTools/sets/pointSources/zoneToPoint/zoneToPoint.C b/src/meshTools/sets/pointSources/zoneToPoint/zoneToPoint.C
index bce531f8e5c..8e9f6209739 100644
--- a/src/meshTools/sets/pointSources/zoneToPoint/zoneToPoint.C
+++ b/src/meshTools/sets/pointSources/zoneToPoint/zoneToPoint.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -83,7 +83,7 @@ void Foam::zoneToPoint::combine(topoSet& set, const bool add) const
 
     if (!hasMatched)
     {
-        WarningIn("zoneToPoint::combine(topoSet&, const bool)")
+        WarningInFunction
             << "Cannot find any pointZone named " << zoneName_ << endl
             << "Valid names are " << mesh_.pointZones().names() << endl;
     }
diff --git a/src/meshTools/sets/pointZoneSources/setToPointZone/setToPointZone.C b/src/meshTools/sets/pointZoneSources/setToPointZone/setToPointZone.C
index 27d5209c46b..dd6316d01ad 100644
--- a/src/meshTools/sets/pointZoneSources/setToPointZone/setToPointZone.C
+++ b/src/meshTools/sets/pointZoneSources/setToPointZone/setToPointZone.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -105,11 +105,8 @@ void Foam::setToPointZone::applyToSet
 {
     if (!isA<pointZoneSet>(set))
     {
-        WarningIn
-        (
-            "setToPointZone::applyToSet(const topoSetSource::setAction"
-            ", topoSet"
-        )   << "Operation only allowed on a pointZoneSet." << endl;
+        WarningInFunction
+            << "Operation only allowed on a pointZoneSet." << endl;
     }
     else
     {
diff --git a/src/meshTools/sets/topoSetSource/topoSetSource.C b/src/meshTools/sets/topoSetSource/topoSetSource.C
index 809fbac46d2..25fce98506d 100644
--- a/src/meshTools/sets/topoSetSource/topoSetSource.C
+++ b/src/meshTools/sets/topoSetSource/topoSetSource.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -82,11 +82,8 @@ Foam::autoPtr<Foam::topoSetSource> Foam::topoSetSource::New
 
     if (cstrIter == wordConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "topoSetSource::New(const word&, "
-            "const polyMesh&, const dictionary&)"
-        )   << "Unknown topoSetSource type " << topoSetSourceType
+        FatalErrorInFunction
+            << "Unknown topoSetSource type " << topoSetSourceType
             << endl << endl
             << "Valid topoSetSource types : " << endl
             << wordConstructorTablePtr_->sortedToc()
@@ -109,11 +106,8 @@ Foam::autoPtr<Foam::topoSetSource> Foam::topoSetSource::New
 
     if (cstrIter == istreamConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "topoSetSource::New(const word&, "
-            "const polyMesh&, Istream&)"
-        )   << "Unknown topoSetSource type " << topoSetSourceType
+        FatalErrorInFunction
+            << "Unknown topoSetSource type " << topoSetSourceType
             << endl << endl
             << "Valid topoSetSource types : " << endl
             << istreamConstructorTablePtr_->sortedToc()
@@ -132,7 +126,7 @@ Foam::Istream& Foam::topoSetSource::checkIs(Istream& is)
     }
     else
     {
-        FatalErrorIn("cellToFace::cellToFace") << "Istream not good"
+        FatalErrorInFunction
             << exit(FatalError);
 
         return is;
diff --git a/src/meshTools/sets/topoSets/faceSet.C b/src/meshTools/sets/topoSets/faceSet.C
index ea1e32e6cf7..08dd1360d71 100644
--- a/src/meshTools/sets/topoSets/faceSet.C
+++ b/src/meshTools/sets/topoSets/faceSet.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -133,7 +133,7 @@ void faceSet::sync(const polyMesh& mesh)
         }
         else if (found(faceI))
         {
-            FatalErrorIn("faceSet::sync(const polyMesh&)")
+            FatalErrorInFunction
                 << "Problem : syncing removed faces from set."
                 << abort(FatalError);
         }
diff --git a/src/meshTools/sets/topoSets/faceZoneSet.C b/src/meshTools/sets/topoSets/faceZoneSet.C
index 5b4849c1eff..0467956ef77 100644
--- a/src/meshTools/sets/topoSets/faceZoneSet.C
+++ b/src/meshTools/sets/topoSets/faceZoneSet.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -206,7 +206,7 @@ void faceZoneSet::subset(const topoSet& set)
 
     if (nConflict > 0)
     {
-        WarningIn(" faceZoneSet::subset(const topoSet&)")
+        WarningInFunction
             << "subset : there are " << nConflict
             << " faces with different orientation in faceZonesSets "
             << name() << " and " << set.name() << endl;
@@ -257,7 +257,7 @@ void faceZoneSet::addSet(const topoSet& set)
 
     if (nConflict > 0)
     {
-        WarningIn("faceZoneSet::addSet(const topoSet&)")
+        WarningInFunction
             << "addSet : there are " << nConflict
             << " faces with different orientation in faceZonesSets "
             << name() << " and " << set.name() << endl;
@@ -309,7 +309,7 @@ void faceZoneSet::deleteSet(const topoSet& set)
 
     if (nConflict > 0)
     {
-        WarningIn("faceZoneSet::deleteSet(const topoSet&)")
+        WarningInFunction
             << "deleteSet : there are " << nConflict
             << " faces with different orientation in faceZonesSets "
             << name() << " and " << set.name() << endl;
diff --git a/src/meshTools/sets/topoSets/topoSet.C b/src/meshTools/sets/topoSets/topoSet.C
index 48f96eea007..ee6fe930e26 100644
--- a/src/meshTools/sets/topoSets/topoSet.C
+++ b/src/meshTools/sets/topoSets/topoSet.C
@@ -56,11 +56,8 @@ Foam::autoPtr<Foam::topoSet> Foam::topoSet::New
 
     if (cstrIter == wordConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "topoSet::New(const word&, "
-            "const polyMesh&, const word&, readOption, writeOption)"
-        )   << "Unknown set type " << setType
+        FatalErrorInFunction
+            << "Unknown set type " << setType
             << endl << endl
             << "Valid set types : " << endl
             << wordConstructorTablePtr_->sortedToc()
@@ -85,11 +82,8 @@ Foam::autoPtr<Foam::topoSet> Foam::topoSet::New
 
     if (cstrIter == sizeConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "topoSet::New(const word&, "
-            "const polyMesh&, const word&, const label, writeOption)"
-        )   << "Unknown set type " << setType
+        FatalErrorInFunction
+            << "Unknown set type " << setType
             << endl << endl
             << "Valid set types : " << endl
             << sizeConstructorTablePtr_->sortedToc()
@@ -114,11 +108,8 @@ Foam::autoPtr<Foam::topoSet> Foam::topoSet::New
 
     if (cstrIter == setConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "topoSet::New(const word&, "
-            "const polyMesh&, const word&, const topoSet&, writeOption)"
-        )   << "Unknown set type " << setType
+        FatalErrorInFunction
+            << "Unknown set type " << setType
             << endl << endl
             << "Valid set types : " << endl
             << setConstructorTablePtr_->sortedToc()
@@ -152,10 +143,8 @@ void Foam::topoSet::updateLabels(const labelList& map)
     {
         if ((iter.key() < 0) || (iter.key() > map.size()))
         {
-            FatalErrorIn
-            (
-                "topoSet::updateLabels(const labelList&, labelHashSet)"
-            )   << "Illegal content " << iter.key() << " of set:" << name()
+            FatalErrorInFunction
+                << "Illegal content " << iter.key() << " of set:" << name()
                 << " of type " << type() << endl
                 << "Value should be between 0 and " << map.size()-1
                 << abort(FatalError);
@@ -197,7 +186,7 @@ void Foam::topoSet::check(const label maxLabel)
     {
         if ((iter.key() < 0) || (iter.key() > maxLabel))
         {
-            FatalErrorIn("topoSet::check(const label)")
+            FatalErrorInFunction
                 << "Illegal content " << iter.key() << " of set:" << name()
                 << " of type " << type() << endl
                 << "Value should be between 0 and " << maxLabel
diff --git a/src/meshTools/triSurface/booleanOps/booleanSurface/booleanSurface.C b/src/meshTools/triSurface/booleanOps/booleanSurface/booleanSurface.C
index 3d66eb6b8b0..1e60d1cd27e 100644
--- a/src/meshTools/triSurface/booleanOps/booleanSurface/booleanSurface.C
+++ b/src/meshTools/triSurface/booleanOps/booleanSurface/booleanSurface.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -70,11 +70,8 @@ void Foam::booleanSurface::checkIncluded
 
         if (!usesIncluded)
         {
-            FatalErrorIn
-            (
-                "booleanSurface::checkIncluded(const intersectedSurface&"
-                ", const labelList&, const label)"
-            )   << "None of the faces reachable from face " << includedFace
+            FatalErrorInFunction
+                << "None of the faces reachable from face " << includedFace
                 << " connects to the intersection."
                 << exit(FatalError);
         }
@@ -114,11 +111,8 @@ Foam::label Foam::booleanSurface::findEdge
             return edgeLabels[edgeLabelI];
         }
     }
-    FatalErrorIn
-    (
-        "booleanSurface::findEdge(const edgeList&, const labelList&"
-        ", const edge&)"
-    )   << "Cannot find edge " << e << " in edges " << edgeLabels
+    FatalErrorInFunction
+        << "Cannot find edge " << e << " in edges " << edgeLabels
         << abort(FatalError);
 
     return -1;
@@ -213,12 +207,8 @@ void Foam::booleanSurface::propagateEdgeSide
 
     if (((eFaces.size() % 2) == 1) && (eFaces.size() != 1))
     {
-        FatalErrorIn
-        (
-            "booleanSurface::propagateEdgeSide(const triSurface&,"
-            "const label, const label, const label, const label,"
-            " labelList&)"
-        )   << "Don't know how to handle edges with odd number of faces"
+        FatalErrorInFunction
+            << "Don't know how to handle edges with odd number of faces"
             << endl
             << "edge:" << edgeI << " vertices:" << surf.edges()[edgeI]
             << " coming from face:" << prevFaceI
@@ -447,11 +437,8 @@ Foam::booleanSurface::booleanSurface
 
     if (cutSurf1FaceI == -1)
     {
-        FatalErrorIn
-        (
-           "booleanSurface(const triSurfaceSearch&"
-            ", const label, const triSurfaceSearch&, const label)"
-        )   << "Did not find face with label " << includeFace1
+        FatalErrorInFunction
+            << "Did not find face with label " << includeFace1
             << " in intersectedSurface."
             << exit(FatalError);
     }
@@ -466,11 +453,8 @@ Foam::booleanSurface::booleanSurface
     }
     if (cutSurf2FaceI == -1)
     {
-        FatalErrorIn
-        (
-           "booleanSurface(const triSurfaceSearch&"
-            ", const label, const triSurfaceSearch&, const label)"
-        )   << "Did not find face with label " << includeFace2
+        FatalErrorInFunction
+            << "Did not find face with label " << includeFace2
             << " in intersectedSurface."
             << exit(FatalError);
     }
@@ -727,7 +711,7 @@ Foam::booleanSurface::booleanSurface
 
                 if (eFaces.size() == 1)
                 {
-                    WarningIn("booleanSurface::booleanSurface")
+                    WarningInFunction
                         << "surf1 is open surface at edge " << edgeI
                         << " verts:" << surf1.edges()[edgeI]
                         << " connected to faces " << eFaces << endl;
@@ -743,7 +727,7 @@ Foam::booleanSurface::booleanSurface
 
                 if (eFaces.size() == 1)
                 {
-                    WarningIn("booleanSurface::booleanSurface")
+                    WarningInFunction
                         << "surf2 is open surface at edge " << edgeI
                         << " verts:" << surf2.edges()[edgeI]
                         << " connected to faces " << eFaces << endl;
@@ -1001,12 +985,8 @@ Foam::booleanSurface::booleanSurface
     {
         if (side[faceI] == UNVISITED)
         {
-            FatalErrorIn
-            (
-                "booleanSurface::booleanSurface"
-                "(const triSurfaceSearch&, const triSurfaceSearch&"
-                ", const label booleanOp)"
-            )   << "Face " << faceI << " has not been reached by walking from"
+            FatalErrorInFunction
+                << "Face " << faceI << " has not been reached by walking from"
                 << " nearest point " << minHit.rawPoint()
                 << " nearest face " << minFaceI << exit(FatalError);
         }
diff --git a/src/meshTools/triSurface/booleanOps/booleanSurface/booleanSurface.H b/src/meshTools/triSurface/booleanOps/booleanSurface/booleanSurface.H
index 4cb538f5cdc..76651191cea 100644
--- a/src/meshTools/triSurface/booleanOps/booleanSurface/booleanSurface.H
+++ b/src/meshTools/triSurface/booleanOps/booleanSurface/booleanSurface.H
@@ -218,7 +218,7 @@ public:
         {
             if (!from1(faceI))
             {
-                FatalErrorIn("booleanSurface::surf1Face(const label)")
+                FatalErrorInFunction
                     << "face " << faceI << " not from surface 1"
                     << abort(FatalError);
             }
@@ -229,7 +229,7 @@ public:
         {
             if (from1(faceI))
             {
-                FatalErrorIn("booleanSurface::surf2Face(const label)")
+                FatalErrorInFunction
                     << "face " << faceI << " not from surface 2"
                     << abort(FatalError);
             }
diff --git a/src/meshTools/triSurface/booleanOps/intersectedSurface/edgeSurface.H b/src/meshTools/triSurface/booleanOps/intersectedSurface/edgeSurface.H
index 3916f352d89..720e99c3d31 100644
--- a/src/meshTools/triSurface/booleanOps/intersectedSurface/edgeSurface.H
+++ b/src/meshTools/triSurface/booleanOps/intersectedSurface/edgeSurface.H
@@ -170,10 +170,8 @@ public:
                 }
                 else
                 {
-                    FatalErrorIn
-                    (
-                        "edgeSurface::parentEdge(const label edgeI) const"
-                    )   << "Trying to get parent (i.e. surface) edge for"
+                    FatalErrorInFunction
+                        << "Trying to get parent (i.e. surface) edge for"
                         << " intersection edge " << edgeI
                         << abort(FatalError);
                     return -1;
diff --git a/src/meshTools/triSurface/booleanOps/intersectedSurface/intersectedSurface.C b/src/meshTools/triSurface/booleanOps/intersectedSurface/intersectedSurface.C
index 7cffb1309a7..70f548ad006 100644
--- a/src/meshTools/triSurface/booleanOps/intersectedSurface/intersectedSurface.C
+++ b/src/meshTools/triSurface/booleanOps/intersectedSurface/intersectedSurface.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -242,7 +242,7 @@ bool Foam::intersectedSurface::sameEdgeOrder
             }
             else
             {
-                FatalErrorIn("intersectedSurface::sameEdgeOrder")
+                FatalErrorInFunction
                     << "Triangle:" << fA << " and triangle:" << fB
                     << " share a point but not an edge"
                     << abort(FatalError);
@@ -250,7 +250,7 @@ bool Foam::intersectedSurface::sameEdgeOrder
         }
     }
 
-    FatalErrorIn("intersectedSurface::sameEdgeOrder")
+    FatalErrorInFunction
         << "Triangle:" << fA << " and triangle:" << fB
         << " do not share an edge"
         << abort(FatalError);
@@ -341,11 +341,8 @@ Foam::intersectedSurface::calcPointEdgeAddressing
         // Check on dangling points.
         if (iter().empty())
         {
-            FatalErrorIn
-            (
-                "intersectedSurface::calcPointEdgeAddressing"
-                "(const edgeSurface&, const label)"
-            )   << "Point:" << iter.key() << " used by too few edges:"
+            FatalErrorInFunction
+                << "Point:" << iter.key() << " used by too few edges:"
                 << iter() << abort(FatalError);
         }
     }
@@ -411,12 +408,8 @@ Foam::label Foam::intersectedSurface::nextEdge
             writeLocalOBJ(points, edges, connectedEdges, "faceEdges.obj");
         }
 
-        FatalErrorIn
-        (
-            "intersectedSurface::nextEdge(const pointField&, const edgeList&"
-            ", const vector&, Map<DynamicList<label> >, const label"
-            ", const label)"
-        )   << "Problem: prevVertI:" << prevVertI << " on edge " << prevEdgeI
+        FatalErrorInFunction
+            << "Problem: prevVertI:" << prevVertI << " on edge " << prevEdgeI
             << " has less than 2 connected edges."
             << " connectedEdges:" << connectedEdges << abort(FatalError);
 
@@ -471,7 +464,7 @@ Foam::label Foam::intersectedSurface::nextEdge
             writeLocalOBJ(points, edges, connectedEdges, "faceEdges.obj");
         }
 
-        FatalErrorIn("intersectedSurface::nextEdge")
+        FatalErrorInFunction
             << "Unnormalized normal e1:" << e1
             << " formed from cross product of e0:" << e0 << " n:" << n
             << abort(FatalError);
@@ -539,13 +532,8 @@ Foam::label Foam::intersectedSurface::nextEdge
             writeLocalOBJ(points, edges, connectedEdges, "faceEdges.obj");
         }
 
-        FatalErrorIn
-        (
-            "intersectedSurface::nextEdge(const pointField&, const edgeList&"
-            ", const Map<label>&, const vector&"
-            ", const Map<DynamicList<label> >&"
-            ", const label, const label"
-        )   << "Trying to step from edge " << edges[prevEdgeI]
+        FatalErrorInFunction
+            << "Trying to step from edge " << edges[prevEdgeI]
             << ", vertex " << prevVertI
             << " but cannot find 'unvisited' edges among candidates:"
             << connectedEdges
@@ -687,12 +675,12 @@ void Foam::intersectedSurface::findNearestVisited
     {
         const labelList& fEdges = eSurf.faceEdges()[faceI];
 
-        SeriousErrorIn("intersectedSurface::findNearestVisited")
+        SeriousErrorInFunction
             << "Dumping face edges to faceEdges.obj" << endl;
 
         writeLocalOBJ(eSurf.points(), eSurf.edges(), fEdges, "faceEdges.obj");
 
-        FatalErrorIn("intersectedSurface::findNearestVisited")
+        FatalErrorInFunction
             << "No fully visited edge found for pt " << pt
             << abort(FatalError);
     }
@@ -1069,12 +1057,12 @@ Foam::faceList Foam::intersectedSurface::splitFace
 
         if (eSurf.isSurfaceEdge(edgeI) && stat != BOTH)
         {
-            SeriousErrorIn("Foam::intersectedSurface::splitFace")
+            SeriousErrorInFunction
                 << "Dumping face edges to faceEdges.obj" << endl;
 
             writeLocalOBJ(points, edges, fEdges, "faceEdges.obj");
 
-            FatalErrorIn("intersectedSurface::splitFace")
+            FatalErrorInFunction
                << "Problem: edge " << edgeI << " vertices "
                 << edges[edgeI] << " on face " << faceI
                 << " has visited status " << stat << " from a "
@@ -1261,10 +1249,8 @@ Foam::intersectedSurface::intersectedSurface
                     {
                         if (t[i] < 0 || t[i] >= eSurf.points().size())
                         {
-                            FatalErrorIn
-                            (
-                                "intersectedSurface::intersectedSurface"
-                            )   << "Face triangulation of face " << faceI
+                            FatalErrorInFunction
+                                << "Face triangulation of face " << faceI
                                 << " uses points outside range 0.."
                                 << eSurf.points().size()-1 << endl
                                 << "Triangulation:"
@@ -1359,7 +1345,7 @@ Foam::intersectedSurface::intersectedSurface
         }
         else
         {
-            FatalErrorIn("intersectedSurface::intersectedSurface")
+            FatalErrorInFunction
                 << "Cannot find edge among candidates " << pEdges
                 << " which uses points " << surfStartI
                 << " and " << surfEndI
diff --git a/src/meshTools/triSurface/booleanOps/surfaceIntersection/edgeIntersections.C b/src/meshTools/triSurface/booleanOps/surfaceIntersection/edgeIntersections.C
index c8167fb22d8..3685fdd5975 100644
--- a/src/meshTools/triSurface/booleanOps/surfaceIntersection/edgeIntersections.C
+++ b/src/meshTools/triSurface/booleanOps/surfaceIntersection/edgeIntersections.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -68,10 +68,8 @@ void Foam::edgeIntersections::checkEdges(const triSurface& surf)
 
         if (eMag < minSize)
         {
-            WarningIn
-            (
-                "Foam::edgeIntersections::checkEdges(const triSurface& surf)"
-            )   << "Edge " << edgeI << " vertices " << e
+            WarningInFunction
+                << "Edge " << edgeI << " vertices " << e
                 << " coords:" << localPoints[e[0]] << ' '
                 << localPoints[e[1]] << " is very small compared to bounding"
                 << " box dimensions " << bb << endl
@@ -81,10 +79,8 @@ void Foam::edgeIntersections::checkEdges(const triSurface& surf)
 
         if (edgeFaces[edgeI].size() == 1)
         {
-            WarningIn
-            (
-                "Foam::edgeIntersections::checkEdges(const triSurface& surf)"
-            )   << "Edge " << edgeI << " vertices " << e
+            WarningInFunction
+                << "Edge " << edgeI << " vertices " << e
                 << " coords:" << localPoints[e[0]] << ' '
                 << localPoints[e[1]] << " has only one face connected to it:"
                 << edgeFaces[edgeI] << endl
@@ -682,7 +678,7 @@ Foam::label Foam::edgeIntersections::removeDegenerates
 
         if (edgesToTest.empty())
         {
-            FatalErrorIn("perturb") << "oops" << abort(FatalError);
+            FatalErrorInFunction << "oops" << abort(FatalError);
         }
 
         // Re intersect moved edges.
diff --git a/src/meshTools/triSurface/booleanOps/surfaceIntersection/surfaceIntersection.C b/src/meshTools/triSurface/booleanOps/surfaceIntersection/surfaceIntersection.C
index 0ede58107cb..9a9f88b6c8e 100644
--- a/src/meshTools/triSurface/booleanOps/surfaceIntersection/surfaceIntersection.C
+++ b/src/meshTools/triSurface/booleanOps/surfaceIntersection/surfaceIntersection.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -184,7 +184,7 @@ bool Foam::surfaceIntersection::excludeEdgeHit
 //        }
 //    }
 //
-//    FatalErrorIn("surfaceIntersection::borderEdgeIntersection")
+//    FatalErrorInFunction
 //        << "Did not find intersection of plane " << pl
 //        << " with edges of face " << hitFaceI << " verts:" << f
 //        << abort(FatalError);
@@ -239,13 +239,8 @@ void Foam::surfaceIntersection::storeIntersection
 
             if (mag(prevHit - thisHit) < SMALL)
             {
-                WarningIn
-                (
-                    "Foam::surfaceIntersection::storeIntersection"
-                    "(const bool isFirstSurf, const labelList& facesA,"
-                    "const label faceB, DynamicList<edge>& allCutEdges,"
-                    "DynamicList<point>& allCutPoints)"
-                )   << "Encountered degenerate edge between face "
+                WarningInFunction
+                    << "Encountered degenerate edge between face "
                     << twoFaces[0] << " on first surface"
                     << " and face " << twoFaces[1] << " on second surface"
                     << endl
@@ -968,7 +963,7 @@ Foam::surfaceIntersection::surfaceIntersection
 
             if (!usedPoints.found(pointI))
             {
-                WarningIn("surfaceIntersection::surfaceIntersection")
+                WarningInFunction
                     << "Problem: cut point:" << pointI
                     << " coord:" << cutPoints_[pointI]
                     << " not used by any edge" << endl;
diff --git a/src/meshTools/triSurface/booleanOps/surfaceIntersection/surfaceIntersectionFuncs.C b/src/meshTools/triSurface/booleanOps/surfaceIntersection/surfaceIntersectionFuncs.C
index 2ef3fec0bca..753eeec3558 100644
--- a/src/meshTools/triSurface/booleanOps/surfaceIntersection/surfaceIntersectionFuncs.C
+++ b/src/meshTools/triSurface/booleanOps/surfaceIntersection/surfaceIntersectionFuncs.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -104,11 +104,8 @@ Foam::label Foam::surfaceIntersection::getEdge
         }
     }
 
-    FatalErrorIn
-    (
-        "surfaceIntersection::getEdge(const triSurface&"
-        ", const label, const label"
-    )   << "Problem:: Cannot find edge with vertices " << faceEdge
+    FatalErrorInFunction
+        << "Problem:: Cannot find edge with vertices " << faceEdge
         << " in face " << faceI
         << abort(FatalError);
 
diff --git a/src/meshTools/triSurface/orientedSurface/orientedSurface.C b/src/meshTools/triSurface/orientedSurface/orientedSurface.C
index 0466343eb53..05ad8dc7688 100644
--- a/src/meshTools/triSurface/orientedSurface/orientedSurface.C
+++ b/src/meshTools/triSurface/orientedSurface/orientedSurface.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -106,7 +106,7 @@ Foam::labelList Foam::orientedSurface::edgeToFace
             {
                 if (flip[face1] == UNVISITED)
                 {
-                    FatalErrorIn("orientedSurface::edgeToFace(..)") << "Problem"
+                    FatalErrorInFunction
                         << abort(FatalError);
                 }
                 else
@@ -330,10 +330,8 @@ bool Foam::orientedSurface::flipSurface
     {
         if (flipState[faceI] == UNVISITED)
         {
-            FatalErrorIn
-            (
-                "orientSurface(const point&, const label, const point&)"
-            )   << "unvisited face " << faceI
+            FatalErrorInFunction
+                << "unvisited face " << faceI
                 << abort(FatalError);
         }
         else if (flipState[faceI] == FLIP)
diff --git a/src/meshTools/triSurface/surfaceFeatures/surfaceFeatures.C b/src/meshTools/triSurface/surfaceFeatures/surfaceFeatures.C
index 3d89e50aeef..8212899215a 100644
--- a/src/meshTools/triSurface/surfaceFeatures/surfaceFeatures.C
+++ b/src/meshTools/triSurface/surfaceFeatures/surfaceFeatures.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -949,7 +949,7 @@ Foam::Map<Foam::label> Foam::surfaceFeatures::nearestSamples
 
         if (!info.hit())
         {
-            FatalErrorIn("surfaceFeatures::nearestSamples")
+            FatalErrorInFunction
                 << "Problem for point "
                 << surfPointI << " in tree " << ppTree.bb()
                 << abort(FatalError);
@@ -1484,19 +1484,15 @@ void Foam::surfaceFeatures::operator=(const surfaceFeatures& rhs)
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn
-        (
-            "Foam::surfaceFeatures::operator=(const Foam::surfaceFeatures&)"
-        )   << "Attempted assignment to self"
+        FatalErrorInFunction
+            << "Attempted assignment to self"
             << abort(FatalError);
     }
 
     if (&surf_ != &rhs.surface())
     {
-        FatalErrorIn
-        (
-            "Foam::surfaceFeatures::operator=(const Foam::surfaceFeatures&)"
-        )   << "Operating on different surfaces"
+        FatalErrorInFunction
+            << "Operating on different surfaces"
             << abort(FatalError);
     }
 
diff --git a/src/meshTools/triSurface/triSurfaceSearch/triSurfaceRegionSearch.C b/src/meshTools/triSurface/triSurfaceSearch/triSurfaceRegionSearch.C
index 34dc89f920b..4a5cf4039b4 100644
--- a/src/meshTools/triSurface/triSurfaceSearch/triSurfaceRegionSearch.C
+++ b/src/meshTools/triSurface/triSurfaceSearch/triSurfaceRegionSearch.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -135,7 +135,7 @@ Foam::triSurfaceRegionSearch::treeByRegion() const
 
     //            if (nPoints != surface().points().size())
     //            {
-    //                WarningIn("triSurfaceRegionSearch::treeByRegion() const")
+    //                WarningInFunction
     //                    << "Surface does not have compact point numbering. "
     //                    << "Of " << surface().points().size()
     //                    << " only " << nPoints
diff --git a/src/meshTools/triSurface/triSurfaceSearch/triSurfaceSearch.C b/src/meshTools/triSurface/triSurfaceSearch/triSurfaceSearch.C
index 5d78faff69f..fc8d29ecd7f 100644
--- a/src/meshTools/triSurface/triSurfaceSearch/triSurfaceSearch.C
+++ b/src/meshTools/triSurface/triSurfaceSearch/triSurfaceSearch.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -209,7 +209,7 @@ Foam::triSurfaceSearch::tree() const
 
             if (nPoints != surface().points().size())
             {
-                WarningIn("triSurfaceSearch::tree() const")
+                WarningInFunction
                     << "Surface does not have compact point numbering."
                     << " Of " << surface().points().size()
                     << " only " << nPoints
diff --git a/src/meshTools/triSurface/triSurfaceTools/pointToPointPlanarInterpolation.C b/src/meshTools/triSurface/triSurfaceTools/pointToPointPlanarInterpolation.C
index 5d69ba1f17c..3810acc2210 100644
--- a/src/meshTools/triSurface/triSurfaceTools/pointToPointPlanarInterpolation.C
+++ b/src/meshTools/triSurface/triSurfaceTools/pointToPointPlanarInterpolation.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -51,11 +51,8 @@ Foam::pointToPointPlanarInterpolation::calcCoordinateSystem
 {
     if (points.size() < 3)
     {
-        FatalErrorIn
-        (
-            "pointToPointPlanarInterpolation::calcCoordinateSystem"
-            "(const pointField&)"
-        )   << "Only " << points.size() << " provided." << nl
+        FatalErrorInFunction
+            << "Only " << points.size() << " provided." << nl
             << "Need at least three non-colinear points"
             << " to be able to interpolate."
             << exit(FatalError);
@@ -103,11 +100,8 @@ Foam::pointToPointPlanarInterpolation::calcCoordinateSystem
     }
     if (index2 == -1)
     {
-        FatalErrorIn
-        (
-            "pointToPointPlanarInterpolation::calcCoordinateSystem"
-            "(const pointField&)"
-        )   << "Cannot find points that make valid normal." << nl
+        FatalErrorInFunction
+            << "Cannot find points that make valid normal." << nl
             << "Have so far points " << p0 << " and " << p1
             << "Need at least three points which are not in a line."
             << exit(FatalError);
@@ -154,7 +148,7 @@ void Foam::pointToPointPlanarInterpolation::calcWeights
 
         if (!fullMatch)
         {
-            FatalErrorIn("pointToPointPlanarInterpolation::calcWeights(..)")
+            FatalErrorInFunction
                 << "Did not find a corresponding sourcePoint for every face"
                 << " centre" << exit(FatalError);
         }
@@ -390,7 +384,7 @@ bool Foam::pointToPointPlanarInterpolation::findTime
 
     if (lo == -1)
     {
-        //FatalErrorIn("findTime(..)")
+        //FatalErrorInFunction
         //    << "Cannot find starting sampling values for current time "
         //    << timeVal << nl
         //    << "Have sampling values for times "
diff --git a/src/meshTools/triSurface/triSurfaceTools/pointToPointPlanarInterpolationTemplates.C b/src/meshTools/triSurface/triSurfaceTools/pointToPointPlanarInterpolationTemplates.C
index f17f249d13a..96c9481f5c4 100644
--- a/src/meshTools/triSurface/triSurfaceTools/pointToPointPlanarInterpolationTemplates.C
+++ b/src/meshTools/triSurface/triSurfaceTools/pointToPointPlanarInterpolationTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -35,11 +35,8 @@ Foam::tmp<Foam::Field<Type> > Foam::pointToPointPlanarInterpolation::interpolate
 {
     if (nPoints_ != sourceFld.size())
     {
-        FatalErrorIn
-        (
-            "pointToPointPlanarInterpolation::interpolate"
-            "(const Field<Type>&) const"
-        )   << "Number of source points = " << nPoints_
+        FatalErrorInFunction
+            << "Number of source points = " << nPoints_
             << " number of values = " << sourceFld.size()
             << exit(FatalError);
     }
diff --git a/src/meshTools/triSurface/triSurfaceTools/triSurfaceTools.C b/src/meshTools/triSurface/triSurfaceTools/triSurfaceTools.C
index 0f6d31c9986..441f6136e95 100644
--- a/src/meshTools/triSurface/triSurfaceTools/triSurfaceTools.C
+++ b/src/meshTools/triSurface/triSurfaceTools/triSurfaceTools.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -615,7 +615,7 @@ Foam::scalar Foam::triSurfaceTools::edgeCosAngle
         }
         else
         {
-            FatalErrorIn("edgeCosAngle")
+            FatalErrorInFunction
                 << "face " << faceI << " does not use vertex "
                 << v1 << " of collapsed edge" << abort(FatalError);
         }
@@ -887,7 +887,7 @@ Foam::surfaceLocation Foam::triSurfaceTools::cutEdge
 
         if (fp0 == -1)
         {
-            FatalErrorIn("cutEdge(..)") << "excludePointI:" << excludePointI
+            FatalErrorInFunction
                 << " localF:" << s.localFaces()[triI] << abort(FatalError);
         }
 
@@ -944,7 +944,7 @@ Foam::surfaceLocation Foam::triSurfaceTools::cutEdge
             {
                 if (interI >= 2)
                 {
-                    FatalErrorIn("cutEdge(..)")
+                    FatalErrorInFunction
                         << "problem : triangle has three intersections." << nl
                         << "triangle:" << f.tri(points)
                         << " d:" << d << abort(FatalError);
@@ -963,7 +963,7 @@ Foam::surfaceLocation Foam::triSurfaceTools::cutEdge
             {
                 if (interI >= 2)
                 {
-                    FatalErrorIn("cutEdge(..)")
+                    FatalErrorInFunction
                         << "problem : triangle has three intersections." << nl
                         << "triangle:" << f.tri(points)
                         << " d:" << d << abort(FatalError);
@@ -1210,7 +1210,7 @@ Foam::surfaceLocation Foam::triSurfaceTools::visitFaces
                 // If crossing an edge we expect next edge to be cut.
                 if (excludeEdgeI != -1 && !cutInfo.hit())
                 {
-                    FatalErrorIn("triSurfaceTools::visitFaces(..)")
+                    FatalErrorInFunction
                         << "Triangle:" << triI
                         << " excludeEdge:" << excludeEdgeI
                         << " point:" << start.rawPoint()
@@ -1469,12 +1469,8 @@ void Foam::triSurfaceTools::otherEdges
 
     if (i0 == -1)
     {
-        FatalErrorIn
-        (
-            "otherEdges"
-            "(const triSurface&, const label, const label,"
-            " label&, label&)"
-        )   << "Edge " << surf.edges()[edgeI] << " not in face "
+        FatalErrorInFunction
+            << "Edge " << surf.edges()[edgeI] << " not in face "
             << surf.localFaces()[faceI] << abort(FatalError);
     }
 
@@ -1515,12 +1511,8 @@ void Foam::triSurfaceTools::otherVertices
     }
     else
     {
-        FatalErrorIn
-        (
-            "otherVertices"
-            "(const triSurface&, const label, const label,"
-            " label&, label&)"
-        )   << "Vertex " << vertI << " not in face " << f << abort(FatalError);
+        FatalErrorInFunction
+            << "Vertex " << vertI << " not in face " << f << abort(FatalError);
     }
 }
 
@@ -1547,11 +1539,8 @@ Foam::label Foam::triSurfaceTools::oppositeEdge
         }
     }
 
-    FatalErrorIn
-    (
-        "oppositeEdge"
-        "(const triSurface&, const label, const label)"
-    )   << "Cannot find vertex " << vertI << " in edges of face " << faceI
+    FatalErrorInFunction
+        << "Cannot find vertex " << vertI << " in edges of face " << faceI
         << abort(FatalError);
 
     return -1;
@@ -1579,7 +1568,7 @@ Foam::label Foam::triSurfaceTools::oppositeVertex
         }
     }
 
-    FatalErrorIn("triSurfaceTools::oppositeVertex")
+    FatalErrorInFunction
         << "Cannot find vertex opposite edge " << edgeI << " vertices " << e
         << " in face " << faceI << " vertices " << f << abort(FatalError);
 
@@ -1622,12 +1611,8 @@ Foam::label Foam::triSurfaceTools::getTriangle
 {
     if ((e0I == e1I) || (e0I == e2I) || (e1I == e2I))
     {
-        FatalErrorIn
-        (
-            "getTriangle"
-            "(const triSurface&, const label, const label,"
-            " const label)"
-        )   << "Duplicate edge labels : e0:" << e0I << " e1:" << e1I
+        FatalErrorInFunction
+            << "Duplicate edge labels : e0:" << e0I << " e1:" << e1I
             << " e2:" << e2I
             << abort(FatalError);
     }
@@ -1693,7 +1678,7 @@ Foam::triSurface Foam::triSurfaceTools::collapseEdges
     //
     //    if ((neighbours.size() != 2) && (neighbours.size() != 1))
     //    {
-    //        FatalErrorIn("collapseEdges")
+    //        FatalErrorInFunction
     //            << abort(FatalError);
     //    }
     //
@@ -1747,7 +1732,7 @@ Foam::triSurface Foam::triSurfaceTools::collapseEdges
 
         if ((edgeI < 0) || (edgeI >= surf.nEdges()))
         {
-            FatalErrorIn("collapseEdges")
+            FatalErrorInFunction
                 << "Edge label outside valid range." << endl
                 << "edge label:" << edgeI << endl
                 << "total number of edges:" << surf.nEdges() << endl
@@ -1777,7 +1762,7 @@ Foam::triSurface Foam::triSurfaceTools::collapseEdges
                  || (pointMap[e.end()] != e.end())
                 )
                 {
-                    FatalErrorIn("collapseEdges")
+                    FatalErrorInFunction
                         << "points already mapped. Double collapse." << endl
                         << "edgeI:" << edgeI
                         << "  start:" << e.start()
@@ -2224,7 +2209,7 @@ Foam::triSurfaceTools::sideType Foam::triSurfaceTools::surfaceSide
 
         //     if (mag(c) < 0.99)
         //     {
-        //         FatalErrorIn("triSurfaceTools::surfaceSide")
+        //         FatalErrorInFunction
         //             << "nearestPoint identified as being on triangle face "
         //             << "but vector from nearestPoint to sample is not "
         //             << "perpendicular to the normal." << nl
@@ -2274,7 +2259,7 @@ Foam::triSurfaceTools::sideType Foam::triSurfaceTools::surfaceSide
         //     != edge(f[nearLabel], f[f.fcIndex(nearLabel)])
         //    )
         //    {
-        //        FatalErrorIn("triSurfaceTools::surfaceSide")
+        //        FatalErrorInFunction
         //            << "Edge:" << edgeI << " local vertices:" << e
         //            << " mesh vertices:" << meshEdge
         //            << " not at position " << nearLabel
@@ -2335,7 +2320,7 @@ Foam::triSurfaceTools::sideType Foam::triSurfaceTools::surfaceSide
 
         if (minEdgeI == -1)
         {
-            FatalErrorIn("treeDataTriSurface::getSide")
+            FatalErrorInFunction
                 << "Problem: did not find edge closer than " << minDistSqr
                 << abort(FatalError);
         }
@@ -2565,7 +2550,7 @@ Foam::triSurface Foam::triSurfaceTools::delaunay2D(const List<vector2D>& pts)
 
     if (err != 0)
     {
-        FatalErrorIn("triSurfaceTools::delaunay2D(const List<vector2D>&)")
+        FatalErrorInFunction
             << "Failed dtris2 with vertices:" << pts.size()
             << abort(FatalError);
     }
diff --git a/src/meshTools/twoDPointCorrector/twoDPointCorrector.C b/src/meshTools/twoDPointCorrector/twoDPointCorrector.C
index 73aea238d07..95b1701ea3f 100644
--- a/src/meshTools/twoDPointCorrector/twoDPointCorrector.C
+++ b/src/meshTools/twoDPointCorrector/twoDPointCorrector.C
@@ -102,7 +102,7 @@ void Foam::twoDPointCorrector::calcAddressing() const
 
     if (mag(pn) < VSMALL)
     {
-        FatalErrorIn("twoDPointCorrector::calcAddressing()")
+        FatalErrorInFunction
             << "Cannot determine normal vector from patches."
             << abort(FatalError);
     }
@@ -148,7 +148,7 @@ void Foam::twoDPointCorrector::calcAddressing() const
     {
         if (meshPoints.size() % 2 != 0)
         {
-            WarningIn("twoDPointCorrector::calcAddressing()")
+            WarningInFunction
                 << "the number of vertices in the geometry "
                 << "is odd - this should not be the case for a 2-D case. "
                 << "Please check the geometry."
@@ -157,7 +157,7 @@ void Foam::twoDPointCorrector::calcAddressing() const
 
         if (2*nNormalEdges != meshPoints.size())
         {
-            WarningIn("twoDPointCorrector::calcAddressing()")
+            WarningInFunction
                 << "The number of points in the mesh is "
                 << "not equal to twice the number of edges normal to the plane "
                 << "- this may be OK only for wedge geometries.\n"
@@ -235,7 +235,7 @@ Foam::direction Foam::twoDPointCorrector::normalDir() const
     }
     else
     {
-        FatalErrorIn("direction twoDPointCorrector::normalDir() const")
+        FatalErrorInFunction
             << "Plane normal not aligned with the coordinate system" << nl
             << "    pn = " << pn
             << abort(FatalError);
diff --git a/src/parallel/decompose/decompose/fvFieldDecomposerDecomposeFields.C b/src/parallel/decompose/decompose/fvFieldDecomposerDecomposeFields.C
index c72ceedfb89..fa3594d93ab 100644
--- a/src/parallel/decompose/decompose/fvFieldDecomposerDecomposeFields.C
+++ b/src/parallel/decompose/decompose/fvFieldDecomposerDecomposeFields.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -149,7 +149,7 @@ Foam::fvFieldDecomposer::decomposeField
         }
         else
         {
-            FatalErrorIn("fvFieldDecomposer::decomposeField()")
+            FatalErrorInFunction
                 << "Unknown type." << abort(FatalError);
         }
     }
@@ -307,7 +307,7 @@ Foam::fvFieldDecomposer::decomposeField
         }
         else
         {
-            FatalErrorIn("fvFieldDecomposer::decomposeField()")
+            FatalErrorInFunction
                 << "Unknown type." << abort(FatalError);
         }
     }
diff --git a/src/parallel/decompose/decompositionMethods/decompositionMethod/decompositionMethod.C b/src/parallel/decompose/decompositionMethods/decompositionMethod/decompositionMethod.C
index ff2f3d68002..d7af8cd81c7 100644
--- a/src/parallel/decompose/decompositionMethods/decompositionMethod/decompositionMethod.C
+++ b/src/parallel/decompose/decompositionMethods/decompositionMethod/decompositionMethod.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -66,11 +66,8 @@ Foam::autoPtr<Foam::decompositionMethod> Foam::decompositionMethod::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "decompositionMethod::New"
-            "(const dictionary& decompositionDict)"
-        )   << "Unknown decompositionMethod "
+        FatalErrorInFunction
+            << "Unknown decompositionMethod "
             << methodType << nl << nl
             << "Valid decompositionMethods are : " << endl
             << dictionaryConstructorTablePtr_->sortedToc()
@@ -768,17 +765,8 @@ Foam::labelList Foam::decompositionMethod::decompose
 
     if (nWeights > 0 && cellWeights.size() != mesh.nCells())
     {
-        FatalErrorIn
-        (
-            "decompositionMethod::decompose\n"
-            "(\n"
-            "   const polyMesh&,\n"
-            "   const scalarField&,\n"
-            "   const boolList&,\n"
-            "   const PtrList<labelList>&,\n"
-            "   const labelList&,\n"
-            "   const List<labelPair>&\n"
-        )   << "Number of weights " << cellWeights.size()
+        FatalErrorInFunction
+            << "Number of weights " << cellWeights.size()
             << " differs from number of cells " << mesh.nCells()
             << exit(FatalError);
     }
@@ -938,18 +926,8 @@ Foam::labelList Foam::decompositionMethod::decompose
             }
             else if (blockedFace[f0] != blockedFace[f1])
             {
-                FatalErrorIn
-                (
-                    "labelList decompose\n"
-                    "(\n"
-                    "    const polyMesh&,\n"
-                    "    const scalarField&,\n"
-                    "    const boolList&,\n"
-                    "    const PtrList<labelList>&,\n"
-                    "    const labelList&,\n"
-                    "    const List<labelPair>&\n"
-                    ")"
-                )   << "On explicit connection between faces " << f0
+                FatalErrorInFunction
+                    << "On explicit connection between faces " << f0
                     << " and " << f1
                     << " the two blockedFace status are not equal : "
                     << blockedFace[f0] << " and " << blockedFace[f1]
@@ -1093,7 +1071,7 @@ Foam::labelList Foam::decompositionMethod::decompose
                             label nbrProc = nbrDecomp[bFaceI];
                             if (ownProc != nbrProc)
                             {
-                                FatalErrorIn("decompositionMethod::decompose()")
+                                FatalErrorInFunction
                                     << "patch:" << pp.name()
                                     << " face:" << faceI
                                     << " at:" << mesh.faceCentres()[faceI]
@@ -1145,7 +1123,7 @@ void Foam::decompositionMethod::setConstraints
 
             if (patchI == -1)
             {
-                FatalErrorIn("decompositionMethod::decompose(const polyMesh&)")
+                FatalErrorInFunction
                     << "Unknown preservePatch " << pNames[i]
                     << endl << "Valid patches are " << patches.names()
                     << exit(FatalError);
@@ -1179,7 +1157,7 @@ void Foam::decompositionMethod::setConstraints
 
             if (zoneI == -1)
             {
-                FatalErrorIn("decompositionMethod::decompose(const polyMesh&)")
+                FatalErrorInFunction
                     << "Unknown preserveFaceZone " << zNames[i]
                     << endl << "Valid faceZones are " << fZones.names()
                     << exit(FatalError);
diff --git a/src/parallel/decompose/decompositionMethods/geomDecomp/geomDecomp.C b/src/parallel/decompose/decompositionMethods/geomDecomp/geomDecomp.C
index 316c1bf4828..a416d0dc304 100644
--- a/src/parallel/decompose/decompositionMethods/geomDecomp/geomDecomp.C
+++ b/src/parallel/decompose/decompositionMethods/geomDecomp/geomDecomp.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -43,11 +43,8 @@ Foam::geomDecomp::geomDecomp
 
     if (nProcessors_ != n_.x()*n_.y()*n_.z())
     {
-        FatalErrorIn
-        (
-            "geomDecomp::geomDecomp"
-            "(const dictionary& decompositionDict)"
-        )   << "Wrong number of processor divisions in geomDecomp:" << nl
+        FatalErrorInFunction
+            << "Wrong number of processor divisions in geomDecomp:" << nl
             << "Number of domains    : " << nProcessors_ << nl
             << "Wanted decomposition : " << n_
             << exit(FatalError);
diff --git a/src/parallel/decompose/decompositionMethods/hierarchGeomDecomp/hierarchGeomDecomp.C b/src/parallel/decompose/decompositionMethods/hierarchGeomDecomp/hierarchGeomDecomp.C
index 9928f39f473..9fa9446ee39 100644
--- a/src/parallel/decompose/decompositionMethods/hierarchGeomDecomp/hierarchGeomDecomp.C
+++ b/src/parallel/decompose/decompositionMethods/hierarchGeomDecomp/hierarchGeomDecomp.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -50,10 +50,8 @@ void Foam::hierarchGeomDecomp::setDecompOrder()
 
     if (order.size() != 3)
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "hierarchGeomDecomp::hierarchGeomDecomp"
-            "(const dictionary& decompositionDict)",
             decompositionDict_
         )   << "number of characters in order (" << order << ") != 3"
             << exit(FatalIOError);
@@ -75,10 +73,8 @@ void Foam::hierarchGeomDecomp::setDecompOrder()
         }
         else
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "hierarchGeomDecomp::hierarchGeomDecomp"
-                "(const dictionary& decompositionDict)",
                 decompositionDict_
             )   << "Illegal decomposition order " << order << endl
                 << "It should only contain x, y or z" << exit(FatalError);
@@ -229,7 +225,7 @@ void Foam::hierarchGeomDecomp::findBinary
 
         if (returnReduce(hasNotChanged, andOp<bool>()))
         {
-            WarningIn("hierarchGeomDecomp::findBinary(..)")
+            WarningInFunction
                 << "unable to find desired decomposition split, making do!"
                 << endl;
             break;
@@ -309,7 +305,7 @@ void Foam::hierarchGeomDecomp::findBinary
 
         if (returnReduce(hasNotChanged, andOp<bool>()))
         {
-            WarningIn("hierarchGeomDecomp::findBinary(..)")
+            WarningInFunction
                 << "unable to find desired deomposition split, making do!"
                 << endl;
             break;
diff --git a/src/parallel/decompose/decompositionMethods/manualDecomp/manualDecomp.C b/src/parallel/decompose/decompositionMethods/manualDecomp/manualDecomp.C
index 6bb704515b0..8af9083bc1f 100644
--- a/src/parallel/decompose/decompositionMethods/manualDecomp/manualDecomp.C
+++ b/src/parallel/decompose/decompositionMethods/manualDecomp/manualDecomp.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -85,10 +85,8 @@ Foam::labelList Foam::manualDecomp::decompose
 
     if (finalDecomp.size() != points.size())
     {
-        FatalErrorIn
-        (
-            "manualDecomp::decompose(const pointField&, const scalarField&)"
-        )   << "Size of decomposition list does not correspond "
+        FatalErrorInFunction
+            << "Size of decomposition list does not correspond "
             << "to the number of points.  Size: "
             << finalDecomp.size() << " Number of points: "
             << points.size()
@@ -99,10 +97,8 @@ Foam::labelList Foam::manualDecomp::decompose
 
     if (min(finalDecomp) < 0 || max(finalDecomp) > nProcessors_ - 1)
     {
-        FatalErrorIn
-        (
-            "manualDecomp::decompose(const pointField&, const scalarField&)"
-        )   << "According to the decomposition, cells assigned to "
+        FatalErrorInFunction
+            << "According to the decomposition, cells assigned to "
             << "impossible processor numbers.  Min processor = "
             << min(finalDecomp) << " Max processor = " << max(finalDecomp)
             << ".\n" << "Manual decomposition data read from file "
diff --git a/src/parallel/decompose/decompositionMethods/multiLevelDecomp/multiLevelDecomp.C b/src/parallel/decompose/decompositionMethods/multiLevelDecomp/multiLevelDecomp.C
index 927df123abf..f282c211e60 100644
--- a/src/parallel/decompose/decompositionMethods/multiLevelDecomp/multiLevelDecomp.C
+++ b/src/parallel/decompose/decompositionMethods/multiLevelDecomp/multiLevelDecomp.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -351,7 +351,7 @@ Foam::multiLevelDecomp::multiLevelDecomp(const dictionary& decompositionDict)
 
     if (n != nDomains())
     {
-        FatalErrorIn("multiLevelDecomp::multiLevelDecomp(const dictionary&)")
+        FatalErrorInFunction
             << "Top level decomposition specifies " << nDomains()
             << " domains which is not equal to the product of"
             << " all sub domains " << n
diff --git a/src/parallel/decompose/decompositionMethods/structuredDecomp/structuredDecomp.C b/src/parallel/decompose/decompositionMethods/structuredDecomp/structuredDecomp.C
index 03454227484..3dfd39f6de7 100644
--- a/src/parallel/decompose/decompositionMethods/structuredDecomp/structuredDecomp.C
+++ b/src/parallel/decompose/decompositionMethods/structuredDecomp/structuredDecomp.C
@@ -149,7 +149,7 @@ Foam::labelList Foam::structuredDecomp::decompose
         {
             if (!haveWarned)
             {
-                WarningIn("structuredDecomp::decompose(..)")
+                WarningInFunction
                     << "Did not visit some cells, e.g. cell " << cellI
                     << " at " << mesh.cellCentres()[cellI] << endl
                     << "Assigning  these cells to domain 0." << endl;
diff --git a/src/parallel/decompose/metisDecomp/metisDecomp.C b/src/parallel/decompose/metisDecomp/metisDecomp.C
index f14ef21e924..0855c581dc7 100644
--- a/src/parallel/decompose/metisDecomp/metisDecomp.C
+++ b/src/parallel/decompose/metisDecomp/metisDecomp.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -88,21 +88,15 @@ Foam::label Foam::metisDecomp::decompose
     {
         if (minWeights <= 0)
         {
-            WarningIn
-            (
-                "metisDecomp::decompose"
-                "(const pointField&, const scalarField&)"
-            )   << "Illegal minimum weight " << minWeights
+            WarningInFunction
+                << "Illegal minimum weight " << minWeights
                 << endl;
         }
 
         if (cWeights.size() != numCells)
         {
-            FatalErrorIn
-            (
-                "metisDecomp::decompose"
-                "(const pointField&, const scalarField&)"
-            )   << "Number of cell weights " << cWeights.size()
+            FatalErrorInFunction
+                << "Number of cell weights " << cWeights.size()
                 << " does not equal number of cells " << numCells
                 << exit(FatalError);
         }
@@ -126,7 +120,7 @@ Foam::label Foam::metisDecomp::decompose
         {
             if (method != "recursive" && method != "k-way")
             {
-                FatalErrorIn("metisDecomp::decompose()")
+                FatalErrorInFunction
                     << "Method " << method << " in metisCoeffs in dictionary : "
                     << decompositionDict_.name()
                     << " should be 'recursive' or 'k-way'"
@@ -141,7 +135,7 @@ Foam::label Foam::metisDecomp::decompose
         {
             if (options.size() != METIS_NOPTIONS)
             {
-                FatalErrorIn("metisDecomp::decompose()")
+                FatalErrorInFunction
                     << "Number of options in metisCoeffs in dictionary : "
                     << decompositionDict_.name()
                     << " should be " << METIS_NOPTIONS
@@ -158,7 +152,7 @@ Foam::label Foam::metisDecomp::decompose
 
             if (processorWeights.size() != nProcessors_)
             {
-                FatalErrorIn("metisDecomp::decompose(const pointField&)")
+                FatalErrorInFunction
                     << "Number of processor weights "
                     << processorWeights.size()
                     << " does not equal number of domains " << nProcessors_
@@ -185,7 +179,7 @@ Foam::label Foam::metisDecomp::decompose
         //
         //    if (cellWeights.size() != xadj.size()-1)
         //    {
-        //        FatalErrorIn("metisDecomp::decompose(const pointField&)")
+        //        FatalErrorInFunction
         //            << "Number of cell weights " << cellWeights.size()
         //            << " does not equal number of cells " << xadj.size()-1
         //            << exit(FatalError);
@@ -265,10 +259,8 @@ Foam::labelList Foam::metisDecomp::decompose
 {
     if (points.size() != mesh.nCells())
     {
-        FatalErrorIn
-        (
-            "metisDecomp::decompose(const pointField&,const scalarField&)"
-        )   << "Can use this decomposition method only for the whole mesh"
+        FatalErrorInFunction
+            << "Can use this decomposition method only for the whole mesh"
             << endl
             << "and supply one coordinate (cellCentre) for every cell." << endl
             << "The number of coordinates " << points.size() << endl
@@ -304,11 +296,8 @@ Foam::labelList Foam::metisDecomp::decompose
 {
     if (agglom.size() != mesh.nCells())
     {
-        FatalErrorIn
-        (
-            "metisDecomp::decompose"
-            "(const labelList&, const pointField&, const scalarField&)"
-        )   << "Size of cell-to-coarse map " << agglom.size()
+        FatalErrorInFunction
+            << "Size of cell-to-coarse map " << agglom.size()
             << " differs from number of cells in mesh " << mesh.nCells()
             << exit(FatalError);
     }
@@ -346,11 +335,8 @@ Foam::labelList Foam::metisDecomp::decompose
 {
     if (cellCentres.size() != globalCellCells.size())
     {
-        FatalErrorIn
-        (
-            "metisDecomp::decompose"
-            "(const pointField&, const labelListList&, const scalarField&)"
-        )   << "Inconsistent number of cells (" << globalCellCells.size()
+        FatalErrorInFunction
+            << "Inconsistent number of cells (" << globalCellCells.size()
             << ") and number of cell centres (" << cellCentres.size()
             << ")." << exit(FatalError);
     }
diff --git a/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C b/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C
index 29f1f6b09a6..532ded955b3 100644
--- a/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C
+++ b/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C
@@ -152,7 +152,7 @@ void Foam::ptscotchDecomp::check(const int retVal, const char* str)
 {
     if (retVal)
     {
-        FatalErrorIn("ptscotchDecomp::decompose(..)")
+        FatalErrorInFunction
             << "Call to scotch routine " << str << " failed."
             << exit(FatalError);
     }
@@ -238,7 +238,7 @@ void Foam::ptscotchDecomp::check(const int retVal, const char* str)
 //
 //        if (prevXadj.size() != nSendCells[Pstream::myProcNo()-1])
 //        {
-//            FatalErrorIn("ptscotchDecomp::decompose(..)")
+//            FatalErrorInFunction
 //                << "Expected from processor " << Pstream::myProcNo()-1
 //                << " connectivity for " << nSendCells[Pstream::myProcNo()-1]
 //                << " nCells but only received " << prevXadj.size()
@@ -315,7 +315,7 @@ void Foam::ptscotchDecomp::check(const int retVal, const char* str)
 //
 //        if (nextFinalDecomp.size() != nSendCells[Pstream::myProcNo()])
 //        {
-//            FatalErrorIn("parMetisDecomp::decompose(..)")
+//            FatalErrorInFunction
 //                << "Expected from processor " << Pstream::myProcNo()+1
 //                << " decomposition for " << nSendCells[Pstream::myProcNo()]
 //                << " nCells but only received " << nextFinalDecomp.size()
@@ -489,19 +489,15 @@ Foam::label Foam::ptscotchDecomp::decompose
     {
         if (minWeights <= 0)
         {
-            WarningIn
-            (
-                "ptscotchDecomp::decompose(..)"
-            )   << "Illegal minimum weight " << minWeights
+            WarningInFunction
+                << "Illegal minimum weight " << minWeights
                 << endl;
         }
 
         if (cWeights.size() != xadjSize-1)
         {
-            FatalErrorIn
-            (
-                "ptscotchDecomp::decompose(..)"
-            )   << "Number of cell weights " << cWeights.size()
+            FatalErrorInFunction
+                << "Number of cell weights " << cWeights.size()
                 << " does not equal number of cells " << xadjSize-1
                 << exit(FatalError);
         }
@@ -519,10 +515,8 @@ Foam::label Foam::ptscotchDecomp::decompose
             // rangeScale tipping the subsequent sum over the integer limit.
             rangeScale = 0.9*scalar(labelMax - 1)/velotabSum;
 
-            WarningIn
-            (
-                "ptscotchDecomp::decompose(...)"
-            )   << "Sum of weights has overflowed integer: " << velotabSum
+            WarningInFunction
+                << "Sum of weights has overflowed integer: " << velotabSum
                 << ", compressing weight scale by a factor of " << rangeScale
                 << endl;
         }
@@ -737,10 +731,7 @@ Foam::labelList Foam::ptscotchDecomp::decompose
 {
     if (points.size() != mesh.nCells())
     {
-        FatalErrorIn
-        (
-            "ptscotchDecomp::decompose(const pointField&, const scalarField&)"
-        )
+        FatalErrorInFunction
             << "Can use this decomposition method only for the whole mesh"
             << endl
             << "and supply one coordinate (cellCentre) for every cell." << endl
@@ -796,10 +787,8 @@ Foam::labelList Foam::ptscotchDecomp::decompose
 {
     if (agglom.size() != mesh.nCells())
     {
-        FatalErrorIn
-        (
-            "ptscotchDecomp::decompose(const labelList&, const pointField&)"
-        )   << "Size of cell-to-coarse map " << agglom.size()
+        FatalErrorInFunction
+            << "Size of cell-to-coarse map " << agglom.size()
             << " differs from number of cells in mesh " << mesh.nCells()
             << exit(FatalError);
     }
@@ -850,10 +839,8 @@ Foam::labelList Foam::ptscotchDecomp::decompose
 {
     if (cellCentres.size() != globalCellCells.size())
     {
-        FatalErrorIn
-        (
-            "ptscotchDecomp::decompose(const pointField&, const labelListList&)"
-        )   << "Inconsistent number of cells (" << globalCellCells.size()
+        FatalErrorInFunction
+            << "Inconsistent number of cells (" << globalCellCells.size()
             << ") and number of cell centres (" << cellCentres.size()
             << ")." << exit(FatalError);
     }
diff --git a/src/parallel/decompose/scotchDecomp/scotchDecomp.C b/src/parallel/decompose/scotchDecomp/scotchDecomp.C
index f22a2ed0e01..d0b9d6a6af8 100644
--- a/src/parallel/decompose/scotchDecomp/scotchDecomp.C
+++ b/src/parallel/decompose/scotchDecomp/scotchDecomp.C
@@ -163,7 +163,7 @@ void Foam::scotchDecomp::check(const int retVal, const char* str)
 {
     if (retVal)
     {
-        FatalErrorIn("scotchDecomp::decompose(..)")
+        FatalErrorInFunction
             << "Call to scotch routine " << str << " failed."
             << exit(FatalError);
     }
@@ -382,19 +382,15 @@ Foam::label Foam::scotchDecomp::decomposeOneProc
     {
         if (minWeights <= 0)
         {
-            WarningIn
-            (
-                "scotchDecomp::decompose(...)"
-            )   << "Illegal minimum weight " << minWeights
+            WarningInFunction
+                << "Illegal minimum weight " << minWeights
                 << endl;
         }
 
         if (cWeights.size() != xadj.size()-1)
         {
-            FatalErrorIn
-            (
-                "scotchDecomp::decompose(...)"
-            )   << "Number of cell weights " << cWeights.size()
+            FatalErrorInFunction
+                << "Number of cell weights " << cWeights.size()
                 << " does not equal number of cells " << xadj.size()-1
                 << exit(FatalError);
         }
@@ -409,10 +405,8 @@ Foam::label Foam::scotchDecomp::decomposeOneProc
             // rangeScale tipping the subsequent sum over the integer limit.
             rangeScale = 0.9*scalar(labelMax - 1)/velotabSum;
 
-            WarningIn
-            (
-                "scotchDecomp::decompose(...)"
-            )   << "Sum of weights has overflowed integer: " << velotabSum
+            WarningInFunction
+                << "Sum of weights has overflowed integer: " << velotabSum
                 << ", compressing weight scale by a factor of " << rangeScale
                 << endl;
         }
@@ -601,11 +595,8 @@ Foam::labelList Foam::scotchDecomp::decompose
 {
     if (points.size() != mesh.nCells())
     {
-        FatalErrorIn
-        (
-            "scotchDecomp::decompose(const polyMesh&, const pointField&"
-            ", const scalarField&)"
-        )   << "Can use this decomposition method only for the whole mesh"
+        FatalErrorInFunction
+            << "Can use this decomposition method only for the whole mesh"
             << endl
             << "and supply one coordinate (cellCentre) for every cell." << endl
             << "The number of coordinates " << points.size() << endl
@@ -655,12 +646,8 @@ Foam::labelList Foam::scotchDecomp::decompose
 {
     if (agglom.size() != mesh.nCells())
     {
-        FatalErrorIn
-        (
-            "scotchDecomp::decompose"
-            "(const polyMesh&, const labelList&, const pointField&"
-            ", const scalarField&)"
-        )   << "Size of cell-to-coarse map " << agglom.size()
+        FatalErrorInFunction
+            << "Size of cell-to-coarse map " << agglom.size()
             << " differs from number of cells in mesh " << mesh.nCells()
             << exit(FatalError);
     }
@@ -708,11 +695,8 @@ Foam::labelList Foam::scotchDecomp::decompose
 {
     if (cellCentres.size() != globalCellCells.size())
     {
-        FatalErrorIn
-        (
-            "scotchDecomp::decompose"
-            "(const labelListList&, const pointField&, const scalarField&)"
-        )   << "Inconsistent number of cells (" << globalCellCells.size()
+        FatalErrorInFunction
+            << "Inconsistent number of cells (" << globalCellCells.size()
             << ") and number of cell centres (" << cellCentres.size()
             << ")." << exit(FatalError);
     }
diff --git a/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C b/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C
index f17d26277ef..200a4d2a1d7 100644
--- a/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C
+++ b/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C
@@ -833,22 +833,16 @@ Foam::distributedTriSurfaceMesh::independentlyDistributedBbs
 
         if (!decomposer_().parallelAware())
         {
-            FatalErrorIn
-            (
-                "distributedTriSurfaceMesh::independentlyDistributedBbs"
-                "(const triSurface&)"
-            )   << "The decomposition method " << decomposer_().typeName
+            FatalErrorInFunction
+                << "The decomposition method " << decomposer_().typeName
                 << " does not decompose in parallel."
                 << " Please choose one that does." << exit(FatalError);
         }
 
         if (!isA<geomDecomp>(decomposer_()))
         {
-            FatalErrorIn
-            (
-                "distributedTriSurfaceMesh::independentlyDistributedBbs"
-                "(const triSurface&)"
-            )   << "The decomposition method " << decomposer_().typeName
+            FatalErrorInFunction
+                << "The decomposition method " << decomposer_().typeName
                 << " is not a geometric decomposition method." << endl
                 << "Only geometric decomposition methods are currently"
                 << " supported."
@@ -1381,8 +1375,7 @@ Foam::distributedTriSurfaceMesh::distributedTriSurfaceMesh(const IOobject& io)
         )
     )
     {
-        FatalErrorIn("Foam::distributedTriSurfaceMesh::read()")
-            << "    distributedTriSurfaceMesh is being constructed\n"
+        FatalErrorInFunction
             << "    using 'timeStampMaster' or 'inotifyMaster.'\n"
             << "    Modify the entry fileModificationChecking\n"
             << "    in the etc/controlDict.\n"
@@ -1465,8 +1458,7 @@ Foam::distributedTriSurfaceMesh::distributedTriSurfaceMesh
         )
     )
     {
-        FatalErrorIn("Foam::distributedTriSurfaceMesh::read()")
-            << "    distributedTriSurfaceMesh is being constructed\n"
+        FatalErrorInFunction
             << "    using 'timeStampMaster' or 'inotifyMaster.'\n"
             << "    Modify the entry fileModificationChecking\n"
             << "    in the etc/controlDict.\n"
@@ -2004,11 +1996,8 @@ void Foam::distributedTriSurfaceMesh::getVolumeType
     List<volumeType>& volType
 ) const
 {
-    FatalErrorIn
-    (
-        "distributedTriSurfaceMesh::getVolumeType"
-        "(const pointField&, List<volumeType>&) const"
-    )   << "Volume type not supported for distributed surfaces."
+    FatalErrorInFunction
+        << "Volume type not supported for distributed surfaces."
         << exit(FatalError);
 }
 
@@ -2090,7 +2079,7 @@ void Foam::distributedTriSurfaceMesh::distribute
             break;
 
             default:
-                FatalErrorIn("distributedTriSurfaceMesh::distribute(..)")
+                FatalErrorInFunction
                     << "Unsupported distribution type." << exit(FatalError);
             break;
         }
diff --git a/src/parallel/reconstruct/reconstruct/fvFieldReconstructor.C b/src/parallel/reconstruct/reconstruct/fvFieldReconstructor.C
index 3c85d65c6eb..c0ff1684e37 100644
--- a/src/parallel/reconstruct/reconstruct/fvFieldReconstructor.C
+++ b/src/parallel/reconstruct/reconstruct/fvFieldReconstructor.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -53,17 +53,8 @@ Foam::fvFieldReconstructor::fvFieldReconstructor
          || boundaryProcAddressing[procI].size() != procMesh.boundary().size()
         )
         {
-            FatalErrorIn
-            (
-                "fvFieldReconstructor::fvFieldReconstructor\n"
-                "(\n"
-                "   fvMesh&,\n"
-                "   const PtrList<fvMesh>&,\n"
-                "   const PtrList<labelIOList>&,\n"
-                "   const PtrList<labelIOList>&,\n"
-                "   const PtrList<labelIOList>&\n"
-                ")"
-            )   << "Size of maps does not correspond to size of mesh"
+            FatalErrorInFunction
+                << "Size of maps does not correspond to size of mesh"
                 << " for processor " << procI << endl
                 << "faceProcAddressing : " << faceProcAddressing[procI].size()
                 << " nFaces : " << procMesh.nFaces() << endl
diff --git a/src/parallel/reconstruct/reconstruct/fvFieldReconstructorReconstructFields.C b/src/parallel/reconstruct/reconstruct/fvFieldReconstructorReconstructFields.C
index 5ff0f7bf2e0..7a9487667d6 100644
--- a/src/parallel/reconstruct/reconstruct/fvFieldReconstructorReconstructFields.C
+++ b/src/parallel/reconstruct/reconstruct/fvFieldReconstructorReconstructFields.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -190,15 +190,8 @@ Foam::fvFieldReconstructor::reconstructFvVolumeField
                     // Check
                     if (cp[faceI] <= 0)
                     {
-                        FatalErrorIn
-                        (
-                            "fvFieldReconstructor::reconstructFvVolumeField\n"
-                            "(\n"
-                            "    const IOobject&,\n"
-                            "    const PtrList<GeometricField<Type,"
-                            " fvPatchField, volMesh> >&\n"
-                            ") const\n"
-                        )   << "Processor " << procI
+                        FatalErrorInFunction
+                            << "Processor " << procI
                             << " patch "
                             << procField.mesh().boundary()[patchI].name()
                             << " face " << faceI
diff --git a/src/parallel/reconstruct/reconstruct/pointFieldReconstructor.C b/src/parallel/reconstruct/reconstruct/pointFieldReconstructor.C
index c987493c4e3..de58b47c5c4 100644
--- a/src/parallel/reconstruct/reconstruct/pointFieldReconstructor.C
+++ b/src/parallel/reconstruct/reconstruct/pointFieldReconstructor.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -83,17 +83,8 @@ Foam::pointFieldReconstructor::pointFieldReconstructor
 
                 if (procPatchAddr.size() && min(procPatchAddr) < 0)
                 {
-                    FatalErrorIn
-                    (
-                        "pointFieldReconstructor::pointFieldReconstructor"
-                        "(\n"
-                        "    const pointMesh& mesh,\n"
-                        "    const PtrList<pointMesh>& procMeshes,\n"
-                        "    const PtrList<labelIOList>& pointProcAddressing,\n"
-                        "    const PtrList<labelIOList>& "
-                        "boundaryProcAddressing\n"
-                        ")"
-                    )   << "Incomplete patch point addressing"
+                    FatalErrorInFunction
+                        << "Incomplete patch point addressing"
                         << abort(FatalError);
                 }
             }
diff --git a/src/parallel/reconstruct/reconstruct/processorMeshes.C b/src/parallel/reconstruct/reconstruct/processorMeshes.C
index c9e63eebe38..c2c98717569 100644
--- a/src/parallel/reconstruct/reconstruct/processorMeshes.C
+++ b/src/parallel/reconstruct/reconstruct/processorMeshes.C
@@ -177,7 +177,7 @@ Foam::fvMesh::readUpdateState Foam::processorMeshes::readUpdate()
         }
         else if (stat != procStat)
         {
-            FatalErrorIn("processorMeshes::readUpdate()")
+            FatalErrorInFunction
                 << "Processor " << procI
                 << " has a different polyMesh at time "
                 << databases_[procI].timeName()
@@ -241,7 +241,7 @@ void Foam::processorMeshes::reconstructPoints(fvMesh& mesh)
 
         if (pointProcAddressingI.size() != procPoints.size())
         {
-            FatalErrorIn("processorMeshes")
+            FatalErrorInFunction
                 << "problem :"
                 << " pointProcAddressingI:" << pointProcAddressingI.size()
                 << " procPoints:" << procPoints.size()
diff --git a/src/postProcessing/foamCalcFunctions/basic/addSubtract/addSubtract.C b/src/postProcessing/foamCalcFunctions/basic/addSubtract/addSubtract.C
index a4a7941055f..b83cb0bbd26 100644
--- a/src/postProcessing/foamCalcFunctions/basic/addSubtract/addSubtract.C
+++ b/src/postProcessing/foamCalcFunctions/basic/addSubtract/addSubtract.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -108,7 +108,7 @@ void Foam::calcTypes::addSubtract::writeAddSubtractFields
     }
     else
     {
-        FatalErrorIn("calcTypes::addSubtract::writeAddSubtractFields()")
+        FatalErrorInFunction
             << "Unable to read addSubtract field: " << addSubtractFieldName_
             << nl << exit(FatalError);
     }
@@ -162,7 +162,7 @@ void Foam::calcTypes::addSubtract::writeAddSubtractValues
 
     if (!processed)
     {
-        FatalErrorIn("calcTypes::addSubtract::writeAddSubtractValue()")
+        FatalErrorInFunction
             << "Unable to process " << baseFieldName_
             << " + " << addSubtractValueStr_ << nl
             << "No call to addSubtract for fields of type "
@@ -225,7 +225,7 @@ void Foam::calcTypes::addSubtract::preCalc
     }
     else
     {
-        FatalErrorIn("calcTypes::addSubtract::preCalc")
+        FatalErrorInFunction
             << "Invalid calcMode: " << calcModeName << nl
             << "    Valid calcModes are add and subtract" << nl
             << exit(FatalError);
@@ -241,7 +241,7 @@ void Foam::calcTypes::addSubtract::preCalc
     }
     else
     {
-        FatalErrorIn("calcTypes::addSubtract::preCalc")
+        FatalErrorInFunction
             << "addSubtract requires either -field or -value option"
             << nl << exit(FatalError);
     }
@@ -281,7 +281,7 @@ void Foam::calcTypes::addSubtract::calc
             }
             default:
             {
-                FatalErrorIn("calcTypes::addSubtract::calc")
+                FatalErrorInFunction
                     << "unknown calcType " << calcType_ << nl
                     << abort(FatalError);
             }
@@ -289,7 +289,7 @@ void Foam::calcTypes::addSubtract::calc
     }
     else
     {
-        FatalErrorIn("calcTypes::addSubtract::calc")
+        FatalErrorInFunction
             << "Unable to read base field: " << baseFieldName_
             << nl << exit(FatalError);
     }
diff --git a/src/postProcessing/foamCalcFunctions/calcType/calcTypeNew.C b/src/postProcessing/foamCalcFunctions/calcType/calcTypeNew.C
index d9a57a70fab..89f9db57d63 100644
--- a/src/postProcessing/foamCalcFunctions/calcType/calcTypeNew.C
+++ b/src/postProcessing/foamCalcFunctions/calcType/calcTypeNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -43,14 +43,14 @@ Foam::autoPtr<Foam::calcType> Foam::calcType::New
         // exit without stack trace
         if (calcTypeName == "-help")
         {
-            FatalErrorIn("calcType::New()")
+            FatalErrorInFunction
                 << "Valid calcType selections are:" << nl
                 << dictionaryConstructorTablePtr_->sortedToc() << nl
                 << exit(FatalError);
         }
         else
         {
-            FatalErrorIn("calcType::New()")
+            FatalErrorInFunction
                 << "Unknown calcType type " << calcTypeName << nl
                 << "Valid calcType selections are:" << nl
                 << dictionaryConstructorTablePtr_->sortedToc() << nl
diff --git a/src/postProcessing/functionObjects/IO/partialWrite/partialWrite.C b/src/postProcessing/functionObjects/IO/partialWrite/partialWrite.C
index cb3cfc7d5a9..a681b856930 100644
--- a/src/postProcessing/functionObjects/IO/partialWrite/partialWrite.C
+++ b/src/postProcessing/functionObjects/IO/partialWrite/partialWrite.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -79,7 +79,7 @@ void Foam::partialWrite::read(const dictionary& dict)
 
     if (writeInterval_ < 1)
     {
-        FatalIOErrorIn("partialWrite::read(const dictionary&)", dict)
+        FatalIOErrorInFunction(dict)
             << "Illegal value for writeInterval " << writeInterval_
             << ". It should be >= 1."
             << exit(FatalIOError);
diff --git a/src/postProcessing/functionObjects/IO/writeRegisteredObject/writeRegisteredObject.C b/src/postProcessing/functionObjects/IO/writeRegisteredObject/writeRegisteredObject.C
index 81b58a1a5cd..35513a0b8b4 100644
--- a/src/postProcessing/functionObjects/IO/writeRegisteredObject/writeRegisteredObject.C
+++ b/src/postProcessing/functionObjects/IO/writeRegisteredObject/writeRegisteredObject.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -102,7 +102,7 @@ void Foam::writeRegisteredObject::write()
         }
         else
         {
-            WarningIn("Foam::writeRegisteredObject::write()")
+            WarningInFunction
                 << "Object " << objectNames_[i] << " not found in "
                 << "database. Available objects:" << nl << obr_.sortedToc()
                 << endl;
diff --git a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverage.C b/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverage.C
index 62407d83162..33dc39b951e 100644
--- a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverage.C
+++ b/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverage.C
@@ -89,7 +89,7 @@ void Foam::fieldAverage::initialize()
     {
         if (!faItems_[fieldI].active())
         {
-            WarningIn("void Foam::fieldAverage::initialize()")
+            WarningInFunction
                 << "Field " << faItems_[fieldI].fieldName()
                 << " not found in database for averaging";
         }
@@ -270,16 +270,8 @@ Foam::fieldAverage::fieldAverage
     else
     {
         active_ = false;
-        WarningIn
-        (
-            "fieldAverage::fieldAverage"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool "
-            ")"
-        )   << "No fvMesh available, deactivating " << name_ << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_ << nl
             << endl;
     }
 }
diff --git a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverageTemplates.C b/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverageTemplates.C
index 62e733481d5..f4660ec82b4 100644
--- a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverageTemplates.C
+++ b/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverageTemplates.C
@@ -163,10 +163,7 @@ void Foam::fieldAverage::addPrime2MeanField(const label fieldI)
 
         if (!faItems_[fieldI].mean())
         {
-            FatalErrorIn
-            (
-                "void Foam::fieldAverage::addPrime2MeanField(const label) const"
-            )
+            FatalErrorInFunction
                 << "To calculate the prime-squared average, the "
                 << "mean average must also be selected for field "
                 << fieldName << nl << exit(FatalError);
diff --git a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItem.C b/src/postProcessing/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItem.C
index 9f5334c03a4..da0d3f0021d 100644
--- a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItem.C
+++ b/src/postProcessing/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItem.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -92,10 +92,8 @@ void Foam::fieldAverageItem::operator=(const fieldAverageItem& rhs)
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn
-        (
-            "Foam::fieldAverageItem::operator=(const Foam::fieldAverageItem&)"
-        )   << "Attempted assignment to self" << nl
+        FatalErrorInFunction
+            << "Attempted assignment to self" << nl
             << abort(FatalError);
     }
 
diff --git a/src/postProcessing/functionObjects/field/fieldCoordinateSystemTransform/fieldCoordinateSystemTransform.C b/src/postProcessing/functionObjects/field/fieldCoordinateSystemTransform/fieldCoordinateSystemTransform.C
index 4e30b881ca6..44788eada95 100644
--- a/src/postProcessing/functionObjects/field/fieldCoordinateSystemTransform/fieldCoordinateSystemTransform.C
+++ b/src/postProcessing/functionObjects/field/fieldCoordinateSystemTransform/fieldCoordinateSystemTransform.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -62,16 +62,8 @@ Foam::fieldCoordinateSystemTransform::fieldCoordinateSystemTransform
     else
     {
         active_ = false;
-        WarningIn
-        (
-            "fieldCoordinateSystemTransform::fieldCoordinateSystemTransform"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_
             << endl;
     }
 }
diff --git a/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.C b/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.C
index dac7d8a71e0..262e639784a 100644
--- a/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.C
+++ b/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.C
@@ -72,16 +72,8 @@ Foam::fieldMinMax::fieldMinMax
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "fieldMinMax::fieldMinMax"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_
             << endl;
     }
 
diff --git a/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMaxTemplates.C b/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMaxTemplates.C
index 729500caefe..4dadb68b484 100644
--- a/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMaxTemplates.C
+++ b/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMaxTemplates.C
@@ -267,14 +267,8 @@ void Foam::fieldMinMax::calcMinMaxFields
             }
             default:
             {
-                FatalErrorIn
-                (
-                    "Foam::fieldMinMax::calcMinMaxFields"
-                    "("
-                        "const word&, "
-                        "const modeType&"
-                    ")"
-                )   << "Unknown min/max mode: " << modeTypeNames_[mode_]
+                FatalErrorInFunction
+                    << "Unknown min/max mode: " << modeTypeNames_[mode_]
                     << exit(FatalError);
             }
         }
diff --git a/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.C b/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.C
index 9d4b8400c80..c6e78bf5c2c 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.C
+++ b/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.C
@@ -85,7 +85,7 @@ void Foam::fieldValues::cellSource::setCellZoneCells()
 
             if (zoneId < 0)
             {
-                FatalErrorIn("cellSource::cellSource::setCellZoneCells()")
+                FatalErrorInFunction
                     << "Unknown cell zone name: " << sourceName_
                     << ". Valid cell zones are: " << mesh().cellZones().names()
                     << nl << exit(FatalError);
@@ -105,7 +105,7 @@ void Foam::fieldValues::cellSource::setCellZoneCells()
 
         default:
         {
-            FatalErrorIn("cellSource::setCellZoneCells()")
+            FatalErrorInFunction
                << "Unknown source type. Valid source types are:"
                 << sourceTypeNames_ << nl << exit(FatalError);
         }
@@ -132,10 +132,8 @@ void Foam::fieldValues::cellSource::initialise(const dictionary& dict)
 
     if (nCells_ == 0)
     {
-        WarningIn
-        (
-            "Foam::fieldValues::cellSource::initialise(const dictionary&)"
-        )   << type() << " " << name_ << ": "
+        WarningInFunction
+            << type() << " " << name_ << ": "
             << sourceTypeNames_[source_] << "(" << sourceName_ << "):" << nl
             << "    Source has no cells - deactivating" << endl;
 
@@ -262,7 +260,7 @@ void Foam::fieldValues::cellSource::write()
 
             if (!processed)
             {
-                WarningIn("void Foam::fieldValues::cellSource::write()")
+                WarningInFunction
                     << "Requested field " << fieldName
                     << " not found in database and not processed"
                     << endl;
diff --git a/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSourceTemplates.C b/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSourceTemplates.C
index 15030ea689c..8c6f4e7b92c 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSourceTemplates.C
+++ b/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSourceTemplates.C
@@ -58,15 +58,8 @@ Foam::tmp<Foam::Field<Type> > Foam::fieldValues::cellSource::setFieldValues
 
     if (mustGet)
     {
-        FatalErrorIn
-        (
-            "Foam::tmp<Foam::Field<Type> > "
-            "Foam::fieldValues::cellSource::setFieldValues"
-            "("
-                "const word&, "
-                "const bool"
-            ") const"
-        )   << "Field " << fieldName << " not found in database"
+        FatalErrorInFunction
+            << "Field " << fieldName << " not found in database"
             << abort(FatalError);
     }
 
diff --git a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.C b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.C
index 4e1f79807de..d0b854784ef 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.C
+++ b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.C
@@ -90,7 +90,7 @@ void Foam::fieldValues::faceSource::setFaceZoneFaces()
 
     if (zoneId < 0)
     {
-        FatalErrorIn("faceSource::faceSource::setFaceZoneFaces()")
+        FatalErrorInFunction
             << type() << " " << name_ << ": "
             << sourceTypeNames_[source_] << "(" << sourceName_ << "):" << nl
             << "    Unknown face zone name: " << sourceName_
@@ -175,7 +175,7 @@ void Foam::fieldValues::faceSource::setPatchFaces()
 
     if (patchId < 0)
     {
-        FatalErrorIn("faceSource::constructFaceAddressing()")
+        FatalErrorInFunction
             << type() << " " << name_ << ": "
             << sourceTypeNames_[source_] << "(" << sourceName_ << "):" << nl
             << "    Unknown patch name: " << sourceName_
@@ -421,7 +421,7 @@ void Foam::fieldValues::faceSource::initialise(const dictionary& dict)
         }
         default:
         {
-            FatalErrorIn("faceSource::initialise()")
+            FatalErrorInFunction
                 << type() << " " << name_ << ": "
                 << sourceTypeNames_[source_] << "(" << sourceName_ << "):"
                 << nl << "    Unknown source type. Valid source types are:"
@@ -431,10 +431,7 @@ void Foam::fieldValues::faceSource::initialise(const dictionary& dict)
 
     if (nFaces_ == 0)
     {
-        WarningIn
-        (
-            "Foam::fieldValues::faceSource::initialise(const dictionary&)"
-        )
+        WarningInFunction
             << type() << " " << name_ << ": "
             << sourceTypeNames_[source_] << "(" << sourceName_ << "):" << nl
             << "    Source has no faces - deactivating" << endl;
@@ -462,14 +459,7 @@ void Foam::fieldValues::faceSource::initialise(const dictionary& dict)
 
         if (source_ == stSampledSurface)
         {
-            FatalIOErrorIn
-            (
-                "void Foam::fieldValues::faceSource::initialise"
-                "("
-                    "const dictionary&"
-                ")",
-                dict
-            )
+            FatalIOErrorInFunction(dict)
                 << "Cannot use weightField for a sampledSurface"
                 << exit(FatalIOError);
         }
@@ -485,14 +475,7 @@ void Foam::fieldValues::faceSource::initialise(const dictionary& dict)
         }
         else
         {
-            FatalIOErrorIn
-            (
-                "void Foam::fieldValues::faceSource::initialise"
-                "("
-                    "const dictionary&"
-                ")",
-                dict
-            )
+            FatalIOErrorInFunction(dict)
                 << "Either weightField or orientedWeightField can be supplied, "
                 << "but not both"
                 << exit(FatalIOError);
@@ -737,7 +720,7 @@ void Foam::fieldValues::faceSource::write()
 
             if (!ok)
             {
-                WarningIn("void Foam::fieldValues::faceSource::write()")
+                WarningInFunction
                     << "Requested field " << fieldName
                     << " not found in database and not processed"
                     << endl;
diff --git a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C
index 53bca6f1fab..7af3ca2245b 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C
+++ b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C
@@ -110,16 +110,8 @@ Foam::tmp<Foam::Field<Type> > Foam::fieldValues::faceSource::getFieldValues
 
     if (mustGet)
     {
-        FatalErrorIn
-        (
-            "Foam::tmp<Foam::Field<Type> > "
-            "Foam::fieldValues::faceSource::getFieldValues"
-            "("
-                "const word&, "
-                "const bool, "
-                "const bool"
-            ") const"
-        )   << "Field " << fieldName << " not found in database"
+        FatalErrorInFunction
+            << "Field " << fieldName << " not found in database"
             << abort(FatalError);
     }
 
@@ -150,16 +142,7 @@ Type Foam::fieldValues::faceSource::processSameTypeValues
         }
         case opSumDirection:
         {
-            FatalErrorIn
-            (
-                "template<class Type>"
-                "Type Foam::fieldValues::faceSource::processSameTypeValues"
-                "("
-                    "const Field<Type>&, "
-                    "const vectorField&, "
-                    "const scalarField&"
-                ") const"
-            )
+            FatalErrorInFunction
                 << "Operation " << operationTypeNames_[operation_]
                 << " not available for values of type "
                 << pTraits<Type>::typeName
@@ -170,16 +153,7 @@ Type Foam::fieldValues::faceSource::processSameTypeValues
         }
         case opSumDirectionBalance:
         {
-            FatalErrorIn
-            (
-                "template<class Type>"
-                "Type Foam::fieldValues::faceSource::processSameTypeValues"
-                "("
-                    "const Field<Type>&, "
-                    "const vectorField&, "
-                    "const scalarField&"
-                ") const"
-            )
+            FatalErrorInFunction
                 << "Operation " << operationTypeNames_[operation_]
                 << " not available for values of type "
                 << pTraits<Type>::typeName
@@ -393,14 +367,8 @@ Foam::tmp<Foam::Field<Type> > Foam::fieldValues::faceSource::filterField
         }
         else
         {
-            FatalErrorIn
-            (
-                "fieldValues::faceSource::filterField"
-                "("
-                    "const GeometricField<Type, fvPatchField, volMesh>&, "
-                    "const bool"
-                ") const"
-            )   << type() << " " << name_ << ": "
+            FatalErrorInFunction
+                << type() << " " << name_ << ": "
                 << sourceTypeNames_[source_] << "(" << sourceName_ << "):"
                 << nl
                 << "    Unable to process internal faces for volume field "
diff --git a/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValue.C b/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValue.C
index e54187c5f48..8694a16c1b6 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValue.C
+++ b/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValue.C
@@ -92,16 +92,8 @@ Foam::fieldValue::fieldValue
     }
     else
     {
-        WarningIn
-        (
-            "fieldValue::fieldValue"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name << nl
             << endl;
         active_ = false;
     }
diff --git a/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValueNew.C b/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValueNew.C
index f418ad02156..68f272127f0 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValueNew.C
+++ b/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValueNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -48,16 +48,8 @@ Foam::autoPtr<Foam::fieldValue> Foam::fieldValue::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "fieldValue::New"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "Unknown " << typeName << " type "
+        FatalErrorInFunction
+            << "Unknown " << typeName << " type "
             << modelType << nl << nl
             << "Valid " << typeName << " types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDeltaTemplates.C b/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDeltaTemplates.C
index 70c64effabd..d5067cfce67 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDeltaTemplates.C
+++ b/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDeltaTemplates.C
@@ -67,14 +67,7 @@ Type Foam::fieldValues::fieldValueDelta::applyOperation
         }
         default:
         {
-            FatalErrorIn
-            (
-                "Type Foam::fieldValues::fieldValueDelta::applyOperation"
-                "("
-                    "const Type&, "
-                    "const Type&"
-                ") const"
-            )
+            FatalErrorInFunction
                 << "Unable to process operation "
                 << operationTypeNames_[operation_]
                 << abort(FatalError);
diff --git a/src/postProcessing/functionObjects/field/nearWallFields/nearWallFields.C b/src/postProcessing/functionObjects/field/nearWallFields/nearWallFields.C
index 6625f2e4cc9..3df21efc22b 100644
--- a/src/postProcessing/functionObjects/field/nearWallFields/nearWallFields.C
+++ b/src/postProcessing/functionObjects/field/nearWallFields/nearWallFields.C
@@ -242,16 +242,8 @@ Foam::nearWallFields::nearWallFields
     else
     {
         active_ = false;
-        WarningIn
-        (
-            "nearWallFields::nearWallFields"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_
             << endl;
     }
 
diff --git a/src/postProcessing/functionObjects/field/processorField/processorField.C b/src/postProcessing/functionObjects/field/processorField/processorField.C
index a57ee9a2930..c5873c7ccc1 100644
--- a/src/postProcessing/functionObjects/field/processorField/processorField.C
+++ b/src/postProcessing/functionObjects/field/processorField/processorField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -78,16 +78,8 @@ Foam::processorField::processorField
     else
     {
         active_ = false;
-        WarningIn
-        (
-            "processorField::processorField"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_
             << endl;
     }
 }
diff --git a/src/postProcessing/functionObjects/field/readFields/readFields.C b/src/postProcessing/functionObjects/field/readFields/readFields.C
index 869f46beb01..8af1146dce7 100644
--- a/src/postProcessing/functionObjects/field/readFields/readFields.C
+++ b/src/postProcessing/functionObjects/field/readFields/readFields.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -57,16 +57,8 @@ Foam::readFields::readFields
     else
     {
         active_ = false;
-        WarningIn
-        (
-            "readFields::readFields"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_
             << endl;
     }
 }
diff --git a/src/postProcessing/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C b/src/postProcessing/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C
index 6a081fd49f4..67ba333b24c 100644
--- a/src/postProcessing/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C
+++ b/src/postProcessing/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C
@@ -337,16 +337,8 @@ Foam::regionSizeDistribution::regionSizeDistribution
     else
     {
         active_ = false;
-        WarningIn
-        (
-            "regionSizeDistribution::regionSizeDistribution"
-            "("
-                "const word&,  "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_ << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_ << nl
             << endl;
     }
 }
diff --git a/src/postProcessing/functionObjects/field/streamLine/streamLine.C b/src/postProcessing/functionObjects/field/streamLine/streamLine.C
index 0017a338263..35b61ca03c3 100644
--- a/src/postProcessing/functionObjects/field/streamLine/streamLine.C
+++ b/src/postProcessing/functionObjects/field/streamLine/streamLine.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -194,7 +194,7 @@ void Foam::streamLine::track()
             }
             else
             {
-                FatalErrorIn("streamLine::track()")
+                FatalErrorInFunction
                     << "Cannot find field " << fields_[i] << nl
                     << "Valid scalar fields are:"
                     << mesh.names(volScalarField::typeName) << nl
@@ -267,7 +267,7 @@ void Foam::streamLine::track()
 
     if (UIndex == -1)
     {
-        FatalErrorIn("streamLine::track()")
+        FatalErrorInFunction
             << "Cannot find field to move particles with : " << UName_ << nl
             << "This field has to be present in the sampled fields " << fields_
             << " and in the objectRegistry."
@@ -345,16 +345,8 @@ Foam::streamLine::streamLine
     else
     {
         active_ = false;
-        WarningIn
-        (
-            "streamLine::streamLine\n"
-            "(\n"
-                "const word&,\n"
-                "const objectRegistry&,\n"
-                "const dictionary&,\n"
-                "const bool\n"
-            ")"
-        )   << "No fvMesh available, deactivating."
+        WarningInFunction
+            << "No fvMesh available, deactivating."
             << nl << endl;
     }
 }
@@ -385,7 +377,7 @@ void Foam::streamLine::read(const dictionary& dict)
             UName_ = "U";
             if (dict.found("U"))
             {
-                IOWarningIn("streamLine::read(const dictionary&)", dict)
+                IOWarningInFunction(dict)
                     << "Using deprecated entry \"U\"."
                     << " Please use \"UName\" instead."
                     << endl;
@@ -395,7 +387,7 @@ void Foam::streamLine::read(const dictionary& dict)
 
         if (findIndex(fields_, UName_) == -1)
         {
-            FatalIOErrorIn("streamLine::read(const dictionary&)", dict)
+            FatalIOErrorInFunction(dict)
                 << "Velocity field for tracking " << UName_
                 << " should be present in the list of fields " << fields_
                 << exit(FatalIOError);
@@ -406,7 +398,7 @@ void Foam::streamLine::read(const dictionary& dict)
         dict.lookup("lifeTime") >> lifeTime_;
         if (lifeTime_ < 1)
         {
-            FatalErrorIn(":streamLine::read(const dictionary&)")
+            FatalErrorInFunction
                 << "Illegal value " << lifeTime_ << " for lifeTime"
                 << exit(FatalError);
         }
@@ -417,7 +409,7 @@ void Foam::streamLine::read(const dictionary& dict)
 
         if (subCycling && fixedLength)
         {
-            FatalIOErrorIn("streamLine::read(const dictionary&)", dict)
+            FatalIOErrorInFunction(dict)
                 << "Cannot both specify automatic time stepping (through '"
                 << "nSubCycle' specification) and fixed track length (through '"
                 << "trackLength')"
diff --git a/src/postProcessing/functionObjects/field/streamLine/streamLineParticle.C b/src/postProcessing/functionObjects/field/streamLine/streamLineParticle.C
index b62409d6bb1..4b31d77e397 100644
--- a/src/postProcessing/functionObjects/field/streamLine/streamLineParticle.C
+++ b/src/postProcessing/functionObjects/field/streamLine/streamLineParticle.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -65,7 +65,7 @@ Foam::vector Foam::streamLineParticle::interpolateFields
 {
     if (cellI == -1)
     {
-        FatalErrorIn("streamLineParticle::interpolateFields(..)")
+        FatalErrorInFunction
             << "Cell:" << cellI << abort(FatalError);
     }
 
diff --git a/src/postProcessing/functionObjects/field/surfaceInterpolateFields/surfaceInterpolateFields.C b/src/postProcessing/functionObjects/field/surfaceInterpolateFields/surfaceInterpolateFields.C
index 0048f0d15ab..ad1c7d81b86 100644
--- a/src/postProcessing/functionObjects/field/surfaceInterpolateFields/surfaceInterpolateFields.C
+++ b/src/postProcessing/functionObjects/field/surfaceInterpolateFields/surfaceInterpolateFields.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,16 +56,8 @@ Foam::surfaceInterpolateFields::surfaceInterpolateFields
     else
     {
         active_ = false;
-        WarningIn
-        (
-            "surfaceInterpolateFields::surfaceInterpolateFields"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_
             << endl;
     }
 }
diff --git a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.C b/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.C
index f9d1407c1e0..90409642814 100644
--- a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.C
+++ b/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.C
@@ -39,7 +39,7 @@ Foam::edge Foam::wallBoundedParticle::currentEdge() const
 {
     if ((meshEdgeStart_ != -1) == (diagEdge_ != -1))
     {
-        FatalErrorIn("wallBoundedParticle::currentEdge() const")
+        FatalErrorInFunction
             << "Particle:"
             << info()
             << "cannot both be on a mesh edge and a face-diagonal edge."
@@ -93,11 +93,8 @@ void Foam::wallBoundedParticle::crossEdgeConnectedFace
         }
         else
         {
-            FatalErrorIn
-            (
-                "wallBoundedParticle::crossEdgeConnectedFace"
-                "(const edge&)"
-            )   << "Problem :"
+            FatalErrorInFunction
+                << "Problem :"
                 << " particle:"
                 << info()
                 << "face:" << tetFace()
@@ -113,11 +110,8 @@ void Foam::wallBoundedParticle::crossEdgeConnectedFace
     const edge eNew(f[meshEdgeStart_], f.nextLabel(meshEdgeStart_));
     if (eNew != meshEdge)
     {
-        FatalErrorIn
-        (
-            "wallBoundedParticle::crossEdgeConnectedFace"
-            "(const edge&)"
-        )   << "Problem" << abort(FatalError);
+        FatalErrorInFunction
+            << "Problem" << abort(FatalError);
     }
 }
 
@@ -126,14 +120,14 @@ void Foam::wallBoundedParticle::crossDiagonalEdge()
 {
     if (diagEdge_ == -1)
     {
-        FatalErrorIn("wallBoundedParticle::crossDiagonalEdge()")
+        FatalErrorInFunction
             << "Particle:"
             << info()
             << "not on a diagonal edge" << abort(FatalError);
     }
     if (meshEdgeStart_ != -1)
     {
-        FatalErrorIn("wallBoundedParticle::crossDiagonalEdge()")
+        FatalErrorInFunction
             << "Particle:"
             << info()
             << "meshEdgeStart_:" << meshEdgeStart_ << abort(FatalError);
@@ -156,7 +150,7 @@ void Foam::wallBoundedParticle::crossDiagonalEdge()
         }
         else
         {
-            FatalErrorIn("wallBoundedParticle::crossDiagonalEdge()")
+            FatalErrorInFunction
                 << "Particle:"
                 << info()
                 << "tetPt:" << tetPt()
@@ -268,11 +262,8 @@ bool Foam::wallBoundedParticle::isTriAlongTrack
          || findIndex(triVerts, currentE[1]) == -1
         )
         {
-            FatalErrorIn
-            (
-                "wallBoundedParticle::isTriAlongTrack"
-                "(const point&)"
-            )   << "Edge " << currentE << " not on triangle " << triVerts
+            FatalErrorInFunction
+                << "Edge " << currentE << " not on triangle " << triVerts
                 << info()
                 << abort(FatalError);
         }
@@ -298,11 +289,8 @@ bool Foam::wallBoundedParticle::isTriAlongTrack
         }
     }
 
-    FatalErrorIn
-    (
-        "wallBoundedParticle::isTriAlongTrack"
-        "(const point&)"
-    )   << "Problem" << abort(FatalError);
+    FatalErrorInFunction
+        << "Problem" << abort(FatalError);
 
     return false;
 }
diff --git a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticleTemplates.C b/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticleTemplates.C
index 265621ae05e..dc4cb717d79 100644
--- a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticleTemplates.C
+++ b/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticleTemplates.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -206,11 +206,8 @@ Foam::scalar Foam::wallBoundedParticle::trackToEdge
 
         if (mesh_.isInternalFace(tetFace()))
         {
-            FatalErrorIn
-            (
-                "wallBoundedParticle::trackToEdge"
-                "(TrackData&, const vector&)"
-            )   << "Can only track on boundary faces."
+            FatalErrorInFunction
+                << "Can only track on boundary faces."
                 << " Face:" << tetFace()
                 << " at:" << mesh_.faceCentres()[tetFace()]
                 << abort(FatalError);
@@ -286,7 +283,7 @@ Foam::scalar Foam::wallBoundedParticle::trackToEdge
                 {
                     //Note: should not happen since boundary face so owner
                     //Pout<< "Real edge." << endl;
-                    FatalErrorIn("shold not happend") << info()
+                    FatalErrorInFunction
                         << abort(FatalError);
 
                     diagEdge_ = -1;
@@ -332,7 +329,7 @@ Foam::scalar Foam::wallBoundedParticle::trackToEdge
                 {
                     //Note: should not happen since boundary face so owner
                     //Pout<< "Real edge." << endl;
-                    FatalErrorIn("shold not happend") << info()
+                    FatalErrorInFunction
                         << abort(FatalError);
 
                     diagEdge_ = -1;
diff --git a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLine.C b/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLine.C
index 863221f220c..ab06b1c04e7 100644
--- a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLine.C
+++ b/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLine.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -302,7 +302,7 @@ void Foam::wallBoundedStreamLine::track()
             }
             else
             {
-                FatalErrorIn("wallBoundedStreamLine::execute()")
+                FatalErrorInFunction
                     << "Cannot find field " << fields_[i] << endl
                     << "Valid scalar fields are:"
                     << mesh.names(volScalarField::typeName) << endl
@@ -375,7 +375,7 @@ void Foam::wallBoundedStreamLine::track()
 
     if (UIndex == -1)
     {
-        FatalErrorIn("wallBoundedStreamLine::execute()")
+        FatalErrorInFunction
             << "Cannot find field to move particles with : " << UName_
             << endl
             << "This field has to be present in the sampled fields "
@@ -454,16 +454,8 @@ Foam::wallBoundedStreamLine::wallBoundedStreamLine
     else
     {
         active_ = false;
-        WarningIn
-        (
-            "wallBoundedStreamLine::wallBoundedStreamLine\n"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool "
-            ")"
-        )   << "No fvMesh available, deactivating " << name_
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_
             << nl << endl;
     }
 }
@@ -492,9 +484,8 @@ void Foam::wallBoundedStreamLine::read(const dictionary& dict)
             UName_ = "U";
             if (dict.found("U"))
             {
-                IOWarningIn
+                IOWarningInFunction
                 (
-                    "wallBoundedStreamLine::read(const dictionary&)",
                     dict
                 )   << "Using deprecated entry \"U\"."
                     << " Please use \"UName\" instead."
@@ -505,9 +496,8 @@ void Foam::wallBoundedStreamLine::read(const dictionary& dict)
 
         if (findIndex(fields_, UName_) == -1)
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "wallBoundedStreamLine::read(const dictionary&)",
                 dict
             )   << "Velocity field for tracking " << UName_
                 << " should be present in the list of fields " << fields_
@@ -519,7 +509,7 @@ void Foam::wallBoundedStreamLine::read(const dictionary& dict)
         dict.lookup("lifeTime") >> lifeTime_;
         if (lifeTime_ < 1)
         {
-            FatalErrorIn(":wallBoundedStreamLine::read(const dictionary&)")
+            FatalErrorInFunction
                 << "Illegal value " << lifeTime_ << " for lifeTime"
                 << exit(FatalError);
         }
@@ -584,7 +574,7 @@ void Foam::wallBoundedStreamLine::read(const dictionary& dict)
             {
                 label nFaces = returnReduce(faces.size(), sumOp<label>());
 
-                WarningIn("wallBoundedStreamLine::read(const dictionary&)")
+                WarningInFunction
                     << "Found " << nFaces
                     <<" faces with low quality or negative volume "
                     << "decomposition tets. Writing to faceSet " << faces.name()
@@ -623,10 +613,8 @@ void Foam::wallBoundedStreamLine::read(const dictionary& dict)
                 {
                     if (iter() != 2)
                     {
-                        FatalErrorIn
-                        (
-                            "wallBoundedStreamLine::read(const dictionary&)"
-                        )   << "problem cell:" << cellI
+                        FatalErrorInFunction
+                            << "problem cell:" << cellI
                             << abort(FatalError);
                     }
                 }
diff --git a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.C b/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.C
index 0bdf7006da3..0efa297151a 100644
--- a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.C
+++ b/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -38,7 +38,7 @@ Foam::vector Foam::wallBoundedStreamLineParticle::interpolateFields
 {
     if (cellI == -1)
     {
-        FatalErrorIn("wallBoundedStreamLineParticle::interpolateFields(..)")
+        FatalErrorInFunction
             << "Cell:" << cellI << abort(FatalError);
     }
 
diff --git a/src/postProcessing/functionObjects/forces/forceCoeffs/forceCoeffs.C b/src/postProcessing/functionObjects/forces/forceCoeffs/forceCoeffs.C
index fe09f4fd949..4d548a3a2f1 100644
--- a/src/postProcessing/functionObjects/forces/forceCoeffs/forceCoeffs.C
+++ b/src/postProcessing/functionObjects/forces/forceCoeffs/forceCoeffs.C
@@ -108,7 +108,7 @@ void Foam::forceCoeffs::writeFileHeader(const label i)
     }
     else
     {
-        FatalErrorIn("void Foam::forces::writeFileHeader(const label)")
+        FatalErrorInFunction
             << "Unhandled file index: " << i
             << abort(FatalError);
     }
diff --git a/src/postProcessing/functionObjects/forces/forces/forces.C b/src/postProcessing/functionObjects/forces/forces/forces.C
index dfb4a1cb42e..8417fccd6e3 100644
--- a/src/postProcessing/functionObjects/forces/forces/forces.C
+++ b/src/postProcessing/functionObjects/forces/forces/forces.C
@@ -144,7 +144,7 @@ void Foam::forces::writeFileHeader(const label i)
     }
     else
     {
-        FatalErrorIn("void Foam::forces::writeFileHeader(const label)")
+        FatalErrorInFunction
             << "Unhandled file index: " << i
             << abort(FatalError);
     }
@@ -165,7 +165,7 @@ void Foam::forces::initialise()
         if (!obr_.foundObject<volVectorField>(fDName_))
         {
             active_ = false;
-            WarningIn("void Foam::forces::initialise()")
+            WarningInFunction
                 << "Could not find " << fDName_ << " in database." << nl
                 << "    De-activating forces."
                 << endl;
@@ -185,7 +185,7 @@ void Foam::forces::initialise()
         {
             active_ = false;
 
-            WarningIn("void Foam::forces::initialise()")
+            WarningInFunction
                 << "Could not find " << UName_ << ", " << pName_;
 
             if (rhoName_ != "rhoInf")
@@ -255,7 +255,7 @@ Foam::tmp<Foam::volSymmTensorField> Foam::forces::devRhoReff() const
     }
     else
     {
-        FatalErrorIn("forces::devRhoReff()")
+        FatalErrorInFunction
             << "No valid model for viscous stress calculation"
             << exit(FatalError);
 
@@ -294,7 +294,7 @@ Foam::tmp<Foam::volScalarField> Foam::forces::mu() const
     }
     else
     {
-        FatalErrorIn("forces::mu()")
+        FatalErrorInFunction
             << "No valid model for dynamic viscosity calculation"
             << exit(FatalError);
 
@@ -341,7 +341,7 @@ Foam::scalar Foam::forces::rho(const volScalarField& p) const
     {
         if (rhoName_ != "rhoInf")
         {
-            FatalErrorIn("forces::rho(const volScalarField& p)")
+            FatalErrorInFunction
                 << "Dynamic pressure is expected but kinematic is provided."
                 << exit(FatalError);
         }
@@ -560,16 +560,8 @@ Foam::forces::forces
     else
     {
         active_ = false;
-        WarningIn
-        (
-            "Foam::forces::forces"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_
             << endl;
     }
 
@@ -694,10 +686,8 @@ void Foam::forces::read(const dictionary& dict)
 
             if (nBin_ < 0)
             {
-                FatalIOErrorIn
-                (
-                    "void Foam::forces::read(const dictionary&)", dict
-                )   << "Number of bins (nBin) must be zero or greater"
+                FatalIOErrorInFunction(dict)
+                    << "Number of bins (nBin) must be zero or greater"
                     << exit(FatalIOError);
             }
             else if ((nBin_ == 0) || (nBin_ == 1))
@@ -913,7 +903,7 @@ void Foam::forces::calcForcesMoment()
 
         if (models.empty())
         {
-            WarningIn("void Foam::forces::calcForcesMoment()")
+            WarningInFunction
                 << "Porosity effects requested, but no porosity models found "
                 << "in the database"
                 << endl;
diff --git a/src/postProcessing/functionObjects/fvTools/calcFvcDiv/calcFvcDiv.C b/src/postProcessing/functionObjects/fvTools/calcFvcDiv/calcFvcDiv.C
index 8c951de8ecf..63b657a3e9f 100644
--- a/src/postProcessing/functionObjects/fvTools/calcFvcDiv/calcFvcDiv.C
+++ b/src/postProcessing/functionObjects/fvTools/calcFvcDiv/calcFvcDiv.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -94,16 +94,8 @@ Foam::calcFvcDiv::calcFvcDiv
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "calcFvcDiv::calcFvcDiv"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating." << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating." << nl
             << endl;
     }
 
@@ -145,7 +137,7 @@ void Foam::calcFvcDiv::execute()
 
         if (!processed)
         {
-            WarningIn("void Foam::calcFvcDiv::write()")
+            WarningInFunction
                 << "Unprocessed field " << fieldName_ << endl;
         }
     }
diff --git a/src/postProcessing/functionObjects/fvTools/calcFvcGrad/calcFvcGrad.C b/src/postProcessing/functionObjects/fvTools/calcFvcGrad/calcFvcGrad.C
index c0642ecf01b..96a62f3df86 100644
--- a/src/postProcessing/functionObjects/fvTools/calcFvcGrad/calcFvcGrad.C
+++ b/src/postProcessing/functionObjects/fvTools/calcFvcGrad/calcFvcGrad.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,16 +56,8 @@ Foam::calcFvcGrad::calcFvcGrad
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "calcFvcGrad::calcFvcGrad"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating." << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating." << nl
             << endl;
     }
 
@@ -107,7 +99,7 @@ void Foam::calcFvcGrad::execute()
 
         if (!processed)
         {
-            WarningIn("void Foam::calcFvcGrad::write()")
+            WarningInFunction
                 << "Unprocessed field " << fieldName_ << endl;
         }
     }
diff --git a/src/postProcessing/functionObjects/fvTools/calcMag/calcMag.C b/src/postProcessing/functionObjects/fvTools/calcMag/calcMag.C
index d853aaf00dc..f867746c3c8 100644
--- a/src/postProcessing/functionObjects/fvTools/calcMag/calcMag.C
+++ b/src/postProcessing/functionObjects/fvTools/calcMag/calcMag.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,16 +56,8 @@ Foam::calcMag::calcMag
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "calcMag::calcMag"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating." << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating." << nl
             << endl;
     }
 
@@ -110,7 +102,7 @@ void Foam::calcMag::execute()
 
         if (!processed)
         {
-            WarningIn("void Foam::calcMag::write()")
+            WarningInFunction
                 << "Unprocessed field " << fieldName_ << endl;
         }
     }
diff --git a/src/postProcessing/functionObjects/systemCall/systemCall.C b/src/postProcessing/functionObjects/systemCall/systemCall.C
index 8a2df60b44b..1ad82b58d35 100644
--- a/src/postProcessing/functionObjects/systemCall/systemCall.C
+++ b/src/postProcessing/functionObjects/systemCall/systemCall.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -70,13 +70,13 @@ void Foam::systemCall::read(const dictionary& dict)
 
     if (executeCalls_.empty() && endCalls_.empty() && writeCalls_.empty())
     {
-        WarningIn("Foam::system::read(const dictionary&)")
+        WarningInFunction
             << "no executeCalls, endCalls or writeCalls defined."
             << endl;
     }
     else if (!dynamicCode::allowSystemOperations)
     {
-        FatalErrorIn("systemCall::read(const dictionary&)")
+        FatalErrorInFunction
             << "Executing user-supplied system calls is not enabled by "
             << "default because of " << nl
             << "security issues.  If you trust the case you can enable this "
diff --git a/src/postProcessing/functionObjects/utilities/CourantNo/CourantNo.C b/src/postProcessing/functionObjects/utilities/CourantNo/CourantNo.C
index 5653a6a177a..89506ebc96b 100644
--- a/src/postProcessing/functionObjects/utilities/CourantNo/CourantNo.C
+++ b/src/postProcessing/functionObjects/utilities/CourantNo/CourantNo.C
@@ -74,16 +74,8 @@ Foam::CourantNo::CourantNo
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "CourantNo::CourantNo"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_ << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_ << nl
             << endl;
     }
 
diff --git a/src/postProcessing/functionObjects/utilities/Lambda2/Lambda2.C b/src/postProcessing/functionObjects/utilities/Lambda2/Lambda2.C
index 3c72fbfd9b5..1fc38cd5bf1 100644
--- a/src/postProcessing/functionObjects/utilities/Lambda2/Lambda2.C
+++ b/src/postProcessing/functionObjects/utilities/Lambda2/Lambda2.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,16 +56,8 @@ Foam::Lambda2::Lambda2
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "Lambda2::Lambda2"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_ << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_ << nl
             << endl;
     }
 
diff --git a/src/postProcessing/functionObjects/utilities/Peclet/Peclet.C b/src/postProcessing/functionObjects/utilities/Peclet/Peclet.C
index 18ac5843321..076d3b47ed4 100644
--- a/src/postProcessing/functionObjects/utilities/Peclet/Peclet.C
+++ b/src/postProcessing/functionObjects/utilities/Peclet/Peclet.C
@@ -59,16 +59,8 @@ Foam::Peclet::Peclet
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "Peclet::Peclet"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_ << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_ << nl
             << endl;
     }
 
@@ -179,7 +171,7 @@ void Foam::Peclet::execute()
         }
         else
         {
-            FatalErrorIn("void Foam::Peclet::write()")
+            FatalErrorInFunction
                 << "Unable to determine the viscosity"
                 << exit(FatalError);
         }
diff --git a/src/postProcessing/functionObjects/utilities/Q/Q.C b/src/postProcessing/functionObjects/utilities/Q/Q.C
index 2dda80a88ba..1e13c375a93 100644
--- a/src/postProcessing/functionObjects/utilities/Q/Q.C
+++ b/src/postProcessing/functionObjects/utilities/Q/Q.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -55,16 +55,8 @@ Foam::Q::Q
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "Q::Q"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_ << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_ << nl
             << endl;
     }
 
diff --git a/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactor.C b/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactor.C
index 3c98c9d86f2..05da696bae8 100644
--- a/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactor.C
+++ b/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactor.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -54,16 +54,8 @@ Foam::blendingFactor::blendingFactor
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "blendingFactor::blendingFactor"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_ << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_ << nl
             << endl;
     }
 
diff --git a/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactorTemplates.C b/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactorTemplates.C
index 3a284b8c731..78cb411a3c5 100644
--- a/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactorTemplates.C
+++ b/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactorTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -99,7 +99,7 @@ void Foam::blendingFactor::calc()
 
     if (!isA<blendedSchemeBase<Type> >(interpScheme))
     {
-        FatalErrorIn("void Foam::blendingFactor::execute()")
+        FatalErrorInFunction
             << interpScheme.typeName << " is not a blended scheme"
             << exit(FatalError);
     }
diff --git a/src/postProcessing/functionObjects/utilities/dsmcFields/dsmcFields.C b/src/postProcessing/functionObjects/utilities/dsmcFields/dsmcFields.C
index dd9400bb94f..121a9af2300 100644
--- a/src/postProcessing/functionObjects/utilities/dsmcFields/dsmcFields.C
+++ b/src/postProcessing/functionObjects/utilities/dsmcFields/dsmcFields.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -58,16 +58,8 @@ Foam::dsmcFields::dsmcFields
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "dsmcFields::dsmcFields"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_ << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_ << nl
             << endl;
     }
 
diff --git a/src/postProcessing/functionObjects/utilities/pressureTools/pressureTools.C b/src/postProcessing/functionObjects/utilities/pressureTools/pressureTools.C
index e760f43107b..1d9013d96e6 100644
--- a/src/postProcessing/functionObjects/utilities/pressureTools/pressureTools.C
+++ b/src/postProcessing/functionObjects/utilities/pressureTools/pressureTools.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -204,16 +204,8 @@ Foam::pressureTools::pressureTools
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "pressureTools::pressureTools"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_ << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_ << nl
             << endl;
     }
 
@@ -290,7 +282,7 @@ void Foam::pressureTools::read(const dictionary& dict)
 
             if (mag(zeroCheck) < ROOTVSMALL)
             {
-                WarningIn("void Foam::pressureTools::read(const dictionary&)")
+                WarningInFunction
                     << type() << " " << name_ << ": "
                     << "Coefficient calculation requested, but reference "
                     << "pressure level is zero.  Please check the supplied "
diff --git a/src/postProcessing/functionObjects/utilities/residuals/residuals.C b/src/postProcessing/functionObjects/utilities/residuals/residuals.C
index 52683412f78..d156ecd3e6a 100644
--- a/src/postProcessing/functionObjects/utilities/residuals/residuals.C
+++ b/src/postProcessing/functionObjects/utilities/residuals/residuals.C
@@ -56,16 +56,8 @@ Foam::residuals::residuals
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "residuals::residuals"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_
             << endl;
     }
 
diff --git a/src/postProcessing/functionObjects/utilities/scalarTransport/scalarTransport.C b/src/postProcessing/functionObjects/utilities/scalarTransport/scalarTransport.C
index 97dde676111..b3412b0555c 100644
--- a/src/postProcessing/functionObjects/utilities/scalarTransport/scalarTransport.C
+++ b/src/postProcessing/functionObjects/utilities/scalarTransport/scalarTransport.C
@@ -294,7 +294,7 @@ void Foam::scalarTransport::execute()
         }
         else
         {
-            FatalErrorIn("void Foam::scalarTransport::execute()")
+            FatalErrorInFunction
                 << "Incompatible dimensions for phi: " << phi.dimensions() << nl
                 << "Dimensions should be " << dimMass/dimTime << " or "
                 << dimVolume/dimTime << endl;
diff --git a/src/postProcessing/functionObjects/utilities/setTimeStep/setTimeStepFunctionObject.C b/src/postProcessing/functionObjects/utilities/setTimeStep/setTimeStepFunctionObject.C
index a8d540771b3..e4c664e6c95 100644
--- a/src/postProcessing/functionObjects/utilities/setTimeStep/setTimeStepFunctionObject.C
+++ b/src/postProcessing/functionObjects/utilities/setTimeStep/setTimeStepFunctionObject.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -132,7 +132,7 @@ bool Foam::setTimeStepFunctionObject::read(const dictionary& dict)
          || !adjust
         )
         {
-            FatalIOErrorIn("setTimeStep::read(const dictionary&)", dict)
+            FatalIOErrorInFunction(dict)
                 << "Need to have 'adjustTimeStep' true to enable external"
                 << " timestep control" << exit(FatalIOError);
         }
diff --git a/src/postProcessing/functionObjects/utilities/timeActivatedFileUpdate/timeActivatedFileUpdate.C b/src/postProcessing/functionObjects/utilities/timeActivatedFileUpdate/timeActivatedFileUpdate.C
index 91d5f381f60..3c57c06fcb4 100644
--- a/src/postProcessing/functionObjects/utilities/timeActivatedFileUpdate/timeActivatedFileUpdate.C
+++ b/src/postProcessing/functionObjects/utilities/timeActivatedFileUpdate/timeActivatedFileUpdate.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -106,7 +106,7 @@ void Foam::timeActivatedFileUpdate::read(const dictionary& dict)
             timeVsFile_[i].second() = timeVsFile_[i].second().expand();
             if (!isFile(timeVsFile_[i].second()))
             {
-                FatalErrorIn("timeActivatedFileUpdate::read(const dictionary&)")
+                FatalErrorInFunction
                     << "File: " << timeVsFile_[i].second() << " not found"
                     << nl << exit(FatalError);
             }
diff --git a/src/postProcessing/functionObjects/utilities/turbulenceFields/turbulenceFields.C b/src/postProcessing/functionObjects/utilities/turbulenceFields/turbulenceFields.C
index 6a16f35c137..85c33035e5d 100644
--- a/src/postProcessing/functionObjects/utilities/turbulenceFields/turbulenceFields.C
+++ b/src/postProcessing/functionObjects/utilities/turbulenceFields/turbulenceFields.C
@@ -80,7 +80,7 @@ bool Foam::turbulenceFields::compressible()
     }
     else
     {
-        WarningIn("Foam::word& Foam::turbulenceFields::compressible() const")
+        WarningInFunction
             << "Turbulence model not found in database, deactivating";
         active_ = false;
     }
@@ -112,16 +112,8 @@ Foam::turbulenceFields::turbulenceFields
     else
     {
         active_ = false;
-        WarningIn
-        (
-            "turbulenceFields::turbulenceFields"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_
             << endl;
     }
 }
@@ -220,7 +212,7 @@ void Foam::turbulenceFields::execute()
                 }
                 default:
                 {
-                    FatalErrorIn("void Foam::turbulenceFields::execute()")
+                    FatalErrorInFunction
                         << "Invalid field selection" << abort(FatalError);
                 }
             }
@@ -268,7 +260,7 @@ void Foam::turbulenceFields::execute()
                 }
                 default:
                 {
-                    FatalErrorIn("void Foam::turbulenceFields::execute()")
+                    FatalErrorInFunction
                         << "Invalid field selection" << abort(FatalError);
                 }
             }
diff --git a/src/postProcessing/functionObjects/utilities/turbulenceFields/turbulenceFieldsTemplates.C b/src/postProcessing/functionObjects/utilities/turbulenceFields/turbulenceFieldsTemplates.C
index 0d067cc168f..e5746b6b4bf 100644
--- a/src/postProcessing/functionObjects/utilities/turbulenceFields/turbulenceFieldsTemplates.C
+++ b/src/postProcessing/functionObjects/utilities/turbulenceFields/turbulenceFieldsTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -46,14 +46,8 @@ void Foam::turbulenceFields::processField
     }
     else if (obr_.found(scopedName))
     {
-        WarningIn
-        (
-            "void Foam::turbulenceFields::processField"
-            "("
-                "const word&, "
-                "const tmp<GeometricField<Type, fvPatchField, volMesh> >&"
-            ")"
-        )   << "Cannot store turbulence field " << scopedName
+        WarningInFunction
+            << "Cannot store turbulence field " << scopedName
             << " since an object with that name already exists"
             << nl << endl;
     }
diff --git a/src/postProcessing/functionObjects/utilities/vorticity/vorticity.C b/src/postProcessing/functionObjects/utilities/vorticity/vorticity.C
index ac9c5e392c6..5fb24ce1f75 100644
--- a/src/postProcessing/functionObjects/utilities/vorticity/vorticity.C
+++ b/src/postProcessing/functionObjects/utilities/vorticity/vorticity.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,16 +56,8 @@ Foam::vorticity::vorticity
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "vorticity::vorticity"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_ << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_ << nl
             << endl;
     }
 
diff --git a/src/postProcessing/functionObjects/utilities/wallShearStress/wallShearStress.C b/src/postProcessing/functionObjects/utilities/wallShearStress/wallShearStress.C
index 4271fa5394e..7f86ed69441 100644
--- a/src/postProcessing/functionObjects/utilities/wallShearStress/wallShearStress.C
+++ b/src/postProcessing/functionObjects/utilities/wallShearStress/wallShearStress.C
@@ -110,16 +110,8 @@ Foam::wallShearStress::wallShearStress
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "wallShearStress::wallShearStress"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_ << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_ << nl
             << endl;
     }
 
@@ -207,7 +199,7 @@ void Foam::wallShearStress::read(const dictionary& dict)
                 }
                 else
                 {
-                    WarningIn("void wallShearStress::read(const dictionary&)")
+                    WarningInFunction
                         << "Requested wall shear stress on non-wall boundary "
                         << "type patch: " << pbm[patchI].name() << endl;
                 }
@@ -258,7 +250,7 @@ void Foam::wallShearStress::execute()
         }
         else
         {
-            FatalErrorIn("void Foam::wallShearStress::execute()")
+            FatalErrorInFunction
                 << "Unable to find turbulence model in the "
                 << "database" << exit(FatalError);
         }
diff --git a/src/postProcessing/functionObjects/utilities/yPlus/yPlus.C b/src/postProcessing/functionObjects/utilities/yPlus/yPlus.C
index 119a0f895dc..3fa8fb613bf 100644
--- a/src/postProcessing/functionObjects/utilities/yPlus/yPlus.C
+++ b/src/postProcessing/functionObjects/utilities/yPlus/yPlus.C
@@ -72,16 +72,8 @@ Foam::yPlus::yPlus
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "yPlus::yPlus"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_ << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_ << nl
             << endl;
     }
 
@@ -165,7 +157,7 @@ void Foam::yPlus::execute()
         }
         else
         {
-            FatalErrorIn("void Foam::yPlus::write()")
+            FatalErrorInFunction
                 << "Unable to find turbulence model in the "
                 << "database" << exit(FatalError);
         }
diff --git a/src/randomProcesses/Kmesh/Kmesh.C b/src/randomProcesses/Kmesh/Kmesh.C
index a251459de00..5bc6ad1de3d 100644
--- a/src/randomProcesses/Kmesh/Kmesh.C
+++ b/src/randomProcesses/Kmesh/Kmesh.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -73,7 +73,7 @@ Foam::Kmesh::Kmesh(const fvMesh& mesh)
 
     if (nTot != mesh.nCells())
     {
-        FatalErrorIn("Kmesh::Kmesh(const fvMesh& mesh)")
+        FatalErrorInFunction
             << "calculated number of cells is incorrect"
             << abort(FatalError);
     }
diff --git a/src/randomProcesses/fft/fft.C b/src/randomProcesses/fft/fft.C
index a438bd3357e..fdc5e856ed1 100644
--- a/src/randomProcesses/fft/fft.C
+++ b/src/randomProcesses/fft/fft.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -51,11 +51,8 @@ void fft::transform
         unsigned int dimCount = nn[idim];
         if (!dimCount || (dimCount & (dimCount - 1)))
         {
-            FatalErrorIn
-            (
-                 "fft::transform(complexField&, const labelList&, "
-                 "transformDirection)"
-            )   << "number of elements in direction " << idim
+            FatalErrorInFunction
+                << "number of elements in direction " << idim
                 << " is not a power of 2" << endl
                 << "    Number of elements in each direction = " << nn
                 << abort(FatalError);
diff --git a/src/randomProcesses/noise/noiseFFT.C b/src/randomProcesses/noise/noiseFFT.C
index a262125121f..88cbe3c5ba1 100644
--- a/src/randomProcesses/noise/noiseFFT.C
+++ b/src/randomProcesses/noise/noiseFFT.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -59,7 +59,7 @@ Foam::noiseFFT::noiseFFT(const fileName& pFileName, const label skip)
     // Check pFile stream is OK
     if (!pFile.good())
     {
-        FatalErrorIn("noiseFFT::noiseFFT(const scalar, const scalarField&)")
+        FatalErrorInFunction
             << "Cannot read file " << pFileName
             << exit(FatalError);
     }
@@ -74,10 +74,7 @@ Foam::noiseFFT::noiseFFT(const fileName& pFileName, const label skip)
 
             if (!pFile.good() || pFile.eof())
             {
-                FatalErrorIn
-                (
-                    "noiseFFT::noiseFFT(const scalar, const scalarField&)"
-                )
+                FatalErrorInFunction
                     << "Number of points in file " << pFileName
                     << " is less than the number to be skipped = " << skip
                     << exit(FatalError);
@@ -134,7 +131,7 @@ Foam::tmp<Foam::scalarField> Foam::noiseFFT::window
 
     if ((N + ni*windowOffset) > size())
     {
-        FatalErrorIn("noiseFFT::window(const label, const label) const")
+        FatalErrorInFunction
             << "Requested window is outside set of data" << endl
             << "number of data = " << size() << endl
             << "size of window = " << N << endl
@@ -213,7 +210,7 @@ Foam::graph Foam::noiseFFT::meanPf
 {
     if (N > size())
     {
-        FatalErrorIn("noiseFFT::meanPf(const label, const label) const")
+        FatalErrorInFunction
             << "Requested window is outside set of data" << nl
             << "number of data = " << size() << nl
             << "size of window = " << N << nl
@@ -259,7 +256,7 @@ Foam::graph Foam::noiseFFT::RMSmeanPf
 {
     if (N > size())
     {
-        FatalErrorIn("noiseFFT::RMSmeanPf(const label, const label) const")
+        FatalErrorInFunction
             << "Requested window is outside set of data" << endl
             << "number of data = " << size() << endl
             << "size of window = " << N << endl
diff --git a/src/regionCoupled/derivedFvPatchFields/energyRegionCoupled/energyRegionCoupledFvPatchScalarField.C b/src/regionCoupled/derivedFvPatchFields/energyRegionCoupled/energyRegionCoupledFvPatchScalarField.C
index 6d695a87ae4..89973ded9c0 100644
--- a/src/regionCoupled/derivedFvPatchFields/energyRegionCoupled/energyRegionCoupledFvPatchScalarField.C
+++ b/src/regionCoupled/derivedFvPatchFields/energyRegionCoupled/energyRegionCoupledFvPatchScalarField.C
@@ -130,7 +130,7 @@ kappa() const
 
         case UNDEFINED:
         {
-            FatalErrorIn("energyRegionCoupledFvPatchScalarField::kappa() const")
+            FatalErrorInFunction
                     << " on mesh " << this->db().name() << " patch "
                     << patch().name()
                     << " could not find a method in. Methods are:  "
@@ -255,16 +255,7 @@ energyRegionCoupledFvPatchScalarField
 
     if (!isA<regionCoupledBase>(this->patch().patch()))
     {
-        FatalErrorIn
-        (
-            "energyRegionCoupledFvPatchScalarField::"
-            "energyRegionCoupledFvPatchScalarField\n"
-            "(\n"
-            "    const fvPatch& p,\n"
-            "    const DimensionedField<scalar, volMesh>& iF,\n"
-            "    const dictionary& dict\n"
-            ")\n"
-        )   << "\n    patch type '" << p.type()
+        FatalErrorInFunction
             << "' not type '" << regionCoupledBase::typeName << "'"
             << "\n    for patch " << p.name()
             << " of field " << dimensionedInternalField().name()
diff --git a/src/regionModels/pyrolysisModels/noPyrolysis/noPyrolysis.C b/src/regionModels/pyrolysisModels/noPyrolysis/noPyrolysis.C
index 62916c61a67..55347678064 100644
--- a/src/regionModels/pyrolysisModels/noPyrolysis/noPyrolysis.C
+++ b/src/regionModels/pyrolysisModels/noPyrolysis/noPyrolysis.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -178,7 +178,7 @@ tmp<volScalarField> noPyrolysis::kappa() const
 
 const surfaceScalarField& noPyrolysis::phiGas() const
 {
-    FatalErrorIn("const volScalarField& noPyrolysis::phiGas() const")
+    FatalErrorInFunction
         << "phiGas field not available for " << type() << abort(FatalError);
     return surfaceScalarField::null();
 }
diff --git a/src/regionModels/pyrolysisModels/pyrolysisModel/pyrolysisModelCollection.C b/src/regionModels/pyrolysisModels/pyrolysisModel/pyrolysisModelCollection.C
index afca8c66149..db59153cb01 100644
--- a/src/regionModels/pyrolysisModels/pyrolysisModel/pyrolysisModelCollection.C
+++ b/src/regionModels/pyrolysisModels/pyrolysisModel/pyrolysisModelCollection.C
@@ -124,7 +124,7 @@ void pyrolysisModelCollection::evolve()
         {
             if (pyrolysis.primaryMesh().changing())
             {
-                FatalErrorIn("pyrolysisModelCollection::evolve()")
+                FatalErrorInFunction
                     << "Currently not possible to apply "
                     << pyrolysis.modelName()
                     << " model to moving mesh cases" << nl<< abort(FatalError);
diff --git a/src/regionModels/pyrolysisModels/pyrolysisModel/pyrolysisModelNew.C b/src/regionModels/pyrolysisModels/pyrolysisModel/pyrolysisModelNew.C
index 958dafdef13..ea38a60f47e 100644
--- a/src/regionModels/pyrolysisModels/pyrolysisModel/pyrolysisModelNew.C
+++ b/src/regionModels/pyrolysisModels/pyrolysisModel/pyrolysisModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -68,7 +68,7 @@ autoPtr<pyrolysisModel> pyrolysisModel::New
 
     if (cstrIter == meshConstructorTablePtr_->end())
     {
-        FatalErrorIn("pyrolysisModel::New(const fvMesh&, const word&)")
+        FatalErrorInFunction
             << "Unknown pyrolysisModel type " << modelType
             << nl << nl << "Valid pyrolisisModel types are:" << nl
             << meshConstructorTablePtr_->sortedToc()
@@ -96,15 +96,7 @@ autoPtr<pyrolysisModel> pyrolysisModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "pyrolysisModel::New"
-            "("
-                "const fvMesh&, "
-                "const dictionary&, "
-                "const word&"
-            ")"
-        )
+        FatalErrorInFunction
             << "Unknown pyrolysisModel type " << modelType
             << nl << nl << "Valid pyrolisisModel types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisRadiativeCoupledMixed/filmPyrolysisRadiativeCoupledMixedFvPatchScalarField.C b/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisRadiativeCoupledMixed/filmPyrolysisRadiativeCoupledMixedFvPatchScalarField.C
index 565130dee59..dca7846ca61 100644
--- a/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisRadiativeCoupledMixed/filmPyrolysisRadiativeCoupledMixedFvPatchScalarField.C
+++ b/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisRadiativeCoupledMixed/filmPyrolysisRadiativeCoupledMixedFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -55,13 +55,7 @@ filmModel() const
         modelNames.append(iter()->regionMesh().name());
     }
 
-    FatalErrorIn
-    (
-        "const filmPyrolysisRadiativeCoupledMixedFvPatchScalarField::"
-        "filmModelType& "
-        "filmPyrolysisRadiativeCoupledMixedFvPatchScalarField::"
-        "filmModel() const"
-    )
+    FatalErrorInFunction
         << "Unable to locate film region " << filmRegionName_
         << ".  Available regions include: " << modelNames
         << abort(FatalError);
@@ -93,13 +87,7 @@ pyrModel() const
     }
 
 
-    FatalErrorIn
-    (
-        "const filmPyrolysisRadiativeCoupledMixedFvPatchScalarField::"
-        "pyrolysisModelType& "
-        "filmPyrolysisRadiativeCoupledMixedFvPatchScalarField::"
-        "pyrModel() const"
-    )
+    FatalErrorInFunction
         << "Unable to locate pyrolysis region " << pyrolysisRegionName_
         << ".  Available regions include: " << modelNames
         << abort(FatalError);
@@ -180,16 +168,7 @@ filmPyrolysisRadiativeCoupledMixedFvPatchScalarField
 {
     if (!isA<mappedPatchBase>(this->patch().patch()))
     {
-        FatalErrorIn
-        (
-            "filmPyrolysisRadiativeCoupledMixedFvPatchScalarField::"
-            "filmPyrolysisRadiativeCoupledMixedFvPatchScalarField\n"
-            "(\n"
-            "    const fvPatch& p,\n"
-            "    const DimensionedField<scalar, volMesh>& iF,\n"
-            "    const dictionary& dict\n"
-            ")\n"
-        )   << "\n    patch type '" << p.type()
+        FatalErrorInFunction
             << "' not type '" << mappedPatchBase::typeName << "'"
             << "\n    for patch " << p.name()
             << " of field " << dimensionedInternalField().name()
@@ -312,11 +291,7 @@ void filmPyrolysisRadiativeCoupledMixedFvPatchScalarField::updateCoeffs()
     }
     else
     {
-        FatalErrorIn
-        (
-            "void filmPyrolysisRadiativeCoupledMixedFvPatchScalarField::"
-            "updateCoeffs()"
-        )
+        FatalErrorInFunction
             << type() << " condition is intended to be applied to either the "
             << "primary or pyrolysis regions only"
             << exit(FatalError);
diff --git a/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisVelocityCoupled/filmPyrolysisVelocityCoupledFvPatchVectorField.C b/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisVelocityCoupled/filmPyrolysisVelocityCoupledFvPatchVectorField.C
index 4b7bdef10b4..0547612288e 100644
--- a/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisVelocityCoupled/filmPyrolysisVelocityCoupledFvPatchVectorField.C
+++ b/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisVelocityCoupled/filmPyrolysisVelocityCoupledFvPatchVectorField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -185,10 +185,8 @@ void Foam::filmPyrolysisVelocityCoupledFvPatchVectorField::updateCoeffs()
     }
     else
     {
-        FatalErrorIn
-        (
-            "filmPyrolysisVelocityCoupledFvPatchVectorField::updateCoeffs()"
-        )   << "Unable to process flux field phi with dimensions "
+        FatalErrorInFunction
+            << "Unable to process flux field phi with dimensions "
             << phi.dimensions() << nl
             << "    on patch " << patch().name()
             << " of field " << dimensionedInternalField().name()
diff --git a/src/regionModels/regionModel/regionModel/regionModel.C b/src/regionModels/regionModel/regionModel/regionModel.C
index 4ee88f0c8ac..b1d516ce03e 100644
--- a/src/regionModels/regionModel/regionModel/regionModel.C
+++ b/src/regionModels/regionModel/regionModel/regionModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -138,7 +138,7 @@ void Foam::regionModels::regionModel::initialise()
 
     if (returnReduce(nBoundaryFaces, sumOp<label>()) == 0)
     {
-        WarningIn("regionModel::initialise()")
+        WarningInFunction
             << "Region model has no mapped boundary conditions - transfer "
             << "between regions will not be possible" << endl;
     }
@@ -317,14 +317,7 @@ Foam::label Foam::regionModels::regionModel::nbrCoupledPatchID
 
     if (regionPatchI > pbm.size() - 1)
     {
-        FatalErrorIn
-        (
-            "Foam::label Foam::regionModels::regionModel::nbrCoupledPatchID"
-            "("
-                "const regionModel&, "
-                "const label"
-            ") const"
-        )
+        FatalErrorInFunction
             << "region patch index out of bounds: "
             << "region patch index = " << regionPatchI
             << ", maximum index = " << pbm.size() - 1
@@ -335,14 +328,7 @@ Foam::label Foam::regionModels::regionModel::nbrCoupledPatchID
 
     if (!isA<mappedPatchBase>(pp))
     {
-        FatalErrorIn
-        (
-            "Foam::label Foam::regionModels::regionModel::nbrCoupledPatchID"
-            "("
-                "const regionModel&, "
-                "const label"
-            ") const"
-        )
+        FatalErrorInFunction
             << "Expected a " << mappedPatchBase::typeName
             << " patch, but found a " << pp.type() << abort(FatalError);
     }
@@ -371,14 +357,7 @@ Foam::label Foam::regionModels::regionModel::nbrCoupledPatchID
     {
         const polyPatch& p = regionMesh().boundaryMesh()[regionPatchI];
 
-        FatalErrorIn
-        (
-            "Foam::label Foam::regionModels::regionModel::nbrCoupledPatchID"
-            "("
-                "const regionModel&, "
-                "const label"
-            ") const"
-        )
+        FatalErrorInFunction
             << "Unable to find patch pair for local patch "
             << p.name() << " and region " << nbrRegion.name()
             << abort(FatalError);
diff --git a/src/regionModels/regionModel/regionModel/regionModelI.H b/src/regionModels/regionModel/regionModel/regionModelI.H
index 95defc744ed..e04513125a5 100644
--- a/src/regionModels/regionModel/regionModel/regionModelI.H
+++ b/src/regionModels/regionModel/regionModel/regionModelI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -66,11 +66,8 @@ inline const Foam::fvMesh& Foam::regionModels::regionModel::regionMesh() const
     }
     else if (!regionMeshPtr_.valid())
     {
-        FatalErrorIn
-        (
-            "inline const Foam::fvMesh&"
-            "Foam::regionModels::regionModel::regionMesh() const"
-        )<< "Region mesh not available" << abort(FatalError);
+        FatalErrorInFunction
+         << "Region mesh not available" << abort(FatalError);
     }
 
     return regionMeshPtr_();
@@ -88,11 +85,8 @@ inline Foam::fvMesh& Foam::regionModels::regionModel::regionMesh()
     }
     else if (!regionMeshPtr_.valid())
     {
-        FatalErrorIn
-        (
-            "inline Foam::fvMesh&"
-            "Foam::regionModels::regionModel::regionMesh()"
-        )<< "Region mesh not available" << abort(FatalError);
+        FatalErrorInFunction
+         << "Region mesh not available" << abort(FatalError);
     }
 
     return regionMeshPtr_();
@@ -117,11 +111,7 @@ Foam::regionModels::regionModel::outputProperties() const
 {
     if (!outputPropertiesPtr_.valid())
     {
-        FatalErrorIn
-        (
-            "inline const Foam::IOdictionary& "
-            "Foam::regionModels::regionModel::outputProperties() const"
-        )
+        FatalErrorInFunction
             << "outputProperties dictionary not available"
             << abort(FatalError);
     }
@@ -135,11 +125,7 @@ Foam::regionModels::regionModel::outputProperties()
 {
     if (!outputPropertiesPtr_.valid())
     {
-        FatalErrorIn
-        (
-            "inline Foam::IOdictionary& "
-            "Foam::regionModels::regionModel::outputProperties()"
-        )
+        FatalErrorInFunction
             << "outputProperties dictionary not available"
             << abort(FatalError);
     }
diff --git a/src/regionModels/regionModel/regionModel/regionModelTemplates.C b/src/regionModels/regionModel/regionModel/regionModelTemplates.C
index dad46878ab2..c100552632f 100644
--- a/src/regionModels/regionModel/regionModel/regionModelTemplates.C
+++ b/src/regionModels/regionModel/regionModel/regionModelTemplates.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -177,7 +177,7 @@ void Foam::regionModels::regionModel::toPrimary
         }
     }
 
-    FatalErrorIn("const void toPrimary(const label, List<Type>&) const")
+    FatalErrorInFunction
         << "Region patch ID " << regionPatchI << " not found in region mesh"
         << abort(FatalError);
 }
@@ -204,7 +204,7 @@ void Foam::regionModels::regionModel::toRegion
         }
     }
 
-    FatalErrorIn("const void toRegion(const label, List<Type>&) const")
+    FatalErrorInFunction
         << "Region patch ID " << regionPatchI << " not found in region mesh"
         << abort(FatalError);
 }
@@ -232,15 +232,8 @@ void Foam::regionModels::regionModel::toPrimary
         }
     }
 
-    FatalErrorIn
-    (
-        "const void toPrimary"
-        "("
-            "const label, "
-            "List<Type>&, "
-            "const CombineOp&"
-        ") const"
-    )   << "Region patch ID " << regionPatchI << " not found in region mesh"
+    FatalErrorInFunction
+        << "Region patch ID " << regionPatchI << " not found in region mesh"
         << abort(FatalError);
 }
 
@@ -267,10 +260,8 @@ void Foam::regionModels::regionModel::toRegion
         }
     }
 
-    FatalErrorIn
-    (
-        "const void toRegion(const label, List<Type>&, const CombineOp&) const"
-    )   << "Region patch ID " << regionPatchI << " not found in region mesh"
+    FatalErrorInFunction
+        << "Region patch ID " << regionPatchI << " not found in region mesh"
         << abort(FatalError);
 }
 
diff --git a/src/regionModels/regionModel/regionModel1D/regionModel1DI.H b/src/regionModels/regionModel/regionModel1D/regionModel1DI.H
index 27530828a70..fcc918fb646 100644
--- a/src/regionModels/regionModel/regionModel1D/regionModel1DI.H
+++ b/src/regionModels/regionModel/regionModel1D/regionModel1DI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -53,11 +53,8 @@ Foam::regionModels::regionModel1D::nMagSf() const
 {
     if (!nMagSfPtr_.valid())
     {
-        FatalErrorIn
-        (
-            "inline const Foam::surfaceScalarField&"
-            "Foam::regionModel1Ds::regionModel1D::nMagSf() const"
-        )<< "Face normal areas not available" << abort(FatalError);
+        FatalErrorInFunction
+         << "Face normal areas not available" << abort(FatalError);
     }
 
     return nMagSfPtr_();
diff --git a/src/regionModels/regionModel/regionModelFunctionObject/regionModelFunctionObject/regionModelFunctionObjectNew.C b/src/regionModels/regionModel/regionModelFunctionObject/regionModelFunctionObject/regionModelFunctionObjectNew.C
index 11371b1f796..3b41bc8d3bc 100644
--- a/src/regionModels/regionModel/regionModelFunctionObject/regionModelFunctionObject/regionModelFunctionObjectNew.C
+++ b/src/regionModels/regionModel/regionModelFunctionObject/regionModelFunctionObject/regionModelFunctionObjectNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,15 +44,8 @@ Foam::regionModels::regionModelFunctionObject::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "regionModelFunctionObject::New"
-            "("
-                "const dictionary&, "
-                "regionModel&, "
-                "const word&"
-            ")"
-        )   << "Unknown region model function type "
+        FatalErrorInFunction
+            << "Unknown region model function type "
             << modelType << nl << nl
             << "Valid region model function types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/regionModels/regionModel/singleLayerRegion/singleLayerRegion.C b/src/regionModels/regionModel/singleLayerRegion/singleLayerRegion.C
index 35dce8b8795..aba31e75dd0 100644
--- a/src/regionModels/regionModel/singleLayerRegion/singleLayerRegion.C
+++ b/src/regionModels/regionModel/singleLayerRegion/singleLayerRegion.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -109,7 +109,7 @@ void Foam::regionModels::singleLayerRegion::initialise()
 
     if (nBoundaryFaces != regionMesh().nCells())
     {
-        FatalErrorIn("singleLayerRegion::initialise()")
+        FatalErrorInFunction
             << "Number of primary region coupled boundary faces not equal to "
             << "the number of cells in the local region" << nl << nl
             << "Number of cells = " << regionMesh().nCells() << nl
@@ -208,7 +208,7 @@ const Foam::volVectorField& Foam::regionModels::singleLayerRegion::nHat() const
 {
     if (!nHatPtr_.valid())
     {
-        FatalErrorIn("const fvMesh& singleLayerRegion::nHat() const")
+        FatalErrorInFunction
             << "Region patch normal vectors not available"
             << abort(FatalError);
     }
@@ -221,7 +221,7 @@ const Foam::volScalarField& Foam::regionModels::singleLayerRegion::magSf() const
 {
     if (!magSfPtr_.valid())
     {
-        FatalErrorIn("const fvMesh& singleLayerRegion::magSf() const")
+        FatalErrorInFunction
             << "Region patch areas not available"
             << abort(FatalError);
     }
diff --git a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltHeight/inclinedFilmNusseltHeightFvPatchScalarField.C b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltHeight/inclinedFilmNusseltHeightFvPatchScalarField.C
index 65c389e0372..8bf37add3a0 100644
--- a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltHeight/inclinedFilmNusseltHeightFvPatchScalarField.C
+++ b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltHeight/inclinedFilmNusseltHeightFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -139,12 +139,7 @@ void Foam::inclinedFilmNusseltHeightFvPatchScalarField::updateCoeffs()
 
     if (patch().size() && (max(mag(gTan)) < SMALL))
     {
-        WarningIn
-        (
-            "void Foam::inclinedFilmNusseltHeightFvPatchScalarField::"
-            "updateCoeffs()"
-        )
-            << "Tangential gravity component is zero.  This boundary condition "
+        WarningInFunction
             << "is designed to operate on patches inclined with respect to "
             << "gravity"
             << endl;
diff --git a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltInletVelocity/inclinedFilmNusseltInletVelocityFvPatchVectorField.C b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltInletVelocity/inclinedFilmNusseltInletVelocityFvPatchVectorField.C
index 67374b7b47b..a49c093b380 100644
--- a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltInletVelocity/inclinedFilmNusseltInletVelocityFvPatchVectorField.C
+++ b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltInletVelocity/inclinedFilmNusseltInletVelocityFvPatchVectorField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -138,12 +138,7 @@ void Foam::inclinedFilmNusseltInletVelocityFvPatchVectorField::updateCoeffs()
 
     if (patch().size() && (max(mag(gTan)) < SMALL))
     {
-        WarningIn
-        (
-            "void Foam::inclinedFilmNusseltInletVelocityFvPatchVectorField::"
-            "updateCoeffs()"
-        )
-            << "Tangential gravity component is zero.  This boundary condition "
+        WarningInFunction
             << "is designed to operate on patches inclined with respect to "
             << "gravity"
             << endl;
diff --git a/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C b/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C
index ec9b1df7690..b881553f5c7 100644
--- a/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C
+++ b/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C
@@ -988,10 +988,8 @@ const volScalarField& kinematicSingleLayer::rho() const
 
 const volScalarField& kinematicSingleLayer::T() const
 {
-    FatalErrorIn
-    (
-        "const volScalarField& kinematicSingleLayer::T() const"
-    )   << "T field not available for " << type() << abort(FatalError);
+    FatalErrorInFunction
+        << "T field not available for " << type() << abort(FatalError);
 
     return volScalarField::null();
 }
@@ -999,10 +997,8 @@ const volScalarField& kinematicSingleLayer::T() const
 
 const volScalarField& kinematicSingleLayer::Ts() const
 {
-    FatalErrorIn
-    (
-        "const volScalarField& kinematicSingleLayer::Ts() const"
-    )   << "Ts field not available for " << type() << abort(FatalError);
+    FatalErrorInFunction
+        << "Ts field not available for " << type() << abort(FatalError);
 
     return volScalarField::null();
 }
@@ -1010,10 +1006,8 @@ const volScalarField& kinematicSingleLayer::Ts() const
 
 const volScalarField& kinematicSingleLayer::Tw() const
 {
-    FatalErrorIn
-    (
-        "const volScalarField& kinematicSingleLayer::Tw() const"
-    )   << "Tw field not available for " << type() << abort(FatalError);
+    FatalErrorInFunction
+        << "Tw field not available for " << type() << abort(FatalError);
 
     return volScalarField::null();
 }
@@ -1021,10 +1015,8 @@ const volScalarField& kinematicSingleLayer::Tw() const
 
 const volScalarField& kinematicSingleLayer::Cp() const
 {
-    FatalErrorIn
-    (
-        "const volScalarField& kinematicSingleLayer::Cp() const"
-    )   << "Cp field not available for " << type() << abort(FatalError);
+    FatalErrorInFunction
+        << "Cp field not available for " << type() << abort(FatalError);
 
     return volScalarField::null();
 }
@@ -1032,10 +1024,8 @@ const volScalarField& kinematicSingleLayer::Cp() const
 
 const volScalarField& kinematicSingleLayer::kappa() const
 {
-    FatalErrorIn
-    (
-        "const volScalarField& kinematicSingleLayer::kappa() const"
-    )   << "kappa field not available for " << type() << abort(FatalError);
+    FatalErrorInFunction
+        << "kappa field not available for " << type() << abort(FatalError);
 
     return volScalarField::null();
 }
diff --git a/src/regionModels/surfaceFilmModels/noFilm/noFilm.C b/src/regionModels/surfaceFilmModels/noFilm/noFilm.C
index b3d4827d707..30affb2af95 100644
--- a/src/regionModels/surfaceFilmModels/noFilm/noFilm.C
+++ b/src/regionModels/surfaceFilmModels/noFilm/noFilm.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -96,7 +96,7 @@ void noFilm::addSources
 
 const volScalarField& noFilm::delta() const
 {
-    FatalErrorIn("const volScalarField& noFilm::delta() const")
+    FatalErrorInFunction
         << "delta field not available for " << type() << abort(FatalError);
 
     return volScalarField::null();
@@ -105,7 +105,7 @@ const volScalarField& noFilm::delta() const
 
 const volScalarField& noFilm::alpha() const
 {
-    FatalErrorIn("const volScalarField& noFilm::alpha() const")
+    FatalErrorInFunction
         << "alpha field not available for " << type() << abort(FatalError);
 
     return volScalarField::null();
@@ -114,7 +114,7 @@ const volScalarField& noFilm::alpha() const
 
 const volVectorField& noFilm::U() const
 {
-    FatalErrorIn("const volVectorField& noFilm::U() const")
+    FatalErrorInFunction
         << "U field not available for " << type() << abort(FatalError);
 
     return volVectorField::null();
@@ -123,7 +123,7 @@ const volVectorField& noFilm::U() const
 
 const volVectorField& noFilm::Us() const
 {
-    FatalErrorIn("const volVectorField& noFilm::Us() const")
+    FatalErrorInFunction
         << "Us field not available for " << type() << abort(FatalError);
 
     return volVectorField::null();
@@ -132,7 +132,7 @@ const volVectorField& noFilm::Us() const
 
 const volVectorField& noFilm::Uw() const
 {
-    FatalErrorIn("const volVectorField& noFilm::Uw() const")
+    FatalErrorInFunction
         << "Uw field not available for " << type() << abort(FatalError);
 
     return volVectorField::null();
@@ -141,7 +141,7 @@ const volVectorField& noFilm::Uw() const
 
 const volScalarField& noFilm::rho() const
 {
-    FatalErrorIn("const volScalarField& noFilm::rho() const")
+    FatalErrorInFunction
         << "rho field not available for " << type() << abort(FatalError);
 
     return volScalarField::null();
@@ -150,7 +150,7 @@ const volScalarField& noFilm::rho() const
 
 const volScalarField& noFilm::T() const
 {
-    FatalErrorIn("const volScalarField& noFilm::T() const")
+    FatalErrorInFunction
         << "T field not available for " << type() << abort(FatalError);
 
     return volScalarField::null();
@@ -159,7 +159,7 @@ const volScalarField& noFilm::T() const
 
 const volScalarField& noFilm::Ts() const
 {
-    FatalErrorIn("const volScalarField& noFilm::Ts() const")
+    FatalErrorInFunction
         << "Ts field not available for " << type() << abort(FatalError);
 
     return volScalarField::null();
@@ -168,7 +168,7 @@ const volScalarField& noFilm::Ts() const
 
 const volScalarField& noFilm::Tw() const
 {
-    FatalErrorIn("const volScalarField& noFilm::Tw() const")
+    FatalErrorInFunction
         << "Tw field not available for " << type() << abort(FatalError);
 
     return volScalarField::null();
@@ -177,7 +177,7 @@ const volScalarField& noFilm::Tw() const
 
 const volScalarField& noFilm::Cp() const
 {
-    FatalErrorIn("const volScalarField& noFilm::Cp() const")
+    FatalErrorInFunction
         << "Cp field not available for " << type() << abort(FatalError);
 
     return volScalarField::null();
@@ -186,7 +186,7 @@ const volScalarField& noFilm::Cp() const
 
 const volScalarField& noFilm::kappa() const
 {
-    FatalErrorIn("const volScalarField& noFilm::kappa() const")
+    FatalErrorInFunction
         << "kappa field not available for " << type() << abort(FatalError);
 
     return volScalarField::null();
@@ -195,7 +195,7 @@ const volScalarField& noFilm::kappa() const
 
 const volScalarField& noFilm::sigma() const
 {
-    FatalErrorIn("const volScalarField& noFilm::sigma() const")
+    FatalErrorInFunction
         << "sigma field not available for " << type() << abort(FatalError);
 
     return volScalarField::null();
@@ -226,7 +226,7 @@ tmp<volScalarField> noFilm::primaryMassTrans() const
 
 const volScalarField& noFilm::cloudMassTrans() const
 {
-    FatalErrorIn("const volScalarField& noFilm::cloudMassTrans() const")
+    FatalErrorInFunction
         << "cloudMassTrans field not available for " << type()
         << abort(FatalError);
 
@@ -236,7 +236,7 @@ const volScalarField& noFilm::cloudMassTrans() const
 
 const volScalarField& noFilm::cloudDiameterTrans() const
 {
-    FatalErrorIn("const volScalarField& noFilm::cloudDiameterTrans() const")
+    FatalErrorInFunction
         << "cloudDiameterTrans field not available for " << type()
         << abort(FatalError);
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/filmSubModelBaseTemplates.C b/src/regionModels/surfaceFilmModels/submodels/filmSubModelBaseTemplates.C
index e7a7e98bee7..c9e8aa719bd 100644
--- a/src/regionModels/surfaceFilmModels/submodels/filmSubModelBaseTemplates.C
+++ b/src/regionModels/surfaceFilmModels/submodels/filmSubModelBaseTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -37,7 +37,7 @@ const FilmType& filmSubModelBase::filmType() const
 {
     if (!isA<FilmType>(owner_))
     {
-        FatalErrorIn("FilmType& surfaceFilmModel::film() const")
+        FatalErrorInFunction
             << "Model " << this->modelType() << " requested film type "
             << FilmType::typeName << " but film is type " << owner_.type()
             << abort(FatalError);
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/filmThermoModel/filmThermoModelNew.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/filmThermoModel/filmThermoModelNew.C
index b2622dde861..f177c506ac6 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/filmThermoModel/filmThermoModelNew.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/filmThermoModel/filmThermoModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -51,10 +51,8 @@ autoPtr<filmThermoModel> filmThermoModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "filmThermoModel::New(surfaceFilmModel&, const dictionary&)"
-        )   << "Unknown filmThermoModel type " << modelType << nl << nl
+        FatalErrorInFunction
+            << "Unknown filmThermoModel type " << modelType << nl << nl
             << "Valid filmThermoModel types are:" << nl
             << dictionaryConstructorTablePtr_->toc()
             << exit(FatalError);
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/liquidFilmThermo/liquidFilmThermo.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/liquidFilmThermo/liquidFilmThermo.C
index cb18596cbef..c846a98d583 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/liquidFilmThermo/liquidFilmThermo.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmThermoModel/liquidFilmThermo/liquidFilmThermo.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,10 +56,7 @@ const thermoSingleLayer& liquidFilmThermo::thermoFilm() const
 {
     if (!isA<thermoSingleLayer>(owner_))
     {
-        FatalErrorIn
-        (
-            "const thermoSingleLayer& liquidFilmThermo::thermoFilm() const"
-        )
+        FatalErrorInFunction
             << "Thermo model requires a " << thermoSingleLayer::typeName
             << " film to supply the pressure and temperature, but "
             << owner_.type() << " film model selected.  "
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModelNew.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModelNew.C
index e5153a12be6..4485b6c87b5 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModelNew.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/filmTurbulenceModel/filmTurbulenceModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -51,14 +51,8 @@ autoPtr<filmTurbulenceModel> filmTurbulenceModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "filmTurbulenceModel::New"
-            "("
-                "surfaceFilmModel&, "
-                "const dictionary&"
-            ")"
-        )   << "Unknown filmTurbulenceModel type " << modelType
+        FatalErrorInFunction
+            << "Unknown filmTurbulenceModel type " << modelType
             << nl << nl << "Valid filmTurbulenceModel types are:" << nl
             << dictionaryConstructorTablePtr_->toc()
             << exit(FatalError);
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/force/forceNew.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/force/forceNew.C
index 54504590e20..c8c71f5888b 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/force/force/forceNew.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/force/force/forceNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -50,15 +50,8 @@ autoPtr<force> force::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "force::New"
-            "("
-                "const surfaceFilmModel&, "
-                "const dictionary&, "
-                "const word&"
-            ")"
-        )   << "Unknown force type " << modelType
+        FatalErrorInFunction
+            << "Unknown force type " << modelType
             << nl << nl << "Valid force types are:" << nl
             << dictionaryConstructorTablePtr_->toc()
             << exit(FatalError);
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C
index 47f84119005..8121a2ce5df 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -233,14 +233,7 @@ curvatureSeparation::curvatureSeparation
 {
     if (magG_ < ROOTVSMALL)
     {
-        FatalErrorIn
-        (
-            "curvatureSeparation::curvatureSeparation"
-            "("
-                "const surfaceFilmModel&, "
-                "const dictionary&"
-            ")"
-        )
+        FatalErrorInFunction
             << "Acceleration due to gravity must be non-zero"
             << exit(FatalError);
     }
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModel/injectionModelNew.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModel/injectionModelNew.C
index 98ec969ae86..dcb17eec8dd 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModel/injectionModelNew.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModel/injectionModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -50,15 +50,8 @@ autoPtr<injectionModel> injectionModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "injectionModel::New"
-            "("
-                "surfaceFilmModel&, "
-                "const dictionary&, "
-                "const word&"
-            ")"
-        )   << "Unknown injectionModel type " << modelType
+        FatalErrorInFunction
+            << "Unknown injectionModel type " << modelType
             << nl << nl << "Valid injectionModel types are:" << nl
             << dictionaryConstructorTablePtr_->toc()
             << exit(FatalError);
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/patchInjection/patchInjection.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/patchInjection/patchInjection.C
index 8ad13750c90..0cc15d29543 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/patchInjection/patchInjection.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/patchInjection/patchInjection.C
@@ -85,7 +85,7 @@ patchInjection::patchInjection
 
     if (!patchIDs_.size())
     {
-        FatalErrorIn("patchInjection::patchInjection")
+        FatalErrorInFunction
             << "No patches selected"
             << exit(FatalError);
     }
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/filmRadiationModel/filmRadiationModelNew.C b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/filmRadiationModel/filmRadiationModelNew.C
index 1f5644fe24f..7167b32e49d 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/filmRadiationModel/filmRadiationModelNew.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmRadiationModel/filmRadiationModel/filmRadiationModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -51,14 +51,8 @@ autoPtr<filmRadiationModel> filmRadiationModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "filmRadiationModel::New"
-            "("
-                "surfaceFilmModel&, "
-                "const dictionary&"
-            ")"
-        )   << "Unknown radiationModel type " << modelType << nl << nl
+        FatalErrorInFunction
+            << "Unknown radiationModel type " << modelType << nl << nl
             << "Valid filmRadiationModel types are:" << nl
             << dictionaryConstructorTablePtr_->toc()
             << exit(FatalError);
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/filmViscosityModel/filmViscosityModelNew.C b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/filmViscosityModel/filmViscosityModelNew.C
index 6998028f412..daba92d47c4 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/filmViscosityModel/filmViscosityModelNew.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/filmViscosityModel/filmViscosityModel/filmViscosityModelNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -52,15 +52,8 @@ autoPtr<filmViscosityModel> filmViscosityModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "filmViscosityModel::New"
-            "("
-                "surfaceFilmModel&, "
-                "const dictionary&, "
-                "volScalarField&"
-            ")"
-        )   << "Unknown filmViscosityModel type " << modelType
+        FatalErrorInFunction
+            << "Unknown filmViscosityModel type " << modelType
             << nl << nl << "Valid filmViscosityModel types are:" << nl
             << dictionaryConstructorTablePtr_->toc()
             << exit(FatalError);
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/heatTransferModel/heatTransferModelNew.C b/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/heatTransferModel/heatTransferModelNew.C
index 33d01843f53..41df73789c6 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/heatTransferModel/heatTransferModelNew.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/heatTransferModel/heatTransferModel/heatTransferModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -51,10 +51,8 @@ autoPtr<heatTransferModel> heatTransferModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "heatTransferModel::New(surfaceFilmModel&, const dictionary&)"
-        )   << "Unknown heatTransferModel type " << modelType << nl << nl
+        FatalErrorInFunction
+            << "Unknown heatTransferModel type " << modelType << nl << nl
             << "Valid heatTransferModel types are:" << nl
             << dictionaryConstructorTablePtr_->toc()
             << exit(FatalError);
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModelNew.C b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModelNew.C
index 03a35f88114..e673ca36b28 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModelNew.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -51,10 +51,8 @@ autoPtr<phaseChangeModel> phaseChangeModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "phaseChangeModel::New(surfaceFilmModel&, const dictionary&)"
-        )   << "Unknown phaseChangeModel type " << modelType
+        FatalErrorInFunction
+            << "Unknown phaseChangeModel type " << modelType
             << nl << nl << "Valid phaseChangeModel types are:" << nl
             << dictionaryConstructorTablePtr_->toc()
             << exit(FatalError);
diff --git a/src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModelNew.C b/src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModelNew.C
index b1993748649..cfd451d4596 100644
--- a/src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModelNew.C
+++ b/src/regionModels/surfaceFilmModels/surfaceFilmModel/surfaceFilmModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -71,10 +71,8 @@ autoPtr<surfaceFilmModel> surfaceFilmModel::New
 
     if (cstrIter == meshConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "surfaceFilmModel::New(const fvMesh&, const dimensionedVector&)"
-        )   << "Unknown surfaceFilmModel type " << modelType
+        FatalErrorInFunction
+            << "Unknown surfaceFilmModel type " << modelType
             << nl << nl << "Valid surfaceFilmModel types are:" << nl
             << meshConstructorTablePtr_->toc()
             << exit(FatalError);
diff --git a/src/regionModels/thermalBaffleModels/derivedFvPatchFields/thermalBaffle/thermalBaffleFvPatchScalarField.C b/src/regionModels/thermalBaffleModels/derivedFvPatchFields/thermalBaffle/thermalBaffleFvPatchScalarField.C
index aa3195cc6cb..2231b42999f 100644
--- a/src/regionModels/thermalBaffleModels/derivedFvPatchFields/thermalBaffle/thermalBaffleFvPatchScalarField.C
+++ b/src/regionModels/thermalBaffleModels/derivedFvPatchFields/thermalBaffle/thermalBaffleFvPatchScalarField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -238,10 +238,8 @@ void thermalBaffleFvPatchScalarField::createPatchMesh()
 
     if (extrudeMeshPtr_.empty())
     {
-        WarningIn
-        (
-            "thermalBaffleFvPatchScalarField::createPatchMesh()\n"
-        )   << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
+        WarningInFunction
+            << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
             << " patchMeshPtr not set."
             << endl;
     }
diff --git a/src/regionModels/thermalBaffleModels/noThermo/noThermo.C b/src/regionModels/thermalBaffleModels/noThermo/noThermo.C
index d603203fbf7..5e982fb62c5 100644
--- a/src/regionModels/thermalBaffleModels/noThermo/noThermo.C
+++ b/src/regionModels/thermalBaffleModels/noThermo/noThermo.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -87,7 +87,7 @@ void noThermo::evolveRegion()
 
 const tmp<volScalarField> noThermo::Cp() const
 {
-    FatalErrorIn("const tmp<volScalarField>& noThermo::Cp() const")
+    FatalErrorInFunction
         << "Cp field not available for " << type()
         << abort(FatalError);
 
@@ -112,7 +112,7 @@ const tmp<volScalarField> noThermo::Cp() const
 
 const volScalarField& noThermo::kappaRad() const
 {
-    FatalErrorIn("const volScalarField& noThermo::kappaRad() const")
+    FatalErrorInFunction
         << "kappa field not available for " << type()
         << abort(FatalError);
     return volScalarField::null();
@@ -121,7 +121,7 @@ const volScalarField& noThermo::kappaRad() const
 
 const volScalarField& noThermo::rho() const
 {
-    FatalErrorIn("const volScalarField& noThermo::rho() const")
+    FatalErrorInFunction
         << "rho field not available for " << type()
         << abort(FatalError);
     return volScalarField::null();
@@ -130,7 +130,7 @@ const volScalarField& noThermo::rho() const
 
 const volScalarField& noThermo::kappa() const
 {
-   FatalErrorIn("const volScalarField& noThermo::kappa() const")
+   FatalErrorInFunction
         << "K field not available for " << type()
         << abort(FatalError);
     return volScalarField::null();
@@ -139,7 +139,7 @@ const volScalarField& noThermo::kappa() const
 
 const volScalarField& noThermo::T() const
 {
-    FatalErrorIn("const volScalarField& noThermo::T() const")
+    FatalErrorInFunction
         << "T field not available for " << type()
         << abort(FatalError);
     return volScalarField::null();
@@ -148,7 +148,7 @@ const volScalarField& noThermo::T() const
 
 const solidThermo& noThermo::thermo() const
 {
-    FatalErrorIn("const volScalarField& noThermo::T() const")
+    FatalErrorInFunction
         << "T field not available for " << type()
         << abort(FatalError);
     return NullObjectRef<solidThermo>();
diff --git a/src/regionModels/thermalBaffleModels/thermalBaffle/thermalBaffle.C b/src/regionModels/thermalBaffleModels/thermalBaffle/thermalBaffle.C
index bd6c507c23f..f63ccde2389 100644
--- a/src/regionModels/thermalBaffleModels/thermalBaffle/thermalBaffle.C
+++ b/src/regionModels/thermalBaffleModels/thermalBaffle/thermalBaffle.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -293,7 +293,7 @@ void thermalBaffle::init()
 
         if (Qsb!= thickness_.size())
         {
-            FatalErrorIn("thermalBaffle::init()")
+            FatalErrorInFunction
                 << "the boundary field of Qs is "
                 << Qsb << " and " << nl
                 << "the field 'thickness' is " << thickness_.size() << nl
diff --git a/src/regionModels/thermalBaffleModels/thermalBaffleModel/thermalBaffleModel.C b/src/regionModels/thermalBaffleModels/thermalBaffleModel/thermalBaffleModel.C
index 5e9f2e620de..c432d922a83 100644
--- a/src/regionModels/thermalBaffleModels/thermalBaffleModel/thermalBaffleModel.C
+++ b/src/regionModels/thermalBaffleModels/thermalBaffleModel/thermalBaffleModel.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -114,14 +114,7 @@ void thermalBaffleModel::init()
              && !constantThickness_
             )
             {
-                FatalErrorIn
-                (
-                    "thermalBaffleModel::thermalBaffleModel"
-                    "("
-                    "   const word&,"
-                    "   const fvMesh&"
-                    ")"
-                )   << "\n    patch type '" << pp.type()
+                FatalErrorInFunction
                     << "' not type '"
                     << mappedVariableThicknessWallPolyPatch::typeName
                     << "'. This is necessary for 1D solution "
@@ -131,14 +124,7 @@ void thermalBaffleModel::init()
             }
             else if (!isA<mappedWallPolyPatch>(pp))
             {
-                FatalErrorIn
-                (
-                    "thermalBaffleModel::thermalBaffleModel"
-                    "("
-                    "   const word&,"
-                    "   const fvMesh&"
-                    ")"
-                )   << "\n    patch type '" << pp.type()
+                FatalErrorInFunction
                     << "' not type '"
                     << mappedWallPolyPatch::typeName
                     << "'. This is necessary for 3D solution"
@@ -162,14 +148,8 @@ void thermalBaffleModel::init()
             // Check that thickness has the right size
             if (thickness_.size() != pp.size())
             {
-                FatalErrorIn
-                (
-                    "thermalBaffleModel::thermalBaffleModel"
-                    "("
-                    "   const word&,"
-                    "   const fvMesh&"
-                    ")"
-                )   << " coupled patches in thermalBaffle are " << nl
+                FatalErrorInFunction
+                    << " coupled patches in thermalBaffle are " << nl
                     << " different sizes from list thickness" << nl
                     << exit(FatalError);
             }
diff --git a/src/regionModels/thermalBaffleModels/thermalBaffleModel/thermalBaffleModelNew.C b/src/regionModels/thermalBaffleModels/thermalBaffleModel/thermalBaffleModelNew.C
index 9b77f067cff..30703d258f6 100644
--- a/src/regionModels/thermalBaffleModels/thermalBaffleModel/thermalBaffleModelNew.C
+++ b/src/regionModels/thermalBaffleModels/thermalBaffleModel/thermalBaffleModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -67,7 +67,7 @@ autoPtr<thermalBaffleModel> thermalBaffleModel::New(const fvMesh& mesh)
     if (cstrIter == meshConstructorTablePtr_->end())
     {
 
-        FatalErrorIn("thermalBaffleModel::New(const fvMesh&)")
+        FatalErrorInFunction
             << "Unknown thermalBaffleModel type " << modelType
             << nl << nl
             <<  "Valid thermalBaffleModel types are:" << nl
@@ -94,10 +94,8 @@ autoPtr<thermalBaffleModel> thermalBaffleModel::New
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
 
-        FatalErrorIn
-        (
-            "thermalBaffleModel::New(const fvMesh&, const dictionary&)"
-        )   << "Unknown thermalBaffleModel type " << modelType
+        FatalErrorInFunction
+            << "Unknown thermalBaffleModel type " << modelType
             << nl << nl
             <<  "Valid thermalBaffleModel types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/renumber/renumberMethods/manualRenumber/manualRenumber.C b/src/renumber/renumberMethods/manualRenumber/manualRenumber.C
index 99ac60b666d..c530b788476 100644
--- a/src/renumber/renumberMethods/manualRenumber/manualRenumber.C
+++ b/src/renumber/renumberMethods/manualRenumber/manualRenumber.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -80,10 +80,8 @@ Foam::labelList Foam::manualRenumber::renumber
 
     if (newToOld.size() != points.size())
     {
-        FatalErrorIn
-        (
-            "manualRenumber::renumber(const pointField&, const scalarField&)"
-        )   << "Size of renumber list does not correspond "
+        FatalErrorInFunction
+            << "Size of renumber list does not correspond "
             << "to the number of points.  Size: "
             << newToOld.size() << " Number of points: "
             << points.size()
@@ -100,11 +98,8 @@ Foam::labelList Foam::manualRenumber::renumber
 
         if (origCellI < 0 || origCellI >= points.size())
         {
-            FatalErrorIn
-            (
-                "manualRenumber::renumber(const pointField&"
-                ", const scalarField&)"
-            )   << "Renumbering is not one-to-one. Index "
+            FatalErrorInFunction
+                << "Renumbering is not one-to-one. Index "
                 << i << " maps onto original cell " << origCellI
                 << ".\n" << "Manual renumbering data read from file "
                 << dataFile_ << "." << endl
@@ -117,11 +112,8 @@ Foam::labelList Foam::manualRenumber::renumber
         }
         else
         {
-            FatalErrorIn
-            (
-                "manualRenumber::renumber(const pointField&"
-                ", const scalarField&)"
-            )   << "Renumbering is not one-to-one. Both index "
+            FatalErrorInFunction
+                << "Renumbering is not one-to-one. Both index "
                 << oldToNew[origCellI]
                 << " and " << i << " map onto " << origCellI
                 << ".\n" << "Manual renumbering data read from file "
diff --git a/src/renumber/renumberMethods/renumberMethod/renumberMethod.C b/src/renumber/renumberMethods/renumberMethod/renumberMethod.C
index ef82af92f56..ab9980287a3 100644
--- a/src/renumber/renumberMethods/renumberMethod/renumberMethod.C
+++ b/src/renumber/renumberMethods/renumberMethod/renumberMethod.C
@@ -53,11 +53,8 @@ Foam::autoPtr<Foam::renumberMethod> Foam::renumberMethod::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "renumberMethod::New"
-            "(const dictionary& renumberDict)"
-        )   << "Unknown renumberMethod "
+        FatalErrorInFunction
+            << "Unknown renumberMethod "
             << methodType << nl << nl
             << "Valid renumberMethods are : " << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.C b/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.C
index 289adba5c93..03830bd1ea2 100644
--- a/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.C
+++ b/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -71,10 +71,8 @@ Foam::labelList Foam::structuredRenumber::renumber
 {
     if (points.size() != mesh.nCells())
     {
-        FatalErrorIn
-        (
-            "structuredDecomp::renumber(const polyMesh&, const pointField&)"
-        )   << "Number of points " << points.size()
+        FatalErrorInFunction
+            << "Number of points " << points.size()
             << " should equal the number of cells " << mesh.nCells()
             << exit(FatalError);
     }
@@ -188,7 +186,7 @@ Foam::labelList Foam::structuredRenumber::renumber
         {
             if (!haveWarned)
             {
-                WarningIn("structuredDecomp::renumber(..)")
+                WarningInFunction
                     << "Did not visit some cells, e.g. cell " << cellI
                     << " at " << mesh.cellCentres()[cellI] << endl
                     << "Assigning these cells to domain 0." << endl;
diff --git a/src/renumber/zoltanRenumber/zoltanRenumber.C b/src/renumber/zoltanRenumber/zoltanRenumber.C
index 5118f0b82f1..ffd318fd70f 100644
--- a/src/renumber/zoltanRenumber/zoltanRenumber.C
+++ b/src/renumber/zoltanRenumber/zoltanRenumber.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -290,7 +290,7 @@ Foam::labelList Foam::zoltanRenumber::renumber
 
     if (rc != ZOLTAN_OK)
     {
-        FatalErrorIn("zoltanRenumber::renumber(..)")
+        FatalErrorInFunction
             << "Failed initialising Zoltan" << exit(FatalError);
     }
 
@@ -350,7 +350,7 @@ Foam::labelList Foam::zoltanRenumber::renumber
 
     if (err != ZOLTAN_OK)
     {
-        FatalErrorIn("zoltanRenumber::renumber(..)")
+        FatalErrorInFunction
             << "Failed Zoltan_Order" << exit(FatalError);
     }
 
diff --git a/src/sampling/cuttingPlane/cuttingPlane.C b/src/sampling/cuttingPlane/cuttingPlane.C
index f1d3b5c5eea..b20ffd66886 100644
--- a/src/sampling/cuttingPlane/cuttingPlane.C
+++ b/src/sampling/cuttingPlane/cuttingPlane.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -203,7 +203,7 @@ bool Foam::cuttingPlane::walkCell
         if (nextEdgeI == -1)
         {
             // Did not find another cut edge on faceI. Do what?
-            WarningIn("Foam::cuttingPlane::walkCell")
+            WarningInFunction
                 << "Did not find closed walk along surface of cell " << cellI
                 << " starting from edge " << startEdgeI
                 << " in " << nIter << " iterations." << nl
@@ -219,7 +219,7 @@ bool Foam::cuttingPlane::walkCell
 
         if (nIter > 1000)
         {
-            WarningIn("Foam::cuttingPlane::walkCell")
+            WarningInFunction
                 << "Did not find closed walk along surface of cell " << cellI
                 << " starting from edge " << startEdgeI
                 << " in " << nIter << " iterations." << nl
@@ -237,7 +237,7 @@ bool Foam::cuttingPlane::walkCell
     }
     else
     {
-        WarningIn("Foam::cuttingPlane::walkCell")
+        WarningInFunction
             << "Did not find closed walk along surface of cell " << cellI
             << " starting from edge " << startEdgeI << nl
             << "Collected cutPoints so far:" << faceVerts
@@ -287,7 +287,7 @@ void Foam::cuttingPlane::walkCellCuts
         // Check for the unexpected ...
         if (startEdgeI == -1)
         {
-            FatalErrorIn("Foam::cuttingPlane::walkCellCuts(..)")
+            FatalErrorInFunction
                 << "Cannot find cut edge for cut cell " << cellI
                 << abort(FatalError);
         }
@@ -413,7 +413,7 @@ void Foam::cuttingPlane::operator=(const cuttingPlane& rhs)
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn ("Foam::cuttingPlane::operator=(const cuttingPlane&)")
+        FatalErrorInFunction
             << "Attempted assignment to self"
             << abort(FatalError);
     }
diff --git a/src/sampling/meshToMesh/calcMethod/mapNearest/mapNearestMethod.C b/src/sampling/meshToMesh/calcMethod/mapNearest/mapNearestMethod.C
index 27f1610d5c4..70190d3febc 100644
--- a/src/sampling/meshToMesh/calcMethod/mapNearest/mapNearestMethod.C
+++ b/src/sampling/meshToMesh/calcMethod/mapNearest/mapNearestMethod.C
@@ -69,17 +69,7 @@ bool Foam::mapNearestMethod::findInitialSeeds
             }
             else
             {
-                FatalErrorIn
-                (
-                    "bool Foam::mapNearestMethod::findInitialSeeds"
-                    "("
-                        "const labelList&, "
-                        "const boolList&, "
-                        "const label, "
-                        "label&, "
-                        "label&"
-                    ") const"
-                )
+                FatalErrorInFunction
                     << "Unable to find nearest target cell"
                     << " for source cell " << srcI
                     << " with centre " << srcCc
diff --git a/src/sampling/meshToMesh/calcMethod/meshToMeshMethod/meshToMeshMethodNew.C b/src/sampling/meshToMesh/calcMethod/meshToMeshMethod/meshToMeshMethodNew.C
index 6b3abcf2e35..5eaf5e3d3b4 100644
--- a/src/sampling/meshToMesh/calcMethod/meshToMeshMethod/meshToMeshMethodNew.C
+++ b/src/sampling/meshToMesh/calcMethod/meshToMeshMethod/meshToMeshMethodNew.C
@@ -44,15 +44,8 @@ Foam::autoPtr<Foam::meshToMeshMethod> Foam::meshToMeshMethod::New
 
     if (cstrIter == componentsConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "Foam::autoPtr<Foam::meshToMeshMethod> Foam::meshToMeshMethod::New"
-            "("
-                "const word&, "
-                "const polyMesh&, "
-                "const polyMesh&"
-            ")"
-        )   << "Unknown meshToMesh type "
+        FatalErrorInFunction
+            << "Unknown meshToMesh type "
             << methodName << nl << nl
             << "Valid meshToMesh types are:" << nl
             << componentsConstructorTablePtr_->sortedToc() << exit(FatalError);
diff --git a/src/sampling/meshToMesh/meshToMesh.C b/src/sampling/meshToMesh/meshToMesh.C
index c03c3789d24..faea30db51b 100644
--- a/src/sampling/meshToMesh/meshToMesh.C
+++ b/src/sampling/meshToMesh/meshToMesh.C
@@ -364,14 +364,7 @@ Foam::meshToMesh::interpolationMethodAMI(const interpolationMethod method)
         }
         default:
         {
-            FatalErrorIn
-            (
-                "Foam::AMIPatchToPatchInterpolation::interpolationMethod"
-                "Foam::meshToMesh::interpolationMethodAMI"
-                "("
-                    "const interpolationMethod method"
-                ") const"
-            )
+            FatalErrorInFunction
                 << "Unhandled enumeration " << method
                 << abort(FatalError);
         }
@@ -385,7 +378,7 @@ void Foam::meshToMesh::calculatePatchAMIs(const word& AMIMethodName)
 {
     if (!patchAMIs_.empty())
     {
-        FatalErrorIn("meshToMesh::calculatePatchAMIs()")
+        FatalErrorInFunction
             << "patch AMI already calculated"
             << exit(FatalError);
     }
@@ -456,16 +449,8 @@ void Foam::meshToMesh::constructNoCuttingPatches
                 }
                 else
                 {
-                    FatalErrorIn
-                    (
-                        "Foam::meshToMesh::meshToMesh"
-                        "("
-                            "const polyMesh&, "
-                            "const polyMesh&, "
-                            "const interpolationMethod&, "
-                            "bool"
-                        ")"
-                    )   << "Source patch " << pp.name()
+                    FatalErrorInFunction
+                        << "Source patch " << pp.name()
                         << " not found in target mesh. "
                         << "Available target patches are " << tgtBM.names()
                         << exit(FatalError);
diff --git a/src/sampling/meshToMesh/meshToMeshParallelOps.C b/src/sampling/meshToMesh/meshToMeshParallelOps.C
index ce3fcc428c8..ad7d5f38434 100644
--- a/src/sampling/meshToMesh/meshToMeshParallelOps.C
+++ b/src/sampling/meshToMesh/meshToMeshParallelOps.C
@@ -789,21 +789,7 @@ void Foam::meshToMesh::distributeAndMergeCells
 
                 if (tgtFaceI == -1)
                 {
-                    FatalErrorIn
-                    (
-                        "void Foam::meshToMesh::"
-                        "distributeAndMergeCells"
-                        "("
-                            "const mapDistribute&, "
-                            "const polyMesh&, "
-                            "const globalIndex&, "
-                            "pointField&, "
-                            "faceList&, "
-                            "labelList&, "
-                            "labelList&, "
-                            "labelList&"
-                        ") const"
-                    )
+                    FatalErrorInFunction
                         << "Unvisited " << key
                         << abort(FatalError);
                 }
diff --git a/src/sampling/meshToMesh/meshToMeshTemplates.C b/src/sampling/meshToMesh/meshToMeshTemplates.C
index 9ed88a8ae57..fb12d6e8986 100644
--- a/src/sampling/meshToMesh/meshToMeshTemplates.C
+++ b/src/sampling/meshToMesh/meshToMeshTemplates.C
@@ -87,15 +87,8 @@ void Foam::meshToMesh::mapSrcToTgt
 {
     if (result.size() != tgtToSrcCellAddr_.size())
     {
-        FatalErrorIn
-        (
-            "void Foam::meshToMesh::mapSrcToTgt"
-            "("
-                "const UList<Type>&, "
-                "const CombineOp&, "
-                "List<Type>&"
-            ") const"
-        )   << "Supplied field size is not equal to target mesh size" << nl
+        FatalErrorInFunction
+            << "Supplied field size is not equal to target mesh size" << nl
             << "    source mesh    = " << srcToTgtCellAddr_.size() << nl
             << "    target mesh    = " << tgtToSrcCellAddr_.size() << nl
             << "    supplied field = " << result.size()
@@ -215,15 +208,8 @@ void Foam::meshToMesh::mapTgtToSrc
 {
     if (result.size() != srcToTgtCellAddr_.size())
     {
-        FatalErrorIn
-        (
-            "void Foam::meshToMesh::mapTgtToSrc"
-            "("
-                "const UList<Type>&, "
-                "const CombineOp&, "
-                "List<Type>&"
-            ") const"
-        )   << "Supplied field size is not equal to source mesh size" << nl
+        FatalErrorInFunction
+            << "Supplied field size is not equal to source mesh size" << nl
             << "    source mesh    = " << srcToTgtCellAddr_.size() << nl
             << "    target mesh    = " << tgtToSrcCellAddr_.size() << nl
             << "    supplied field = " << result.size()
diff --git a/src/sampling/meshToMesh0/calculateMeshToMesh0Addressing.C b/src/sampling/meshToMesh0/calculateMeshToMesh0Addressing.C
index a24c99de295..a3ca751858a 100644
--- a/src/sampling/meshToMesh0/calculateMeshToMesh0Addressing.C
+++ b/src/sampling/meshToMesh0/calculateMeshToMesh0Addressing.C
@@ -153,7 +153,7 @@ void Foam::meshToMesh0::calcAddressing()
 
             if (fromPatch.empty())
             {
-                WarningIn("meshToMesh0::calcAddressing()")
+                WarningInFunction
                     << "Source patch " << fromPatch.name()
                     << " has no faces. Not performing mapping for it."
                     << endl;
diff --git a/src/sampling/meshToMesh0/calculateMeshToMesh0Weights.C b/src/sampling/meshToMesh0/calculateMeshToMesh0Weights.C
index 30d3c37f892..7cf00f98958 100644
--- a/src/sampling/meshToMesh0/calculateMeshToMesh0Weights.C
+++ b/src/sampling/meshToMesh0/calculateMeshToMesh0Weights.C
@@ -38,7 +38,7 @@ void Foam::meshToMesh0::calculateInverseDistanceWeights() const
 
     if (inverseDistanceWeightsPtr_)
     {
-        FatalErrorIn("meshToMesh0::calculateInverseDistanceWeights()")
+        FatalErrorInFunction
             << "weighting factors already calculated"
             << exit(FatalError);
     }
@@ -140,7 +140,7 @@ void Foam::meshToMesh0::calculateInverseVolumeWeights() const
 
     if (inverseVolumeWeightsPtr_)
     {
-        FatalErrorIn("meshToMesh0::calculateInverseVolumeWeights()")
+        FatalErrorInFunction
             << "weighting factors already calculated"
             << exit(FatalError);
     }
@@ -203,7 +203,7 @@ void Foam::meshToMesh0::calculateCellToCellAddressing() const
 
     if (cellToCellAddressingPtr_)
     {
-        FatalErrorIn("meshToMesh0::calculateCellToCellAddressing()")
+        FatalErrorInFunction
             << "addressing already calculated"
             << exit(FatalError);
     }
diff --git a/src/sampling/meshToMesh0/meshToMesh0.C b/src/sampling/meshToMesh0/meshToMesh0.C
index 164d749cd49..73991b8b72b 100644
--- a/src/sampling/meshToMesh0/meshToMesh0.C
+++ b/src/sampling/meshToMesh0/meshToMesh0.C
@@ -87,13 +87,8 @@ Foam::meshToMesh0::meshToMesh0
         }
         else
         {
-            WarningIn
-            (
-                "meshToMesh0::meshToMesh0"
-                "(const fvMesh& meshFrom, const fvMesh& meshTo,"
-                "const HashTable<word>& patchMap,"
-                "const wordList& cuttingPatchNames)"
-            )   << "Cannot find cutting-patch " << cuttingPatchNames[i]
+            WarningInFunction
+                << "Cannot find cutting-patch " << cuttingPatchNames[i]
                 << " in destination mesh" << endl;
         }
     }
@@ -134,11 +129,8 @@ Foam::meshToMesh0::meshToMesh0
     // of boundary patches
     if (fromMesh_.boundary().size() != toMesh_.boundary().size())
     {
-        FatalErrorIn
-        (
-            "meshToMesh0::meshToMesh0"
-            "(const fvMesh& meshFrom, const fvMesh& meshTo)"
-        )   << "Incompatible meshes: different number of patches, "
+        FatalErrorInFunction
+            << "Incompatible meshes: different number of patches, "
             << "fromMesh = " << fromMesh_.boundary().size()
             << ", toMesh = " << toMesh_.boundary().size()
             << exit(FatalError);
@@ -152,11 +144,8 @@ Foam::meshToMesh0::meshToMesh0
          != toMesh_.boundaryMesh()[patchi].name()
         )
         {
-            FatalErrorIn
-            (
-                "meshToMesh0::meshToMesh0"
-                "(const fvMesh& meshFrom, const fvMesh& meshTo)"
-            )   << "Incompatible meshes: different patch names for patch "
+            FatalErrorInFunction
+                << "Incompatible meshes: different patch names for patch "
                 << patchi
                 << ", fromMesh = " << fromMesh_.boundary()[patchi].name()
                 << ", toMesh = " << toMesh_.boundary()[patchi].name()
@@ -169,11 +158,8 @@ Foam::meshToMesh0::meshToMesh0
          != toMesh_.boundaryMesh()[patchi].type()
         )
         {
-            FatalErrorIn
-            (
-                "meshToMesh0::meshToMesh0"
-                "(const fvMesh& meshFrom, const fvMesh& meshTo)"
-            )   << "Incompatible meshes: different patch types for patch "
+            FatalErrorInFunction
+                << "Incompatible meshes: different patch types for patch "
                 << patchi
                 << ", fromMesh = " << fromMesh_.boundary()[patchi].type()
                 << ", toMesh = " << toMesh_.boundary()[patchi].type()
diff --git a/src/sampling/meshToMesh0/meshToMesh0Templates.C b/src/sampling/meshToMesh0/meshToMesh0Templates.C
index 9d3bff68072..9595399bd20 100644
--- a/src/sampling/meshToMesh0/meshToMesh0Templates.C
+++ b/src/sampling/meshToMesh0/meshToMesh0Templates.C
@@ -158,12 +158,8 @@ void Foam::meshToMesh0::interpolateInternalField
 {
     if (fromVf.mesh() != fromMesh_)
     {
-        FatalErrorIn
-        (
-            "meshToMesh0::interpolateInternalField(Field<Type>&, "
-            "const GeometricField<Type, fvPatchField, volMesh>&, "
-            "meshToMesh0::order, const CombineOp&) const"
-        )   << "the argument field does not correspond to the right mesh. "
+        FatalErrorInFunction
+            << "the argument field does not correspond to the right mesh. "
             << "Field size: " << fromVf.size()
             << " mesh size: " << fromMesh_.nCells()
             << exit(FatalError);
@@ -171,12 +167,8 @@ void Foam::meshToMesh0::interpolateInternalField
 
     if (toF.size() != toMesh_.nCells())
     {
-        FatalErrorIn
-        (
-            "meshToMesh0::interpolateInternalField(Field<Type>&, "
-            "const GeometricField<Type, fvPatchField, volMesh>&, "
-            "meshToMesh0::order, const CombineOp&) const"
-        )   << "the argument field does not correspond to the right mesh. "
+        FatalErrorInFunction
+            << "the argument field does not correspond to the right mesh. "
             << "Field size: " << toF.size()
             << " mesh size: " << toMesh_.nCells()
             << exit(FatalError);
@@ -229,12 +221,8 @@ void Foam::meshToMesh0::interpolateInternalField
             break;
         }
         default:
-            FatalErrorIn
-            (
-                "meshToMesh0::interpolateInternalField(Field<Type>&, "
-                "const GeometricField<Type, fvPatchField, volMesh>&, "
-                "meshToMesh0::order, const CombineOp&) const"
-            )   << "unknown interpolation scheme " << ord
+            FatalErrorInFunction
+                << "unknown interpolation scheme " << ord
                 << exit(FatalError);
     }
 }
@@ -317,13 +305,8 @@ void Foam::meshToMesh0::interpolate
                 }
 
                 default:
-                    FatalErrorIn
-                    (
-                        "meshToMesh0::interpolate("
-                        "GeometricField<Type, fvPatchField, volMesh>&, "
-                        "const GeometricField<Type, fvPatchField, volMesh>&, "
-                        "meshToMesh0::order, const CombineOp&) const"
-                    )   << "unknown interpolation scheme " << ord
+                    FatalErrorInFunction
+                        << "unknown interpolation scheme " << ord
                         << exit(FatalError);
             }
 
@@ -398,12 +381,8 @@ Foam::meshToMesh0::interpolate
     // of boundary patches
     if (fromMesh_.boundary().size() != toMesh_.boundary().size())
     {
-        FatalErrorIn
-        (
-            "meshToMesh0::interpolate"
-            "(const GeometricField<Type, fvPatchField, volMesh>&,"
-            "meshToMesh0::order, const CombineOp&) const"
-        )   << "Incompatible meshes: different number of boundaries, "
+        FatalErrorInFunction
+            << "Incompatible meshes: different number of boundaries, "
                "only internal field may be interpolated"
             << exit(FatalError);
     }
diff --git a/src/sampling/probes/patchProbes.C b/src/sampling/probes/patchProbes.C
index b6792ea08cd..a622d2ecd9a 100644
--- a/src/sampling/probes/patchProbes.C
+++ b/src/sampling/probes/patchProbes.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -50,10 +50,8 @@ void Foam::patchProbes::findElements(const fvMesh& mesh)
 
     if (patchI == -1)
     {
-        FatalErrorIn
-        (
-            " Foam::patchProbes::findElements(const fvMesh&)"
-        )   << " Unknown patch name "
+        FatalErrorInFunction
+            << " Unknown patch name "
             << patchName_ << endl
             << exit(FatalError);
     }
@@ -119,10 +117,7 @@ void Foam::patchProbes::findElements(const fvMesh& mesh)
 
             if (isA<emptyPolyPatch>(bm[patchi]))
             {
-                WarningIn
-                (
-                    " Foam::patchProbes::findElements(const fvMesh&)"
-                )
+                WarningInFunction
                 << " The sample point: " << sample
                 << " belongs to " << patchi
                 << " which is an empty patch. This is not permitted. "
diff --git a/src/sampling/probes/probes.C b/src/sampling/probes/probes.C
index 38ef3a63b47..2ea3a4f4300 100644
--- a/src/sampling/probes/probes.C
+++ b/src/sampling/probes/probes.C
@@ -108,7 +108,7 @@ void Foam::probes::findElements(const fvMesh& mesh)
         {
             if (Pstream::master())
             {
-                WarningIn("findElements::findElements(const fvMesh&)")
+                WarningInFunction
                     << "Did not find location " << location
                     << " in any cell. Skipping location." << endl;
             }
@@ -117,7 +117,7 @@ void Foam::probes::findElements(const fvMesh& mesh)
         {
             if (Pstream::master())
             {
-                WarningIn("probes::findElements(const fvMesh&)")
+                WarningInFunction
                     << "Did not find location " << location
                     << " in any face. Skipping location." << endl;
             }
@@ -127,7 +127,7 @@ void Foam::probes::findElements(const fvMesh& mesh)
             // Make sure location not on two domains.
             if (elementList_[probeI] != -1 && elementList_[probeI] != cellI)
             {
-                WarningIn("probes::findElements(const fvMesh&)")
+                WarningInFunction
                     << "Location " << location
                     << " seems to be on multiple domains:"
                     << " cell " << elementList_[probeI]
@@ -141,7 +141,7 @@ void Foam::probes::findElements(const fvMesh& mesh)
 
             if (faceList_[probeI] != -1 && faceList_[probeI] != faceI)
             {
-                WarningIn("probes::findElements(const fvMesh&)")
+                WarningInFunction
                     << "Location " << location
                     << " seems to be on multiple domains:"
                     << " cell " << faceList_[probeI]
@@ -342,7 +342,7 @@ void Foam::probes::read(const dictionary& dict)
     {
         if (!fixedLocations_ && interpolationScheme_ != "cell")
         {
-            WarningIn("void Foam::probes::read(const dictionary&)")
+            WarningInFunction
                 << "Only cell interpolation can be applied when "
                 << "not using fixedLocations.  InterpolationScheme "
                 << "entry will be ignored";
diff --git a/src/sampling/sampledSet/circle/circleSet.C b/src/sampling/sampledSet/circle/circleSet.C
index b94e4962f25..6ef83dbed0b 100644
--- a/src/sampling/sampledSet/circle/circleSet.C
+++ b/src/sampling/sampledSet/circle/circleSet.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -76,7 +76,7 @@ void Foam::circleSet::calcSamples
     }
     else
     {
-        WarningIn(funcName)
+        WarningInFunction
             << "Unable to find cell at point id " << 0
             << " at location " << startPoint_ << endl;
     }
@@ -92,7 +92,7 @@ void Foam::circleSet::calcSamples
 
     if (mag(axis1 & circleAxis_) > SMALL)
     {
-        WarningIn(funcName)
+        WarningInFunction
             << "Vector defined by (startPoint - origin) not orthogonal to "
             << "circleAxis:" << nl
             << "    startPoint - origin = " << axis1 << nl
@@ -124,7 +124,7 @@ void Foam::circleSet::calcSamples
         }
         else
         {
-            WarningIn(funcName)
+            WarningInFunction
                 << "Unable to find cell at point id " << nPoint
                 << " at location " << pt << endl;
         }
diff --git a/src/sampling/sampledSet/face/faceOnlySet.C b/src/sampling/sampledSet/face/faceOnlySet.C
index 85fb7bc74b5..d8aedfee9aa 100644
--- a/src/sampling/sampledSet/face/faceOnlySet.C
+++ b/src/sampling/sampledSet/face/faceOnlySet.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -102,7 +102,7 @@ void Foam::faceOnlySet::calcSamples
     // distance vector between sampling points
     if (mag(end_ - start_) < SMALL)
     {
-        FatalErrorIn("faceOnlySet::calcSamples()")
+        FatalErrorInFunction
             << "Incorrect sample specification :"
             << " start equals end point." << endl
             << "  start:" << start_
diff --git a/src/sampling/sampledSet/midPoint/midPointSet.C b/src/sampling/sampledSet/midPoint/midPointSet.C
index 168d0bbc986..d0ea99108c8 100644
--- a/src/sampling/sampledSet/midPoint/midPointSet.C
+++ b/src/sampling/sampledSet/midPoint/midPointSet.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -68,8 +68,7 @@ void Foam::midPointSet::genSamples()
 
             if (cell1 != cell2)
             {
-                FatalErrorIn("midPointSet::genSamples()")
-                    << "  sampleI:" << sampleI
+                FatalErrorInFunction
                     << "  midI:" << midI
                     << "  sampleI:" << sampleI
                     << "  pts[sampleI]:" << operator[](sampleI)
diff --git a/src/sampling/sampledSet/midPointAndFace/midPointAndFaceSet.C b/src/sampling/sampledSet/midPointAndFace/midPointAndFaceSet.C
index 601171f9502..7a575498559 100644
--- a/src/sampling/sampledSet/midPointAndFace/midPointAndFaceSet.C
+++ b/src/sampling/sampledSet/midPointAndFace/midPointAndFaceSet.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -81,8 +81,7 @@ void Foam::midPointAndFaceSet::genSamples()
 
             if (cell1 != cell2)
             {
-                FatalErrorIn("midPointAndFaceSet::genSamples()")
-                    << "  sampleI:" << sampleI
+                FatalErrorInFunction
                     << "  newSampleI:" << newSampleI
                     << "  pts[sampleI]:" << operator[](sampleI)
                     << "  face[sampleI]:" << faces_[sampleI]
diff --git a/src/sampling/sampledSet/polyLine/polyLineSet.C b/src/sampling/sampledSet/polyLine/polyLineSet.C
index 023acc1dce9..7ce2e3fdc23 100644
--- a/src/sampling/sampledSet/polyLine/polyLineSet.C
+++ b/src/sampling/sampledSet/polyLine/polyLineSet.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -137,7 +137,7 @@ void Foam::polyLineSet::calcSamples
     // Check sampling points
     if (sampleCoords_.size() < 2)
     {
-        FatalErrorIn("polyLineSet::calcSamples()")
+        FatalErrorInFunction
             << "Incorrect sample specification. Too few points:"
             << sampleCoords_ << exit(FatalError);
     }
@@ -146,7 +146,7 @@ void Foam::polyLineSet::calcSamples
     {
         if (mag(sampleCoords_[sampleI] - oldPoint) < SMALL)
         {
-            FatalErrorIn("polyLineSet::calcSamples()")
+            FatalErrorInFunction
                 << "Incorrect sample specification."
                 << " Point " << sampleCoords_[sampleI-1]
                 << " at position " << sampleI-1
diff --git a/src/sampling/sampledSet/sampledSet/sampledSet.C b/src/sampling/sampledSet/sampledSet/sampledSet.C
index 1442ca31f91..4be25ac3e1e 100644
--- a/src/sampling/sampledSet/sampledSet/sampledSet.C
+++ b/src/sampling/sampledSet/sampledSet/sampledSet.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -57,10 +57,8 @@ Foam::label Foam::sampledSet::getCell
 {
     if (faceI == -1)
     {
-        FatalErrorIn
-        (
-            "sampledSet::getCell(const label, const point&)"
-        )   << "Illegal face label " << faceI
+        FatalErrorInFunction
+            << "Illegal face label " << faceI
             << abort(FatalError);
     }
 
@@ -70,10 +68,8 @@ Foam::label Foam::sampledSet::getCell
 
         if (!mesh().pointInCell(sample, cellI, searchEngine_.decompMode()))
         {
-            FatalErrorIn
-            (
-                "sampledSet::getCell(const label, const point&)"
-            )   << "Found cell " << cellI << " using face " << faceI
+            FatalErrorInFunction
+                << "Found cell " << cellI << " using face " << faceI
                 << ". But cell does not contain point " << sample
                 << abort(FatalError);
         }
@@ -99,10 +95,8 @@ Foam::label Foam::sampledSet::getCell
             }
             else
             {
-                FatalErrorIn
-                (
-                    "sampledSet::getCell(const label, const point&)"
-                )   << "None of the neighbours of face "
+                FatalErrorInFunction
+                    << "None of the neighbours of face "
                     << faceI << " contains point " << sample
                     << abort(FatalError);
 
@@ -220,10 +214,8 @@ Foam::point Foam::sampledSet::pushIn
 
     if (tetFaceI == -1)
     {
-        FatalErrorIn
-        (
-            "sampledSet::pushIn(const point&, const label)"
-        )   << "After pushing " << facePt << " to " << newPosition
+        FatalErrorInFunction
+            << "After pushing " << facePt << " to " << newPosition
             << " it is still outside face " << faceI
             << " at " << mesh().faceCentres()[faceI]
             << " of cell " << cellI
@@ -378,7 +370,7 @@ void Foam::sampledSet::setSamples
      || (curveDist_.size() != size())
     )
     {
-        FatalErrorIn("sampledSet::setSamples()")
+        FatalErrorInFunction
             << "sizes not equal : "
             << "  points:" << size()
             << "  cells:" << cells_.size()
@@ -459,12 +451,8 @@ Foam::autoPtr<Foam::sampledSet> Foam::sampledSet::New
 
     if (cstrIter == wordConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "sampledSet::New"
-            "(const word&, const polyMesh&, const meshSearch&"
-            ", const dictionary&)"
-        )   << "Unknown sample type "
+        FatalErrorInFunction
+            << "Unknown sample type "
             << sampleType << nl << nl
             << "Valid sample types : " << endl
             << wordConstructorTablePtr_->sortedToc()
diff --git a/src/sampling/sampledSet/sampledSets/sampledSets.C b/src/sampling/sampledSet/sampledSets/sampledSets.C
index 0286e548773..89d6f2561f3 100644
--- a/src/sampling/sampledSet/sampledSets/sampledSets.C
+++ b/src/sampling/sampledSet/sampledSets/sampledSets.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -102,7 +102,7 @@ void Foam::sampledSets::combineSampledSets
 
         if (Pstream::master() && allCurveDist.size() == 0)
         {
-            WarningIn("sampledSets::combineSampledSets(..)")
+            WarningInFunction
                 << "Sample set " << samplePts.name()
                 << " has zero points." << endl;
         }
diff --git a/src/sampling/sampledSet/sampledSets/sampledSetsGrouping.C b/src/sampling/sampledSet/sampledSets/sampledSetsGrouping.C
index c57a604e409..b2092a59157 100644
--- a/src/sampling/sampledSet/sampledSets/sampledSetsGrouping.C
+++ b/src/sampling/sampledSet/sampledSets/sampledSetsGrouping.C
@@ -106,7 +106,7 @@ Foam::label Foam::sampledSets::classifyFields()
             }
             else
             {
-                WarningIn("sampledSets::classifyFields()")
+                WarningInFunction
                     << "Cannot find field file matching "
                     << fieldSelection_[i] << endl;
             }
@@ -137,7 +137,7 @@ Foam::label Foam::sampledSets::classifyFields()
             }
             else
             {
-                WarningIn("sampledSets::classifyFields()")
+                WarningInFunction
                     << "Cannot find registered field matching "
                     << fieldSelection_[i] << endl;
             }
diff --git a/src/sampling/sampledSet/sampledSets/sampledSetsTemplates.C b/src/sampling/sampledSet/sampledSets/sampledSetsTemplates.C
index a646a8c7c30..ae899307c1d 100644
--- a/src/sampling/sampledSet/sampledSets/sampledSetsTemplates.C
+++ b/src/sampling/sampledSet/sampledSets/sampledSetsTemplates.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -158,17 +158,8 @@ void Foam::sampledSets::writeSampleFile
     }
     else
     {
-        WarningIn
-        (
-            "void Foam::sampledSets::writeSampleFile"
-            "("
-                "const coordSet&, "
-                "const PtrList<volFieldSampler<Type> >&, "
-                "const label, "
-                "const fileName&, "
-                "const writer<Type>&"
-            ")"
-        )   << "File " << ofs.name() << " could not be opened. "
+        WarningInFunction
+            << "File " << ofs.name() << " could not be opened. "
             << "No data will be written" << endl;
     }
 }
diff --git a/src/sampling/sampledSet/uniform/uniformSet.C b/src/sampling/sampledSet/uniform/uniformSet.C
index 9689218ae58..295a3e79e36 100644
--- a/src/sampling/sampledSet/uniform/uniformSet.C
+++ b/src/sampling/sampledSet/uniform/uniformSet.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -217,7 +217,7 @@ void Foam::uniformSet::calcSamples
     // distance vector between sampling points
     if ((nPoints_ < 2) || (mag(end_ - start_) < SMALL))
     {
-        FatalErrorIn("uniformSet::calcSamples()")
+        FatalErrorInFunction
             << "Incorrect sample specification. Either too few points or"
             << " start equals end point." << endl
             << "nPoints:" << nPoints_
diff --git a/src/sampling/sampledSurface/distanceSurface/distanceSurface.C b/src/sampling/sampledSurface/distanceSurface/distanceSurface.C
index 2dafe3e98ad..61895668a82 100644
--- a/src/sampling/sampledSurface/distanceSurface/distanceSurface.C
+++ b/src/sampling/sampledSurface/distanceSurface/distanceSurface.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -113,10 +113,8 @@ void Foam::distanceSurface::createGeometry()
                 }
                 else
                 {
-                    FatalErrorIn
-                    (
-                        "void Foam::distanceSurface::createGeometry()"
-                    )   << "getVolumeType failure, neither INSIDE or OUTSIDE"
+                    FatalErrorInFunction
+                        << "getVolumeType failure, neither INSIDE or OUTSIDE"
                         << exit(FatalError);
                 }
             }
@@ -165,10 +163,8 @@ void Foam::distanceSurface::createGeometry()
                     }
                     else
                     {
-                        FatalErrorIn
-                        (
-                            "void Foam::distanceSurface::createGeometry()"
-                        )   << "getVolumeType failure, "
+                        FatalErrorInFunction
+                            << "getVolumeType failure, "
                             << "neither INSIDE or OUTSIDE"
                             << exit(FatalError);
                     }
@@ -224,10 +220,8 @@ void Foam::distanceSurface::createGeometry()
                 }
                 else
                 {
-                    FatalErrorIn
-                    (
-                        "void Foam::distanceSurface::createGeometry()"
-                    )   << "getVolumeType failure, neither INSIDE or OUTSIDE"
+                    FatalErrorInFunction
+                        << "getVolumeType failure, neither INSIDE or OUTSIDE"
                         << exit(FatalError);
                 }
             }
diff --git a/src/sampling/sampledSurface/isoSurface/isoSurface.C b/src/sampling/sampledSurface/isoSurface/isoSurface.C
index e3105b35a56..81307ac6141 100644
--- a/src/sampling/sampledSurface/isoSurface/isoSurface.C
+++ b/src/sampling/sampledSurface/isoSurface/isoSurface.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -97,10 +97,8 @@ Foam::PackedBoolList Foam::isoSurface::collocatedFaces
     }
     else
     {
-        FatalErrorIn
-        (
-            "isoSurface::collocatedFaces(const coupledPolyPatch&) const"
-        )   << "Unhandled coupledPolyPatch type " << pp.type()
+        FatalErrorInFunction
+            << "Unhandled coupledPolyPatch type " << pp.type()
             << abort(FatalError);
     }
     return collocated;
@@ -967,7 +965,7 @@ Foam::triSurface Foam::isoSurface::stitchTriPoints
 
     if ((triPoints.size() % 3) != 0)
     {
-        FatalErrorIn("isoSurface::stitchTriPoints(..)")
+        FatalErrorInFunction
             << "Problem: number of points " << triPoints.size()
             << " not a multiple of 3." << abort(FatalError);
     }
@@ -998,7 +996,7 @@ Foam::triSurface Foam::isoSurface::stitchTriPoints
 
         if (hasMerged)
         {
-            FatalErrorIn("isoSurface::stitchTriPoints(..)")
+            FatalErrorInFunction
                 << "Merged points contain duplicates"
                 << " when merging with distance " << mergeDistance_ << endl
                 << "merged:" << newPoints.size() << " re-merged:"
@@ -1115,7 +1113,7 @@ Foam::triSurface Foam::isoSurface::stitchTriPoints
 
                     if (f == nbrF)
                     {
-                        FatalErrorIn("validTri(const triSurface&, const label)")
+                        FatalErrorInFunction
                             << "Check : "
                             << " triangle " << faceI << " vertices " << f
                             << " fc:" << f.centre(surf.points())
@@ -1147,7 +1145,7 @@ bool Foam::isoSurface::validTri(const triSurface& surf, const label faceI)
      || (f[2] < 0) || (f[2] >= surf.points().size())
     )
     {
-        WarningIn("validTri(const triSurface&, const label)")
+        WarningInFunction
             << "triangle " << faceI << " vertices " << f
             << " uses point indices outside point range 0.."
             << surf.points().size()-1 << endl;
@@ -1157,7 +1155,7 @@ bool Foam::isoSurface::validTri(const triSurface& surf, const label faceI)
 
     if ((f[0] == f[1]) || (f[0] == f[2]) || (f[1] == f[2]))
     {
-        WarningIn("validTri(const triSurface&, const label)")
+        WarningInFunction
             << "triangle " << faceI
             << " uses non-unique vertices " << f
             << endl;
@@ -1189,7 +1187,7 @@ bool Foam::isoSurface::validTri(const triSurface& surf, const label faceI)
          && ((f[2] == nbrF[0]) || (f[2] == nbrF[1]) || (f[2] == nbrF[2]))
         )
         {
-            WarningIn("validTri(const triSurface&, const label)")
+            WarningInFunction
                 << "triangle " << faceI << " vertices " << f
                 << " fc:" << f.centre(surf.points())
                 << " has the same vertices as triangle " << nbrFaceI
@@ -1326,7 +1324,7 @@ void Foam::isoSurface::calcAddressing
             }
             else
             {
-                //WarningIn("orientSurface(triSurface&)")
+                //WarningInFunction
                 //    << "Edge " << edgeI << " with centre "
                 //    << mergedCentres[edgeI]
                 //    << " used by more than two triangles: "
@@ -1452,7 +1450,7 @@ void Foam::isoSurface::walkOrientation
 
                     if (nbrFp == -1)
                     {
-                        FatalErrorIn("isoSurface::walkOrientation(..)")
+                        FatalErrorInFunction
                             << "triI:" << triI
                             << " tri:" << tri
                             << " p0:" << p0
@@ -1550,10 +1548,8 @@ void Foam::isoSurface::orientSurface
         }
         else if (flipState[triI] == -1)
         {
-            FatalErrorIn
-            (
-                "isoSurface::orientSurface(triSurface&, const label)"
-            )   << "problem" << abort(FatalError);
+            FatalErrorInFunction
+                << "problem" << abort(FatalError);
         }
     }
 }
diff --git a/src/sampling/sampledSurface/isoSurface/isoSurfaceCell.C b/src/sampling/sampledSurface/isoSurface/isoSurfaceCell.C
index 8123541ebee..d82f072a136 100644
--- a/src/sampling/sampledSurface/isoSurface/isoSurfaceCell.C
+++ b/src/sampling/sampledSurface/isoSurface/isoSurfaceCell.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -917,7 +917,7 @@ Foam::triSurface Foam::isoSurfaceCell::stitchTriPoints
 
     if ((triPoints.size() % 3) != 0)
     {
-        FatalErrorIn("isoSurfaceCell::stitchTriPoints(..)")
+        FatalErrorInFunction
             << "Problem: number of points " << triPoints.size()
             << " not a multiple of 3." << abort(FatalError);
     }
@@ -951,7 +951,7 @@ Foam::triSurface Foam::isoSurfaceCell::stitchTriPoints
 
         if (hasMerged)
         {
-            FatalErrorIn("isoSurfaceCell::stitchTriPoints(..)")
+            FatalErrorInFunction
                 << "Merged points contain duplicates"
                 << " when merging with distance " << mergeDistance_ << endl
                 << "merged:" << newPoints.size() << " re-merged:"
@@ -1064,7 +1064,7 @@ bool Foam::isoSurfaceCell::validTri(const triSurface& surf, const label faceI)
     {
         if (f[fp] < 0 || f[fp] >= surf.points().size())
         {
-            WarningIn("validTri(const triSurface&, const label)")
+            WarningInFunction
                 << "triangle " << faceI << " vertices " << f
                 << " uses point indices outside point range 0.."
                 << surf.points().size()-1 << endl;
@@ -1075,7 +1075,7 @@ bool Foam::isoSurfaceCell::validTri(const triSurface& surf, const label faceI)
 
     if ((f[0] == f[1]) || (f[0] == f[2]) || (f[1] == f[2]))
     {
-        WarningIn("validTri(const triSurface&, const label)")
+        WarningInFunction
             << "triangle " << faceI
             << " uses non-unique vertices " << f
             << endl;
@@ -1107,7 +1107,7 @@ bool Foam::isoSurfaceCell::validTri(const triSurface& surf, const label faceI)
          && ((f[2] == nbrF[0]) || (f[2] == nbrF[1]) || (f[2] == nbrF[2]))
         )
         {
-            WarningIn("validTri(const triSurface&, const label)")
+            WarningInFunction
                 << "triangle " << faceI << " vertices " << f
                 << " coords:" << f.points(surf.points())
                 << " has the same vertices as triangle " << nbrFaceI
@@ -1199,7 +1199,7 @@ void Foam::isoSurfaceCell::calcAddressing
         }
         else
         {
-            //WarningIn("orientSurface(triSurface&)")
+            //WarningInFunction
             //    << "Edge " << edgeI << " with centre " << mergedCentres[edgeI]
             //    << " used by more than two triangles: " << edgeFace0[edgeI]
             //    << ", "
@@ -1351,10 +1351,8 @@ void Foam::isoSurfaceCell::calcAddressing
 //        }
 //        else if (flipState[triI] == -1)
 //        {
-//            FatalErrorIn
-//            (
-//                "isoSurfaceCell::orientSurface(triSurface&, const label)"
-//            )   << "problem" << abort(FatalError);
+//            FatalErrorInFunction
+//                << "problem" << abort(FatalError);
 //        }
 //    }
 //}
diff --git a/src/sampling/sampledSurface/isoSurface/isoSurfaceCellTemplates.C b/src/sampling/sampledSurface/isoSurface/isoSurfaceCellTemplates.C
index c78aafeee50..6d54e471bb1 100644
--- a/src/sampling/sampledSurface/isoSurface/isoSurfaceCellTemplates.C
+++ b/src/sampling/sampledSurface/isoSurface/isoSurfaceCellTemplates.C
@@ -495,7 +495,7 @@ void Foam::isoSurfaceCell::generateTriPoints
 
     if (countNotFoundTets > 0)
     {
-        WarningIn("Foam::isoSurfaceCell::generateTriPoints")
+        WarningInFunction
             << "Could not find " << countNotFoundTets
             << " tet base points, which may lead to inverted triangles."
             << endl;
diff --git a/src/sampling/sampledSurface/isoSurface/isoSurfaceTemplates.C b/src/sampling/sampledSurface/isoSurface/isoSurfaceTemplates.C
index 6f64c9fe541..75a79c9f2b2 100644
--- a/src/sampling/sampledSurface/isoSurface/isoSurfaceTemplates.C
+++ b/src/sampling/sampledSurface/isoSurface/isoSurfaceTemplates.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -492,7 +492,7 @@ void Foam::isoSurface::generateTriPoints
      || (snappedPoint.size() != mesh_.nPoints())
     )
     {
-        FatalErrorIn("isoSurface::generateTriPoints(..)")
+        FatalErrorInFunction
             << "Incorrect size." << endl
             << "mesh: nCells:" << mesh_.nCells()
             << " points:" << mesh_.nPoints() << endl
@@ -759,7 +759,7 @@ Foam::isoSurface::interpolate
         {
             if (nValues[i] == 0)
             {
-                FatalErrorIn("isoSurface::interpolate(..)")
+                FatalErrorInFunction
                     << "point:" << i << " nValues:" << nValues[i]
                     << abort(FatalError);
             }
diff --git a/src/sampling/sampledSurface/isoSurface/sampledIsoSurface.C b/src/sampling/sampledSurface/isoSurface/sampledIsoSurface.C
index bb171c2c0e9..4802ccbaf34 100644
--- a/src/sampling/sampledSurface/isoSurface/sampledIsoSurface.C
+++ b/src/sampling/sampledSurface/isoSurface/sampledIsoSurface.C
@@ -110,7 +110,7 @@ void Foam::sampledIsoSurface::getIsoFields() const
             }
             else
             {
-                FatalErrorIn("sampledIsoSurface::getIsoFields()")
+                FatalErrorInFunction
                 << "Cannot find isosurface field " << isoField_
                 << " in database or directory " << vfHeader.path()
                 << exit(FatalError);
@@ -427,10 +427,8 @@ Foam::sampledIsoSurface::sampledIsoSurface
 {
     if (!sampledSurface::interpolate())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "sampledIsoSurface::sampledIsoSurface"
-            "(const word&, const polyMesh&, const dictionary&)",
             dict
         )   << "Non-interpolated iso surface not supported since triangles"
             << " span across cells." << exit(FatalIOError);
@@ -442,10 +440,8 @@ Foam::sampledIsoSurface::sampledIsoSurface
 
         if (mesh.boundaryMesh().findPatchID(exposedPatchName_) == -1)
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "sampledIsoSurface::sampledIsoSurface"
-                "(const word&, const polyMesh&, const dictionary&)",
                 dict
             )   << "Cannot find patch " << exposedPatchName_
                 << " in which to put exposed faces." << endl
diff --git a/src/sampling/sampledSurface/sampledCuttingPlane/sampledCuttingPlane.C b/src/sampling/sampledSurface/sampledCuttingPlane/sampledCuttingPlane.C
index 7da10d7a57d..b2eee16e05d 100644
--- a/src/sampling/sampledSurface/sampledCuttingPlane/sampledCuttingPlane.C
+++ b/src/sampling/sampledSurface/sampledCuttingPlane/sampledCuttingPlane.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -279,11 +279,8 @@ Foam::sampledCuttingPlane::sampledCuttingPlane
 
         if (mesh.boundaryMesh().findPatchID(exposedPatchName_) == -1)
         {
-            FatalErrorIn
-            (
-                "sampledCuttingPlane::sampledCuttingPlane"
-                "(const word&, const polyMesh&, const dictionary&)"
-            )   << "Cannot find patch " << exposedPatchName_
+            FatalErrorInFunction
+                << "Cannot find patch " << exposedPatchName_
                 << " in which to put exposed faces." << endl
                 << "Valid patches are " << mesh.boundaryMesh().names()
                 << exit(FatalError);
diff --git a/src/sampling/sampledSurface/sampledPatch/sampledPatch.C b/src/sampling/sampledSurface/sampledPatch/sampledPatch.C
index d07a6391f12..22a3e0490b7 100644
--- a/src/sampling/sampledSurface/sampledPatch/sampledPatch.C
+++ b/src/sampling/sampledSurface/sampledPatch/sampledPatch.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -135,7 +135,7 @@ bool Foam::sampledPatch::update()
 
         if (isA<emptyPolyPatch>(pp))
         {
-            FatalErrorIn("sampledPatch::update()")
+            FatalErrorInFunction
                 << "Cannot sample an empty patch. Patch " << pp.name()
                 << exit(FatalError);
         }
diff --git a/src/sampling/sampledSurface/sampledSurface/sampledSurface.C b/src/sampling/sampledSurface/sampledSurface/sampledSurface.C
index 824894b2ea7..acf3558bba8 100644
--- a/src/sampling/sampledSurface/sampledSurface/sampledSurface.C
+++ b/src/sampling/sampledSurface/sampledSurface/sampledSurface.C
@@ -53,7 +53,7 @@ void Foam::sampledSurface::makeSf() const
     // It is an error to recalculate if the pointer is already set
     if (SfPtr_)
     {
-        FatalErrorIn("Foam::sampledSurface::makeSf()")
+        FatalErrorInFunction
             << "face area vectors already exist"
             << abort(FatalError);
     }
@@ -74,7 +74,7 @@ void Foam::sampledSurface::makeMagSf() const
     // It is an error to recalculate if the pointer is already set
     if (magSfPtr_)
     {
-        FatalErrorIn("Foam::sampledSurface::makeMagSf()")
+        FatalErrorInFunction
             << "mag face areas already exist"
             << abort(FatalError);
     }
@@ -95,7 +95,7 @@ void Foam::sampledSurface::makeCf() const
     // It is an error to recalculate if the pointer is already set
     if (CfPtr_)
     {
-        FatalErrorIn("Foam::sampledSurface::makeCf()")
+        FatalErrorInFunction
             << "face centres already exist"
             << abort(FatalError);
     }
@@ -132,11 +132,8 @@ Foam::autoPtr<Foam::sampledSurface> Foam::sampledSurface::New
 
     if (cstrIter == wordConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "sampledSurface::New"
-            "(const word&, const polyMesh&, const dictionary&)"
-        )   << "Unknown sample type "
+        FatalErrorInFunction
+            << "Unknown sample type "
             << sampleType << nl << nl
             << "Valid sample types : " << endl
             << wordConstructorTablePtr_->sortedToc()
diff --git a/src/sampling/sampledSurface/sampledSurface/sampledSurfaceTemplates.C b/src/sampling/sampledSurface/sampledSurface/sampledSurfaceTemplates.C
index 09fe8b7567c..2ad3b90e796 100644
--- a/src/sampling/sampledSurface/sampledSurface/sampledSurfaceTemplates.C
+++ b/src/sampling/sampledSurface/sampledSurface/sampledSurfaceTemplates.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -35,10 +35,7 @@ bool Foam::sampledSurface::checkFieldSize(const Field<Type>& field) const
 
     if (field.size() != faces().size())
     {
-        FatalErrorIn
-        (
-            "sampledSurface::checkFieldSize(const Field<Type>&) const"
-        )
+        FatalErrorInFunction
             << "size mismatch: "
             << "field (" << field.size()
             << ") != surface (" << faces().size() << ")"
diff --git a/src/sampling/sampledSurface/sampledSurfaces/sampledSurfacesGrouping.C b/src/sampling/sampledSurface/sampledSurfaces/sampledSurfacesGrouping.C
index 27b4d63d603..efd1ee4bb0a 100644
--- a/src/sampling/sampledSurface/sampledSurfaces/sampledSurfacesGrouping.C
+++ b/src/sampling/sampledSurface/sampledSurfaces/sampledSurfacesGrouping.C
@@ -50,7 +50,7 @@ Foam::label Foam::sampledSurfaces::classifyFields()
             }
             else
             {
-                WarningIn("sampledSurfaces::classifyFields()")
+                WarningInFunction
                     << "Cannot find field file matching "
                     << fieldSelection_[i] << endl;
             }
@@ -72,7 +72,7 @@ Foam::label Foam::sampledSurfaces::classifyFields()
             }
             else
             {
-                WarningIn("sampledSurfaces::classifyFields()")
+                WarningInFunction
                     << "Cannot find registered field matching "
                     << fieldSelection_[i] << endl;
             }
diff --git a/src/sampling/sampledSurface/thresholdCellFaces/sampledThresholdCellFaces.C b/src/sampling/sampledSurface/thresholdCellFaces/sampledThresholdCellFaces.C
index 89e99055b8a..c71c6eba0d3 100644
--- a/src/sampling/sampledSurface/thresholdCellFaces/sampledThresholdCellFaces.C
+++ b/src/sampling/sampledSurface/thresholdCellFaces/sampledThresholdCellFaces.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -163,10 +163,7 @@ Foam::sampledThresholdCellFaces::sampledThresholdCellFaces
 {
     if (!dict.found("lowerLimit") && !dict.found("upperLimit"))
     {
-        FatalErrorIn
-            (
-                "sampledThresholdCellFaces::sampledThresholdCellFaces(..)"
-            )
+        FatalErrorInFunction
             << "require at least one of 'lowerLimit' or 'upperLimit'" << endl
             << abort(FatalError);
     }
diff --git a/src/sampling/sampledSurface/thresholdCellFaces/thresholdCellFaces.C b/src/sampling/sampledSurface/thresholdCellFaces/thresholdCellFaces.C
index 81f46165c24..26b73b3c606 100644
--- a/src/sampling/sampledSurface/thresholdCellFaces/thresholdCellFaces.C
+++ b/src/sampling/sampledSurface/thresholdCellFaces/thresholdCellFaces.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -279,8 +279,7 @@ Foam::thresholdCellFaces::thresholdCellFaces
 
     if (lowerThreshold > upperThreshold)
     {
-        WarningIn("thresholdCellFaces::thresholdCellFaces(...)")
-            << "lower > upper limit!  "
+        WarningInFunction
             << lowerThreshold << " > " << upperThreshold << endl;
     }
 
diff --git a/src/sampling/sampledSurface/writers/dx/dxSurfaceWriter.C b/src/sampling/sampledSurface/writers/dx/dxSurfaceWriter.C
index c95a7aed65c..2c68fde5cae 100644
--- a/src/sampling/sampledSurface/writers/dx/dxSurfaceWriter.C
+++ b/src/sampling/sampledSurface/writers/dx/dxSurfaceWriter.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -73,10 +73,8 @@ void Foam::dxSurfaceWriter::writeGeometry
 
         if (f.size() != 3)
         {
-            FatalErrorIn
-            (
-                "writeGeometry(Ostream&, const pointField&, const faceList&)"
-            )   << "Face " << faceI << " vertices " << f
+            FatalErrorInFunction
+                << "Face " << faceI << " vertices " << f
                 << " is not a triangle."
                 << exit(FatalError);
         }
diff --git a/src/sampling/sampledSurface/writers/nastran/nastranSurfaceWriter.C b/src/sampling/sampledSurface/writers/nastran/nastranSurfaceWriter.C
index eaa16feb6b6..b0fa51ca709 100644
--- a/src/sampling/sampledSurface/writers/nastran/nastranSurfaceWriter.C
+++ b/src/sampling/sampledSurface/writers/nastran/nastranSurfaceWriter.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -156,14 +156,8 @@ void Foam::nastranSurfaceWriter::writeCoord
         }
         default:
         {
-            FatalErrorIn
-            (
-                "void Foam::nastranSurfaceWriter::writeCoord"
-                "("
-                    "Ostream&, "
-                    "const point&"
-                ") const"
-            )   << "Unknown writeFormat enumeration" << abort(FatalError);
+            FatalErrorInFunction
+                << "Unknown writeFormat enumeration" << abort(FatalError);
         }
     }
 }
@@ -255,16 +249,8 @@ void Foam::nastranSurfaceWriter::writeFace
         }
         default:
         {
-            FatalErrorIn
-            (
-                "void Foam::nastranSurfaceWriter::writeFace"
-                "("
-                    "const word&"
-                    "const labelList&"
-                    "label&"
-                    "Ostream&, "
-                ") const"
-            )   << "Unknown writeFormat enumeration" << abort(FatalError);
+            FatalErrorInFunction
+                << "Unknown writeFormat enumeration" << abort(FatalError);
         }
     }
 
diff --git a/src/sampling/sampledSurface/writers/nastran/nastranSurfaceWriterTemplates.C b/src/sampling/sampledSurface/writers/nastran/nastranSurfaceWriterTemplates.C
index fe1e6a998ae..d8ea7cc516d 100644
--- a/src/sampling/sampledSurface/writers/nastran/nastranSurfaceWriterTemplates.C
+++ b/src/sampling/sampledSurface/writers/nastran/nastranSurfaceWriterTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -129,20 +129,7 @@ void Foam::nastranSurfaceWriter::writeTemplate
 {
     if (!fieldMap_.found(fieldName))
     {
-        WarningIn
-        (
-            "void Foam::nastranSurfaceWriter::writeTemplate"
-            "("
-                "const fileName&, "
-                "const fileName&, "
-                "const pointField&, "
-                "const faceList&, "
-                "const word&, "
-                "const Field<Type>&, "
-                "const bool, "
-                "const bool"
-            ") const"
-        )
+        WarningInFunction
             << "No mapping found between field " << fieldName
             << " and corresponding Nastran field.  Available types are:"
             << fieldMap_
diff --git a/src/sampling/sampledSurface/writers/surfaceWriter.C b/src/sampling/sampledSurface/writers/surfaceWriter.C
index 86beeabe199..bba94f1e571 100644
--- a/src/sampling/sampledSurface/writers/surfaceWriter.C
+++ b/src/sampling/sampledSurface/writers/surfaceWriter.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -68,10 +68,8 @@ Foam::surfaceWriter::New(const word& writeType)
 
         if (cstrIter == wordConstructorTablePtr_->end())
         {
-            FatalErrorIn
-            (
-                "surfaceWriter::New(const word&)"
-            )   << "Unknown write type \"" << writeType << "\"\n\n"
+            FatalErrorInFunction
+                << "Unknown write type \"" << writeType << "\"\n\n"
                 << "Valid write types : "
                 << wordConstructorTablePtr_->sortedToc() << nl
                 << "Valid proxy types : "
diff --git a/src/sixDoFRigidBodyMotion/pointPatchFields/derived/sixDoFRigidBodyDisplacement/sixDoFRigidBodyDisplacementPointPatchVectorField.C b/src/sixDoFRigidBodyMotion/pointPatchFields/derived/sixDoFRigidBodyDisplacement/sixDoFRigidBodyDisplacementPointPatchVectorField.C
index 7f51b9551d4..b69b8065be3 100644
--- a/src/sixDoFRigidBodyMotion/pointPatchFields/derived/sixDoFRigidBodyDisplacement/sixDoFRigidBodyDisplacementPointPatchVectorField.C
+++ b/src/sixDoFRigidBodyMotion/pointPatchFields/derived/sixDoFRigidBodyDisplacement/sixDoFRigidBodyDisplacementPointPatchVectorField.C
@@ -178,11 +178,7 @@ void sixDoFRigidBodyDisplacementPointPatchVectorField::updateCoeffs()
         {
             if (lookupGravity_ == -2)
             {
-                FatalErrorIn
-                (
-                    "void sixDoFRigidBodyDisplacementPointPatchVectorField"
-                    "::updateCoeffs()"
-                )
+                FatalErrorInFunction
                     << "Specifying the value of g in this boundary condition "
                     << "when g is available from the database is considered "
                     << "a fatal error to avoid the possibility of inconsistency"
diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/axis/sixDoFRigidBodyMotionAxisConstraint.C b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/axis/sixDoFRigidBodyMotionAxisConstraint.C
index a06ca8a7997..985d7ae4caa 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/axis/sixDoFRigidBodyMotionAxisConstraint.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/axis/sixDoFRigidBodyMotionAxisConstraint.C
@@ -102,13 +102,7 @@ bool Foam::sixDoFRigidBodyMotionConstraints::axis::read
     }
     else
     {
-        FatalErrorIn
-        (
-            "Foam::sixDoFRigidBodyMotionConstraints::axis::read"
-            "("
-                "const dictionary& sDoFRBMCDict"
-            ")"
-        )
+        FatalErrorInFunction
             << "axis has zero length"
             << abort(FatalError);
     }
diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/line/sixDoFRigidBodyMotionLineConstraint.C b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/line/sixDoFRigidBodyMotionLineConstraint.C
index 259f35b317e..7e7189b0d1d 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/line/sixDoFRigidBodyMotionLineConstraint.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/line/sixDoFRigidBodyMotionLineConstraint.C
@@ -116,13 +116,7 @@ bool Foam::sixDoFRigidBodyMotionConstraints::line::read
     }
     else
     {
-        FatalErrorIn
-        (
-            "Foam::sixDoFRigidBodyMotionConstraints::line::read"
-            "("
-                "const dictionary& sDoFRBMCDict"
-            ")"
-        )
+        FatalErrorInFunction
             << "line direction has zero length"
             << abort(FatalError);
     }
diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/sixDoFRigidBodyMotionConstraint/sixDoFRigidBodyMotionConstraintNew.C b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/sixDoFRigidBodyMotionConstraint/sixDoFRigidBodyMotionConstraintNew.C
index 8893d8e8017..9173e2fb810 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/sixDoFRigidBodyMotionConstraint/sixDoFRigidBodyMotionConstraintNew.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/sixDoFRigidBodyMotionConstraint/sixDoFRigidBodyMotionConstraintNew.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -45,15 +45,8 @@ Foam::sixDoFRigidBodyMotionConstraint::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "sixDoFRigidBodyMotionConstraint::New"
-            "("
-                "const word& name,"
-                "const dictionary& sDoFRBMCDict"
-                "const sixDoFRigidBodyMotion& motion"
-            ")"
-        )   << "Unknown sixDoFRigidBodyMotionConstraint type "
+        FatalErrorInFunction
+            << "Unknown sixDoFRigidBodyMotionConstraint type "
             << constraintType << nl << nl
             << "Valid sixDoFRigidBodyMotionConstraints are : " << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/linearAxialAngularSpring/linearAxialAngularSpring.C b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/linearAxialAngularSpring/linearAxialAngularSpring.C
index 28a9774d5e2..7f0d8ddb010 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/linearAxialAngularSpring/linearAxialAngularSpring.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/linearAxialAngularSpring/linearAxialAngularSpring.C
@@ -152,14 +152,7 @@ bool Foam::sixDoFRigidBodyMotionRestraints::linearAxialAngularSpring::read
 
     if (mag(mag(refQ_) - sqrt(3.0)) > 1e-9)
     {
-        FatalErrorIn
-        (
-            "Foam::sixDoFRigidBodyMotionRestraints::linearAxialAngularSpring::"
-            "read"
-            "("
-                "const dictionary& sDoFRBMRDict"
-            ")"
-        )
+        FatalErrorInFunction
             << "referenceOrientation " << refQ_ << " is not a rotation tensor. "
             << "mag(referenceOrientation) - sqrt(3) = "
             << mag(refQ_) - sqrt(3.0) << nl
@@ -176,14 +169,7 @@ bool Foam::sixDoFRigidBodyMotionRestraints::linearAxialAngularSpring::read
     }
     else
     {
-        FatalErrorIn
-        (
-            "Foam::sixDoFRigidBodyMotionRestraints::linearAxialAngularSpring::"
-            "read"
-            "("
-                "const dictionary& sDoFRBMCDict"
-            ")"
-        )
+        FatalErrorInFunction
             << "axis has zero length"
             << abort(FatalError);
     }
diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/sixDoFRigidBodyMotionRestraint/sixDoFRigidBodyMotionRestraintNew.C b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/sixDoFRigidBodyMotionRestraint/sixDoFRigidBodyMotionRestraintNew.C
index 1bb047a77d6..3398826611d 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/sixDoFRigidBodyMotionRestraint/sixDoFRigidBodyMotionRestraintNew.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/sixDoFRigidBodyMotionRestraint/sixDoFRigidBodyMotionRestraintNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,13 +44,8 @@ Foam::sixDoFRigidBodyMotionRestraint::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "sixDoFRigidBodyMotionRestraint::New"
-            "("
-                "const dictionary& sDoFRBMRDict"
-            ")"
-        )   << "Unknown sixDoFRigidBodyMotionRestraint type "
+        FatalErrorInFunction
+            << "Unknown sixDoFRigidBodyMotionRestraint type "
             << restraintType << nl << nl
             << "Valid sixDoFRigidBodyMotionRestraint types are : " << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/sphericalAngularSpring/sphericalAngularSpring.C b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/sphericalAngularSpring/sphericalAngularSpring.C
index 5419f9285c2..4ae6f217a40 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/sphericalAngularSpring/sphericalAngularSpring.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/sphericalAngularSpring/sphericalAngularSpring.C
@@ -126,14 +126,7 @@ bool Foam::sixDoFRigidBodyMotionRestraints::sphericalAngularSpring::read
 
     if (mag(mag(refQ_) - sqrt(3.0)) > 1e-9)
     {
-        FatalErrorIn
-        (
-            "Foam::sixDoFRigidBodyMotionRestraints::sphericalAngularSpring::"
-            "read"
-            "("
-                "const dictionary& sDoFRBMRDict"
-            ")"
-        )
+        FatalErrorInFunction
             << "referenceOrientation " << refQ_ << " is not a rotation tensor. "
             << "mag(referenceOrientation) - sqrt(3) = "
             << mag(refQ_) - sqrt(3.0) << nl
diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/tabulatedAxialAngularSpring/tabulatedAxialAngularSpring.C b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/tabulatedAxialAngularSpring/tabulatedAxialAngularSpring.C
index d9ab2c27136..acaeea98fcd 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/tabulatedAxialAngularSpring/tabulatedAxialAngularSpring.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/tabulatedAxialAngularSpring/tabulatedAxialAngularSpring.C
@@ -153,14 +153,7 @@ bool Foam::sixDoFRigidBodyMotionRestraints::tabulatedAxialAngularSpring::read
 
     if (mag(mag(refQ_) - sqrt(3.0)) > 1e-9)
     {
-        FatalErrorIn
-        (
-            "Foam::sixDoFRigidBodyMotionRestraints::"
-            "tabulatedAxialAngularSpring::read"
-            "("
-                "const dictionary& sDoFRBMRDict"
-            ")"
-        )
+        FatalErrorInFunction
             << "referenceOrientation " << refQ_ << " is not a rotation tensor. "
             << "mag(referenceOrientation) - sqrt(3) = "
             << mag(refQ_) - sqrt(3.0) << nl
@@ -177,14 +170,7 @@ bool Foam::sixDoFRigidBodyMotionRestraints::tabulatedAxialAngularSpring::read
     }
     else
     {
-        FatalErrorIn
-        (
-            "Foam::sixDoFRigidBodyMotionRestraints::"
-            "tabulatedAxialAngularSpring::read"
-            "("
-                "const dictionary& sDoFRBMCDict"
-            ")"
-        )
+        FatalErrorInFunction
             << "axis has zero length"
             << abort(FatalError);
     }
@@ -203,14 +189,7 @@ bool Foam::sixDoFRigidBodyMotionRestraints::tabulatedAxialAngularSpring::read
     }
     else
     {
-        FatalErrorIn
-        (
-            "Foam::sixDoFRigidBodyMotionRestraints::"
-            "tabulatedAxialAngularSpring::read"
-            "("
-                "const dictionary&"
-            ")"
-        )
+        FatalErrorInFunction
             << "angleFormat must be degree, degrees, radian or radians"
             << abort(FatalError);
     }
diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionSolver/sixDoFRigidBodyMotionSolver.C b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionSolver/sixDoFRigidBodyMotionSolver.C
index 1d3d01856d0..2ca63eb8f37 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionSolver/sixDoFRigidBodyMotionSolver.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionSolver/sixDoFRigidBodyMotionSolver.C
@@ -171,10 +171,8 @@ void Foam::sixDoFRigidBodyMotionSolver::solve()
 
     if (mesh().nPoints() != points0().size())
     {
-        FatalErrorIn
-        (
-            "sixDoFRigidBodyMotionSolver::curPoints() const"
-        )   << "The number of points in the mesh seems to have changed." << endl
+        FatalErrorInFunction
+            << "The number of points in the mesh seems to have changed." << endl
             << "In constant/polyMesh there are " << points0().size()
             << " points; in the current mesh there are " << mesh().nPoints()
             << " points." << exit(FatalError);
diff --git a/src/sixDoFRigidBodyMotion/sixDoFSolvers/sixDoFSolver/newSixDoFSolver.C b/src/sixDoFRigidBodyMotion/sixDoFSolvers/sixDoFSolver/newSixDoFSolver.C
index 329a9aaea18..d9d92826c70 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFSolvers/sixDoFSolver/newSixDoFSolver.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFSolvers/sixDoFSolver/newSixDoFSolver.C
@@ -42,7 +42,7 @@ Foam::autoPtr<Foam::sixDoFSolver> Foam::sixDoFSolver::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn("sixDoFSolver::New")
+        FatalErrorInFunction
             << "Unknown sixDoFSolverType type "
             << sixDoFSolverType << endl << endl
             << "Valid sixDoFSolver types are : " << endl
diff --git a/src/sixDoFRigidBodyMotion/sixDoFSolvers/symplectic/symplectic.C b/src/sixDoFRigidBodyMotion/sixDoFSolvers/symplectic/symplectic.C
index 61d94abc7a9..bd678d1090d 100644
--- a/src/sixDoFRigidBodyMotion/sixDoFSolvers/symplectic/symplectic.C
+++ b/src/sixDoFRigidBodyMotion/sixDoFSolvers/symplectic/symplectic.C
@@ -69,7 +69,7 @@ void Foam::sixDoFSolvers::symplectic::solve
 {
     if (!firstIter)
     {
-        FatalErrorIn("sixDoFSolvers::symplectic::solve")
+        FatalErrorInFunction
             << "The symplectic integrator is explicit "
                "and can only be solved once per time-step"
             << exit(FatalError);
diff --git a/src/surfMesh/MeshedSurface/MeshedSurface.C b/src/surfMesh/MeshedSurface/MeshedSurface.C
index 0fec3ea958a..a79dfe05214 100644
--- a/src/surfMesh/MeshedSurface/MeshedSurface.C
+++ b/src/surfMesh/MeshedSurface/MeshedSurface.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -141,11 +141,8 @@ void Foam::MeshedSurface<Face>::write
         }
         else
         {
-            FatalErrorIn
-            (
-                "MeshedSurface::write"
-                "(const fileName&, const MeshedSurface&)"
-            )   << "Unknown file extension " << ext << nl << nl
+            FatalErrorInFunction
+                << "Unknown file extension " << ext << nl << nl
                 << "Valid types are :" << endl
                 << (supported | writeTypes())
                 << exit(FatalError);
@@ -692,7 +689,7 @@ bool Foam::MeshedSurface<Face>::checkFaces
             {
                 if (f[fp] < 0 || f[fp] > maxPointI)
                 {
-                    FatalErrorIn("MeshedSurface::checkFaces(bool)")
+                    FatalErrorInFunction
                         << "face " << f
                         << " uses point indices outside point range 0.."
                     << maxPointI
@@ -711,10 +708,8 @@ bool Foam::MeshedSurface<Face>::checkFaces
             changed = true;
             if (verbose)
             {
-                WarningIn
-                (
-                    "MeshedSurface::checkFaces(bool verbose)"
-                )   << "face[" << faceI << "] = " << f
+                WarningInFunction
+                    << "face[" << faceI << "] = " << f
                     << " does not have three unique vertices" << endl;
             }
         }
@@ -759,10 +754,8 @@ bool Foam::MeshedSurface<Face>::checkFaces
 
                 if (verbose)
                 {
-                    WarningIn
-                    (
-                        "MeshedSurface::checkFaces(bool verbose)"
-                    )   << "faces share the same vertices:" << nl
+                    WarningInFunction
+                        << "faces share the same vertices:" << nl
                         << "    face[" << faceI << "] : " << f << nl
                         << "    face[" << neiFaceI << "] : " << nei << endl;
                     // printFace(Warning, "    ", f, points());
@@ -793,10 +786,8 @@ bool Foam::MeshedSurface<Face>::checkFaces
 
         if (verbose)
         {
-            WarningIn
-            (
-                "MeshedSurface::checkFaces(bool verbose)"
-            )   << "Removed " << faceLst.size() - newFaceI
+            WarningInFunction
+                << "Removed " << faceLst.size() - newFaceI
                 << " illegal faces." << endl;
         }
 
diff --git a/src/surfMesh/MeshedSurface/MeshedSurfaceNew.C b/src/surfMesh/MeshedSurface/MeshedSurfaceNew.C
index f9ae62a4ac3..d20c3fc7793 100644
--- a/src/surfMesh/MeshedSurface/MeshedSurfaceNew.C
+++ b/src/surfMesh/MeshedSurface/MeshedSurfaceNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -59,11 +59,8 @@ Foam::MeshedSurface<Face>::New(const fileName& name, const word& ext)
         // nothing left to try, issue error
         supported += readTypes();
 
-        FatalErrorIn
-        (
-            "MeshedSurface<Face>::New(const fileName&, const word&) : "
-            "constructing MeshedSurface"
-        )   << "Unknown file extension " << ext << nl << nl
+        FatalErrorInFunction
+            << "Unknown file extension " << ext << nl << nl
             << "Valid types are :" << nl
             << supported
             << exit(FatalError);
diff --git a/src/surfMesh/MeshedSurface/MeshedSurfaceZones.C b/src/surfMesh/MeshedSurface/MeshedSurfaceZones.C
index 6e9ca90c634..cea56fc0724 100644
--- a/src/surfMesh/MeshedSurface/MeshedSurfaceZones.C
+++ b/src/surfMesh/MeshedSurface/MeshedSurfaceZones.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,10 +44,7 @@ void Foam::MeshedSurface<Face>::checkZones()
 
         if (count < this->size())
         {
-            WarningIn
-            (
-                "MeshedSurface::checkZones()\n"
-            )
+            WarningInFunction
                 << "more faces " << this->size() << " than zones " << count
                 << " ... extending final zone"
                 << endl;
@@ -56,10 +53,7 @@ void Foam::MeshedSurface<Face>::checkZones()
         }
         else if (count > this->size())
         {
-            FatalErrorIn
-            (
-                "MeshedSurface::checkZones()\n"
-            )
+            FatalErrorInFunction
                 << "more zones " << count << " than faces " << this->size()
                 << exit(FatalError);
         }
diff --git a/src/surfMesh/MeshedSurfaceProxy/MeshedSurfaceProxy.C b/src/surfMesh/MeshedSurfaceProxy/MeshedSurfaceProxy.C
index 72cdd6af87b..ac75fa52d89 100644
--- a/src/surfMesh/MeshedSurfaceProxy/MeshedSurfaceProxy.C
+++ b/src/surfMesh/MeshedSurfaceProxy/MeshedSurfaceProxy.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -75,10 +75,8 @@ void Foam::MeshedSurfaceProxy<Face>::write
 
     if (mfIter == writefileExtensionMemberFunctionTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "MeshedSurfaceProxy::write(const fileName&)"
-        )   << "Unknown file extension " << ext << nl << nl
+        FatalErrorInFunction
+            << "Unknown file extension " << ext << nl << nl
             << "Valid types are :" << endl
             << writeTypes()
             << exit(FatalError);
diff --git a/src/surfMesh/UnsortedMeshedSurface/UnsortedMeshedSurface.C b/src/surfMesh/UnsortedMeshedSurface/UnsortedMeshedSurface.C
index 445ba648ab2..16d2ad18eb3 100644
--- a/src/surfMesh/UnsortedMeshedSurface/UnsortedMeshedSurface.C
+++ b/src/surfMesh/UnsortedMeshedSurface/UnsortedMeshedSurface.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -129,11 +129,8 @@ void Foam::UnsortedMeshedSurface<Face>::write
         }
         else
         {
-            FatalErrorIn
-            (
-                "UnsortedMeshedSurface::write"
-                "(const fileName&, const UnsortedMeshedSurface&)"
-            )   << "Unknown file extension " << ext << nl << nl
+            FatalErrorInFunction
+                << "Unknown file extension " << ext << nl << nl
                 << "Valid types are :" << endl
                 << (supported | writeTypes())
                 << exit(FatalError);
diff --git a/src/surfMesh/UnsortedMeshedSurface/UnsortedMeshedSurfaceNew.C b/src/surfMesh/UnsortedMeshedSurface/UnsortedMeshedSurfaceNew.C
index 65f47f4ea51..9a2e01992db 100644
--- a/src/surfMesh/UnsortedMeshedSurface/UnsortedMeshedSurfaceNew.C
+++ b/src/surfMesh/UnsortedMeshedSurface/UnsortedMeshedSurfaceNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -60,12 +60,8 @@ Foam::UnsortedMeshedSurface<Face>::New(const fileName& name, const word& ext)
         // nothing left but to issue an error
         supported += readTypes();
 
-        FatalErrorIn
-        (
-            "UnsortedMeshedSurface<Face>::New"
-            "(const fileName&, const word&) : "
-            "constructing UnsortedMeshedSurface"
-        )   << "Unknown file extension " << ext << nl << nl
+        FatalErrorInFunction
+            << "Unknown file extension " << ext << nl << nl
             << "Valid types are:" << nl
             << supported
             << exit(FatalError);
diff --git a/src/surfMesh/surfMesh/surfMesh.C b/src/surfMesh/surfMesh/surfMesh.C
index ce3cb0958ab..6d234e8e8f0 100644
--- a/src/surfMesh/surfMesh/surfMesh.C
+++ b/src/surfMesh/surfMesh/surfMesh.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -369,10 +369,7 @@ void Foam::surfMesh::checkZones()
 
         if (count < nFaces())
         {
-            WarningIn
-            (
-                "surfMesh::checkZones()\n"
-            )
+            WarningInFunction
                 << "more faces " << nFaces() << " than zones " << count
                 << " ... extending final zone"
                 << endl;
@@ -381,10 +378,7 @@ void Foam::surfMesh::checkZones()
         }
         else if (count > size())
         {
-            FatalErrorIn
-            (
-                "surfMesh::checkZones()\n"
-            )
+            FatalErrorInFunction
                 << "more zones " << count << " than faces " << nFaces()
                 << exit(FatalError);
         }
diff --git a/src/surfMesh/surfMesh/surfMeshIO.C b/src/surfMesh/surfMesh/surfMeshIO.C
index d37ce073819..9cf516bebf1 100644
--- a/src/surfMesh/surfMesh/surfMeshIO.C
+++ b/src/surfMesh/surfMesh/surfMeshIO.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -151,8 +151,7 @@ Foam::surfMesh::readUpdateState Foam::surfMesh::readUpdate()
 
         if (zonesChanged)
         {
-            WarningIn("surfMesh::readUpdateState surfMesh::readUpdate()")
-                << "Number of zones has changed.  This may have "
+            WarningInFunction
                 << "unexpected consequences.  Proceed with care." << endl;
 
             return surfMesh::TOPO_PATCH_CHANGE;
diff --git a/src/surfMesh/surfZone/surfZone/surfZoneIOList.C b/src/surfMesh/surfZone/surfZone/surfZoneIOList.C
index 745fec325f0..6730b4c8ce4 100644
--- a/src/surfMesh/surfZone/surfZone/surfZoneIOList.C
+++ b/src/surfMesh/surfZone/surfZone/surfZoneIOList.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -85,7 +85,7 @@ Foam::surfZoneIOList::surfZoneIOList
 
             if (startFaceI != faceI)
             {
-                FatalErrorIn(functionName)
+                FatalErrorInFunction
                     << "surfZones are not ordered. Start of zone " << zoneI
                     << " does not correspond to sum of preceding zones." << nl
                     << "while reading " << io.objectPath() << endl
diff --git a/src/surfMesh/surfaceFormats/ac3d/AC3DsurfaceFormat.C b/src/surfMesh/surfaceFormats/ac3d/AC3DsurfaceFormat.C
index 151f0fd788a..f226acc91d4 100644
--- a/src/surfMesh/surfaceFormats/ac3d/AC3DsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/ac3d/AC3DsurfaceFormat.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -55,10 +55,7 @@ bool Foam::fileFormats::AC3DsurfaceFormat<Face>::read
     IFstream is(filename);
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::AC3DsurfaceFormat::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "Cannot read file " << filename
             << exit(FatalError);
     }
@@ -71,10 +68,7 @@ bool Foam::fileFormats::AC3DsurfaceFormat<Face>::read
 
     if (version != "b")
     {
-        WarningIn
-        (
-            "fileFormats::AC3DsurfaceFormat::read(const fileName&)"
-        )
+        WarningInFunction
             << "When reading AC3D file " << filename
             << " read header " << line << " with version "
             << version << endl
@@ -85,10 +79,7 @@ bool Foam::fileFormats::AC3DsurfaceFormat<Face>::read
 
     if (!cueTo(is, "OBJECT", args) || (args != "world"))
     {
-        FatalErrorIn
-        (
-            "fileFormats::AC3DsurfaceFormat::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "Cannot find \"OBJECT world\" in file " << filename
             << exit(FatalError);
     }
@@ -123,10 +114,7 @@ bool Foam::fileFormats::AC3DsurfaceFormat<Face>::read
             // zone should always end with 'kids' command ?not sure.
             if (!readCmd(is, cmd, args))
             {
-                FatalErrorIn
-                (
-                    "fileFormats::AC3DsurfaceFormat::read(const fileName&)"
-                )
+                FatalErrorInFunction
                     << "Did not read up to \"kids 0\" while reading zone "
                     << zoneI << " from file " << filename
                     << exit(FatalError);
@@ -151,11 +139,7 @@ bool Foam::fileFormats::AC3DsurfaceFormat<Face>::read
                 //     >> rotation.yx() >> rotation.yy() >> rotation.yz()
                 //     >> rotation.zx() >> rotation.zy() >> rotation.zz();
 
-                WarningIn
-                (
-                    "fileFormats::AC3DsurfaceFormat::read"
-                    "(const fileName&)"
-                )
+                WarningInFunction
                     << "rot (rotation tensor) command not implemented"
                     << "Line:" << cmd << ' ' << args << endl
                     << "while reading zone " << zoneI << endl;
@@ -245,10 +229,7 @@ bool Foam::fileFormats::AC3DsurfaceFormat<Face>::read
 
                 if (nKids != 0)
                 {
-                    FatalErrorIn
-                    (
-                        "fileFormats::AC3DsurfaceFormat::read(const fileName&)"
-                    )
+                    FatalErrorInFunction
                         << "Can only read objects without kids."
                         << " Encountered " << nKids << " kids when"
                         << " reading zone " << zoneI
@@ -293,11 +274,7 @@ void Foam::fileFormats::AC3DsurfaceFormat<Face>::write
 
     if (useFaceMap)
     {
-        FatalErrorIn
-        (
-            "fileFormats::AC3DsurfaceFormat::write"
-            "(const fileName&, const MeshedSurfaceProxy<Face>&)"
-        )
+        FatalErrorInFunction
             << "output with faceMap is not supported " << filename
             << exit(FatalError);
     }
@@ -306,11 +283,7 @@ void Foam::fileFormats::AC3DsurfaceFormat<Face>::write
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::AC3DsurfaceFormat::write"
-            "(const fileName&, const MeshedSurfaceProxy<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
@@ -395,11 +368,7 @@ void Foam::fileFormats::AC3DsurfaceFormat<Face>::write
         OFstream os(filename);
         if (!os.good())
         {
-            FatalErrorIn
-            (
-                "fileFormats::AC3DsurfaceFormat::write"
-                "(const fileName&, const MeshedSurfaceProxy<Face>&)"
-            )
+            FatalErrorInFunction
                 << "Cannot open file for writing " << filename
                 << exit(FatalError);
         }
diff --git a/src/surfMesh/surfaceFormats/ac3d/AC3DsurfaceFormatCore.C b/src/surfMesh/surfaceFormats/ac3d/AC3DsurfaceFormatCore.C
index 145d255010a..6d1a8d3fc19 100644
--- a/src/surfMesh/surfaceFormats/ac3d/AC3DsurfaceFormatCore.C
+++ b/src/surfMesh/surfaceFormats/ac3d/AC3DsurfaceFormatCore.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -97,10 +97,7 @@ Foam::string Foam::fileFormats::AC3DsurfaceFormatCore::cueToOrDie
     string args;
     if (!cueTo(is, cmd, args))
     {
-        FatalErrorIn
-        (
-            "fileFormats::AC3DsurfaceFormat::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "Cannot find command " << cmd
             << " " << errorMsg
             << exit(FatalError);
diff --git a/src/surfMesh/surfaceFormats/ftr/FTRsurfaceFormat.C b/src/surfMesh/surfaceFormats/ftr/FTRsurfaceFormat.C
index f8cec7b8564..418bcd9ce7d 100644
--- a/src/surfMesh/surfaceFormats/ftr/FTRsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/ftr/FTRsurfaceFormat.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -52,10 +52,7 @@ bool Foam::fileFormats::FTRsurfaceFormat<Face>::read
     IFstream is(filename);
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::FTRsurfaceFormat::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "Cannot read file " << filename
             << exit(FatalError);
     }
diff --git a/src/surfMesh/surfaceFormats/gts/GTSsurfaceFormat.C b/src/surfMesh/surfaceFormats/gts/GTSsurfaceFormat.C
index 7df9e62edc1..bf55ff46e26 100644
--- a/src/surfMesh/surfaceFormats/gts/GTSsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/gts/GTSsurfaceFormat.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,10 +56,7 @@ bool Foam::fileFormats::GTSsurfaceFormat<Face>::read
     IFstream is(filename);
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::GTSsurfaceFormat::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "Cannot read file " << filename
             << exit(FatalError);
     }
@@ -155,10 +152,7 @@ bool Foam::fileFormats::GTSsurfaceFormat<Face>::read
         label common01 = e0.commonVertex(e1);
         if (common01 == -1)
         {
-            FatalErrorIn
-            (
-                "fileFormats::GTSsurfaceFormat::read(const fileName&)"
-            )
+            FatalErrorInFunction
                 << "Edges 0 and 1 of triangle " << faceI
                 << " do not share a point.\n"
                 << "    edge0:" << e0 << nl
@@ -172,10 +166,7 @@ bool Foam::fileFormats::GTSsurfaceFormat<Face>::read
         label common12 = e1.commonVertex(e2);
         if (common12 == -1)
         {
-            FatalErrorIn
-            (
-                "fileFormats::GTSsurfaceFormat::read(const fileName&)"
-            )
+            FatalErrorInFunction
                 << "Edges 1 and 2 of triangle " << faceI
                 << " do not share a point.\n"
                 << "    edge1:" << e1 << nl
@@ -187,10 +178,7 @@ bool Foam::fileFormats::GTSsurfaceFormat<Face>::read
         // Does edge2 sit between edge1 and 0?
         if (common12 != e1Far || e2Far != e0Far)
         {
-            FatalErrorIn
-            (
-                "fileFormats::GTSsurfaceFormat::read(const fileName&)"
-            )
+            FatalErrorInFunction
                 << "Edges of triangle " << faceI
                 << " reference more than three points.\n"
                 << "    edge0:" << e0 << nl
@@ -253,11 +241,7 @@ void Foam::fileFormats::GTSsurfaceFormat<Face>::write
 
         if (nNonTris)
         {
-            FatalErrorIn
-            (
-                "fileFormats::GTSsurfaceFormat::write"
-                "(const fileName&, const MeshedSurface<Face>&)"
-            )
+            FatalErrorInFunction
                 << "Surface has " << nNonTris << "/" << faceLst.size()
                 << " non-triangulated faces - not writing!" << endl;
             return;
@@ -268,11 +252,7 @@ void Foam::fileFormats::GTSsurfaceFormat<Face>::write
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::GTSsurfaceFormat::write"
-            "(const fileName&, const MeshedSurface<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
@@ -363,11 +343,7 @@ void Foam::fileFormats::GTSsurfaceFormat<Face>::write
 
         if (nNonTris)
         {
-            FatalErrorIn
-            (
-                "fileFormats::GTSsurfaceFormat::write"
-                "(const fileName&, const UnsortedMeshedSurfaces<Face>&)"
-            )
+            FatalErrorInFunction
                 << "Surface has " << nNonTris << "/" << faceLst.size()
                 << " non-triangulated faces - not writing!" << endl;
             return;
@@ -378,11 +354,7 @@ void Foam::fileFormats::GTSsurfaceFormat<Face>::write
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::GTSsurfaceFormat::write"
-            "(const fileName&, const UnsortedMeshedSurface<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
diff --git a/src/surfMesh/surfaceFormats/nas/NASsurfaceFormat.C b/src/surfMesh/surfaceFormats/nas/NASsurfaceFormat.C
index d547ce50089..2a7ea0ebc79 100644
--- a/src/surfMesh/surfaceFormats/nas/NASsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/nas/NASsurfaceFormat.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -53,10 +53,7 @@ bool Foam::fileFormats::NASsurfaceFormat<Face>::read
     IFstream is(filename);
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::NASsurfaceFormat::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "Cannot read file " << filename
             << exit(FatalError);
     }
@@ -296,10 +293,7 @@ bool Foam::fileFormats::NASsurfaceFormat<Face>::read
             is.getLine(line);
             if (line[0] != '*')
             {
-                FatalErrorIn
-                (
-                    "fileFormats::NASsurfaceFormat::read(const fileName&)"
-                )
+                FatalErrorInFunction
                     << "Expected continuation symbol '*' when reading GRID*"
                     << " (double precision coordinate) format" << nl
                     << "Read:" << line << nl
diff --git a/src/surfMesh/surfaceFormats/obj/OBJsurfaceFormat.C b/src/surfMesh/surfaceFormats/obj/OBJsurfaceFormat.C
index a4306959a70..fdce18b1451 100644
--- a/src/surfMesh/surfaceFormats/obj/OBJsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/obj/OBJsurfaceFormat.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -57,10 +57,7 @@ bool Foam::fileFormats::OBJsurfaceFormat<Face>::read
     IFstream is(filename);
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::OBJsurfaceFormat::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "Cannot read file " << filename
             << exit(FatalError);
     }
@@ -234,11 +231,7 @@ void Foam::fileFormats::OBJsurfaceFormat<Face>::write
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::OBJsurfaceFormat::write"
-            "(const fileName&, const MeshedSurfaceProxy<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
diff --git a/src/surfMesh/surfaceFormats/off/OFFsurfaceFormat.C b/src/surfMesh/surfaceFormats/off/OFFsurfaceFormat.C
index 8e753fad164..8157f3ae0e5 100644
--- a/src/surfMesh/surfaceFormats/off/OFFsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/off/OFFsurfaceFormat.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,10 +56,7 @@ bool Foam::fileFormats::OFFsurfaceFormat<Face>::read
     IFstream is(filename);
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::OFFsurfaceFormat::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "Cannot read file " << filename
             << exit(FatalError);
     }
@@ -68,10 +65,7 @@ bool Foam::fileFormats::OFFsurfaceFormat<Face>::read
     string hdr = this->getLineNoComment(is);
     if (hdr != "OFF")
     {
-        FatalErrorIn
-        (
-            "fileFormats::OFFsurfaceFormat::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "OFF file " << filename << " does not start with 'OFF'"
             << exit(FatalError);
     }
@@ -162,11 +156,7 @@ void Foam::fileFormats::OFFsurfaceFormat<Face>::write
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::OFFsurfaceFormat::write"
-            "(const fileName&, const MeshedSurfaceProxy<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
diff --git a/src/surfMesh/surfaceFormats/ofs/OFSsurfaceFormat.C b/src/surfMesh/surfaceFormats/ofs/OFSsurfaceFormat.C
index 8568ca3da45..cb8646e7c2f 100644
--- a/src/surfMesh/surfaceFormats/ofs/OFSsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/ofs/OFSsurfaceFormat.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -53,10 +53,7 @@ bool Foam::fileFormats::OFSsurfaceFormat<Face>::read
     IFstream is(filename);
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::OFSsurfaceFormat::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "Cannot read file " << filename
             << exit(FatalError);
     }
@@ -103,11 +100,7 @@ bool Foam::fileFormats::OFSsurfaceFormat<Face>::read
 {
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::OFSsurfaceFormat::read"
-            "(Istream&, pointField&, List<Face>&, List<surfZone>&)"
-        )
+        FatalErrorInFunction
             << "read error "
             << exit(FatalError);
     }
@@ -155,11 +148,7 @@ bool Foam::fileFormats::OFSsurfaceFormat<Face>::read
 
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::OFSsurfaceFormat::read"
-            "(Istream&, MeshedSurface<Face>&)"
-        )
+        FatalErrorInFunction
             << "read error "
             << exit(FatalError);
     }
@@ -210,11 +199,7 @@ void Foam::fileFormats::OFSsurfaceFormat<Face>::write
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::OFSsurfaceFormat::write"
-            "(const fileName&, const MeshedSurfaceProxy<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
diff --git a/src/surfMesh/surfaceFormats/smesh/SMESHsurfaceFormat.C b/src/surfMesh/surfaceFormats/smesh/SMESHsurfaceFormat.C
index 93ad65350eb..99bb93d5030 100644
--- a/src/surfMesh/surfaceFormats/smesh/SMESHsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/smesh/SMESHsurfaceFormat.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -62,11 +62,7 @@ void Foam::fileFormats::SMESHsurfaceFormat<Face>::write
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::SMESHsurfaceFormat::write"
-            "(const fileName&, const MeshedSurfaceProxy<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
diff --git a/src/surfMesh/surfaceFormats/starcd/STARCDsurfaceFormat.C b/src/surfMesh/surfaceFormats/starcd/STARCDsurfaceFormat.C
index 31e09c8a10b..7d8bb709f41 100644
--- a/src/surfMesh/surfaceFormats/starcd/STARCDsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/starcd/STARCDsurfaceFormat.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -121,10 +121,7 @@ bool Foam::fileFormats::STARCDsurfaceFormat<Face>::read
     IFstream is(baseName + ".cel");
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::STARCDsurfaceFormat::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "Cannot read file " << is.name()
             << exit(FatalError);
     }
diff --git a/src/surfMesh/surfaceFormats/stl/STLsurfaceFormat.C b/src/surfMesh/surfaceFormats/stl/STLsurfaceFormat.C
index 4cd1e0340ba..349296e21bb 100644
--- a/src/surfMesh/surfaceFormats/stl/STLsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/stl/STLsurfaceFormat.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -197,11 +197,7 @@ void Foam::fileFormats::STLsurfaceFormat<Face>::writeAscii
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::STLsurfaceFormat::writeAscii"
-            "(const fileName&, const MeshedSurfaceProxy<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
@@ -257,11 +253,7 @@ void Foam::fileFormats::STLsurfaceFormat<Face>::writeBinary
     std::ofstream os(filename.c_str(), std::ios::binary);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::STLsurfaceFormat::writeBinary"
-            "(const fileName&, const MeshedSurfaceProxy<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
@@ -343,11 +335,7 @@ void Foam::fileFormats::STLsurfaceFormat<Face>::writeAscii
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::STLsurfaceFormat::writeAscii"
-            "(const fileName&, const UnsortedMeshedSurface<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
@@ -395,11 +383,7 @@ void Foam::fileFormats::STLsurfaceFormat<Face>::writeBinary
     std::ofstream os(filename.c_str(), std::ios::binary);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::STLsurfaceFormat::writeBinary"
-            "(const fileName&, const UnsortedMeshedSurface<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
diff --git a/src/surfMesh/surfaceFormats/stl/STLsurfaceFormatASCII.L b/src/surfMesh/surfaceFormats/stl/STLsurfaceFormatASCII.L
index 2699c9510c8..e54cca5ebfb 100644
--- a/src/surfMesh/surfaceFormats/stl/STLsurfaceFormatASCII.L
+++ b/src/surfMesh/surfaceFormats/stl/STLsurfaceFormatASCII.L
@@ -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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -39,7 +39,7 @@ using namespace Foam;
 //! \cond dummy
 int yyFlexLexer::yylex()
 {
-    FatalErrorIn("yyFlexLexer::yylex()")
+    FatalErrorInFunction
         << "Should not have called this function"
         << abort(FatalError);
     return 0;
@@ -371,10 +371,8 @@ endsolid              {space}("endsolid"|"ENDSOLID")({some_space}{word})*
 
 <stlError>.* {
         yy_pop_state();
-        FatalErrorIn
-        (
-            "fileFormats::STLsurfaceFormatCore::readASCII(const fileName&)"
-        )   << "while " << stateNames[YY_START] << " on line " << lineNo_ << nl
+        FatalErrorInFunction
+            << "while " << stateNames[YY_START] << " on line " << lineNo_ << nl
             << "    expected " << stateExpects[YY_START]
             << " but found '" << startError_.c_str() << YYText() << "'"
             << exit(FatalError);
diff --git a/src/surfMesh/surfaceFormats/stl/STLsurfaceFormatCore.C b/src/surfMesh/surfaceFormats/stl/STLsurfaceFormatCore.C
index 7fb655dc5b9..87c6a11abc0 100644
--- a/src/surfMesh/surfaceFormats/stl/STLsurfaceFormatCore.C
+++ b/src/surfMesh/surfaceFormats/stl/STLsurfaceFormatCore.C
@@ -101,10 +101,7 @@ bool Foam::fileFormats::STLsurfaceFormatCore::readBINARY
     // Check that stream is OK, if not this may be an ASCII file
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::STLsurfaceFormatCore::readBINARY(IFstream&)"
-        )
+        FatalErrorInFunction
             << "problem reading header, perhaps file is not binary "
             << exit(FatalError);
     }
@@ -127,10 +124,7 @@ bool Foam::fileFormats::STLsurfaceFormatCore::readBINARY
      || nTris > int(dataFileSize - headerSize)/25
     )
     {
-        FatalErrorIn
-        (
-            "fileFormats::STLsurfaceFormatCore::readBINARY(istream&)"
-        )
+        FatalErrorInFunction
             << "problem reading number of triangles, perhaps file is not binary"
             << exit(FatalError);
     }
diff --git a/src/surfMesh/surfaceFormats/tri/TRIsurfaceFormat.C b/src/surfMesh/surfaceFormats/tri/TRIsurfaceFormat.C
index 5263116fdbc..2335ce30354 100644
--- a/src/surfMesh/surfaceFormats/tri/TRIsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/tri/TRIsurfaceFormat.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -148,11 +148,7 @@ void Foam::fileFormats::TRIsurfaceFormat<Face>::write
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::TRIsurfaceFormat::write"
-            "(const fileName&, const MeshedSurfaceProxy<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
@@ -195,11 +191,7 @@ void Foam::fileFormats::TRIsurfaceFormat<Face>::write
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::TRIsurfaceFormat::write"
-            "(const fileName&, const UnsortedMeshedSurface<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
diff --git a/src/surfMesh/surfaceFormats/tri/TRIsurfaceFormatCore.C b/src/surfMesh/surfaceFormats/tri/TRIsurfaceFormatCore.C
index afbbb5d905c..87cc04d20ec 100644
--- a/src/surfMesh/surfaceFormats/tri/TRIsurfaceFormatCore.C
+++ b/src/surfMesh/surfaceFormats/tri/TRIsurfaceFormatCore.C
@@ -64,10 +64,7 @@ bool Foam::fileFormats::TRIsurfaceFormatCore::read
     IFstream is(filename);
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::TRIsurfaceFormatCore::read(const fileName&)"
-        )
+        FatalErrorInFunction
             << "Cannot read file " << filename
             << exit(FatalError);
     }
diff --git a/src/surfMesh/surfaceFormats/vtk/VTKsurfaceFormat.C b/src/surfMesh/surfaceFormats/vtk/VTKsurfaceFormat.C
index cc3741da12d..a252a4732b0 100644
--- a/src/surfMesh/surfaceFormats/vtk/VTKsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/vtk/VTKsurfaceFormat.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -75,10 +75,8 @@ bool Foam::fileFormats::VTKsurfaceFormat<Face>::read
     IFstream is(filename);
     if (!is.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::VTKsurfaceFormat::read(const fileName&)"
-        )   << "Cannot read file " << filename
+        FatalErrorInFunction
+            << "Cannot read file " << filename
             << exit(FatalError);
     }
 
@@ -240,11 +238,7 @@ void Foam::fileFormats::VTKsurfaceFormat<Face>::write
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::VTKsurfaceFormat::write"
-            "(const fileName&, const MeshedSurfaceProxy<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
@@ -302,11 +296,7 @@ void Foam::fileFormats::VTKsurfaceFormat<Face>::write
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::VTKsurfaceFormat::write"
-            "(const fileName&, const UnsortedMeshedSurface<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
diff --git a/src/surfMesh/surfaceFormats/wrl/WRLsurfaceFormat.C b/src/surfMesh/surfaceFormats/wrl/WRLsurfaceFormat.C
index 0cf411381de..c95a0c0e897 100644
--- a/src/surfMesh/surfaceFormats/wrl/WRLsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/wrl/WRLsurfaceFormat.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -62,11 +62,7 @@ void Foam::fileFormats::WRLsurfaceFormat<Face>::write
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::WRLsurfaceFormat::write"
-            "(const fileName&, const MeshedSurfaceProxy<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
diff --git a/src/surfMesh/surfaceFormats/x3d/X3DsurfaceFormat.C b/src/surfMesh/surfaceFormats/x3d/X3DsurfaceFormat.C
index 789f5ea6c12..c346bc1632d 100644
--- a/src/surfMesh/surfaceFormats/x3d/X3DsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/x3d/X3DsurfaceFormat.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -64,11 +64,7 @@ void Foam::fileFormats::X3DsurfaceFormat<Face>::write
     OFstream os(filename);
     if (!os.good())
     {
-        FatalErrorIn
-        (
-            "fileFormats::X3DsurfaceFormat::write"
-            "(const fileName&, const MeshedSurfaceProxy<Face>&)"
-        )
+        FatalErrorInFunction
             << "Cannot open file for writing " << filename
             << exit(FatalError);
     }
diff --git a/src/thermophysicalModels/SLGThermo/SLGThermo/SLGThermo.C b/src/thermophysicalModels/SLGThermo/SLGThermo/SLGThermo.C
index 724120d7909..53c8c6aa764 100644
--- a/src/thermophysicalModels/SLGThermo/SLGThermo/SLGThermo.C
+++ b/src/thermophysicalModels/SLGThermo/SLGThermo/SLGThermo.C
@@ -109,11 +109,8 @@ const Foam::basicSpecieMixture& Foam::SLGThermo::carrier() const
 {
     if (carrier_ == NULL)
     {
-        FatalErrorIn
-        (
-            "const Foam::basicSpecieMixture& "
-            "Foam::SLGThermo::carrier() const"
-        )   << "carrier requested, but object is not allocated"
+        FatalErrorInFunction
+            << "carrier requested, but object is not allocated"
             << abort(FatalError);
     }
 
@@ -125,11 +122,8 @@ const Foam::liquidMixtureProperties& Foam::SLGThermo::liquids() const
 {
     if (!liquids_.valid())
     {
-        FatalErrorIn
-        (
-            "const Foam::liquidMixtureProperties& "
-            "Foam::SLGThermo::liquids() const"
-        )   << "liquids requested, but object is not allocated"
+        FatalErrorInFunction
+            << "liquids requested, but object is not allocated"
             << abort(FatalError);
     }
 
@@ -141,11 +135,8 @@ const Foam::solidMixtureProperties& Foam::SLGThermo::solids() const
 {
     if (!solids_.valid())
     {
-        FatalErrorIn
-        (
-            "const Foam::solidMixtureProperties& "
-            "Foam::SLGThermo::solids() const"
-        )   << "solids requested, but object is not allocated"
+        FatalErrorInFunction
+            << "solids requested, but object is not allocated"
             << abort(FatalError);
     }
 
@@ -169,10 +160,8 @@ Foam::label Foam::SLGThermo::carrierId
 
     if (!allowNotfound)
     {
-        FatalErrorIn
-        (
-            "Foam::label Foam::SLGThermo::carrierId(const word&, bool) const"
-        )   << "Unknown carrier component " << cmptName
+        FatalErrorInFunction
+            << "Unknown carrier component " << cmptName
             << ". Valid carrier components are:" << nl
             << carrier_->species() << exit(FatalError);
     }
@@ -197,10 +186,8 @@ Foam::label Foam::SLGThermo::liquidId
 
     if (!allowNotfound)
     {
-        FatalErrorIn
-        (
-            "Foam::label Foam::SLGThermo::liquidId(const word&, bool) const"
-        )   << "Unknown liquid component " << cmptName << ". Valid liquids are:"
+        FatalErrorInFunction
+            << "Unknown liquid component " << cmptName << ". Valid liquids are:"
             << nl << liquids_->components() << exit(FatalError);
     }
 
@@ -224,10 +211,8 @@ Foam::label Foam::SLGThermo::solidId
 
     if (!allowNotfound)
     {
-        FatalErrorIn
-        (
-            "Foam::label Foam::SLGThermo::solidId(const word&, bool) const"
-        )   << "Unknown solid component " << cmptName << ". Valid solids are:"
+        FatalErrorInFunction
+            << "Unknown solid component " << cmptName << ". Valid solids are:"
             << nl << solids_->components() << exit(FatalError);
     }
 
diff --git a/src/thermophysicalModels/barotropicCompressibilityModel/barotropicCompressibilityModel/barotropicCompressibilityModelNew.C b/src/thermophysicalModels/barotropicCompressibilityModel/barotropicCompressibilityModel/barotropicCompressibilityModelNew.C
index 2ee6ee02cd0..c37b8ec0332 100644
--- a/src/thermophysicalModels/barotropicCompressibilityModel/barotropicCompressibilityModel/barotropicCompressibilityModelNew.C
+++ b/src/thermophysicalModels/barotropicCompressibilityModel/barotropicCompressibilityModel/barotropicCompressibilityModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -47,10 +47,8 @@ Foam::barotropicCompressibilityModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "barotropicCompressibilityModel::New(const volScalarField&)"
-        )   << "Unknown barotropicCompressibilityModel type "
+        FatalErrorInFunction
+            << "Unknown barotropicCompressibilityModel type "
             << modelType << nl << nl
             << "Valid barotropicCompressibilityModels are : " << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/thermophysicalModels/basic/basicThermo/basicThermo.C b/src/thermophysicalModels/basic/basicThermo/basicThermo.C
index e7264b0a1fe..b83b6f872c3 100644
--- a/src/thermophysicalModels/basic/basicThermo/basicThermo.C
+++ b/src/thermophysicalModels/basic/basicThermo/basicThermo.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -329,7 +329,7 @@ void Foam::basicThermo::validate
 {
     if (!(he().name() == phasePropertyName(a)))
     {
-        FatalErrorIn(app)
+        FatalErrorInFunction
             << "Supported energy type is " << phasePropertyName(a)
             << ", thermodynamics package provides " << he().name()
             << exit(FatalError);
@@ -351,7 +351,7 @@ void Foam::basicThermo::validate
         )
     )
     {
-        FatalErrorIn(app)
+        FatalErrorInFunction
             << "Supported energy types are " << phasePropertyName(a)
             << " and " << phasePropertyName(b)
             << ", thermodynamics package provides " << he().name()
@@ -376,7 +376,7 @@ void Foam::basicThermo::validate
         )
     )
     {
-        FatalErrorIn(app)
+        FatalErrorInFunction
             << "Supported energy types are " << phasePropertyName(a)
             << ", " << phasePropertyName(b)
             << " and " << phasePropertyName(c)
@@ -404,7 +404,7 @@ void Foam::basicThermo::validate
         )
     )
     {
-        FatalErrorIn(app)
+        FatalErrorInFunction
             << "Supported energy types are " << phasePropertyName(a)
             << ", " << phasePropertyName(b)
             << ", " << phasePropertyName(c)
diff --git a/src/thermophysicalModels/basic/basicThermo/basicThermoTemplates.C b/src/thermophysicalModels/basic/basicThermo/basicThermoTemplates.C
index 4521750996c..c9741c645b5 100644
--- a/src/thermophysicalModels/basic/basicThermo/basicThermoTemplates.C
+++ b/src/thermophysicalModels/basic/basicThermo/basicThermoTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -70,7 +70,7 @@ typename Table::iterator Foam::basicThermo::lookupThermo
         // Print error message if package not found in the table
         if (cstrIter == tablePtr->end())
         {
-            FatalErrorIn(Thermo::typeName + "::New")
+            FatalErrorInFunction
                 << "Unknown " << Thermo::typeName << " type " << nl
                 << "thermoType" << thermoTypeDict << nl << nl
                 << "Valid " << Thermo::typeName << " types are:" << nl << nl;
@@ -120,7 +120,7 @@ typename Table::iterator Foam::basicThermo::lookupThermo
 
         if (cstrIter == tablePtr->end())
         {
-            FatalErrorIn(Thermo::typeName + "::New")
+            FatalErrorInFunction
                 << "Unknown " << Thermo::typeName << " type "
                 << thermoTypeName << nl << nl
                 << "Valid " << Thermo::typeName << " types are:" << nl
diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModelTemplates.C b/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModelTemplates.C
index 7232e9f8072..51dcfd2de89 100644
--- a/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModelTemplates.C
+++ b/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModelTemplates.C
@@ -98,12 +98,9 @@ Foam::autoPtr<ChemistryModel> Foam::basicChemistryModel::New
         }
         else
         {
-             FatalIOErrorIn
-             (
-                 (ChemistryModel::typeName + "::New(const mesh&)").c_str(),
-                 thermoDict
-             )   << "thermoType is in the old format and must be upgraded"
-                 << exit(FatalIOError);
+            FatalIOErrorInFunction(thermoDict)
+                << "thermoType is in the old format and must be upgraded"
+                << exit(FatalIOError);
         }
 
         // Construct the name of the chemistry type from the components
@@ -117,7 +114,7 @@ Foam::autoPtr<ChemistryModel> Foam::basicChemistryModel::New
 
         if (cstrIter == ChemistryModel::fvMeshConstructorTablePtr_->end())
         {
-            FatalErrorIn(ChemistryModel::typeName + "::New(const mesh&)")
+            FatalErrorInFunction
                 << "Unknown " << ChemistryModel::typeName << " type " << nl
                 << "chemistryType" << chemistryTypeDict << nl << nl
                 << "Valid " << ChemistryModel ::typeName << " types are:"
@@ -173,7 +170,7 @@ Foam::autoPtr<ChemistryModel> Foam::basicChemistryModel::New
 
         if (cstrIter == ChemistryModel::fvMeshConstructorTablePtr_->end())
         {
-            FatalErrorIn(ChemistryModel::typeName + "::New(const mesh&)")
+            FatalErrorInFunction
                 << "Unknown " << ChemistryModel::typeName << " type "
                 << chemistryTypeName << nl << nl
                 << "Valid ChemistryModel types are:" << nl
diff --git a/src/thermophysicalModels/laminarFlameSpeed/RaviPetersen/RaviPetersen.C b/src/thermophysicalModels/laminarFlameSpeed/RaviPetersen/RaviPetersen.C
index cb0ffc16a74..d3f2fc1aa97 100644
--- a/src/thermophysicalModels/laminarFlameSpeed/RaviPetersen/RaviPetersen.C
+++ b/src/thermophysicalModels/laminarFlameSpeed/RaviPetersen/RaviPetersen.C
@@ -85,13 +85,8 @@ void Foam::laminarFlameSpeedModels::RaviPetersen::checkPointsMonotonicity
     {
         if (x[i] <= x[i-1])
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "laminarFlameSpeedModels::RaviPetersen::checkPointsMonotonicity"
-                "("
-                    "const word&, "
-                    "const List<scalar>&"
-                ") const",
                 coeffsDict_
             )   << "Data points for the " << name
                 << " do not increase monotonically" << endl
@@ -123,13 +118,8 @@ void Foam::laminarFlameSpeedModels::RaviPetersen::checkCoefficientArrayShape
 
     if (!ok)
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "laminarFlameSpeedModels::RaviPetersen::checkCoefficientArrayShape"
-            "("
-                "const word&, "
-                "const List<List<List<scalar> > >&"
-            ") const",
             coeffsDict_
         )   << "Inconsistent size of " << name << " coefficients array" << endl
             << exit(FatalIOError);
diff --git a/src/thermophysicalModels/laminarFlameSpeed/laminarFlameSpeed/laminarFlameSpeedNew.C b/src/thermophysicalModels/laminarFlameSpeed/laminarFlameSpeed/laminarFlameSpeedNew.C
index 1ca2faa3fca..5b31f20d104 100644
--- a/src/thermophysicalModels/laminarFlameSpeed/laminarFlameSpeed/laminarFlameSpeedNew.C
+++ b/src/thermophysicalModels/laminarFlameSpeed/laminarFlameSpeed/laminarFlameSpeedNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -55,9 +55,8 @@ Foam::autoPtr<Foam::laminarFlameSpeed> Foam::laminarFlameSpeed::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "laminarFlameSpeed::New(const psiuReactionThermo&)",
             propDict
         )   << "Unknown laminarFlameSpeed type "
             << corrType << nl << nl
diff --git a/src/thermophysicalModels/properties/liquidMixtureProperties/liquidMixtureProperties/liquidMixtureProperties.C b/src/thermophysicalModels/properties/liquidMixtureProperties/liquidMixtureProperties/liquidMixtureProperties.C
index 51350a54daf..84c202b8543 100644
--- a/src/thermophysicalModels/properties/liquidMixtureProperties/liquidMixtureProperties/liquidMixtureProperties.C
+++ b/src/thermophysicalModels/properties/liquidMixtureProperties/liquidMixtureProperties/liquidMixtureProperties.C
@@ -134,14 +134,8 @@ Foam::scalar Foam::liquidMixtureProperties::pvInvert
     }
     else if (p < pv(p, Tlo, X))
     {
-        WarningIn
-        (
-            "Foam::scalar Foam::liquidMixtureProperties::pvInvert"
-            "("
-            "    const scalar,"
-            "    const scalarField&"
-            ") const"
-        )   << "Pressure below triple point pressure: "
+        WarningInFunction
+            << "Pressure below triple point pressure: "
             << "p = " << p << " < Pt = " << pv(p, Tlo, X) <<  nl << endl;
         return -1;
     }
diff --git a/src/thermophysicalModels/properties/liquidProperties/liquidProperties/liquidProperties.C b/src/thermophysicalModels/properties/liquidProperties/liquidProperties/liquidProperties.C
index a275fb474d4..49ac4ab660b 100644
--- a/src/thermophysicalModels/properties/liquidProperties/liquidProperties/liquidProperties.C
+++ b/src/thermophysicalModels/properties/liquidProperties/liquidProperties/liquidProperties.C
@@ -136,7 +136,7 @@ Foam::autoPtr<Foam::liquidProperties> Foam::liquidProperties::New(Istream& is)
 
         if (cstrIter == ConstructorTablePtr_->end())
         {
-            FatalErrorIn("liquidProperties::New(Istream&)")
+            FatalErrorInFunction
                 << "Unknown liquidProperties type "
                 << liquidPropertiesType << nl << nl
                 << "Valid liquidProperties types are:" << nl
@@ -152,7 +152,7 @@ Foam::autoPtr<Foam::liquidProperties> Foam::liquidProperties::New(Istream& is)
     }
     else
     {
-        FatalErrorIn("liquidProperties::New(Istream&)")
+        FatalErrorInFunction
             << "liquidProperties type " << liquidPropertiesType
             << ", option " << coeffs << " given"
             << ", should be coeffs or defaultCoeffs"
@@ -185,10 +185,8 @@ Foam::autoPtr<Foam::liquidProperties> Foam::liquidProperties::New
 
         if (cstrIter == ConstructorTablePtr_->end())
         {
-            FatalErrorIn
-            (
-                "liquidProperties::New(const dictionary&)"
-            )   << "Unknown liquidProperties type "
+            FatalErrorInFunction
+                << "Unknown liquidProperties type "
                 << liquidPropertiesTypeName << nl << nl
                 << "Valid liquidProperties types are:" << nl
                 << ConstructorTablePtr_->sortedToc()
@@ -204,10 +202,8 @@ Foam::autoPtr<Foam::liquidProperties> Foam::liquidProperties::New
 
         if (cstrIter == dictionaryConstructorTablePtr_->end())
         {
-            FatalErrorIn
-            (
-                "liquidProperties::New(const dictionary&)"
-            )   << "Unknown liquidProperties type "
+            FatalErrorInFunction
+                << "Unknown liquidProperties type "
                 << liquidPropertiesTypeName << nl << nl
                 << "Valid liquidProperties types are:" << nl
                 << dictionaryConstructorTablePtr_->sortedToc()
@@ -326,10 +322,8 @@ Foam::scalar Foam::liquidProperties::pvInvert(scalar p) const
     {
         if (debug)
         {
-            WarningIn
-            (
-                "Foam::scalar Foam::liquidProperties::pvInvert(scalar) const"
-            )   << "Pressure below triple point pressure: "
+            WarningInFunction
+                << "Pressure below triple point pressure: "
                 << "p = " << p << " < Pt = " << Pt_ <<  nl << endl;
         }
         return -1;
diff --git a/src/thermophysicalModels/properties/solidProperties/C/C.C b/src/thermophysicalModels/properties/solidProperties/C/C.C
index 2baeadaa911..2f8dfa9acba 100644
--- a/src/thermophysicalModels/properties/solidProperties/C/C.C
+++ b/src/thermophysicalModels/properties/solidProperties/C/C.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,7 +44,7 @@ Foam::C::C()
 {
     if (debug)
     {
-        WarningIn("C::C()")
+        WarningInFunction
             << "Properties of graphite need to be checked!!!"
             << endl;
     }
diff --git a/src/thermophysicalModels/properties/solidProperties/CaCO3/CaCO3.C b/src/thermophysicalModels/properties/solidProperties/CaCO3/CaCO3.C
index 72516736e0d..a7dbb8bff46 100644
--- a/src/thermophysicalModels/properties/solidProperties/CaCO3/CaCO3.C
+++ b/src/thermophysicalModels/properties/solidProperties/CaCO3/CaCO3.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,7 +44,7 @@ Foam::CaCO3::CaCO3()
 {
     if (debug)
     {
-        WarningIn("CaCO3::CaCO3()")
+        WarningInFunction
             << "Properties of CaCO3 need to be checked!!!"
             << endl;
     }
diff --git a/src/thermophysicalModels/properties/solidProperties/ash/ash.C b/src/thermophysicalModels/properties/solidProperties/ash/ash.C
index 199bde39e9d..381191f89ea 100644
--- a/src/thermophysicalModels/properties/solidProperties/ash/ash.C
+++ b/src/thermophysicalModels/properties/solidProperties/ash/ash.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,7 +44,7 @@ Foam::ash::ash()
 {
     if (debug)
     {
-        WarningIn("ash::ash()")
+        WarningInFunction
             << "Properties of ash need to be checked!!!"
             << endl;
     }
diff --git a/src/thermophysicalModels/properties/solidProperties/solidProperties/solidPropertiesNew.C b/src/thermophysicalModels/properties/solidProperties/solidProperties/solidPropertiesNew.C
index ead56293d76..a913aa71d3c 100644
--- a/src/thermophysicalModels/properties/solidProperties/solidProperties/solidPropertiesNew.C
+++ b/src/thermophysicalModels/properties/solidProperties/solidProperties/solidPropertiesNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -46,7 +46,7 @@ Foam::autoPtr<Foam::solidProperties> Foam::solidProperties::New(Istream& is)
 
         if (cstrIter == ConstructorTablePtr_->end())
         {
-            FatalErrorIn("solidProperties::New(Istream&)")
+            FatalErrorInFunction
                 << "Unknown solidProperties type " << solidType << nl << nl
                 << "Valid solidProperties types are :" << endl
                 << ConstructorTablePtr_->sortedToc()
@@ -61,7 +61,7 @@ Foam::autoPtr<Foam::solidProperties> Foam::solidProperties::New(Istream& is)
     }
     else
     {
-        FatalErrorIn("solidProperties::New(Istream&)")
+        FatalErrorInFunction
             << "solidProperties type " << solidType
             << ", option " << coeffs << " given"
             << ", should be coeffs or defaultCoeffs"
@@ -93,7 +93,7 @@ Foam::autoPtr<Foam::solidProperties> Foam::solidProperties::New
 
         if (cstrIter == ConstructorTablePtr_->end())
         {
-            FatalErrorIn("solidProperties::New(const dictionary&)")
+            FatalErrorInFunction
                 << "Unknown solidProperties type " << solidType << nl << nl
                 << "Valid solidProperties types are :" << endl
                 << ConstructorTablePtr_->sortedToc()
diff --git a/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveRadiation/greyDiffusiveRadiationMixedFvPatchScalarField.C b/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveRadiation/greyDiffusiveRadiationMixedFvPatchScalarField.C
index cafab541ac9..f07c7c5a092 100644
--- a/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveRadiation/greyDiffusiveRadiationMixedFvPatchScalarField.C
+++ b/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveRadiation/greyDiffusiveRadiationMixedFvPatchScalarField.C
@@ -172,11 +172,8 @@ updateCoeffs()
 
     if (dom.nLambda() != 1)
     {
-        FatalErrorIn
-        (
-            "Foam::radiation::"
-            "greyDiffusiveRadiationMixedFvPatchScalarField::updateCoeffs"
-        )   << " a grey boundary condition is used with a non-grey "
+        FatalErrorInFunction
+            << " a grey boundary condition is used with a non-grey "
             << "absorption model" << nl << exit(FatalError);
     }
 
diff --git a/src/thermophysicalModels/radiation/derivedFvPatchFields/radiationCoupledBase/radiationCoupledBase.C b/src/thermophysicalModels/radiation/derivedFvPatchFields/radiationCoupledBase/radiationCoupledBase.C
index b1a1886130c..98fb60d6be1 100644
--- a/src/thermophysicalModels/radiation/derivedFvPatchFields/radiationCoupledBase/radiationCoupledBase.C
+++ b/src/thermophysicalModels/radiation/derivedFvPatchFields/radiationCoupledBase/radiationCoupledBase.C
@@ -101,13 +101,8 @@ Foam::radiationCoupledBase::radiationCoupledBase
         {
             if (!isA<mappedPatchBase>(patch_.patch()))
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "radiationCoupledBase::radiationCoupledBase\n"
-                    "(\n"
-                    "    const fvPatch& p,\n"
-                    "    const dictionary& dict\n"
-                    ")\n",
                     dict
                 )   << "\n    patch type '" << patch_.type()
                     << "' not type '" << mappedPatchBase::typeName << "'"
@@ -123,13 +118,8 @@ Foam::radiationCoupledBase::radiationCoupledBase
         {
             if (!dict.found("emissivity"))
             {
-                FatalIOErrorIn
+                FatalIOErrorInFunction
                 (
-                    "radiationCoupledBase::radiationCoupledBase\n"
-                    "(\n"
-                    "    const fvPatch& p,\n"
-                    "    const dictionary& dict\n"
-                    ")\n",
                     dict
                 )   << "\n    emissivity key does not exist for patch "
                     << patch_.name()
@@ -200,10 +190,8 @@ Foam::scalarField Foam::radiationCoupledBase::emissivity() const
 
         default:
         {
-            FatalErrorIn
-            (
-                "radiationCoupledBase::emissivity(const scalarField&)"
-            )   << "Unimplemented method " << method_ << endl
+            FatalErrorInFunction
+                << "Unimplemented method " << method_ << endl
                 << "Please set 'emissivity' to one of "
                 << emissivityMethodTypeNames_.toc()
                 << exit(FatalError);
diff --git a/src/thermophysicalModels/radiation/derivedFvPatchFields/wideBandDiffusiveRadiation/wideBandDiffusiveRadiationMixedFvPatchScalarField.C b/src/thermophysicalModels/radiation/derivedFvPatchFields/wideBandDiffusiveRadiation/wideBandDiffusiveRadiationMixedFvPatchScalarField.C
index 5c0d8447016..3d768a0bd89 100644
--- a/src/thermophysicalModels/radiation/derivedFvPatchFields/wideBandDiffusiveRadiation/wideBandDiffusiveRadiationMixedFvPatchScalarField.C
+++ b/src/thermophysicalModels/radiation/derivedFvPatchFields/wideBandDiffusiveRadiation/wideBandDiffusiveRadiationMixedFvPatchScalarField.C
@@ -173,11 +173,8 @@ updateCoeffs()
 
     if (dom.nLambda() == 0)
     {
-        FatalErrorIn
-        (
-            "Foam::radiation::"
-            "wideBandDiffusiveRadiationMixedFvPatchScalarField::updateCoeffs"
-        )   << " a non-grey boundary condition is used with a grey "
+        FatalErrorInFunction
+            << " a non-grey boundary condition is used with a grey "
             << "absorption model" << nl << exit(FatalError);
     }
 
diff --git a/src/thermophysicalModels/radiation/radiationModels/fvDOM/absorptionCoeffs/absorptionCoeffs.C b/src/thermophysicalModels/radiation/radiationModels/fvDOM/absorptionCoeffs/absorptionCoeffs.C
index a97cc591f7f..c3bc3ef327b 100644
--- a/src/thermophysicalModels/radiation/radiationModels/fvDOM/absorptionCoeffs/absorptionCoeffs.C
+++ b/src/thermophysicalModels/radiation/radiationModels/fvDOM/absorptionCoeffs/absorptionCoeffs.C
@@ -59,10 +59,8 @@ void Foam::radiation::absorptionCoeffs::checkT(const scalar T) const
 {
     if (T < Tlow_ || T > Thigh_)
     {
-        WarningIn
-        (
-            "absorptionCoeffs::checkT(const scalar T) const"
-        )   << "usinf absCoeff out of temperature range:" << nl
+        WarningInFunction
+            << "usinf absCoeff out of temperature range:" << nl
             << "    " << Tlow_ << " -> " << Thigh_ << ";  T = " << T
             << nl << endl;
     }
diff --git a/src/thermophysicalModels/radiation/radiationModels/fvDOM/fvDOM/fvDOM.C b/src/thermophysicalModels/radiation/radiationModels/fvDOM/fvDOM/fvDOM.C
index 9c6781cef89..61878d35e85 100644
--- a/src/thermophysicalModels/radiation/radiationModels/fvDOM/fvDOM/fvDOM.C
+++ b/src/thermophysicalModels/radiation/radiationModels/fvDOM/fvDOM/fvDOM.C
@@ -90,7 +90,7 @@ void Foam::radiation::fvDOM::initialise()
         // Currently 2D solution is limited to the x-y plane
         if (mesh_.solutionD()[vector::Z] != -1)
         {
-            FatalErrorIn("fvDOM::initialise()")
+            FatalErrorInFunction
                 << "Currently 2D solution is limited to the x-y plane"
                 << exit(FatalError);
         }
@@ -130,7 +130,7 @@ void Foam::radiation::fvDOM::initialise()
         // Currently 1D solution is limited to the x-direction
         if (mesh_.solutionD()[vector::X] != 1)
         {
-            FatalErrorIn("fvDOM::initialise()")
+            FatalErrorInFunction
                 << "Currently 1D solution is limited to the x-direction"
                 << exit(FatalError);
         }
diff --git a/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModel.C b/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModel.C
index c73602c3d3d..c8ae902c49e 100644
--- a/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModel.C
+++ b/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModel.C
@@ -263,11 +263,7 @@ Foam::radiation::radiationModel::absorptionEmission() const
 {
     if (!absorptionEmission_.valid())
     {
-        FatalErrorIn
-        (
-            "const Foam::radiation::absorptionEmissionModel&"
-            "Foam::radiation::radiationModel::absorptionEmission() const"
-        )
+        FatalErrorInFunction
             << "Requested radiation absorptionEmission model, but model is "
             << "not activate" << abort(FatalError);
     }
@@ -281,11 +277,7 @@ Foam::radiation::radiationModel::soot() const
 {
     if (!soot_.valid())
     {
-        FatalErrorIn
-        (
-            "const Foam::radiation::sootModel&"
-            "Foam::radiation::radiationModel::soot() const"
-        )
+        FatalErrorInFunction
             << "Requested radiation sootModel model, but model is "
             << "not activate" << abort(FatalError);
     }
diff --git a/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModelNew.C b/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModelNew.C
index 6a7932ab29b..1622d6093e8 100644
--- a/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModelNew.C
+++ b/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModelNew.C
@@ -62,10 +62,8 @@ Foam::radiation::radiationModel::New
 
     if (cstrIter == TConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "radiationModel::New(const volScalarField&)"
-        )   << "Unknown radiationModel type "
+        FatalErrorInFunction
+            << "Unknown radiationModel type "
             << modelType << nl << nl
             << "Valid radiationModel types are:" << nl
             << TConstructorTablePtr_->sortedToc()
@@ -92,10 +90,8 @@ Foam::radiation::radiationModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "radiationModel::New(const dictionary&, const volScalarField&)"
-        )   << "Unknown radiationModel type "
+        FatalErrorInFunction
+            << "Unknown radiationModel type "
             << modelType << nl << nl
             << "Valid radiationModel types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/thermophysicalModels/radiation/radiationModels/viewFactor/viewFactor.C b/src/thermophysicalModels/radiation/radiationModels/viewFactor/viewFactor.C
index c28faa6cda1..286218ee24e 100644
--- a/src/thermophysicalModels/radiation/radiationModels/viewFactor/viewFactor.C
+++ b/src/thermophysicalModels/radiation/radiationModels/viewFactor/viewFactor.C
@@ -80,7 +80,7 @@ void Foam::radiation::viewFactor::initialise()
 
     if (debug && Pstream::master())
     {
-        InfoIn("radiation::viewFactor::initialise()")
+        InfoInFunction
             << "Total number of clusters : " << totalNCoarseFaces_ << endl;
     }
 
@@ -178,7 +178,7 @@ void Foam::radiation::viewFactor::initialise()
 
         if (debug)
         {
-            InfoIn("radiation::viewFactor::initialise()")
+            InfoInFunction
                 << "Insert elements in the matrix..." << endl;
         }
 
@@ -200,7 +200,7 @@ void Foam::radiation::viewFactor::initialise()
         {
             if (debug)
             {
-                InfoIn("radiation::viewFactor::initialise()")
+                InfoInFunction
                     << "Smoothing the matrix..." << endl;
             }
 
@@ -581,7 +581,7 @@ void Foam::radiation::viewFactor::calculate()
 
                 if (debug)
                 {
-                    InfoIn("radiation::viewFactor::initialise()")
+                    InfoInFunction
                         << "\nDecomposing C matrix..." << endl;
                 }
 
@@ -609,7 +609,7 @@ void Foam::radiation::viewFactor::calculate()
 
             if (debug)
             {
-                InfoIn("radiation::viewFactor::initialise()")
+                InfoInFunction
                     << "\nLU Back substitute C matrix.." << endl;
             }
 
@@ -667,7 +667,7 @@ void Foam::radiation::viewFactor::calculate()
             const scalarField& magSf = mesh_.magSf().boundaryField()[patchID];
             scalar heatFlux = gSum(Qrp*magSf);
 
-            InfoIn("radiation::viewFactor::initialise()")
+            InfoInFunction
                 << "Total heat transfer rate at patch: "
                 << patchID << " "
                 << heatFlux << endl;
diff --git a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/absorptionEmissionModel/absorptionEmissionModelNew.C b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/absorptionEmissionModel/absorptionEmissionModelNew.C
index a4ed016aab6..c509e25d9e7 100644
--- a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/absorptionEmissionModel/absorptionEmissionModelNew.C
+++ b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/absorptionEmissionModel/absorptionEmissionModelNew.C
@@ -44,10 +44,8 @@ Foam::radiation::absorptionEmissionModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "absorptionEmissionModel::New(const dictionary&, const fvMesh&)"
-        )   << "Unknown absorptionEmissionModel type "
+        FatalErrorInFunction
+            << "Unknown absorptionEmissionModel type "
             << modelType << nl << nl
             << "Valid absorptionEmissionModel types are :" << nl
             << dictionaryConstructorTablePtr_->sortedToc() << exit(FatalError);
diff --git a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanAbsorptionEmission/greyMeanAbsorptionEmission.C b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanAbsorptionEmission/greyMeanAbsorptionEmission.C
index 29cbf3241f6..985935df96f 100644
--- a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanAbsorptionEmission/greyMeanAbsorptionEmission.C
+++ b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanAbsorptionEmission/greyMeanAbsorptionEmission.C
@@ -66,14 +66,8 @@ Foam::radiation::greyMeanAbsorptionEmission::greyMeanAbsorptionEmission
 {
     if (!isA<basicSpecieMixture>(thermo_))
     {
-        FatalErrorIn
-        (
-            "radiation::greyMeanAbsorptionEmission::greyMeanAbsorptionEmission"
-            "("
-                "const dictionary&, "
-                "const fvMesh&"
-            ")"
-        )   << "Model requires a multi-component thermo package"
+        FatalErrorInFunction
+            << "Model requires a multi-component thermo package"
             << abort(FatalError);
     }
 
@@ -112,11 +106,8 @@ Foam::radiation::greyMeanAbsorptionEmission::greyMeanAbsorptionEmission
 
             if (!mesh.foundObject<volScalarField>("ft"))
             {
-                FatalErrorIn
-                (
-                    "Foam::radiation::greyMeanAbsorptionEmission(const"
-                    "dictionary& dict, const fvMesh& mesh)"
-                )   << "specie ft is not present to use with "
+                FatalErrorInFunction
+                    << "specie ft is not present to use with "
                     << "lookUpTableFileName " << nl
                     << exit(FatalError);
             }
@@ -154,11 +145,8 @@ Foam::radiation::greyMeanAbsorptionEmission::greyMeanAbsorptionEmission
             }
             else
             {
-                FatalErrorIn
-                (
-                    "Foam::radiation::greyMeanAbsorptionEmission(const"
-                    "dictionary& dict, const fvMesh& mesh)"
-                )   << "specie: " << iter.key()
+                FatalErrorInFunction
+                    << "specie: " << iter.key()
                     << " is neither in look-up table: "
                     << lookUpTablePtr_().tableName()
                     << " nor is being solved" << nl
@@ -179,11 +167,8 @@ Foam::radiation::greyMeanAbsorptionEmission::greyMeanAbsorptionEmission
         }
         else
         {
-            FatalErrorIn
-            (
-                "Foam::radiation::greyMeanAbsorptionEmission(const"
-                "dictionary& dict, const fvMesh& mesh)"
-            )   << " there is not lookup table and the specie" << nl
+            FatalErrorInFunction
+                << " there is not lookup table and the specie" << nl
                 << iter.key() << nl
                 << " is not found " << nl
                 << exit(FatalError);
@@ -325,28 +310,15 @@ Foam::radiation::greyMeanAbsorptionEmission::ECont(const label bandI) const
         {
             if (debug)
             {
-                WarningIn
-                (
-                    "tmp<volScalarField>"
-                    "radiation::greyMeanAbsorptionEmission::ECont"
-                    "("
-                        "const label"
-                    ") const"
-                )
+                WarningInFunction
                     << "Incompatible dimensions for dQ field" << endl;
             }
         }
     }
     else
     {
-        WarningIn
-        (
-            "tmp<volScalarField>"
-            "radiation::greyMeanAbsorptionEmission::ECont"
-            "("
-                "const label"
-            ") const"
-        ) << "dQ field not found in mesh" << endl;
+        WarningInFunction
+          << "dQ field not found in mesh" << endl;
     }
 
     return E;
diff --git a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanSolidAbsorptionEmission/greyMeanSolidAbsorptionEmission.C b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanSolidAbsorptionEmission/greyMeanSolidAbsorptionEmission.C
index b2775f3149b..14497374c0a 100644
--- a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanSolidAbsorptionEmission/greyMeanSolidAbsorptionEmission.C
+++ b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanSolidAbsorptionEmission/greyMeanSolidAbsorptionEmission.C
@@ -98,15 +98,8 @@ greyMeanSolidAbsorptionEmission
 {
     if (!isA<basicSpecieMixture>(thermo_))
     {
-        FatalErrorIn
-        (
-            "radiation::greyMeanSolidAbsorptionEmission::"
-            "greyMeanSolidAbsorptionEmission"
-            "("
-                "const dictionary&, "
-                "const fvMesh&"
-            ")"
-        )   << "Model requires a multi-component thermo package"
+        FatalErrorInFunction
+            << "Model requires a multi-component thermo package"
             << abort(FatalError);
     }
 
@@ -123,15 +116,8 @@ greyMeanSolidAbsorptionEmission
         const word& key = iter().keyword();
         if (!mixture_.contains(key))
         {
-            WarningIn
-            (
-                "greyMeanSolidAbsorptionEmission::"
-                "greyMeanSolidAbsorptionEmission "
-                "("
-                "   const dictionary& dict,"
-                "   const fvMesh& mesh"
-                ")"
-            )   << " specie: " << key << " is not found in the solid mixture"
+            WarningInFunction
+                << " specie: " << key << " is not found in the solid mixture"
                 << nl
                 << " specie is the mixture are:" << mixture_.species() << nl
                 << nl << endl;
diff --git a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/wideBandAbsorptionEmission/wideBandAbsorptionEmission.C b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/wideBandAbsorptionEmission/wideBandAbsorptionEmission.C
index afca1f9d539..7147a96065a 100644
--- a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/wideBandAbsorptionEmission/wideBandAbsorptionEmission.C
+++ b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/wideBandAbsorptionEmission/wideBandAbsorptionEmission.C
@@ -94,11 +94,8 @@ Foam::radiation::wideBandAbsorptionEmission::wideBandAbsorptionEmission
             {
                 if (!speciesNames_.found(key))
                 {
-                    FatalErrorIn
-                    (
-                        "Foam::radiation::wideBandAbsorptionEmission(const"
-                        "dictionary& dict, const fvMesh& mesh)"
-                    )   << "specie: " << key << "is not in all the bands"
+                    FatalErrorInFunction
+                        << "specie: " << key << "is not in all the bands"
                         << nl << exit(FatalError);
                 }
             }
@@ -135,11 +132,8 @@ Foam::radiation::wideBandAbsorptionEmission::wideBandAbsorptionEmission
         }
         else
         {
-            FatalErrorIn
-            (
-                "radiation::wideBandAbsorptionEmission(const"
-                "dictionary& dict, const fvMesh& mesh)"
-            )   << "specie: " << iter.key()
+            FatalErrorInFunction
+                << "specie: " << iter.key()
                 << " is neither in look-up table : "
                 << lookUpTable_.tableName() << " nor is being solved"
                 << exit(FatalError);
@@ -278,14 +272,7 @@ Foam::radiation::wideBandAbsorptionEmission::ECont(const label bandI) const
         }
         else
         {
-            WarningIn
-            (
-                "tmp<volScalarField>"
-                "radiation::wideBandAbsorptionEmission::ECont"
-                "("
-                    "const label"
-                ") const"
-            )
+            WarningInFunction
                 << "Incompatible dimensions for dQ field" << endl;
         }
     }
diff --git a/src/thermophysicalModels/radiation/submodels/scatterModel/scatterModel/scatterModelNew.C b/src/thermophysicalModels/radiation/submodels/scatterModel/scatterModel/scatterModelNew.C
index d2f76834f1c..9f6951323c9 100644
--- a/src/thermophysicalModels/radiation/submodels/scatterModel/scatterModel/scatterModelNew.C
+++ b/src/thermophysicalModels/radiation/submodels/scatterModel/scatterModel/scatterModelNew.C
@@ -43,10 +43,8 @@ Foam::autoPtr<Foam::radiation::scatterModel> Foam::radiation::scatterModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "scatterModel::New(const dictionary&, const fvMesh&)"
-        )   << "Unknown scatterModel type "
+        FatalErrorInFunction
+            << "Unknown scatterModel type "
             << modelType << nl << nl
             << "Valid scatterModel types are :" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/thermophysicalModels/radiation/submodels/sootModel/mixtureFractionSoot/mixtureFractionSoot.C b/src/thermophysicalModels/radiation/submodels/sootModel/mixtureFractionSoot/mixtureFractionSoot.C
index 9df8ce99d14..444fd6c6495 100644
--- a/src/thermophysicalModels/radiation/submodels/sootModel/mixtureFractionSoot/mixtureFractionSoot.C
+++ b/src/thermophysicalModels/radiation/submodels/sootModel/mixtureFractionSoot/mixtureFractionSoot.C
@@ -45,15 +45,7 @@ Foam::radiation::mixtureFractionSoot<ThermoType>::checkThermo
     }
     else
     {
-        FatalErrorIn
-        (
-            "template<class ThermoType> "
-            "Foam::radiation::mixtureFractionSoot "
-            "("
-                "const dictionary&, "
-                "const fvMesh&"
-            ")"
-        )
+        FatalErrorInFunction
             << "Inconsistent thermo package for " << thermo.type()
             << "Please select a thermo package based on "
             << "singleStepReactingMixture" << exit(FatalError);
diff --git a/src/thermophysicalModels/radiation/submodels/sootModel/sootModel/sootModelNew.C b/src/thermophysicalModels/radiation/submodels/sootModel/sootModel/sootModelNew.C
index 5b760195938..c7807b42411 100644
--- a/src/thermophysicalModels/radiation/submodels/sootModel/sootModel/sootModelNew.C
+++ b/src/thermophysicalModels/radiation/submodels/sootModel/sootModel/sootModelNew.C
@@ -49,10 +49,8 @@ Foam::radiation::sootModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "sootModel::New(const dictionary&, const fvMesh&)"
-        )   << "Unknown sootModel type "
+        FatalErrorInFunction
+            << "Unknown sootModel type "
             << modelType << nl << nl
             << "Valid sootModel types are :" << nl
             << dictionaryConstructorTablePtr_->sortedToc() << exit(FatalError);
diff --git a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemistryReader/chemistryReader.C b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemistryReader/chemistryReader.C
index 75a21a16903..54ac871cf8b 100644
--- a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemistryReader/chemistryReader.C
+++ b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemistryReader/chemistryReader.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -49,10 +49,8 @@ Foam::chemistryReader<ThermoType>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "chemistryReader::New(const dictionary&, speciesTable&)"
-        )   << "Unknown chemistryReader type "
+        FatalErrorInFunction
+            << "Unknown chemistryReader type "
             << chemistryReaderTypeName << nl << nl
             << "Valid chemistryReader types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinLexer.L b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinLexer.L
index 98a7bbd29c8..a081d6fc141 100644
--- a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinLexer.L
+++ b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinLexer.L
@@ -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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -41,7 +41,7 @@ int Foam::chemkinReader::yyBufSize = YY_BUF_SIZE;
 //! \cond dummy
 int yyFlexLexer::yylex()
 {
-    FatalErrorIn("yyFlexLexer::yylex()")
+    FatalErrorInFunction
         << "should not have called this function"
         << abort(Foam::FatalError);
 
@@ -357,7 +357,7 @@ bool finishReaction = false;
         }
         else
         {
-            WarningIn("chemkinReader::lex()")
+            WarningInFunction
                 << "element " << currentElementName
                 << " already in table." << endl;
         }
@@ -412,7 +412,7 @@ bool finishReaction = false;
             }
             else
             {
-                WarningIn("chemkinReader::lex()")
+                WarningInFunction
                     << "specie " << specieName
                     << " already in table." << endl;
             }
@@ -719,7 +719,7 @@ bool finishReaction = false;
                 {
                     if (rrType != Arrhenius && rrType != thirdBodyArrhenius)
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "Attempt to set reaction rate type to"
                                " thirdBodyArrhenius when it is already set to "
                             << reactionRateTypeNames[rrType]
@@ -729,7 +729,7 @@ bool finishReaction = false;
 
                     if (pDependentSpecieName.size())
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "A non-pressure dependent third-body appears in"
                                " the pressure dependent reaction on line "
                             << lineNo_
@@ -753,7 +753,7 @@ bool finishReaction = false;
 
                 case plasmaMomentumTransfer:
                 {
-                    FatalErrorIn("chemkinReader::lex()")
+                    FatalErrorInFunction
                         << "Plasma momentum-transfer in reaction on line "
                         << lineNo_ << "not yet supported"
                         << exit(FatalError);
@@ -764,7 +764,7 @@ bool finishReaction = false;
 
                 case collisionCrossSection:
                 {
-                    FatalErrorIn("chemkinReader::lex()")
+                    FatalErrorInFunction
                         << "Collision cross-section in reaction on line "
                         << lineNo_ << "not yet supported"
                         << exit(FatalError);
@@ -800,7 +800,7 @@ bool finishReaction = false;
 
                 default:
                 {
-                    FatalErrorIn("chemkinReader::lex()")
+                    FatalErrorInFunction
                         << "keyword " << keyword
                         << " should be followed by parameters"
                         << " on line " << lineNo_
@@ -871,7 +871,7 @@ bool finishReaction = false;
                 {
                     if (!pDependentSpecieName.size())
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "LOW keyword given for a unimolecular fall-off"
                                " reaction which does not contain a pressure"
                                " dependent specie" << " on line " << lineNo_
@@ -884,7 +884,7 @@ bool finishReaction = false;
                     }
                     else
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "Attempt to set reaction rate type to"
                                " unimolecularFallOff when it is already set to "
                             << reactionRateTypeNames[rrType]
@@ -906,7 +906,7 @@ bool finishReaction = false;
                 {
                     if (!pDependentSpecieName.size())
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "HIGH keyword given for a chemically"
                                " activated bimolecular reaction which does not"
                                " contain a pressure dependent specie"
@@ -920,7 +920,7 @@ bool finishReaction = false;
                     }
                     else
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "Attempt to set reaction rate type to"
                                " chemicallyActivatedBimolecular when it is"
                                " already set to "
@@ -943,7 +943,7 @@ bool finishReaction = false;
                 {
                     if (!pDependentSpecieName.size())
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "TROE keyword given for a"
                                " reaction which does not contain a pressure"
                                " dependent specie" << " on line " << lineNo_
@@ -960,7 +960,7 @@ bool finishReaction = false;
                     }
                     else
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "Attempt to set fall-off function type to Troe"
                                " when it is already set to "
                             << fallOffFunctionNames[fofType]
@@ -977,7 +977,7 @@ bool finishReaction = false;
                 {
                     if (!pDependentSpecieName.size())
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "SRI keyword given for a"
                                " reaction which does not contain a pressure"
                                " dependent specie" << " on line " << lineNo_
@@ -994,7 +994,7 @@ bool finishReaction = false;
                     }
                     else
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "Attempt to set fall-off function type to SRI"
                                " when it is already set to "
                             << fallOffFunctionNames[fofType]
@@ -1011,7 +1011,7 @@ bool finishReaction = false;
                 {
                     if (pDependentSpecieName.size())
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "Landau-Teller reaction rate cannot be used"
                                " for the pressure-dependent reaction on line "
                             << lineNo_
@@ -1024,7 +1024,7 @@ bool finishReaction = false;
                     }
                     else
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "Attempt to set reaction rate type to"
                                " LandauTeller when it is already set to "
                             << reactionRateTypeNames[rrType]
@@ -1042,7 +1042,7 @@ bool finishReaction = false;
                 {
                     if (pDependentSpecieName.size())
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "Non-equilibrium Landau-Teller reaction rate"
                                " cannot be used"
                                " for the pressure-dependent reaction on line "
@@ -1052,7 +1052,7 @@ bool finishReaction = false;
 
                     if (rType != nonEquilibriumReversible)
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "Reverse reaction Arrhenius coefficients not"
                                " given for reverse LandauTeller reaction."
                                " Please reorder 'REV' keyword to preceed 'RLT'"
@@ -1076,7 +1076,7 @@ bool finishReaction = false;
                     }
                     else
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "Attempt to set reaction rate type to"
                                " Janev when it is already set to "
                             << reactionRateTypeNames[rrType]
@@ -1097,7 +1097,7 @@ bool finishReaction = false;
                     }
                     else
                     {
-                        FatalErrorIn("chemkinReader::lex()")
+                        FatalErrorInFunction
                             << "Attempt to set reaction rate type to"
                                " powerSeries when it is already set to "
                             << reactionRateTypeNames[rrType]
@@ -1112,7 +1112,7 @@ bool finishReaction = false;
 
                 case radiationActivatedReactionType:
                 {
-                    FatalErrorIn("chemkinReader::lex()")
+                    FatalErrorInFunction
                         << "Radiation activated reaction on line "
                         << lineNo_ << "not yet supported"
                         << exit(FatalError);
@@ -1123,7 +1123,7 @@ bool finishReaction = false;
 
                 case energyLossReactionType:
                 {
-                    FatalErrorIn("chemkinReader::lex()")
+                    FatalErrorInFunction
                         << "Energy loss in reaction on line "
                         << lineNo_ << "not yet supported"
                         << exit(FatalError);
@@ -1162,7 +1162,7 @@ bool finishReaction = false;
 
                 default:
                 {
-                    FatalErrorIn("chemkinReader::lex()")
+                    FatalErrorInFunction
                         << "unknown reaction keyword " << keyword
                         << " on line " << lineNo_
                         << exit(FatalError);
@@ -1182,7 +1182,7 @@ bool finishReaction = false;
             }
             else
             {
-                FatalErrorIn("chemkinReader::lex()")
+                FatalErrorInFunction
                     << "unknown third-body specie " << keyword
                     << " on line " << lineNo_ << nl
                     << "Valid species are : " << nl
@@ -1234,7 +1234,7 @@ bool finishReaction = false;
         }
         else
         {
-            FatalErrorIn("chemkinReader::lex()")
+            FatalErrorInFunction
                 << "unknown specie " << currentSpecieName
                 << " on line " << lineNo_ << nl
                 << "Valid species are : " << nl
@@ -1289,7 +1289,7 @@ bool finishReaction = false;
         {
             if (!lhsThirdBodyCounter || !rhsThirdBodyCounter)
             {
-                FatalErrorIn("chemkinReader::lex()")
+                FatalErrorInFunction
                     << "Third body not present on both sides of reaction"
                        " on line " << lineNo_
                 << exit(FatalError);
@@ -1297,7 +1297,7 @@ bool finishReaction = false;
 
             if (lhsThirdBodyCounter != 1)
             {
-                FatalErrorIn("chemkinReader::lex()")
+                FatalErrorInFunction
                     << "More than 1 third body present on l.h.s. side"
                        " of reaction on line " << lineNo_
                     << exit(FatalError);
@@ -1305,7 +1305,7 @@ bool finishReaction = false;
 
             if (rhsThirdBodyCounter != 1)
             {
-                FatalErrorIn("chemkinReader::lex()")
+                FatalErrorInFunction
                     << "More than 1 third body present on r.h.s. side"
                        " of reaction on line " << lineNo_
                     << exit(FatalError);
@@ -1338,7 +1338,7 @@ bool finishReaction = false;
 
         if (rrType == thirdBodyArrhenius)
         {
-            FatalErrorIn("chemkinReader::lex()")
+            FatalErrorInFunction
                 << "The pressure-dependent third-body '"
                 << pDependentSpecieName
                 << "' is given in non-pressure-dependent third-body reaction"
@@ -1354,7 +1354,7 @@ bool finishReaction = false;
         {
             if (pDependentSpecieName != rhsPDependentSpecieName)
             {
-                FatalErrorIn("chemkinReader::lex()")
+                FatalErrorInFunction
                     << "The third-body reactant '"
                     << pDependentSpecieName
                     << "' is not the same as the third-body product '"
@@ -1380,7 +1380,7 @@ bool finishReaction = false;
             }
             else
             {
-                FatalErrorIn("chemkinReader::lex()")
+                FatalErrorInFunction
                     << "unknown third-body specie " << pDependentSpecieName
                     << " on line " << lineNo_ << nl
                     << "Valid species are : " << nl
@@ -1404,7 +1404,7 @@ bool finishReaction = false;
 
 <readTdepSpecie>{specieName} {
         word specieName(foamName(foamSpecieString(YYText())));
-        FatalErrorIn("chemkinReader::lex()")
+        FatalErrorInFunction
             << "Temperature-dependent reaction on line "
             << lineNo_ << "not yet supported"
             << exit(FatalError);
@@ -1426,7 +1426,7 @@ bool finishReaction = false;
         }
         else
         {
-            FatalErrorIn("chemkinReader::lex()")
+            FatalErrorInFunction
                 << "unknown specie " << currentSpecieName
                 << " given in reaction-order specification"
                 << " on line " << lineNo_ << nl
@@ -1463,7 +1463,7 @@ bool finishReaction = false;
                 side = "r.h.s.";
             }
 
-            FatalErrorIn("chemkinReader::lex()")
+            FatalErrorInFunction
                 << "Specie " << currentSpecieName
                 << " on line " << lineNo_
                 << " not present in " << side << " of reaction " << nl << lrhs
@@ -1514,7 +1514,7 @@ bool finishReaction = false;
 
 <CHEMKINError>.* {
         yy_pop_state();
-        FatalErrorIn("chemkinReader::lex()")
+        FatalErrorInFunction
             << "while " << stateNames[YY_START] << " on line " << lineNo_ << nl
             << "    expected " << stateExpects[YY_START]
             << " but found '" << startError << YYText() << "'"
diff --git a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C
index 23342419402..06e6b6ea92d 100644
--- a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C
+++ b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C
@@ -132,7 +132,7 @@ Foam::scalar Foam::chemkinReader::molecularWeight
         }
         else
         {
-            FatalErrorIn("chemkinReader::lex()")
+            FatalErrorInFunction
                 << "Unknown element " << elementName
                 << " on line " << lineNo_-1 << nl
                 << "    specieComposition: " << specieComposition
@@ -153,7 +153,7 @@ void Foam::chemkinReader::checkCoeffs
 {
     if (reactionCoeffs.size() != nCoeffs)
     {
-        FatalErrorIn("chemkinReader::checkCoeffs")
+        FatalErrorInFunction
             << "Wrong number of coefficients for the " << reactionRateName
             << " rate expression on line "
             << lineNo_-1 << ", should be "
@@ -219,7 +219,7 @@ void Foam::chemkinReader::addReactionType
 
             if (rType < 3)
             {
-                FatalErrorIn("chemkinReader::addReactionType")
+                FatalErrorInFunction
                     << "Reaction type " << reactionTypeNames[rType]
                     << " on line " << lineNo_-1
                     << " not handled by this function"
@@ -227,7 +227,7 @@ void Foam::chemkinReader::addReactionType
             }
             else
             {
-                FatalErrorIn("chemkinReader::addReactionType")
+                FatalErrorInFunction
                     << "Unknown reaction type " << rType
                     << " on line " << lineNo_-1
                     << exit(FatalError);
@@ -292,7 +292,7 @@ void Foam::chemkinReader::addPressureDependentReaction
 
             if (TroeCoeffs.size() != 4 && TroeCoeffs.size() != 3)
             {
-                FatalErrorIn("chemkinReader::addPressureDependentReaction")
+                FatalErrorInFunction
                     << "Wrong number of coefficients for Troe rate expression"
                        " on line " << lineNo_-1 << ", should be 3 or 4 but "
                     << TroeCoeffs.size() << " supplied." << nl
@@ -347,7 +347,7 @@ void Foam::chemkinReader::addPressureDependentReaction
 
             if (SRICoeffs.size() != 5 && SRICoeffs.size() != 3)
             {
-                FatalErrorIn("chemkinReader::addPressureDependentReaction")
+                FatalErrorInFunction
                     << "Wrong number of coefficients for SRI rate expression"
                        " on line " << lineNo_-1 << ", should be 3 or 5 but "
                     << SRICoeffs.size() << " supplied." << nl
@@ -397,7 +397,7 @@ void Foam::chemkinReader::addPressureDependentReaction
         }
         default:
         {
-            FatalErrorIn("chemkinReader::addPressureDependentReaction")
+            FatalErrorInFunction
                 << "Fall-off function type "
                 << fallOffFunctionNames[fofType]
                 << " on line " << lineNo_-1
@@ -734,7 +734,7 @@ void Foam::chemkinReader::addReaction
         }
         case unknownReactionRateType:
         {
-            FatalErrorIn("chemkinReader::addReaction")
+            FatalErrorInFunction
                 << "Internal error on line " << lineNo_-1
                 << ": reaction rate type has not been set"
                 << exit(FatalError);
@@ -742,7 +742,7 @@ void Foam::chemkinReader::addReaction
         }
         default:
         {
-            FatalErrorIn("chemkinReader::addReaction")
+            FatalErrorInFunction
                 << "Reaction rate type " << reactionRateTypeNames[rrType]
                 << " on line " << lineNo_-1
                 << " not implemented"
@@ -755,7 +755,7 @@ void Foam::chemkinReader::addReaction
     {
         if (mag(nAtoms[i]) > imbalanceTol_)
         {
-            FatalErrorIn("chemkinReader::addReaction")
+            FatalErrorInFunction
                 << "Elemental imbalance of " << mag(nAtoms[i])
                 << " in " << elementNames_[i]
                 << " in reaction" << nl
@@ -783,11 +783,8 @@ void Foam::chemkinReader::read
 
         if (!thermoStream)
         {
-            FatalErrorIn
-            (
-                "chemkin::chemkin(const fileName& CHEMKINFileName, "
-                "const fileName& thermoFileName)"
-            )   << "file " << thermoFileName << " not found"
+            FatalErrorInFunction
+                << "file " << thermoFileName << " not found"
                 << exit(FatalError);
         }
 
@@ -806,11 +803,8 @@ void Foam::chemkinReader::read
 
     if (!CHEMKINStream)
     {
-        FatalErrorIn
-        (
-            "chemkin::chemkin(const fileName& CHEMKINFileName, "
-            "const fileName& thermoFileName)"
-        )   << "file " << CHEMKINFileName << " not found"
+        FatalErrorInFunction
+            << "file " << CHEMKINFileName << " not found"
             << exit(FatalError);
     }
 
diff --git a/src/thermophysicalModels/reactionThermo/mixtures/egrMixture/egrMixture.C b/src/thermophysicalModels/reactionThermo/mixtures/egrMixture/egrMixture.C
index 1b19ccdd32f..7c52bea5d04 100644
--- a/src/thermophysicalModels/reactionThermo/mixtures/egrMixture/egrMixture.C
+++ b/src/thermophysicalModels/reactionThermo/mixtures/egrMixture/egrMixture.C
@@ -129,13 +129,8 @@ const ThermoType& Foam::egrMixture<ThermoType>::getLocalThermo
     }
     else
     {
-        FatalErrorIn
-        (
-            "const ThermoType& Foam::egrMixture<ThermoType>::getLocalThermo"
-            "("
-                "const label "
-            ") const"
-        )   << "Unknown specie index " << speciei << ". Valid indices are 0..2"
+        FatalErrorInFunction
+            << "Unknown specie index " << speciei << ". Valid indices are 0..2"
             << abort(FatalError);
 
         return fuel_;
diff --git a/src/thermophysicalModels/reactionThermo/mixtures/homogeneousMixture/homogeneousMixture.C b/src/thermophysicalModels/reactionThermo/mixtures/homogeneousMixture/homogeneousMixture.C
index 7a659907828..7bf2f11abda 100644
--- a/src/thermophysicalModels/reactionThermo/mixtures/homogeneousMixture/homogeneousMixture.C
+++ b/src/thermophysicalModels/reactionThermo/mixtures/homogeneousMixture/homogeneousMixture.C
@@ -107,14 +107,8 @@ const ThermoType& Foam::homogeneousMixture<ThermoType>::getLocalThermo
     }
     else
     {
-        FatalErrorIn
-        (
-            "const ThermoType& Foam::homogeneousMixture<ThermoType>::"
-            "getLocalThermo"
-            "("
-                "const label "
-            ") const"
-        )   << "Unknown specie index " << speciei << ". Valid indices are 0..1"
+        FatalErrorInFunction
+            << "Unknown specie index " << speciei << ". Valid indices are 0..1"
             << abort(FatalError);
 
         return reactants_;
diff --git a/src/thermophysicalModels/reactionThermo/mixtures/inhomogeneousMixture/inhomogeneousMixture.C b/src/thermophysicalModels/reactionThermo/mixtures/inhomogeneousMixture/inhomogeneousMixture.C
index 3c51b1f225c..15220cab18d 100644
--- a/src/thermophysicalModels/reactionThermo/mixtures/inhomogeneousMixture/inhomogeneousMixture.C
+++ b/src/thermophysicalModels/reactionThermo/mixtures/inhomogeneousMixture/inhomogeneousMixture.C
@@ -126,14 +126,8 @@ const ThermoType& Foam::inhomogeneousMixture<ThermoType>::getLocalThermo
     }
     else
     {
-        FatalErrorIn
-        (
-            "const ThermoType& Foam::inhomogeneousMixture<ThermoType>::"
-            "getLocalThermo"
-            "("
-                "const label "
-            ") const"
-        )   << "Unknown specie index " << speciei << ". Valid indices are 0..2"
+        FatalErrorInFunction
+            << "Unknown specie index " << speciei << ". Valid indices are 0..2"
             << abort(FatalError);
 
         return fuel_;
diff --git a/src/thermophysicalModels/reactionThermo/mixtures/multiComponentMixture/multiComponentMixture.C b/src/thermophysicalModels/reactionThermo/mixtures/multiComponentMixture/multiComponentMixture.C
index 02a651ef209..ba651a2b515 100644
--- a/src/thermophysicalModels/reactionThermo/mixtures/multiComponentMixture/multiComponentMixture.C
+++ b/src/thermophysicalModels/reactionThermo/mixtures/multiComponentMixture/multiComponentMixture.C
@@ -59,11 +59,7 @@ void Foam::multiComponentMixture<ThermoType>::correctMassFractions()
 
     if (mag(max(Yt).value()) < ROOTVSMALL)
     {
-        FatalErrorIn
-        (
-            "void Foam::multiComponentMixture<ThermoType>::"
-            "correctMassFractions()"
-        )
+        FatalErrorInFunction
             << "Sum of mass fractions is zero for species " << this->species()
             << exit(FatalError);
     }
diff --git a/src/thermophysicalModels/reactionThermo/mixtures/singleStepReactingMixture/singleStepReactingMixture.C b/src/thermophysicalModels/reactionThermo/mixtures/singleStepReactingMixture/singleStepReactingMixture.C
index f4449d9afd0..f090b17b5ef 100644
--- a/src/thermophysicalModels/reactionThermo/mixtures/singleStepReactingMixture/singleStepReactingMixture.C
+++ b/src/thermophysicalModels/reactionThermo/mixtures/singleStepReactingMixture/singleStepReactingMixture.C
@@ -241,14 +241,8 @@ Foam::singleStepReactingMixture<ThermoType>::singleStepReactingMixture
     }
     else
     {
-        FatalErrorIn
-        (
-            "singleStepReactingMixture::<ThermoType>::singleStepReactingMixture"
-            "("
-                "const dictionary&, "
-                "const fvMesh&"
-            ")"
-        )   << "Only one reaction required for single step reaction"
+        FatalErrorInFunction
+            << "Only one reaction required for single step reaction"
             << exit(FatalError);
     }
 }
diff --git a/src/thermophysicalModels/reactionThermo/mixtures/veryInhomogeneousMixture/veryInhomogeneousMixture.C b/src/thermophysicalModels/reactionThermo/mixtures/veryInhomogeneousMixture/veryInhomogeneousMixture.C
index afbb79e43f1..663b79ce682 100644
--- a/src/thermophysicalModels/reactionThermo/mixtures/veryInhomogeneousMixture/veryInhomogeneousMixture.C
+++ b/src/thermophysicalModels/reactionThermo/mixtures/veryInhomogeneousMixture/veryInhomogeneousMixture.C
@@ -128,14 +128,8 @@ const ThermoType& Foam::veryInhomogeneousMixture<ThermoType>::getLocalThermo
     }
     else
     {
-        FatalErrorIn
-        (
-            "const ThermoType& Foam::veryInhomogeneousMixture<ThermoType>::"
-            "getLocalThermo"
-            "("
-                "const label "
-            ") const"
-        )   << "Unknown specie index " << speciei << ". Valid indices are 0..2"
+        FatalErrorInFunction
+            << "Unknown specie index " << speciei << ". Valid indices are 0..2"
             << abort(FatalError);
 
         return fuel_;
diff --git a/src/thermophysicalModels/solidChemistryModel/basicSolidChemistryModel/basicSolidChemistryModelNew.C b/src/thermophysicalModels/solidChemistryModel/basicSolidChemistryModel/basicSolidChemistryModelNew.C
index 19f585e026d..12a5d39fa37 100644
--- a/src/thermophysicalModels/solidChemistryModel/basicSolidChemistryModel/basicSolidChemistryModelNew.C
+++ b/src/thermophysicalModels/solidChemistryModel/basicSolidChemistryModel/basicSolidChemistryModelNew.C
@@ -121,7 +121,7 @@ New
 
     if (cstrIter == fvMeshConstructorTablePtr_->end())
     {
-        FatalErrorIn(typeName + "::New(const mesh&)")
+        FatalErrorInFunction
             << "Unknown " << typeName << " type " << nl
             << "chemistryType" << chemistryTypeDict << nl << nl
             << "Valid " << typeName << " types are:"
diff --git a/src/thermophysicalModels/specie/reaction/Reactions/Reaction/Reaction.C b/src/thermophysicalModels/specie/reaction/Reactions/Reaction/Reaction.C
index 2b95b7bcd85..2de276bf3cd 100644
--- a/src/thermophysicalModels/specie/reaction/Reactions/Reaction/Reaction.C
+++ b/src/thermophysicalModels/specie/reaction/Reactions/Reaction/Reaction.C
@@ -222,7 +222,7 @@ Foam::Reaction<ReactionThermo>::specieCoeffs::specieCoeffs
     }
     else
     {
-        FatalIOErrorIn("Reaction<ReactionThermo>::lrhs(Istream& is)", is)
+        FatalIOErrorInFunction(is)
             << "Expected a word but found " << t.info()
             << exit(FatalIOError);
     }
@@ -306,7 +306,7 @@ void Foam::Reaction<ReactionThermo>::setLRhs
         }
     }
 
-    FatalIOErrorIn("Reaction<ReactionThermo>::setLRhs(Istream& is)", is)
+    FatalIOErrorInFunction(is)
         << "Cannot continue reading reaction data from stream"
         << exit(FatalIOError);
 }
@@ -365,10 +365,8 @@ Foam::Reaction<ReactionThermo>::New
 {
     if (is.eof())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "Reaction<ReactionThermo>::New(const speciesTable&, "
-            " const HashPtrTable<ReactionThermo>&, Istream&)",
             is
         )   << "Reaction type not specified" << nl << nl
             << "Valid Reaction types are :" << nl
@@ -383,10 +381,8 @@ Foam::Reaction<ReactionThermo>::New
 
     if (cstrIter == IstreamConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "Reaction<ReactionThermo>::New(const speciesTable&, "
-            " const HashPtrTable<ReactionThermo>&, Istream&)",
             is
         )   << "Unknown reaction type "
             << reactionTypeName << nl << nl
@@ -418,15 +414,8 @@ Foam::Reaction<ReactionThermo>::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "Reaction<ReactionThermo>::New"
-            "("
-                "const speciesTable&, "
-                "const HashPtrTable<ReactionThermo>&, "
-                "const dictionary&"
-            ")"
-        )   << "Unknown reaction type "
+        FatalErrorInFunction
+            << "Unknown reaction type "
             << reactionTypeName << nl << nl
             << "Valid reaction types are :" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/thermophysicalModels/specie/reaction/reactionRate/thirdBodyEfficiencies/thirdBodyEfficienciesI.H b/src/thermophysicalModels/specie/reaction/reactionRate/thirdBodyEfficiencies/thirdBodyEfficienciesI.H
index a2942277d72..66a9ab3655c 100644
--- a/src/thermophysicalModels/specie/reaction/reactionRate/thirdBodyEfficiencies/thirdBodyEfficienciesI.H
+++ b/src/thermophysicalModels/specie/reaction/reactionRate/thirdBodyEfficiencies/thirdBodyEfficienciesI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -38,11 +38,8 @@ inline Foam::thirdBodyEfficiencies::thirdBodyEfficiencies
 {
     if (size() != species_.size())
     {
-        FatalErrorIn
-        (
-            "thirdBodyEfficiencies::thirdBodyEfficiencies"
-            "(const speciesTable& species, const scalarList& efficiencies)"
-        )   << "number of efficiencies = " << size()
+        FatalErrorInFunction
+            << "number of efficiencies = " << size()
             << " is not equal to the number of species " << species_.size()
             << exit(FatalError);
     }
@@ -76,10 +73,8 @@ inline Foam::thirdBodyEfficiencies::thirdBodyEfficiencies
         }
         else
         {
-            FatalIOErrorIn
+            FatalIOErrorInFunction
             (
-                "thirdBodyEfficiencies::thirdBodyEfficiencies"
-                "(const speciesTable& species, Istream& is)",
                 is
             )   << "expected <word>, found " << t.info()
                 << exit(FatalIOError);
@@ -88,10 +83,8 @@ inline Foam::thirdBodyEfficiencies::thirdBodyEfficiencies
 
     if (t.pToken() != token::END_LIST)
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "thirdBodyEfficiencies::thirdBodyEfficiencies"
-            "(const speciesTable& species, Istream& is)",
             is
         )   << "expected ')', found " << t.info()
             << exit(FatalIOError);
@@ -99,10 +92,8 @@ inline Foam::thirdBodyEfficiencies::thirdBodyEfficiencies
 
     if (size() != species_.size())
     {
-        FatalIOErrorIn
+        FatalIOErrorInFunction
         (
-            "thirdBodyEfficiencies::thirdBodyEfficiencies"
-            "(const speciesTable& species, Istream& is)",
             is
         )   << "number of efficiencies = " << size()
             << " is not equal to the number of species " << species_.size()
@@ -125,11 +116,8 @@ inline Foam::thirdBodyEfficiencies::thirdBodyEfficiencies
         List<Tuple2<word, scalar> > coeffs(dict.lookup("coeffs"));
         if (coeffs.size() != species_.size())
         {
-            FatalErrorIn
-            (
-                "thirdBodyEfficiencies::thirdBodyEfficiencies"
-                "(const speciesTable&, const dictionary&)"
-            )   << "number of efficiencies = " << coeffs.size()
+            FatalErrorInFunction
+                << "number of efficiencies = " << coeffs.size()
                 << " is not equat to the number of species " << species_.size()
                 << exit(FatalIOError);
         }
diff --git a/src/thermophysicalModels/specie/thermo/hPower/hPowerThermoI.H b/src/thermophysicalModels/specie/thermo/hPower/hPowerThermoI.H
index 371394fd145..e46dbf73987 100644
--- a/src/thermophysicalModels/specie/thermo/hPower/hPowerThermoI.H
+++ b/src/thermophysicalModels/specie/thermo/hPower/hPowerThermoI.H
@@ -36,10 +36,8 @@ inline void Foam::hPowerThermo<EquationOfState>::checkT
 {
     if (T < 0)
     {
-        FatalErrorIn
-        (
-            "hPowerThermo<EquationOfState>::checkT(const scalar T) const"
-        )   << "attempt to evaluate hPowerThermo<EquationOfState>"
+        FatalErrorInFunction
+            << "attempt to evaluate hPowerThermo<EquationOfState>"
                " for negative temperature " << T
             << abort(FatalError);
     }
diff --git a/src/thermophysicalModels/specie/thermo/janaf/janafThermo.C b/src/thermophysicalModels/specie/thermo/janaf/janafThermo.C
index bd002e58fc2..63c379825d9 100644
--- a/src/thermophysicalModels/specie/thermo/janaf/janafThermo.C
+++ b/src/thermophysicalModels/specie/thermo/janaf/janafThermo.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -33,21 +33,21 @@ void Foam::janafThermo<EquationOfState>::checkInputData() const
 {
     if (Tlow_ >= Thigh_)
     {
-        FatalErrorIn("janafThermo<EquationOfState>::check()")
+        FatalErrorInFunction
             << "Tlow(" << Tlow_ << ") >= Thigh(" << Thigh_ << ')'
             << exit(FatalError);
     }
 
     if (Tcommon_ <= Tlow_)
     {
-        FatalErrorIn("janafThermo<EquationOfState>::check()")
+        FatalErrorInFunction
             << "Tcommon(" << Tcommon_ << ") <= Tlow(" << Tlow_ << ')'
             << exit(FatalError);
     }
 
     if (Tcommon_ > Thigh_)
     {
-        FatalErrorIn("janafThermo<EquationOfState>::check()")
+        FatalErrorInFunction
             << "Tcommon(" << Tcommon_ << ") > Thigh(" << Thigh_ << ')'
             << exit(FatalError);
     }
diff --git a/src/thermophysicalModels/specie/thermo/janaf/janafThermoI.H b/src/thermophysicalModels/specie/thermo/janaf/janafThermoI.H
index eeb915ab03d..18f9d7cc735 100644
--- a/src/thermophysicalModels/specie/thermo/janaf/janafThermoI.H
+++ b/src/thermophysicalModels/specie/thermo/janaf/janafThermoI.H
@@ -102,10 +102,8 @@ inline Foam::scalar Foam::janafThermo<EquationOfState>::limit
 {
     if (T < Tlow_ || T > Thigh_)
     {
-        WarningIn
-        (
-            "janafThermo<EquationOfState>::limit(const scalar T) const"
-        )   << "attempt to use janafThermo<EquationOfState>"
+        WarningInFunction
+            << "attempt to use janafThermo<EquationOfState>"
                " out of temperature range "
             << Tlow_ << " -> " << Thigh_ << ";  T = " << T
             << endl;
@@ -247,11 +245,8 @@ inline void Foam::janafThermo<EquationOfState>::operator+=
 
     if (janafThermo<EquationOfState>::debug && notEqual(Tcommon_, jt.Tcommon_))
     {
-        FatalErrorIn
-        (
-            "janafThermo<EquationOfState>::operator+="
-            "(const janafThermo<EquationOfState>& jt) const"
-        )   << "Tcommon " << Tcommon_ << " for "
+        FatalErrorInFunction
+            << "Tcommon " << Tcommon_ << " for "
             << (this->name().size() ? this->name() : "others")
             << " != " << jt.Tcommon_ << " for "
             << (jt.name().size() ? jt.name() : "others")
@@ -294,11 +289,8 @@ inline void Foam::janafThermo<EquationOfState>::operator-=
 
     if (janafThermo<EquationOfState>::debug && notEqual(Tcommon_, jt.Tcommon_))
     {
-        FatalErrorIn
-        (
-            "janafThermo<EquationOfState>::operator-="
-            "(const janafThermo<EquationOfState>& jt) const"
-        )   << "Tcommon " << Tcommon_ << " for "
+        FatalErrorInFunction
+            << "Tcommon " << Tcommon_ << " for "
             << (this->name().size() ? this->name() : "others")
             << " != " << jt.Tcommon_ << " for "
             << (jt.name().size() ? jt.name() : "others")
@@ -363,12 +355,8 @@ inline Foam::janafThermo<EquationOfState> Foam::operator+
      && notEqual(jt1.Tcommon_, jt2.Tcommon_)
     )
     {
-        FatalErrorIn
-        (
-            "operator+"
-            "(const janafThermo<EquationOfState>& jt1,"
-            " const janafThermo<EquationOfState>& jt2)"
-        )   << "Tcommon " << jt1.Tcommon_ << " for "
+        FatalErrorInFunction
+            << "Tcommon " << jt1.Tcommon_ << " for "
             << (jt1.name().size() ? jt1.name() : "others")
             << " != " << jt2.Tcommon_ << " for "
             << (jt2.name().size() ? jt2.name() : "others")
@@ -425,12 +413,8 @@ inline Foam::janafThermo<EquationOfState> Foam::operator-
      && notEqual(jt1.Tcommon_, jt2.Tcommon_)
     )
     {
-        FatalErrorIn
-        (
-            "operator-"
-            "(const janafThermo<EquationOfState>& jt1,"
-            " const janafThermo<EquationOfState>& jt2)"
-        )   << "Tcommon " << jt1.Tcommon_ << " for "
+        FatalErrorInFunction
+            << "Tcommon " << jt1.Tcommon_ << " for "
             << (jt1.name().size() ? jt1.name() : "others")
             << " != " << jt2.Tcommon_ << " for "
             << (jt2.name().size() ? jt2.name() : "others")
diff --git a/src/thermophysicalModels/specie/thermo/thermo/thermoI.H b/src/thermophysicalModels/specie/thermo/thermo/thermoI.H
index d897968d129..2617da968c2 100644
--- a/src/thermophysicalModels/specie/thermo/thermo/thermoI.H
+++ b/src/thermophysicalModels/specie/thermo/thermo/thermoI.H
@@ -63,17 +63,8 @@ inline Foam::scalar Foam::species::thermo<Thermo, Type>::T
 
         if (iter++ > maxIter_)
         {
-            FatalErrorIn
-            (
-                "thermo<Thermo, Type>::T(scalar f, scalar T0, "
-                "scalar (thermo<Thermo, Type>::*F)"
-                "(const scalar) const, "
-                "scalar (thermo<Thermo, Type>::*dFdT)"
-                "(const scalar) const, "
-                "scalar (thermo<Thermo, Type>::*limit)"
-                "(const scalar) const"
-                ") const"
-            )   << "Maximum number of iterations exceeded"
+            FatalErrorInFunction
+                << "Maximum number of iterations exceeded"
                 << abort(FatalError);
         }
 
diff --git a/src/thermophysicalModels/thermophysicalFunctions/thermophysicalFunction/thermophysicalFunction.C b/src/thermophysicalModels/thermophysicalFunctions/thermophysicalFunction/thermophysicalFunction.C
index 12253ca03ea..e7698de7f89 100644
--- a/src/thermophysicalModels/thermophysicalFunctions/thermophysicalFunction/thermophysicalFunction.C
+++ b/src/thermophysicalModels/thermophysicalFunctions/thermophysicalFunction/thermophysicalFunction.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -59,7 +59,7 @@ Foam::autoPtr<Foam::thermophysicalFunction> Foam::thermophysicalFunction::New
 
     if (cstrIter == IstreamConstructorTablePtr_->end())
     {
-        FatalErrorIn("thermophysicalFunction::New(Istream&)")
+        FatalErrorInFunction
             << "Unknown thermophysicalFunction type "
             << thermophysicalFunctionType
             << nl << nl
@@ -91,7 +91,7 @@ Foam::autoPtr<Foam::thermophysicalFunction> Foam::thermophysicalFunction::New
 
     if (cstrIter == IstreamConstructorTablePtr_->end())
     {
-        FatalErrorIn("thermophysicalFunction::New(const dictionary&)")
+        FatalErrorInFunction
             << "Unknown thermophysicalFunction type "
             << thermophysicalFunctionType
             << nl << nl
diff --git a/src/topoChangerFvMesh/linearValveFvMesh/linearValveFvMesh.C b/src/topoChangerFvMesh/linearValveFvMesh/linearValveFvMesh.C
index 19cac53913e..d3befc22e79 100644
--- a/src/topoChangerFvMesh/linearValveFvMesh/linearValveFvMesh.C
+++ b/src/topoChangerFvMesh/linearValveFvMesh/linearValveFvMesh.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -178,7 +178,7 @@ void Foam::linearValveFvMesh::makeSlidersDead()
         }
         else
         {
-            FatalErrorIn("void Foam::linearValveFvMesh::makeSlidersDead()")
+            FatalErrorInFunction
                 << "Don't know what to do with mesh modifier "
                 << modI << " of type " << topoChanges[modI].type()
                 << abort(FatalError);
@@ -200,7 +200,7 @@ void Foam::linearValveFvMesh::makeSlidersLive()
         }
         else
         {
-            FatalErrorIn("void Foam::linearValveFvMesh::makeLayersLive()")
+            FatalErrorInFunction
                 << "Don't know what to do with mesh modifier "
                 << modI << " of type " << topoChanges[modI].type()
                 << abort(FatalError);
@@ -236,7 +236,7 @@ bool Foam::linearValveFvMesh::attached() const
              != refCast<const slidingInterface>(topoChanges[modI]).attached()
             )
             {
-                FatalErrorIn("bool linearValveFvMesh::attached() const")
+                FatalErrorInFunction
                     << "Slider " << modI
                     << " named " << topoChanges[modI].name()
                     << " out of sync: Should be" << result
diff --git a/src/topoChangerFvMesh/linearValveLayersFvMesh/linearValveLayersFvMesh.C b/src/topoChangerFvMesh/linearValveLayersFvMesh/linearValveLayersFvMesh.C
index 90243b27d72..094e09006fc 100644
--- a/src/topoChangerFvMesh/linearValveLayersFvMesh/linearValveLayersFvMesh.C
+++ b/src/topoChangerFvMesh/linearValveLayersFvMesh/linearValveLayersFvMesh.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -229,7 +229,7 @@ void Foam::linearValveLayersFvMesh::makeLayersLive()
         }
         else
         {
-            FatalErrorIn("void linearValveLayersFvMesh::makeLayersLive()")
+            FatalErrorInFunction
                 << "Don't know what to do with mesh modifier "
                 << modI << " of type " << topoChanges[modI].type()
                 << abort(FatalError);
@@ -255,7 +255,7 @@ void Foam::linearValveLayersFvMesh::makeSlidersLive()
         }
         else
         {
-            FatalErrorIn("void linearValveLayersFvMesh::makeLayersLive()")
+            FatalErrorInFunction
                 << "Don't know what to do with mesh modifier "
                 << modI << " of type " << topoChanges[modI].type()
                 << abort(FatalError);
@@ -291,7 +291,7 @@ bool Foam::linearValveLayersFvMesh::attached() const
              != refCast<const slidingInterface>(topoChanges[modI]).attached()
             )
             {
-                FatalErrorIn("bool linearValveLayersFvMesh::attached() const")
+                FatalErrorInFunction
                     << "Slider " << modI << " named "
                     << topoChanges[modI].name()
                     << " out of sync: Should be" << result
diff --git a/src/topoChangerFvMesh/mixerFvMesh/mixerFvMesh.C b/src/topoChangerFvMesh/mixerFvMesh/mixerFvMesh.C
index 21660c406da..9d329ba083c 100644
--- a/src/topoChangerFvMesh/mixerFvMesh/mixerFvMesh.C
+++ b/src/topoChangerFvMesh/mixerFvMesh/mixerFvMesh.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -203,7 +203,7 @@ void Foam::mixerFvMesh::calcMovingMasks() const
 
     if (movingPointsMaskPtr_)
     {
-        FatalErrorIn("void mixerFvMesh::calcMovingMasks() const")
+        FatalErrorInFunction
             << "point mask already calculated"
             << abort(FatalError);
     }
diff --git a/src/transportModels/incompressible/viscosityModels/viscosityModel/viscosityModelNew.C b/src/transportModels/incompressible/viscosityModels/viscosityModel/viscosityModelNew.C
index 16f33328189..23377cd6925 100644
--- a/src/transportModels/incompressible/viscosityModels/viscosityModel/viscosityModelNew.C
+++ b/src/transportModels/incompressible/viscosityModels/viscosityModel/viscosityModelNew.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -46,11 +46,8 @@ Foam::autoPtr<Foam::viscosityModel> Foam::viscosityModel::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "viscosityModel::New(const volVectorField&, "
-            "const surfaceScalarField&)"
-        )   << "Unknown viscosityModel type "
+        FatalErrorInFunction
+            << "Unknown viscosityModel type "
             << modelType << nl << nl
             << "Valid viscosityModels are : " << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/triSurface/faceTriangulation/faceTriangulation.C b/src/triSurface/faceTriangulation/faceTriangulation.C
index ea4482a13c4..ddf905f06ba 100644
--- a/src/triSurface/faceTriangulation/faceTriangulation.C
+++ b/src/triSurface/faceTriangulation/faceTriangulation.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -169,7 +169,7 @@ bool Foam::faceTriangulation::triangleContainsPoint
     }
     else if ((area01Pt < 0) && (area12Pt < 0) && (area20Pt < 0))
     {
-        FatalErrorIn("triangleContainsPoint") << abort(FatalError);
+        FatalErrorInFunction << abort(FatalError);
         return false;
     }
     else
@@ -249,7 +249,7 @@ void Foam::faceTriangulation::findDiagonal
 
     if (minIndex == -1)
     {
-        //WarningIn("faceTriangulation::findDiagonal")
+        //WarningInFunction
         //    << "Could not find intersection starting from " << f[startIndex]
         //    << " for face " << f << endl;
 
@@ -416,11 +416,8 @@ bool Foam::faceTriangulation::split
 
     if (size <= 2)
     {
-        WarningIn
-        (
-            "split(const bool, const pointField&, const face&"
-            ", const vector&, label&)"
-        )   << "Illegal face:" << f
+        WarningInFunction
+            << "Illegal face:" << f
             << " with points " << UIndirectList<point>(points, f)()
             << endl;
 
@@ -495,11 +492,8 @@ bool Foam::faceTriangulation::split
                     }
                 }
 
-                WarningIn
-                (
-                    "split(const bool, const pointField&, const face&"
-                    ", const vector&, label&)"
-                )   << "Cannot find valid diagonal on face " << f
+                WarningInFunction
+                    << "Cannot find valid diagonal on face " << f
                     << " with points " << UIndirectList<point>(points, f)()
                     << nl
                     << "Returning naive triangulation starting from "
@@ -525,11 +519,8 @@ bool Foam::faceTriangulation::split
             }
             else
             {
-                WarningIn
-                (
-                    "split(const bool, const pointField&, const face&"
-                    ", const vector&, label&)"
-                )   << "Cannot find valid diagonal on face " << f
+                WarningInFunction
+                    << "Cannot find valid diagonal on face " << f
                     << " with points " << UIndirectList<point>(points, f)()
                     << nl
                     << "Returning empty triFaceList" << endl;
@@ -560,11 +551,8 @@ bool Foam::faceTriangulation::split
 
         if (nPoints1 == size || nPoints2 == size)
         {
-            FatalErrorIn
-            (
-                "split(const bool, const pointField&, const face&"
-                ", const vector&, label&)"
-            )   << "Illegal split of face:" << f
+            FatalErrorInFunction
+                << "Illegal split of face:" << f
                 << " with points " << UIndirectList<point>(points, f)()
                 << " at indices " << index1 << " and " << index2
                 << abort(FatalError);
diff --git a/src/triSurface/meshTriangulation/meshTriangulation.C b/src/triSurface/meshTriangulation/meshTriangulation.C
index 4231c3d16fb..f8efd181bdf 100644
--- a/src/triSurface/meshTriangulation/meshTriangulation.C
+++ b/src/triSurface/meshTriangulation/meshTriangulation.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -365,7 +365,7 @@ Foam::meshTriangulation::meshTriangulation
 
                 if (faceTris.empty())
                 {
-                    WarningIn("meshTriangulation::meshTriangulation")
+                    WarningInFunction
                         << "Could not find triangulation for face " << faceI
                         << " vertices " << faces[faceI] << " coords "
                         << IndirectList<point>(points, faces[faceI])() << endl;
@@ -428,7 +428,7 @@ Foam::meshTriangulation::meshTriangulation
 
                 if (faceTris.empty())
                 {
-                    WarningIn("meshTriangulation::meshTriangulation")
+                    WarningInFunction
                         << "Could not find triangulation for face " << faceI
                         << " vertices " << faces[faceI] << " coords "
                         << IndirectList<point>(points, faces[faceI])() << endl;
diff --git a/src/triSurface/triSurface/interfaces/AC3D/readAC.C b/src/triSurface/triSurface/interfaces/AC3D/readAC.C
index 2e122c936c7..2ff59bfb071 100644
--- a/src/triSurface/triSurface/interfaces/AC3D/readAC.C
+++ b/src/triSurface/triSurface/interfaces/AC3D/readAC.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -111,7 +111,7 @@ static void readUpto
 {
     if (!readUpto(cmd, ACfile, args))
     {
-        FatalErrorIn("triSurface::readAC(const fileName&)")
+        FatalErrorInFunction
             << "Cannot find command " << cmd
             << errorMsg << exit(FatalError);
     }
@@ -126,7 +126,7 @@ bool triSurface::readAC(const fileName& ACfileName)
 
     if (!ACfile.good())
     {
-        FatalErrorIn("triSurface::readAC(const fileName&)")
+        FatalErrorInFunction
             << "Cannot read file " << ACfileName
             << exit(FatalError);
     }
@@ -138,7 +138,7 @@ bool triSurface::readAC(const fileName& ACfileName)
 
     if (version != "b")
     {
-        WarningIn("bool triSurface::readAC(const fileName& ACfileName)")
+        WarningInFunction
             << "When reading AC3D file " << ACfileName
             << " read header " << line << " with version " << version
             << endl << "Only tested reading with version 'b'."
@@ -151,7 +151,7 @@ bool triSurface::readAC(const fileName& ACfileName)
 
     if (!readUpto("OBJECT", ACfile, args) || (args != "world"))
     {
-        FatalErrorIn("bool triSurface::readAC(const fileName& ACfileName)")
+        FatalErrorInFunction
             << "Cannot find \"OBJECT world\" in file " << ACfileName
             << exit(FatalError);
     }
@@ -195,7 +195,7 @@ bool triSurface::readAC(const fileName& ACfileName)
             // patch should always end with 'kids' command ?not sure.
             if (!readCmd(ACfile, cmd, args))
             {
-                FatalErrorIn("triSurface::readAC(const fileName&)")
+                FatalErrorInFunction
                     << "Did not read up to \"kids 0\" while reading patch "
                     << patchI << " from file " << ACfileName
                     << exit(FatalError);
@@ -217,7 +217,7 @@ bool triSurface::readAC(const fileName& ACfileName)
                     >> rot.yx() >> rot.yy() >> rot.yz()
                     >> rot.zx() >> rot.zy() >> rot.zz();
 
-                WarningIn("triSurface::readAC(const fileName&)")
+                WarningInFunction
                     << "rot (rotation tensor) command not implemented"
                     << "Line:" << cmd << ' ' << args << endl
                     << "while reading patch " << patchI << endl;
@@ -265,7 +265,7 @@ bool triSurface::readAC(const fileName& ACfileName)
 
                     if (size != 3)
                     {
-                        FatalErrorIn("triSurface::readAC(const fileName&)")
+                        FatalErrorInFunction
                             << "Can only read surfaces with 3 vertices."
                             << endl
                             << "Detected " << size << " when reading triangle "
@@ -309,7 +309,7 @@ bool triSurface::readAC(const fileName& ACfileName)
 
                 if (nKids != 0)
                 {
-                    FatalErrorIn("triSurface::readAC(const fileName&)")
+                    FatalErrorInFunction
                         << "Can only read objects without kids."
                         << " Encountered " << nKids << " kids when"
                         << " reading patch " << patchI
diff --git a/src/triSurface/triSurface/interfaces/DX/writeDX.C b/src/triSurface/triSurface/interfaces/DX/writeDX.C
index 402fa262ca1..d5087a629d9 100644
--- a/src/triSurface/triSurface/interfaces/DX/writeDX.C
+++ b/src/triSurface/triSurface/interfaces/DX/writeDX.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -191,10 +191,8 @@ void triSurface::writeDX(const scalarField& field, Ostream& os) const
     }
     else
     {
-        FatalErrorIn
-        (
-            "writeDX(const scalarField&, Ostream&)"
-        )   << "Illegal field size " << field.size() << " is not equal "
+        FatalErrorInFunction
+            << "Illegal field size " << field.size() << " is not equal "
             << " to number of faces " << size() << " or to number "
             << " of points " << nPoints() << exit(FatalError);
     }
@@ -240,10 +238,8 @@ void triSurface::writeDX(const vectorField& field, Ostream& os) const
     }
     else
     {
-        FatalErrorIn
-        (
-            "writeDX(const vectorField&, Ostream&)"
-        )   << "Illegal field size " << field.size() << " is not equal "
+        FatalErrorInFunction
+            << "Illegal field size " << field.size() << " is not equal "
             << " to number of faces " << size() << " or to number "
             << " of points " << nPoints() << exit(FatalError);
     }
diff --git a/src/triSurface/triSurface/interfaces/GTS/readGTS.C b/src/triSurface/triSurface/interfaces/GTS/readGTS.C
index cba235c4bef..d7394e2e0fd 100644
--- a/src/triSurface/triSurface/interfaces/GTS/readGTS.C
+++ b/src/triSurface/triSurface/interfaces/GTS/readGTS.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -36,7 +36,7 @@ bool Foam::triSurface::readGTS(const fileName& GTSfileName)
 
     if (!GTSfile.good())
     {
-        FatalErrorIn("triSurface::readGTS(const fileName&)")
+        FatalErrorInFunction
             << "Cannot read file " << GTSfileName
             << exit(FatalError);
     }
@@ -113,7 +113,7 @@ bool Foam::triSurface::readGTS(const fileName& GTSfileName)
         label common01 = e0.commonVertex(e1);
         if (common01 == -1)
         {
-            FatalErrorIn("triSurface::readGTS(const fileName&)")
+            FatalErrorInFunction
                 << "Edges 0 and 1 of triangle " << trianglei
                 << " do not share a point.\n"
                 << "    edge0:" << e0 << endl
@@ -127,7 +127,7 @@ bool Foam::triSurface::readGTS(const fileName& GTSfileName)
         label common12 = e1.commonVertex(e2);
         if (common12 == -1)
         {
-            FatalErrorIn("triSurface::readGTS(const fileName&)")
+            FatalErrorInFunction
                 << "Edges 1 and 2 of triangle " << trianglei
                 << " do not share a point.\n"
                 << "    edge1:" << e1 << endl
@@ -139,7 +139,7 @@ bool Foam::triSurface::readGTS(const fileName& GTSfileName)
         // Does edge2 sit between edge1 and 0?
         if ((common12 != e1Far) || (e2Far != e0Far))
         {
-            FatalErrorIn("triSurface::readGTS(const fileName&)")
+            FatalErrorInFunction
                 << "Edges of triangle " << trianglei
                 << " reference more than three points.\n"
                 << "    edge0:" << e0 << endl
diff --git a/src/triSurface/triSurface/interfaces/NAS/readNAS.C b/src/triSurface/triSurface/interfaces/NAS/readNAS.C
index 3e39579d052..ad15baf6ba2 100644
--- a/src/triSurface/triSurface/interfaces/NAS/readNAS.C
+++ b/src/triSurface/triSurface/interfaces/NAS/readNAS.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -75,7 +75,7 @@ bool triSurface::readNAS(const fileName& fName)
 
     if (!is.good())
     {
-        FatalErrorIn("triSurface::readNAS(const fileName&)")
+        FatalErrorInFunction
             << "Cannot read file " << fName
             << exit(FatalError);
     }
@@ -287,7 +287,7 @@ bool triSurface::readNAS(const fileName& fName)
             is.getLine(line);
             if (line[0] != '*')
             {
-                FatalErrorIn("triSurface::readNAS(const fileName&)")
+                FatalErrorInFunction
                     << "Expected continuation symbol '*' when reading GRID*"
                     << " (double precision coordinate) output" << nl
                     << "Read:" << line << nl
diff --git a/src/triSurface/triSurface/interfaces/OBJ/readOBJ.C b/src/triSurface/triSurface/interfaces/OBJ/readOBJ.C
index 004661ab3cf..49386351e92 100644
--- a/src/triSurface/triSurface/interfaces/OBJ/readOBJ.C
+++ b/src/triSurface/triSurface/interfaces/OBJ/readOBJ.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -35,7 +35,7 @@ bool Foam::triSurface::readOBJ(const fileName& OBJfileName)
 
     if (!OBJfile.good())
     {
-        FatalErrorIn("triSurface::readOBJ(const fileName&)")
+        FatalErrorInFunction
             << "Cannot read file " << OBJfileName
             << exit(FatalError);
     }
diff --git a/src/triSurface/triSurface/interfaces/OFF/readOFF.C b/src/triSurface/triSurface/interfaces/OFF/readOFF.C
index 8fc4dff00bb..232c1a7aec9 100644
--- a/src/triSurface/triSurface/interfaces/OFF/readOFF.C
+++ b/src/triSurface/triSurface/interfaces/OFF/readOFF.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -38,7 +38,7 @@ bool Foam::triSurface::readOFF(const fileName& OFFfileName)
 
     if (!OFFfile.good())
     {
-        FatalErrorIn("triSurface::readOFF(const fileName&)")
+        FatalErrorInFunction
             << "Cannot read file " << OFFfileName
             << exit(FatalError);
     }
@@ -47,7 +47,7 @@ bool Foam::triSurface::readOFF(const fileName& OFFfileName)
     string hdr = getLineNoComment(OFFfile);
     if (hdr != "OFF")
     {
-        FatalErrorIn("triSurface::readOFF(const fileName&)")
+        FatalErrorInFunction
             << "OFF file " << OFFfileName
             << " does not start with 'OFF'"
             << exit(FatalError);
diff --git a/src/triSurface/triSurface/interfaces/STL/readSTLASCII.L b/src/triSurface/triSurface/interfaces/STL/readSTLASCII.L
index 3c732c1a8d7..6c41d5db82c 100644
--- a/src/triSurface/triSurface/interfaces/STL/readSTLASCII.L
+++ b/src/triSurface/triSurface/interfaces/STL/readSTLASCII.L
@@ -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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,7 +44,7 @@ using namespace Foam;
 //! \cond dummy
 int yyFlexLexer::yylex()
 {
-    FatalErrorIn("yyFlexLexer::yylex()")
+    FatalErrorInFunction
         << "Should not have called this function"
         << abort(FatalError);
     return 0;
@@ -356,10 +356,8 @@ endsolid              {space}("endsolid"|"ENDSOLID")({some_space}{word})*
 
 <stlerror>.* {
         yy_pop_state();
-        FatalErrorIn
-        (
-            "triSurface::readSTLASCII(const fileName& STLfileName)"
-        )   << "while " << stateNames[YY_START] << " on line " << lineNo_ << nl
+        FatalErrorInFunction
+            << "while " << stateNames[YY_START] << " on line " << lineNo_ << nl
             << "    expected " << stateExpects[YY_START]
             << " but found '" << startError_.c_str() << YYText() << "'"
             << exit(FatalError);
@@ -382,10 +380,8 @@ bool triSurface::readSTLASCII(const fileName& STLfileName)
 
     if (!STLstream)
     {
-        FatalErrorIn
-        (
-            "triSurface::readSTLASCII(const fileName&)"
-        )   << "file " << STLfileName << " not found"
+        FatalErrorInFunction
+            << "file " << STLfileName << " not found"
             << exit(FatalError);
     }
 
@@ -411,10 +407,8 @@ bool triSurface::readSTLASCII(const fileName& STLfileName)
 
     if (STLpoints.size() != 3*STLnormals.size())
     {
-        FatalErrorIn
-        (
-            "triSurface::readSTLASCII(const fileName& STLfileName)"
-        )   << "in file " << STLfileName << endl
+        FatalErrorInFunction
+            << "in file " << STLfileName << endl
             << "Problem: read " << STLnormals.size() << " normals"
             << " but " << STLpoints.size() << " points"
             << exit(FatalError);
diff --git a/src/triSurface/triSurface/interfaces/STL/readSTLBINARY.C b/src/triSurface/triSurface/interfaces/STL/readSTLBINARY.C
index c0e06649ba2..5c860006c06 100644
--- a/src/triSurface/triSurface/interfaces/STL/readSTLBINARY.C
+++ b/src/triSurface/triSurface/interfaces/STL/readSTLBINARY.C
@@ -52,7 +52,7 @@ bool Foam::triSurface::readSTLBINARY(const fileName& STLfileName)
 
     if (!STLfile.good())
     {
-        FatalErrorIn("triSurface::readSTLBINARY(const fileName&)")
+        FatalErrorInFunction
             << "Cannot read file " << STLfileName
             << " or file " << STLfileName + ".gz"
             << exit(FatalError);
diff --git a/src/triSurface/triSurface/interfaces/TRI/readTRI.C b/src/triSurface/triSurface/interfaces/TRI/readTRI.C
index 6c4d6e8b873..438847d7a9b 100644
--- a/src/triSurface/triSurface/interfaces/TRI/readTRI.C
+++ b/src/triSurface/triSurface/interfaces/TRI/readTRI.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -45,7 +45,7 @@ bool Foam::triSurface::readTRI(const fileName& TRIfileName)
 
     if (!TRIfile.good())
     {
-        FatalErrorIn("triSurface::readTRI(const fileName&)")
+        FatalErrorInFunction
             << "Cannot read file " << TRIfileName
             << exit(FatalError);
     }
diff --git a/src/triSurface/triSurface/surfacePatch/surfacePatchIOList.C b/src/triSurface/triSurface/surfacePatch/surfacePatchIOList.C
index 1eb61761937..c404a386406 100644
--- a/src/triSurface/triSurface/surfacePatch/surfacePatchIOList.C
+++ b/src/triSurface/triSurface/surfacePatch/surfacePatchIOList.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -57,13 +57,8 @@ Foam::surfacePatchIOList::surfacePatchIOList
     {
         if (readOpt() == IOobject::MUST_READ_IF_MODIFIED)
         {
-            WarningIn
-            (
-                "surfacePatchIOList::surfacePatchIOList\n"
-                "(\n"
-                "    const IOobject&\n"
-                ")"
-            )   << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
+            WarningInFunction
+                << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
                 << " does not support automatic rereading."
                 << endl;
         }
@@ -99,7 +94,7 @@ Foam::surfacePatchIOList::surfacePatchIOList
 
             if (startFaceI != faceI)
             {
-                FatalErrorIn(functionName)
+                FatalErrorInFunction
                     << "Patches are not ordered. Start of patch " << patchI
                     << " does not correspond to sum of preceding patches."
                     << endl
diff --git a/src/triSurface/triSurface/triSurface.C b/src/triSurface/triSurface/triSurface.C
index 8f80c216176..5bb5139aac6 100644
--- a/src/triSurface/triSurface/triSurface.C
+++ b/src/triSurface/triSurface/triSurface.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -104,11 +104,8 @@ Foam::List<Foam::labelledTri> Foam::triSurface::convertToTri
 
         if (f.size() != 3)
         {
-            FatalErrorIn
-            (
-                "triSurface::convertToTri"
-                "(const faceList&, const label)"
-            )   << "Face at position " << faceI
+            FatalErrorInFunction
+                << "Face at position " << faceI
                 << " does not have three vertices:" << f
                 << abort(FatalError);
         }
@@ -196,7 +193,7 @@ void Foam::triSurface::checkTriangles(const bool verbose)
         {
             if (f[fp] < 0 || f[fp] > maxPointI)
             {
-                FatalErrorIn("triSurface::checkTriangles(bool)")
+                FatalErrorInFunction
                     << "triangle " << f
                     << " uses point indices outside point range 0.."
                     << maxPointI
@@ -226,10 +223,8 @@ void Foam::triSurface::checkTriangles(const bool verbose)
 
             if (verbose)
             {
-                WarningIn
-                (
-                    "triSurface::checkTriangles(bool verbose)"
-                )   << "triangle " << faceI
+                WarningInFunction
+                    << "triangle " << faceI
                     << " does not have three unique vertices:\n";
                 printTriangle(Warning, "    ", f, points());
             }
@@ -267,10 +262,8 @@ void Foam::triSurface::checkTriangles(const bool verbose)
 
                             if (verbose)
                             {
-                                WarningIn
-                                (
-                                    "triSurface::checkTriangles(bool verbose)"
-                                )   << "triangles share the same vertices:\n"
+                                WarningInFunction
+                                    << "triangles share the same vertices:\n"
                                     << "    face 1 :" << faceI << endl;
                                 printTriangle(Warning, "    ", f, points());
 
@@ -304,10 +297,8 @@ void Foam::triSurface::checkTriangles(const bool verbose)
 
         if (verbose)
         {
-            WarningIn
-            (
-                "triSurface::checkTriangles(bool verbose)"
-            )   << "Removing " << size() - newFaceI
+            WarningInFunction
+                << "Removing " << size() - newFaceI
                 << " illegal faces." << endl;
         }
         (*this).setSize(newFaceI);
@@ -329,17 +320,15 @@ void Foam::triSurface::checkEdges(const bool verbose)
 
         if (myFaces.empty())
         {
-            FatalErrorIn("triSurface::checkEdges(bool verbose)")
+            FatalErrorInFunction
                 << "Edge " << edgeI << " with vertices " << edges()[edgeI]
                 << " has no edgeFaces"
                 << exit(FatalError);
         }
         else if (myFaces.size() > 2 && verbose)
         {
-            WarningIn
-            (
-                "triSurface::checkEdges(bool verbose)"
-            )   << "Edge " << edgeI << " with vertices " << edges()[edgeI]
+            WarningInFunction
+                << "Edge " << edgeI << " with vertices " << edges()[edgeI]
                 << " has more than 2 faces connected to it : " << myFaces
                 << endl;
         }
@@ -366,10 +355,8 @@ bool Foam::triSurface::read
 {
     if (check && !exists(name))
     {
-        FatalErrorIn
-        (
-            "triSurface::read(const fileName&, const word&, const bool)"
-        )   << "Cannnot read " << name << exit(FatalError);
+        FatalErrorInFunction
+            << "Cannnot read " << name << exit(FatalError);
     }
 
     if (ext == "gz")
@@ -421,10 +408,8 @@ bool Foam::triSurface::read
     }
     else
     {
-        FatalErrorIn
-        (
-            "triSurface::read(const fileName&, const word&)"
-        )   << "unknown file extension " << ext
+        FatalErrorInFunction
+            << "unknown file extension " << ext
             << ". Supported extensions are '.ftr', '.stl', '.stlb', '.gts'"
             << ", '.obj', '.ac', '.off', '.nas', '.tri' and '.vtk'"
             << exit(FatalError);
@@ -490,10 +475,8 @@ void Foam::triSurface::write
     }
     else
     {
-        FatalErrorIn
-        (
-            "triSurface::write(const fileName&, const word&, const bool)"
-        )   << "unknown file extension " << ext
+        FatalErrorInFunction
+            << "unknown file extension " << ext
             << " for file " << name
             << ". Supported extensions are '.ftr', '.stl', '.stlb', "
             << "'.gts', '.obj', '.vtk'"
@@ -889,11 +872,7 @@ void Foam::triSurface::markZone
                         }
                         else if (faceZone[nbrFaceI] != currentZone)
                         {
-                            FatalErrorIn
-                            (
-                                "triSurface::markZone(const boolList&,"
-                                "const label, const label, labelList&) const"
-                            )
+                            FatalErrorInFunction
                                 << "Zones " << faceZone[nbrFaceI]
                                 << " at face " << nbrFaceI
                                 << " connects to zone " << currentZone
@@ -928,11 +907,7 @@ Foam::label Foam::triSurface::markZones
 
     if (borderEdge.size() != nEdges())
     {
-        FatalErrorIn
-        (
-            "triSurface::markZones"
-            "(const boolList&, labelList&)"
-        )
+        FatalErrorInFunction
             << "borderEdge boolList not same size as number of edges" << endl
             << "borderEdge:" << borderEdge.size() << endl
             << "nEdges    :" << nEdges()
diff --git a/src/triSurface/triSurface/triSurfaceAddressing.C b/src/triSurface/triSurface/triSurfaceAddressing.C
index f1a8b8a2fd9..9aa9dae918a 100644
--- a/src/triSurface/triSurface/triSurfaceAddressing.C
+++ b/src/triSurface/triSurface/triSurfaceAddressing.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -39,7 +39,7 @@ void Foam::triSurface::calcSortedEdgeFaces() const
 {
     if (sortedEdgeFacesPtr_)
     {
-        FatalErrorIn("triSurface::calcSortedEdgeFaces()")
+        FatalErrorInFunction
             << "sortedEdgeFacesPtr_ already set"
             << abort(FatalError);
     }
@@ -57,7 +57,7 @@ void Foam::triSurface::calcEdgeOwner() const
 {
     if (edgeOwnerPtr_)
     {
-        FatalErrorIn("triSurface::calcEdgeOwner()")
+        FatalErrorInFunction
             << "edgeOwnerPtr_ already set"
             << abort(FatalError);
     }
@@ -101,7 +101,7 @@ void Foam::triSurface::calcEdgeOwner() const
 
             if (edgeOwner[edgeI] == -1)
             {
-                FatalErrorIn("triSurface::calcEdgeOwner()")
+                FatalErrorInFunction
                     << "Edge " << edgeI << " vertices:" << e
                     << " is used by faces " << myFaces
                     << " vertices:"
-- 
GitLab


From 4aea10f5487f78d2cd3fd6700f8c61fa684cd268 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Wed, 11 Nov 2015 12:17:30 +0000
Subject: [PATCH 057/141] etc/caseDicts/setConstraintTypes: Initialize the
 value for processor BCs to the uniform internalField value Resolves
 bug-report http://www.openfoam.org/mantisbt/view.php?id=1883

---
 etc/caseDicts/setConstraintTypes | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/etc/caseDicts/setConstraintTypes b/etc/caseDicts/setConstraintTypes
index 6b075c73825..95bce1469db 100644
--- a/etc/caseDicts/setConstraintTypes
+++ b/etc/caseDicts/setConstraintTypes
@@ -39,11 +39,13 @@ nonuniformTransformCyclic
 processor
 {
     type  processor;
+    value $internalField;
 }
 
 processorCyclic
 {
     type  processorCyclic;
+    value $internalField;
 }
 
 symmetryPlane
-- 
GitLab


From 22a4b5776bf024e31ca1d9c2576417e82709ab34 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 13 Nov 2015 10:55:34 +0000
Subject: [PATCH 058/141] createTurbulenceFields: Specification of turbulence
 fields now command-line option

Usage: createTurbulenceFields [OPTIONS]
options:
  -case <dir>       specify alternate case directory, default is the cwd
  -constant         include the 'constant/' dir in the times list
  -fields <wordReList>
                    specify which turbulence fields (k, epsilon, omega, R) to
                    write - eg '(k omega)' or '(R)' or '(.*)'.
  -latestTime       select the latest time
  -newTimes         select the new times
  -noFunctionObjects
                    do not execute functionObjects
  -noZero           exclude the '0/' dir from the times list, has precedence
                    over the -withZero option
  -parallel         run in parallel
  -roots <(dir1 .. dirN)>
                    slave root directories for distributed running
  -time <ranges>    comma-separated time ranges - eg, ':10,20,40:70,1000:'
  -srcDoc           display source code in browser
  -doc              display application documentation in browser
  -help             print the usage

Resolves feature request http://www.openfoam.org/mantisbt/view.php?id=1912
---
 .../createTurbulenceFields.C                  | 125 +++++++++++-------
 1 file changed, 74 insertions(+), 51 deletions(-)

diff --git a/applications/utilities/postProcessing/turbulence/createTurbulenceFields/createTurbulenceFields.C b/applications/utilities/postProcessing/turbulence/createTurbulenceFields/createTurbulenceFields.C
index be63b2a5f71..f1d37ed6a56 100644
--- a/applications/utilities/postProcessing/turbulence/createTurbulenceFields/createTurbulenceFields.C
+++ b/applications/utilities/postProcessing/turbulence/createTurbulenceFields/createTurbulenceFields.C
@@ -44,11 +44,26 @@ int main(int argc, char *argv[])
 {
     timeSelector::addOptions();
 
+    argList::addOption
+    (
+        "fields",
+        "wordReList",
+        "specify which turbulence fields (k, epsilon, omega, R) to write"
+        " - eg '(k omega)' or '(R)' or '(.*)'."
+    );
+
     #include "setRootCase.H"
     #include "createTime.H"
 
     instantList timeDirs = timeSelector::select0(runTime, args);
 
+    const bool selectedFields = args.optionFound("fields");
+    wordReList fieldPatterns;
+    if (selectedFields)
+    {
+        fieldPatterns = wordReList(args.optionLookup("fields")());
+    }
+
     #include "createMesh.H"
 
     forAll(timeDirs, timeI)
@@ -59,69 +74,77 @@ int main(int argc, char *argv[])
 
         #include "createFields.H"
 
-        Info<< "\nRetrieving field k from turbulence model" << endl;
-        const volScalarField k(RASModel->k());
-
-        Info<< "\nRetrieving field epsilon from turbulence model" << endl;
-        const volScalarField epsilon(RASModel->epsilon());
-
-        Info<< "\nRetrieving field R from turbulence model" << endl;
-        const volSymmTensorField R(RASModel->R());
-
-        // Check availability of tubulence fields
-
-        if (!IOobject("k", runTime.timeName(), mesh).headerOk())
+        if (findStrings(fieldPatterns, "k"))
         {
-            Info<< "\nWriting turbulence field k" << endl;
-            k.write();
-        }
-        else
-        {
-            Info<< "\nTurbulence k field already exists" << endl;
+            if (!IOobject("k", runTime.timeName(), mesh).headerOk())
+            {
+                Info<< "    Writing turbulence field k" << endl;
+                const volScalarField k(RASModel->k());
+                k.write();
+            }
+            else
+            {
+                Info<< "    Turbulence k field already exists" << endl;
+            }
         }
 
-        if (!IOobject("epsilon", runTime.timeName(), mesh).headerOk())
-        {
-            Info<< "\nWriting turbulence field epsilon" << endl;
-            epsilon.write();
-        }
-        else
+        if (findStrings(fieldPatterns, "epsilon"))
         {
-            Info<< "\nTurbulence epsilon field already exists" << endl;
+            if (!IOobject("epsilon", runTime.timeName(), mesh).headerOk())
+            {
+                Info<< "    Writing turbulence field epsilon" << endl;
+                const volScalarField epsilon(RASModel->epsilon());
+                epsilon.write();
+            }
+            else
+            {
+                Info<< "    Turbulence epsilon field already exists" << endl;
+            }
         }
 
-        if (!IOobject("R", runTime.timeName(), mesh).headerOk())
-        {
-            Info<< "\nWriting turbulence field R" << endl;
-            R.write();
-        }
-        else
+        if (findStrings(fieldPatterns, "R"))
         {
-            Info<< "\nTurbulence R field already exists" << endl;
+            if (!IOobject("R", runTime.timeName(), mesh).headerOk())
+            {
+                Info<< "    Writing turbulence field R" << endl;
+                const volSymmTensorField R(RASModel->R());
+                R.write();
+            }
+            else
+            {
+                Info<< "    Turbulence R field already exists" << endl;
+            }
         }
 
-        if (!IOobject("omega", runTime.timeName(), mesh).headerOk())
+        if (findStrings(fieldPatterns, "omega"))
         {
-            const scalar Cmu = 0.09;
+            if (!IOobject("omega", runTime.timeName(), mesh).headerOk())
+            {
+                const scalar Cmu = 0.09;
+
+                // Assume k and epsilon are available
+                const volScalarField k(RASModel->k());
+                const volScalarField epsilon(RASModel->epsilon());
 
-            Info<< "creating omega" << endl;
-            volScalarField omega
-            (
-                IOobject
+                volScalarField omega
                 (
-                    "omega",
-                    runTime.timeName(),
-                    mesh
-                ),
-                epsilon/(Cmu*k),
-                epsilon.boundaryField().types()
-            );
-            Info<< "\nWriting turbulence field omega" << endl;
-            omega.write();
-        }
-        else
-        {
-            Info<< "\nTurbulence omega field already exists" << endl;
+                    IOobject
+                    (
+                        "omega",
+                        runTime.timeName(),
+                        mesh
+                    ),
+                    epsilon/(Cmu*k),
+                    epsilon.boundaryField().types()
+                );
+
+                Info<< "    Writing turbulence field omega" << endl;
+                omega.write();
+            }
+            else
+            {
+                Info<< "    Turbulence omega field already exists" << endl;
+            }
         }
     }
 
-- 
GitLab


From fb2eacf2f10576cabd26fbe48c5c4e35d8124365 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 13 Nov 2015 14:15:19 +0000
Subject: [PATCH 059/141] tutorials/combustion/fireFoam/les/smallPoolFire?D:
 Improved outlet BC Now applies totalPressure and pressureInletOutletVelocity
 with hRef set to the height of the outlet plane.

---
 .../les/smallPoolFire2D/constant/hRef         | 21 +++++++++++++++++++
 .../les/smallPoolFire3D/constant/hRef         | 21 +++++++++++++++++++
 2 files changed, 42 insertions(+)
 create mode 100644 tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/hRef
 create mode 100644 tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/hRef

diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/hRef b/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/hRef
new file mode 100644
index 00000000000..a1074c62bb2
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/hRef
@@ -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       uniformDimensionedScalarField;
+    location    "constant";
+    object      hRef;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 1 0 0 0 0 0];
+value           1;
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/hRef b/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/hRef
new file mode 100644
index 00000000000..a1074c62bb2
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/hRef
@@ -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       uniformDimensionedScalarField;
+    location    "constant";
+    object      hRef;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 1 0 0 0 0 0];
+value           1;
+
+// ************************************************************************* //
-- 
GitLab


From d84db55bd468d58d79a13f757a31cb4553335f5b Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 13 Nov 2015 14:17:07 +0000
Subject: [PATCH 060/141] tutorials/combustion/fireFoam/les/smallPoolFire?D:
 Improved outlet BC Now applies totalPressure and pressureInletOutletVelocity
 with hRef set to the height of the outlet plane.

---
 .../constant/turbulenceProperties             |  1 +
 .../fireFoam/les/smallPoolFire2D/0/CH4        | 13 +++----------
 .../fireFoam/les/smallPoolFire2D/0/N2         | 10 ++++------
 .../fireFoam/les/smallPoolFire2D/0/O2         |  9 +--------
 .../fireFoam/les/smallPoolFire2D/0/T          | 13 +++----------
 .../fireFoam/les/smallPoolFire2D/0/U          | 12 ++----------
 .../fireFoam/les/smallPoolFire2D/0/Ydefault   | 19 ++++++-------------
 .../fireFoam/les/smallPoolFire2D/0/alphat     |  7 +------
 .../fireFoam/les/smallPoolFire2D/0/k          | 11 +++++------
 .../fireFoam/les/smallPoolFire2D/0/nut        |  7 +------
 .../fireFoam/les/smallPoolFire2D/0/p          | 12 +++---------
 .../fireFoam/les/smallPoolFire2D/0/p_rgh      |  8 +-------
 .../constant/polyMesh/boundary                |  2 +-
 .../les/smallPoolFire2D/system/controlDict    |  2 +-
 .../les/smallPoolFire2D/system/fvSchemes      |  9 ++++-----
 .../fireFoam/les/smallPoolFire3D/0/CH4        | 14 +++++---------
 .../fireFoam/les/smallPoolFire3D/0/N2         | 11 ++++++-----
 .../fireFoam/les/smallPoolFire3D/0/O2         | 14 +++-----------
 .../fireFoam/les/smallPoolFire3D/0/T          | 15 +++++----------
 .../fireFoam/les/smallPoolFire3D/0/U          | 13 +++----------
 .../fireFoam/les/smallPoolFire3D/0/Ydefault   | 19 ++++++-------------
 .../fireFoam/les/smallPoolFire3D/0/alphat     |  9 +++------
 .../fireFoam/les/smallPoolFire3D/0/k          | 17 ++++++-----------
 .../fireFoam/les/smallPoolFire3D/0/nut        |  8 +++-----
 .../fireFoam/les/smallPoolFire3D/0/p          |  8 ++------
 .../fireFoam/les/smallPoolFire3D/0/p_rgh      | 11 ++++-------
 .../les/smallPoolFire3D/system/controlDict    |  2 +-
 .../les/smallPoolFire3D/system/fvSchemes      |  7 ++++---
 28 files changed, 88 insertions(+), 195 deletions(-)

diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/turbulenceProperties b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/turbulenceProperties
index 94eb369ba13..0973192685e 100644
--- a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/turbulenceProperties
+++ b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/turbulenceProperties
@@ -96,4 +96,5 @@ LES
     }
 }
 
+
 // ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/CH4 b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/CH4
index 0c17615d4c0..581a479e0e9 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/CH4
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/CH4
@@ -21,18 +21,11 @@ internalField   uniform 0;
 
 boundaryField
 {
-    outlet
+    "(outlet|sides)"
     {
         type            inletOutlet;
-        inletValue      uniform 0;
-        value           uniform 0;
-    }
-
-    sides
-    {
-        type            inletOutlet;
-        inletValue      uniform 0;
-        value           uniform 0;
+        inletValue      $internalField;
+        value           $internalField;
     }
 
     base
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/N2 b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/N2
index 248e3fa02de..1aebf7e1bc2 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/N2
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/N2
@@ -21,24 +21,22 @@ internalField   uniform 0.76699;
 
 boundaryField
 {
-    outlet
-    {
-        type            calculated;
-    }
-
-    sides
+    "(outlet|sides)"
     {
         type            calculated;
+        value           $internalField;
     }
 
     base
     {
         type            calculated;
+        value           $internalField;
     }
 
     inlet
     {
         type            calculated;
+        value           $internalField;
     }
 
     frontAndBack
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/O2 b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/O2
index ef578047737..12f53c31a99 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/O2
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/O2
@@ -21,14 +21,7 @@ internalField   uniform 0.23301;
 
 boundaryField
 {
-    outlet
-    {
-        type            inletOutlet;
-        inletValue      $internalField;
-        value           $internalField;
-    }
-
-    sides
+    "(outlet|sides)"
     {
         type            inletOutlet;
         inletValue      $internalField;
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/T b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/T
index 8f4990b6cec..3b0173daa3f 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/T
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/T
@@ -21,18 +21,11 @@ internalField   uniform 300;
 
 boundaryField
 {
-    outlet
+    "(outlet|sides)"
     {
         type            inletOutlet;
-        inletValue      uniform 300;
-        value           uniform 300;
-    }
-
-    sides
-    {
-        type            inletOutlet;
-        inletValue      uniform 300;
-        value           uniform 300;
+        inletValue      $internalField;
+        value           $internalField;
     }
 
     base
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/U b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/U
index 9a1ad04efe2..1b7249d44f4 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/U
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/U
@@ -21,20 +21,12 @@ internalField   uniform (0 0 0);
 
 boundaryField
 {
-    outlet
+    "(outlet|sides)"
     {
 
-        type            inletOutlet;
-        inletValue      uniform (0 0 0);
-        value           uniform (0 0 0);
-
-    }
-
-    sides
-    {
         type            pressureInletOutletVelocity;
-        outletValue     uniform (0 0 0);
         value           uniform (0 0 0);
+
     }
 
     base
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/Ydefault b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/Ydefault
index 74003f28f39..d73b8b17d47 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/Ydefault
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/Ydefault
@@ -21,29 +21,22 @@ internalField   uniform 0;
 
 boundaryField
 {
-    base
-    {
-        type            zeroGradient;
-    }
-
-    outlet
+    "(outlet|sides)"
     {
         type            inletOutlet;
         inletValue      $internalField;
         value           $internalField;
     }
 
-    inlet
+    base
     {
-        type            fixedValue;
-        value           uniform 0;
+        type            zeroGradient;
     }
 
-    sides
+    inlet
     {
-        type            inletOutlet;
-        inletValue      $internalField;
-        value           $internalField;
+        type            fixedValue;
+        value           uniform 0;
     }
 
     frontAndBack
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/alphat b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/alphat
index fe217e29ee3..fe72f149ee6 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/alphat
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/alphat
@@ -21,12 +21,7 @@ internalField   uniform 0;
 
 boundaryField
 {
-    outlet
-    {
-        type            zeroGradient;
-    }
-
-    sides
+    "(outlet|sides)"
     {
         type            zeroGradient;
     }
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/k b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/k
index 377a3d00905..0bdbb389bbb 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/k
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/k
@@ -21,11 +21,11 @@ internalField   uniform 1e-4;
 
 boundaryField
 {
-    outlet
+    "(outlet|sides)"
     {
         type            inletOutlet;
-        inletValue      uniform 1e-4;
-        value           uniform 1e-4;
+        inletValue      $internalField;
+        value           $internalField;
     }
 
     sides
@@ -37,14 +37,13 @@ boundaryField
 
     base
     {
-        type            fixedValue;
-        value           uniform 1e-4;
+        type            zeroGradient;
     }
 
     inlet
     {
         type            fixedValue;
-        value           uniform 1e-4;
+        value           $internalField;
     }
 
     frontAndBack
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/nut b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/nut
index d22df48d1b6..daead881550 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/nut
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/nut
@@ -21,12 +21,7 @@ internalField   uniform 0;
 
 boundaryField
 {
-    outlet
-    {
-        type            zeroGradient;
-    }
-
-    sides
+    "(outlet|sides)"
     {
         type            zeroGradient;
     }
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/p b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/p
index 85a1f09dc4d..b3a0399cf84 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/p
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/p
@@ -21,16 +21,10 @@ internalField   uniform 101325;
 
 boundaryField
 {
-    outlet
+    "(outlet|sides)"
     {
-        type            calculated;
-        value           $internalField;
-    }
-
-    sides
-    {
-        type            calculated;
-        value           $internalField;
+        type           calculated;
+        value          $internalField;
     }
 
     base
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/p_rgh b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/p_rgh
index d941becc551..5868c5276f5 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/p_rgh
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/p_rgh
@@ -21,13 +21,7 @@ internalField   uniform 101325;
 
 boundaryField
 {
-    outlet
-    {
-        type            fixedFluxPressure;
-        value           $internalField;
-    }
-
-    sides
+    "(outlet|sides)"
     {
         type            totalPressure;
         p0              $internalField;
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/polyMesh/boundary b/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/polyMesh/boundary
index 6a17bae1f0d..c653eec7b07 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/polyMesh/boundary
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/polyMesh/boundary
@@ -8,7 +8,7 @@
 FoamFile
 {
     version     2.0;
-    format      ascii;
+    format      binary;
     class       polyBoundaryMesh;
     location    "constant/polyMesh";
     object      boundary;
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/system/controlDict b/tutorials/combustion/fireFoam/les/smallPoolFire2D/system/controlDict
index 689f2a866c0..8cc9eb187a2 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/system/controlDict
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire2D/system/controlDict
@@ -32,7 +32,7 @@ writeInterval   0.1;
 
 purgeWrite      0;
 
-writeFormat     ascii;
+writeFormat     binary;
 
 writePrecision  6;
 
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/system/fvSchemes b/tutorials/combustion/fireFoam/les/smallPoolFire2D/system/fvSchemes
index 01608aaaa17..82cb86a5110 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/system/fvSchemes
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire2D/system/fvSchemes
@@ -28,9 +28,11 @@ gradSchemes
 divSchemes
 {
     default         none;
-    div(phi,U)      Gauss limitedLinear 1;
+
+    div(phi,U)      Gauss LUST grad(U);
+    div(phi,K)      Gauss linear;
     div(phi,k)      Gauss limitedLinear 1;
-    div(phi,Yi_h)  Gauss multivariateSelection
+    div(phi,Yi_h)   Gauss multivariateSelection
     {
         O2              limitedLinear01 1;
         CH4             limitedLinear01 1;
@@ -40,9 +42,6 @@ divSchemes
         h               limitedLinear 1;
     };
     div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
-    div(phi,omega)  Gauss limitedLinear 1;
-    div(phi,K)      Gauss limitedLinear 1;
-    div(U)          Gauss linear;
     div(Ji,Ii_h)    Gauss upwind;
 }
 
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/CH4 b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/CH4
index bb36a422a71..1e50a10a9f3 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/CH4
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/CH4
@@ -21,22 +21,18 @@ internalField   uniform 0;
 
 boundaryField
 {
-    outlet
+    "(outlet|sides)"
     {
         type            inletOutlet;
-        inletValue      uniform 0;
-        value           uniform 0;
-    }
-    sides
-    {
-        type            inletOutlet;
-        inletValue      uniform 0;
-        value           uniform 0;
+        inletValue      $internalField;
+        value           $internalField;
     }
+
     base
     {
         type            zeroGradient;
     }
+
     inlet
     {
         type            fixedValue;
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/N2 b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/N2
index f44c1424824..2313fa6d06c 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/N2
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/N2
@@ -21,21 +21,22 @@ internalField   uniform 0.76699;
 
 boundaryField
 {
-    outlet
-    {
-        type            calculated;
-    }
-    sides
+    "(outlet|sides)"
     {
         type            calculated;
+        value           $internalField;
     }
+
     base
     {
         type            calculated;
+        value           $internalField;
     }
+
     inlet
     {
         type            calculated;
+        value           $internalField;
     }
 }
 
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/O2 b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/O2
index a5dab92ad14..e73a7f5b4bf 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/O2
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/O2
@@ -21,31 +21,23 @@ internalField   uniform 0.23301;
 
 boundaryField
 {
-    outlet
-    {
-        type            inletOutlet;
-        inletValue      $internalField;
-        value           $internalField;
-    }
-    sides
+    "(outlet|sides)"
     {
         type            inletOutlet;
         inletValue      $internalField;
         value           $internalField;
     }
+
     base
     {
         type            zeroGradient;
     }
+
     inlet
     {
         type            fixedValue;
         value           uniform 0;
     }
-    frontBack
-    {
-        type            empty;
-    }
 }
 
 
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/T b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/T
index 7d8327178dc..290a8b977bb 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/T
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/T
@@ -21,28 +21,23 @@ internalField   uniform 300;
 
 boundaryField
 {
-    outlet
+    "(outlet|sides)"
     {
         type            inletOutlet;
-        inletValue      uniform 300;
-        value           uniform 300;
-    }
-    sides
-    {
-        type            inletOutlet;
-        inletValue      uniform 300;
-        value           uniform 300;
+        inletValue      $internalField;
+        value           $internalField;
     }
+
     base
     {
         type            zeroGradient;
     }
+
     inlet
     {
         type            fixedValue;
         value           uniform 300;
     }
-
 }
 
 
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/U b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/U
index 6cf63363790..459ab9f0866 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/U
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/U
@@ -21,31 +21,24 @@ internalField   uniform (0 0 0);
 
 boundaryField
 {
-    outlet
-    {
-
-        type            inletOutlet;
-        inletValue      uniform (0 0 0);
-        value           uniform (0 0 0);
-
-    }
-    sides
+    "(outlet|sides)"
     {
         type            pressureInletOutletVelocity;
         value           uniform (0 0 0);
         phi             phi;
     }
+
     base
     {
         type            fixedValue;
         value           uniform (0 0 0);
     }
+
     inlet
     {
         type            fixedValue;
         value           uniform (0 0.01 0);
     }
-
 }
 
 
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/Ydefault b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/Ydefault
index afa47eaadba..7bb9c5e5b3c 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/Ydefault
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/Ydefault
@@ -21,29 +21,22 @@ internalField   uniform 0;
 
 boundaryField
 {
-    base
-    {
-        type            zeroGradient;
-    }
-
-    outlet
+    "(outlet|sides)"
     {
         type            inletOutlet;
         inletValue      $internalField;
         value           $internalField;
     }
 
-    inlet
+    base
     {
-        type            fixedValue;
-        value           uniform 0;
+        type            zeroGradient;
     }
 
-    sides
+    inlet
     {
-        type            inletOutlet;
-        inletValue      $internalField;
-        value           $internalField;
+        type            fixedValue;
+        value           uniform 0;
     }
 }
 
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/alphat b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/alphat
index eee8d350d2d..36c7e93bef1 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/alphat
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/alphat
@@ -21,23 +21,20 @@ internalField   uniform 0;
 
 boundaryField
 {
-    outlet
-    {
-        type            zeroGradient;
-    }
-    sides
+    "(outlet|sides)"
     {
         type            zeroGradient;
     }
+
     base
     {
         type            zeroGradient;
     }
+
     inlet
     {
         type            zeroGradient;
     }
-
 }
 
 
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/k b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/k
index 89387dba538..f7dfe368bed 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/k
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/k
@@ -21,28 +21,23 @@ internalField   uniform 1e-4;
 
 boundaryField
 {
-    outlet
+    "(outlet|sides)"
     {
         type            inletOutlet;
-        inletValue      uniform 1e-4;
-        value           uniform 1e-4;
-    }
-    sides
-    {
-        type            inletOutlet;
-        inletValue      uniform 1e-4;
-        value           uniform 1e-4;
+        inletValue      $internalField;
+        value           $internalField;
     }
+
     base
     {
         type            zeroGradient;
     }
+
     inlet
     {
         type            fixedValue;
-        value           uniform 1e-4;
+        value           $internalField;
     }
-
 }
 
 
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/nut b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/nut
index f626af56683..66da1bd8027 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/nut
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/nut
@@ -21,18 +21,16 @@ internalField   uniform 0;
 
 boundaryField
 {
-    outlet
-    {
-        type            zeroGradient;
-    }
-    sides
+    "(outlet|sides)"
     {
         type            zeroGradient;
     }
+
     base
     {
         type            zeroGradient;
     }
+
     inlet
     {
         type            zeroGradient;
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/p b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/p
index f403fa62a9c..193f3414dd1 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/p
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/p
@@ -21,22 +21,18 @@ internalField   uniform 101325;
 
 boundaryField
 {
-    outlet
+    "(outlet|sides)"
     {
         type           calculated;
         value          $internalField;
     }
 
-    sides
-    {
-        type           calculated;
-        value          $internalField;
-    }
     base
     {
         type           calculated;
         value          $internalField;
     }
+
     inlet
     {
         type           calculated;
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/p_rgh b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/p_rgh
index 420c10de474..15a149ba614 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/p_rgh
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/p_rgh
@@ -21,12 +21,7 @@ internalField   uniform 101325;
 
 boundaryField
 {
-    outlet
-    {
-        type            fixedFluxPressure;
-        value           $internalField;
-    }
-    sides
+    "(outlet|sides)"
     {
         type            totalPressure;
         p0              $internalField;
@@ -34,14 +29,16 @@ boundaryField
         phi             phi;
         rho             rho;
         psi             none;
-        gamma           0;
+        gamma           1;
         value           $internalField;
     }
+
     base
     {
         type            fixedFluxPressure;
         value           $internalField;
     }
+
     inlet
     {
         type            fixedFluxPressure;
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/system/controlDict b/tutorials/combustion/fireFoam/les/smallPoolFire3D/system/controlDict
index bae6296f205..46fecf30340 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire3D/system/controlDict
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire3D/system/controlDict
@@ -32,7 +32,7 @@ writeInterval   0.1;
 
 purgeWrite      0;
 
-writeFormat     ascii;
+writeFormat     binary;
 
 writePrecision  6;
 
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/system/fvSchemes b/tutorials/combustion/fireFoam/les/smallPoolFire3D/system/fvSchemes
index a713ce9d93e..82cb86a5110 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire3D/system/fvSchemes
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire3D/system/fvSchemes
@@ -27,11 +27,12 @@ gradSchemes
 
 divSchemes
 {
-    default        none;
-    div(phi,U)      Gauss linear;
+    default         none;
+
+    div(phi,U)      Gauss LUST grad(U);
     div(phi,K)      Gauss linear;
     div(phi,k)      Gauss limitedLinear 1;
-    div(phi,Yi_h) Gauss multivariateSelection
+    div(phi,Yi_h)   Gauss multivariateSelection
     {
         O2              limitedLinear01 1;
         CH4             limitedLinear01 1;
-- 
GitLab


From 06f565569d10bec5dc0e856c0a334ffb35e393f0 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 13 Nov 2015 14:33:34 +0000
Subject: [PATCH 061/141] steadyStateDdtScheme: Correct dimensions of
 fvcDdtUfCorr Resolves bug-report
 http://www.openfoam.org/mantisbt/view.php?id=1913

---
 .../ddtSchemes/steadyStateDdtScheme/steadyStateDdtScheme.C      | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/steadyStateDdtScheme/steadyStateDdtScheme.C b/src/finiteVolume/finiteVolume/ddtSchemes/steadyStateDdtScheme/steadyStateDdtScheme.C
index 3ac456d5552..3e2ec1350af 100644
--- a/src/finiteVolume/finiteVolume/ddtSchemes/steadyStateDdtScheme/steadyStateDdtScheme.C
+++ b/src/finiteVolume/finiteVolume/ddtSchemes/steadyStateDdtScheme/steadyStateDdtScheme.C
@@ -294,7 +294,7 @@ steadyStateDdtScheme<Type>::fvcDdtUfCorr
             dimensioned<typename flux<Type>::type>
             (
                 "0",
-                mesh().Sf().dimensions()*Uf.dimensions()*dimArea/dimTime,
+                Uf.dimensions()*dimArea/dimTime,
                 pTraits<typename flux<Type>::type>::zero
             )
         )
-- 
GitLab


From 58127cae71ce509d6b9d0a7c53c4da53a87cb9f8 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 13 Nov 2015 15:48:39 +0000
Subject: [PATCH 062/141] tutorials/mesh/foamyHexMesh: Update location of
 blockMeshDict

---
 .../polyMesh => system/backgroundMeshDecomposition}/blockMeshDict | 0
 .../polyMesh => system/backgroundMeshDecomposition}/blockMeshDict | 0
 .../polyMesh => system/backgroundMeshDecomposition}/blockMeshDict | 0
 3 files changed, 0 insertions(+), 0 deletions(-)
 rename tutorials/mesh/foamyHexMesh/blob/{constant/backgroundMeshDecomposition/polyMesh => system/backgroundMeshDecomposition}/blockMeshDict (100%)
 rename tutorials/mesh/foamyHexMesh/flange/{constant/backgroundMeshDecomposition/polyMesh => system/backgroundMeshDecomposition}/blockMeshDict (100%)
 rename tutorials/mesh/foamyHexMesh/mixerVessel/{constant/backgroundMeshDecomposition/polyMesh => system/backgroundMeshDecomposition}/blockMeshDict (100%)

diff --git a/tutorials/mesh/foamyHexMesh/blob/constant/backgroundMeshDecomposition/polyMesh/blockMeshDict b/tutorials/mesh/foamyHexMesh/blob/system/backgroundMeshDecomposition/blockMeshDict
similarity index 100%
rename from tutorials/mesh/foamyHexMesh/blob/constant/backgroundMeshDecomposition/polyMesh/blockMeshDict
rename to tutorials/mesh/foamyHexMesh/blob/system/backgroundMeshDecomposition/blockMeshDict
diff --git a/tutorials/mesh/foamyHexMesh/flange/constant/backgroundMeshDecomposition/polyMesh/blockMeshDict b/tutorials/mesh/foamyHexMesh/flange/system/backgroundMeshDecomposition/blockMeshDict
similarity index 100%
rename from tutorials/mesh/foamyHexMesh/flange/constant/backgroundMeshDecomposition/polyMesh/blockMeshDict
rename to tutorials/mesh/foamyHexMesh/flange/system/backgroundMeshDecomposition/blockMeshDict
diff --git a/tutorials/mesh/foamyHexMesh/mixerVessel/constant/backgroundMeshDecomposition/polyMesh/blockMeshDict b/tutorials/mesh/foamyHexMesh/mixerVessel/system/backgroundMeshDecomposition/blockMeshDict
similarity index 100%
rename from tutorials/mesh/foamyHexMesh/mixerVessel/constant/backgroundMeshDecomposition/polyMesh/blockMeshDict
rename to tutorials/mesh/foamyHexMesh/mixerVessel/system/backgroundMeshDecomposition/blockMeshDict
-- 
GitLab


From 93002626c01d3390fd19826bd73323cd4dc2202b Mon Sep 17 00:00:00 2001
From: Chris Greenshields <http://cfd.direct>
Date: Fri, 13 Nov 2015 16:05:59 +0000
Subject: [PATCH 063/141] blockMeshDict files moved to system directory (new
 default location) in template cases and unit test cases

---
 .../pipe1D/{constant/polyMesh => system}/blockMeshDict            | 0
 .../hexRef8/block/{constant/polyMesh => system}/blockMeshDict     | 0
 .../cavity_pinched/{constant/polyMesh => system}/blockMeshDict    | 0
 .../volField/cavity/{constant/polyMesh => system}/blockMeshDict   | 0
 .../axisymmetricJet/{constant/polyMesh => system}/blockMeshDict   | 0
 .../closedVolume/{constant/polyMesh => system}/blockMeshDict      | 0
 .../{constant/polyMesh => system}/blockMeshDict                   | 0
 .../{constant/polyMesh => system}/blockMeshDict                   | 0
 .../inflowOutflow/{constant/polyMesh => system}/blockMeshDict     | 0
 .../{constant/polyMesh => system}/blockMeshDict                   | 0
 10 files changed, 0 insertions(+), 0 deletions(-)
 rename applications/test/fieldMapping/pipe1D/{constant/polyMesh => system}/blockMeshDict (100%)
 rename applications/test/hexRef8/block/{constant/polyMesh => system}/blockMeshDict (100%)
 rename applications/test/patchRegion/cavity_pinched/{constant/polyMesh => system}/blockMeshDict (100%)
 rename applications/test/volField/cavity/{constant/polyMesh => system}/blockMeshDict (100%)
 rename etc/templates/axisymmetricJet/{constant/polyMesh => system}/blockMeshDict (100%)
 rename etc/templates/closedVolume/{constant/polyMesh => system}/blockMeshDict (100%)
 rename etc/templates/closedVolumeRotating/{constant/polyMesh => system}/blockMeshDict (100%)
 rename etc/templates/compressibleInflowOutflow/{constant/polyMesh => system}/blockMeshDict (100%)
 rename etc/templates/inflowOutflow/{constant/polyMesh => system}/blockMeshDict (100%)
 rename etc/templates/inflowOutflowRotating/{constant/polyMesh => system}/blockMeshDict (100%)

diff --git a/applications/test/fieldMapping/pipe1D/constant/polyMesh/blockMeshDict b/applications/test/fieldMapping/pipe1D/system/blockMeshDict
similarity index 100%
rename from applications/test/fieldMapping/pipe1D/constant/polyMesh/blockMeshDict
rename to applications/test/fieldMapping/pipe1D/system/blockMeshDict
diff --git a/applications/test/hexRef8/block/constant/polyMesh/blockMeshDict b/applications/test/hexRef8/block/system/blockMeshDict
similarity index 100%
rename from applications/test/hexRef8/block/constant/polyMesh/blockMeshDict
rename to applications/test/hexRef8/block/system/blockMeshDict
diff --git a/applications/test/patchRegion/cavity_pinched/constant/polyMesh/blockMeshDict b/applications/test/patchRegion/cavity_pinched/system/blockMeshDict
similarity index 100%
rename from applications/test/patchRegion/cavity_pinched/constant/polyMesh/blockMeshDict
rename to applications/test/patchRegion/cavity_pinched/system/blockMeshDict
diff --git a/applications/test/volField/cavity/constant/polyMesh/blockMeshDict b/applications/test/volField/cavity/system/blockMeshDict
similarity index 100%
rename from applications/test/volField/cavity/constant/polyMesh/blockMeshDict
rename to applications/test/volField/cavity/system/blockMeshDict
diff --git a/etc/templates/axisymmetricJet/constant/polyMesh/blockMeshDict b/etc/templates/axisymmetricJet/system/blockMeshDict
similarity index 100%
rename from etc/templates/axisymmetricJet/constant/polyMesh/blockMeshDict
rename to etc/templates/axisymmetricJet/system/blockMeshDict
diff --git a/etc/templates/closedVolume/constant/polyMesh/blockMeshDict b/etc/templates/closedVolume/system/blockMeshDict
similarity index 100%
rename from etc/templates/closedVolume/constant/polyMesh/blockMeshDict
rename to etc/templates/closedVolume/system/blockMeshDict
diff --git a/etc/templates/closedVolumeRotating/constant/polyMesh/blockMeshDict b/etc/templates/closedVolumeRotating/system/blockMeshDict
similarity index 100%
rename from etc/templates/closedVolumeRotating/constant/polyMesh/blockMeshDict
rename to etc/templates/closedVolumeRotating/system/blockMeshDict
diff --git a/etc/templates/compressibleInflowOutflow/constant/polyMesh/blockMeshDict b/etc/templates/compressibleInflowOutflow/system/blockMeshDict
similarity index 100%
rename from etc/templates/compressibleInflowOutflow/constant/polyMesh/blockMeshDict
rename to etc/templates/compressibleInflowOutflow/system/blockMeshDict
diff --git a/etc/templates/inflowOutflow/constant/polyMesh/blockMeshDict b/etc/templates/inflowOutflow/system/blockMeshDict
similarity index 100%
rename from etc/templates/inflowOutflow/constant/polyMesh/blockMeshDict
rename to etc/templates/inflowOutflow/system/blockMeshDict
diff --git a/etc/templates/inflowOutflowRotating/constant/polyMesh/blockMeshDict b/etc/templates/inflowOutflowRotating/system/blockMeshDict
similarity index 100%
rename from etc/templates/inflowOutflowRotating/constant/polyMesh/blockMeshDict
rename to etc/templates/inflowOutflowRotating/system/blockMeshDict
-- 
GitLab


From 8726cf20a05566c5f932380e55c6f90291490e3a Mon Sep 17 00:00:00 2001
From: Chris Greenshields <http://cfd.direct>
Date: Fri, 13 Nov 2015 16:09:57 +0000
Subject: [PATCH 064/141] blockMeshDict files: removed redundant location
 entries in FoamFile headers

---
 .../coalChemistryFoam/simplifiedSiwek/system/blockMeshDict       | 1 -
 .../reactingParcelFilmFoam/rivuletPanel/system/blockMeshDict     | 1 -
 .../reactingParcelFilmFoam/splashPanel/system/blockMeshDict      | 1 -
 .../lagrangian/reactingParcelFoam/filter/system/blockMeshDict    | 1 -
 .../reactingParcelFoam/verticalChannel/system/blockMeshDict      | 1 -
 .../reactingParcelFoam/verticalChannelLTS/system/blockMeshDict   | 1 -
 .../verticalChannel/system/blockMeshDict                         | 1 -
 .../interPhaseChangeFoam/cavitatingBullet/system/blockMeshDict   | 1 -
 8 files changed, 8 deletions(-)

diff --git a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/system/blockMeshDict b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/system/blockMeshDict
index d01b982bc24..3940ac35e6b 100644
--- a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/system/blockMeshDict
+++ b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/system/blockMeshDict
@@ -10,7 +10,6 @@ FoamFile
     version     2.0;
     format      ascii;
     class       dictionary;
-    location    "constant/polyMesh";
     object      blockMeshDict;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/blockMeshDict b/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/blockMeshDict
index d1438f1da67..0c932e74160 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/blockMeshDict
+++ b/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/system/blockMeshDict
@@ -10,7 +10,6 @@ FoamFile
     version     2.0;
     format      ascii;
     class       dictionary;
-    location    "constant/polyMesh";
     object      blockMeshDict;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/blockMeshDict b/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/blockMeshDict
index 88d4bbb5d59..c482f039ed0 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/blockMeshDict
+++ b/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/blockMeshDict
@@ -10,7 +10,6 @@ FoamFile
     version     2.0;
     format      ascii;
     class       dictionary;
-    location    "constant/polyMesh";
     object      blockMeshDict;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/tutorials/lagrangian/reactingParcelFoam/filter/system/blockMeshDict b/tutorials/lagrangian/reactingParcelFoam/filter/system/blockMeshDict
index ae16964f935..9cbefcd5f52 100644
--- a/tutorials/lagrangian/reactingParcelFoam/filter/system/blockMeshDict
+++ b/tutorials/lagrangian/reactingParcelFoam/filter/system/blockMeshDict
@@ -10,7 +10,6 @@ FoamFile
     version     2.0;
     format      ascii;
     class       dictionary;
-    location    "constant/polyMesh";
     object      blockMeshDict;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/system/blockMeshDict b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/system/blockMeshDict
index 47e0eb9f8ca..57b6ec3c3bd 100644
--- a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/system/blockMeshDict
+++ b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/system/blockMeshDict
@@ -9,7 +9,6 @@ FoamFile
 {
     version         2.0;
     format          ascii;
-    location        "";
     note            "Created Wed Jul  1 19:20:21 2009. Blocks = 8, cells = 9340, vertices = 36";
     class           dictionary;
     object          blockMeshDict;
diff --git a/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/system/blockMeshDict b/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/system/blockMeshDict
index 47e0eb9f8ca..57b6ec3c3bd 100644
--- a/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/system/blockMeshDict
+++ b/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/system/blockMeshDict
@@ -9,7 +9,6 @@ FoamFile
 {
     version         2.0;
     format          ascii;
-    location        "";
     note            "Created Wed Jul  1 19:20:21 2009. Blocks = 8, cells = 9340, vertices = 36";
     class           dictionary;
     object          blockMeshDict;
diff --git a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/system/blockMeshDict b/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/system/blockMeshDict
index 47e0eb9f8ca..57b6ec3c3bd 100644
--- a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/system/blockMeshDict
+++ b/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/system/blockMeshDict
@@ -9,7 +9,6 @@ FoamFile
 {
     version         2.0;
     format          ascii;
-    location        "";
     note            "Created Wed Jul  1 19:20:21 2009. Blocks = 8, cells = 9340, vertices = 36";
     class           dictionary;
     object          blockMeshDict;
diff --git a/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/system/blockMeshDict b/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/system/blockMeshDict
index a88ee223dcf..b4dea658427 100644
--- a/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/system/blockMeshDict
+++ b/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/system/blockMeshDict
@@ -10,7 +10,6 @@ FoamFile
     version     2.0;
     format      ascii;
     class       dictionary;
-    location    "constant";
     object      blockMeshDict;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-- 
GitLab


From ad24568623219d93386dc4fcf625cb2372a7c9d4 Mon Sep 17 00:00:00 2001
From: Chris Greenshields <http://cfd.direct>
Date: Fri, 13 Nov 2015 16:59:58 +0000
Subject: [PATCH 065/141] Redundant boundary.org files removed from tutorial
 cases

---
 tutorials/basic/laplacianFoam/flange/Allclean |  1 +
 .../flange/constant/polyMesh/boundary         | 46 -------------
 .../flange/constant/polyMesh/boundary.org     | 52 --------------
 .../sonicFoam/ras/nacaAirfoil/Allclean        | 10 +++
 .../sonicFoam/ras/nacaAirfoil/Allrun          |  5 +-
 .../nacaAirfoil/constant/polyMesh/boundary    | 48 -------------
 .../constant/polyMesh/boundary.org            | 51 --------------
 .../incompressible/icoFoam/elbow/Allclean     |  2 +-
 .../elbow/constant/polyMesh/boundary.org      | 67 -------------------
 9 files changed, 13 insertions(+), 269 deletions(-)
 delete mode 100644 tutorials/basic/laplacianFoam/flange/constant/polyMesh/boundary
 delete mode 100644 tutorials/basic/laplacianFoam/flange/constant/polyMesh/boundary.org
 create mode 100755 tutorials/compressible/sonicFoam/ras/nacaAirfoil/Allclean
 delete mode 100644 tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/polyMesh/boundary
 delete mode 100644 tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/polyMesh/boundary.org
 delete mode 100644 tutorials/incompressible/icoFoam/elbow/constant/polyMesh/boundary.org

diff --git a/tutorials/basic/laplacianFoam/flange/Allclean b/tutorials/basic/laplacianFoam/flange/Allclean
index b8da3681d1c..e6ee925badb 100755
--- a/tutorials/basic/laplacianFoam/flange/Allclean
+++ b/tutorials/basic/laplacianFoam/flange/Allclean
@@ -6,5 +6,6 @@ cd ${0%/*} || exit 1    # Run from this directory
 
 cleanCase
 rm -rf EnSight Ensight Fieldview > /dev/null 2>&1
+rm -f constant/polyMesh/boundary > /dev/null 2>&1
 
 # ----------------------------------------------------------------- end-of-file
diff --git a/tutorials/basic/laplacianFoam/flange/constant/polyMesh/boundary b/tutorials/basic/laplacianFoam/flange/constant/polyMesh/boundary
deleted file mode 100644
index c97383b613a..00000000000
--- a/tutorials/basic/laplacianFoam/flange/constant/polyMesh/boundary
+++ /dev/null
@@ -1,46 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    patch1
-    {
-        type            patch;
-        nFaces          2440;
-        startFace       15316;
-    }
-    patch2
-    {
-        type            patch;
-        nFaces          348;
-        startFace       17756;
-    }
-    patch3
-    {
-        type            patch;
-        nFaces          96;
-        startFace       18104;
-    }
-    patch4
-    {
-        type            patch;
-        nFaces          384;
-        startFace       18200;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/basic/laplacianFoam/flange/constant/polyMesh/boundary.org b/tutorials/basic/laplacianFoam/flange/constant/polyMesh/boundary.org
deleted file mode 100644
index 52a48b950a5..00000000000
--- a/tutorials/basic/laplacianFoam/flange/constant/polyMesh/boundary.org
+++ /dev/null
@@ -1,52 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    patch1
-    {
-        type            patch;
-        physicalType    adiabatic;
-        startFace       15316;
-        nFaces          2440;
-    }
-
-    patch2
-    {
-        type            patch;
-        physicalType    fixedTemp;
-        startFace       17756;
-        nFaces          348;
-    }
-
-    patch3
-    {
-        type            patch;
-        physicalType    adiabatic;
-        startFace       18104;
-        nFaces          96;
-    }
-
-    patch4
-    {
-        type            patch;
-        physicalType    fixedTemp;
-        startFace       18200;
-        nFaces          384;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/Allclean b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/Allclean
new file mode 100755
index 00000000000..edae5c37f5a
--- /dev/null
+++ b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/Allclean
@@ -0,0 +1,10 @@
+#!/bin/sh
+cd ${0%/*} || exit 1    # Run from this directory
+
+# Source tutorial clean functions
+. $WM_PROJECT_DIR/bin/tools/CleanFunctions
+
+cleanCase
+rm -f constant/polyMesh/boundary > /dev/null 2>&1
+
+# ----------------------------------------------------------------- end-of-file
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/Allrun b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/Allrun
index 4e85cda825b..dd782a71965 100755
--- a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/Allrun
+++ b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/Allrun
@@ -9,10 +9,7 @@ application=`getApplication`
 
 runApplication star3ToFoam prostar/nacaAirfoil
 
-mv constant/polyMesh/boundary temp
-sed -e s/"\([\t ]*type[\t ]*\)symmetryPlane"/"\1empty"/g \
-    temp > constant/polyMesh/boundary
-rm temp
+sed -i 's/symmetry\([)]*;\)/empty\1/' constant/polyMesh/boundary
 
 runApplication $application
 
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/polyMesh/boundary b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/polyMesh/boundary
deleted file mode 100644
index becd8320f7b..00000000000
--- a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/polyMesh/boundary
+++ /dev/null
@@ -1,48 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    INLE1
-    {
-        type            patch;
-        nFaces          400;
-        startFace       79570;
-    }
-    OUTL2
-    {
-        type            patch;
-        nFaces          200;
-        startFace       79970;
-    }
-    SYMP3
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          80000;
-        startFace       80170;
-    }
-    WALL10
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          260;
-        startFace       160170;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/polyMesh/boundary.org b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/polyMesh/boundary.org
deleted file mode 100644
index f20d97eab57..00000000000
--- a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/polyMesh/boundary.org
+++ /dev/null
@@ -1,51 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-(
-    INLE1
-    {
-        type            patch;
-        physicalType    supersonicFreestream;
-        startFace       79570;
-        nFaces          400;
-    }
-
-    OUTL2
-    {
-        type            patch;
-        physicalType    pressureTransmissiveOutlet;
-        startFace       79970;
-        nFaces          200;
-    }
-
-    SYMP3
-    {
-        type            empty;
-        physicalType    empty;
-        startFace       80170;
-        nFaces          80000;
-    }
-
-    WALL10
-    {
-        type            wall;
-        physicalType    adiabaticWallFunctions;
-        startFace       160170;
-        nFaces          260;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/icoFoam/elbow/Allclean b/tutorials/incompressible/icoFoam/elbow/Allclean
index b44622ae697..e44a03c204a 100755
--- a/tutorials/incompressible/icoFoam/elbow/Allclean
+++ b/tutorials/incompressible/icoFoam/elbow/Allclean
@@ -4,7 +4,7 @@ cd ${0%/*} || exit 1    # Run from this directory
 # Source tutorial clean functions
 . $WM_PROJECT_DIR/bin/tools/CleanFunctions
 
-rm -f constant/polyMesh/boundary
+rm -f constant/polyMesh/boundary > /dev/null 2>&1
 rm -rf fluentInterface
 cleanCase
 
diff --git a/tutorials/incompressible/icoFoam/elbow/constant/polyMesh/boundary.org b/tutorials/incompressible/icoFoam/elbow/constant/polyMesh/boundary.org
deleted file mode 100644
index b1349beb722..00000000000
--- a/tutorials/incompressible/icoFoam/elbow/constant/polyMesh/boundary.org
+++ /dev/null
@@ -1,67 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-(    wall-4
-    {
-        type            wall;
-        physicalType    wall;
-        startFace       1300;
-        nFaces          100;
-    }
-
-    velocity-inlet-5
-    {
-        type            patch;
-        physicalType    inlet;
-        startFace       1400;
-        nFaces          8;
-    }
-
-    velocity-inlet-6
-    {
-        type            patch;
-        physicalType    inlet;
-        startFace       1408;
-        nFaces          4;
-    }
-
-    pressure-outlet-7
-    {
-        type            patch;
-        physicalType    outlet;
-        startFace       1412;
-        nFaces          8;
-    }
-
-    wall-8
-    {
-        type            wall;
-        physicalType    wall;
-        startFace       1420;
-        nFaces          34;
-    }
-
-    frontAndBackPlanes
-    {
-        type            empty;
-        physicalType    empty;
-        startFace       1454;
-        nFaces          1836;
-    }
-
-)
-
-// ************************************************************************* //
-- 
GitLab


From cbb8e1dbbb73699f7b34dbdc3a8d3c817b32cd29 Mon Sep 17 00:00:00 2001
From: Chris Greenshields <http://cfd.direct>
Date: Fri, 13 Nov 2015 17:44:06 +0000
Subject: [PATCH 066/141] closedVolume template case: removed word entries from
 dimensionedScalars in transportProperties

---
 .../closedVolume/constant/transportProperties          | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/etc/templates/closedVolume/constant/transportProperties b/etc/templates/closedVolume/constant/transportProperties
index e51fc898337..51c3b03db5c 100644
--- a/etc/templates/closedVolume/constant/transportProperties
+++ b/etc/templates/closedVolume/constant/transportProperties
@@ -17,18 +17,18 @@ FoamFile
 transportModel Newtonian;
 
 // Laminar viscosity
-nu              nu [0 2 -1 0 0 0 0] 1e-05;
+nu              [0 2 -1 0 0 0 0] 1e-05;
 
 // Thermal expansion coefficient
-beta            beta [0 0 0 -1 0 0 0] 3e-03;
+beta            [0 0 0 -1 0 0 0] 3e-03;
 
 // Reference temperature
-TRef            TRef [0 0 0 1 0 0 0] 300;
+TRef            [0 0 0 1 0 0 0] 300;
 
 // Laminar Prandtl number
-Pr              Pr [0 0 0 0 0 0 0] 0.9;
+Pr              [0 0 0 0 0 0 0] 0.9;
 
 // Turbulent Prandtl number
-Prt             Prt [0 0 0 0 0 0 0] 0.7;
+Prt             [0 0 0 0 0 0 0] 0.7;
 
 // ************************************************************************* //
-- 
GitLab


From 13635c55906fa0b8cecb183413bb71ee5befbcec Mon Sep 17 00:00:00 2001
From: Chris Greenshields <http://cfd.direct>
Date: Fri, 13 Nov 2015 18:25:05 +0000
Subject: [PATCH 067/141] template cases: moved blockMeshDict.extPatches to
 system directory

---
 .../{constant/polyMesh => system}/blockMeshDict.extPatches        | 0
 .../{constant/polyMesh => system}/blockMeshDict.extPatches        | 0
 .../{constant/polyMesh => system}/blockMeshDict.extPatches        | 0
 3 files changed, 0 insertions(+), 0 deletions(-)
 rename etc/templates/compressibleInflowOutflow/{constant/polyMesh => system}/blockMeshDict.extPatches (100%)
 rename etc/templates/inflowOutflow/{constant/polyMesh => system}/blockMeshDict.extPatches (100%)
 rename etc/templates/inflowOutflowRotating/{constant/polyMesh => system}/blockMeshDict.extPatches (100%)

diff --git a/etc/templates/compressibleInflowOutflow/constant/polyMesh/blockMeshDict.extPatches b/etc/templates/compressibleInflowOutflow/system/blockMeshDict.extPatches
similarity index 100%
rename from etc/templates/compressibleInflowOutflow/constant/polyMesh/blockMeshDict.extPatches
rename to etc/templates/compressibleInflowOutflow/system/blockMeshDict.extPatches
diff --git a/etc/templates/inflowOutflow/constant/polyMesh/blockMeshDict.extPatches b/etc/templates/inflowOutflow/system/blockMeshDict.extPatches
similarity index 100%
rename from etc/templates/inflowOutflow/constant/polyMesh/blockMeshDict.extPatches
rename to etc/templates/inflowOutflow/system/blockMeshDict.extPatches
diff --git a/etc/templates/inflowOutflowRotating/constant/polyMesh/blockMeshDict.extPatches b/etc/templates/inflowOutflowRotating/system/blockMeshDict.extPatches
similarity index 100%
rename from etc/templates/inflowOutflowRotating/constant/polyMesh/blockMeshDict.extPatches
rename to etc/templates/inflowOutflowRotating/system/blockMeshDict.extPatches
-- 
GitLab


From d98136e12281c7bf55e512a969256e7621954184 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 13 Nov 2015 20:05:37 +0000
Subject: [PATCH 068/141] tutorials: Removed unnecessary "boundary" files

---
 bin/tools/CleanFunctions                      |   7 +-
 .../cylinder/constant/polyMesh/boundary       |  62 --
 .../pitzDaily/constant/polyMesh/boundary      |  55 --
 .../constant/polyMesh/boundary                |  53 --
 .../constant/polyMesh/boundary                |  47 -
 .../movingCone/constant/polyMesh/boundary     |  75 --
 .../constant/polyMesh/boundary                |  64 --
 .../obliqueShock/constant/polyMesh/boundary   |  52 --
 .../shockTube/constant/polyMesh/boundary      |  35 -
 .../les/pitzDaily/constant/polyMesh/boundary  |  55 --
 .../ras/angledDuct/constant/polyMesh/boundary |  62 --
 .../angledDuctLTS/constant/polyMesh/boundary  |  62 --
 .../ras/angledDuctLTS/system/blockMeshDict    | 123 ---
 .../mixerVessel2D/constant/polyMesh/boundary  |  50 --
 .../angledDuctExplicit/system/blockMeshDict   | 123 ---
 .../constant/polyMesh/boundary                |  62 --
 .../angledDuctImplicit/system/blockMeshDict   | 123 ---
 .../constant/polyMesh/boundary                |  62 --
 .../squareBend/constant/polyMesh/boundary     |  41 -
 .../movingCone/constant/polyMesh/boundary     |  75 --
 .../forwardStep/constant/polyMesh/boundary    |  61 --
 .../shockTube/constant/polyMesh/boundary      |  35 -
 .../constant/polyMesh/boundary                |  55 --
 .../europeanCall/constant/polyMesh/boundary   |  41 -
 .../buoyantCavity/constant/polyMesh/boundary  |  50 --
 .../constant/polyMesh/boundary                |  50 --
 .../constant/polyMesh/boundary                |  50 --
 .../constant/polyMesh/boundary                |  50 --
 .../constant/polyMesh/boundary                |  62 --
 .../constant/polyMesh/boundary                |  62 --
 .../rotor2D/constant/polyMesh/boundary        |  49 --
 .../constant/polyMesh/boundary                |  61 --
 .../constant/polyMesh/boundary                |  61 --
 .../pitzDaily/constant/polyMesh/boundary      |  55 --
 .../motorBike/constant/polyMesh/boundary      |  62 --
 .../les/pitzDaily/constant/polyMesh/boundary  |  55 --
 .../ras/cavity/constant/polyMesh/boundary     |  43 -
 .../constant/polyMesh/boundary                |  58 --
 .../mixerVessel2D/constant/polyMesh/boundary  |  48 -
 .../rotorDisk/constant/polyMesh/boundary      |  42 -
 .../constant/polyMesh/boundary                |  36 -
 .../constant/polyMesh/boundary                |  47 -
 .../parcelInBox/constant/polyMesh/boundary    |  54 --
 .../constant/polyMesh/boundary                |  61 --
 .../aachenBomb/constant/polyMesh/boundary     |  28 -
 .../sloshingTank2D/constant/polyMesh/boundary |  42 -
 .../depthCharge2D/constant/polyMesh/boundary  |  36 -
 .../depthCharge3D/constant/polyMesh/boundary  |  28 -
 .../damBreak4phase/constant/polyMesh/boundary |  56 --
 .../ras/dahl/constant/polyMesh/boundary       |  61 --
 .../mixerVessel2D/constant/polyMesh/boundary  |  50 --
 .../floatingObject/constant/polyMesh/boundary |  42 -
 .../sloshingTank2D/constant/polyMesh/boundary |  42 -
 .../constant/polyMesh/boundary                |  42 -
 .../sloshingTank3D/constant/polyMesh/boundary |  28 -
 .../constant/polyMesh/boundary                |  28 -
 .../constant/polyMesh/boundary                |  28 -
 .../testTubeMixer/constant/polyMesh/boundary  |  28 -
 .../capillaryRise/constant/polyMesh/boundary  |  48 -
 .../mixerVessel2D/constant/polyMesh/boundary  |  50 --
 .../ras/angledDuct/constant/polyMesh/boundary |  62 --
 .../ras/damBreak/constant/polyMesh/boundary   |  56 --
 .../constant/polyMesh/boundary                |  88 --
 .../weirOverflow/constant/polyMesh/boundary   |  53 --
 .../damBreak/constant/polyMesh/boundary       |  53 --
 .../propeller/constant/polyMesh/boundary      |  89 --
 .../constant/polyMesh/boundary                |  48 -
 .../bubbleColumn/constant/polyMesh/boundary   |  48 -
 .../damBreak4phase/constant/polyMesh/boundary |  56 --
 .../constant/polyMesh/boundary                |  56 --
 .../mixerVessel2D/constant/polyMesh/boundary  |  50 --
 .../constant/polyMesh/boundary                |  70 --
 .../damBreak4phase/constant/polyMesh/boundary |  56 --
 .../constant/polyMesh/boundary                |  53 --
 .../mixerVessel2D/constant/polyMesh/boundary  |  50 --
 .../oscillatingBox/constant/polyMesh/boundary |  71 --
 .../bubbleColumn/constant/polyMesh/boundary   |  48 -
 .../mixerVessel2D/constant/polyMesh/boundary  |  50 --
 .../bubbleColumn/constant/polyMesh/boundary   |  48 -
 .../bubbleColumn/constant/polyMesh/boundary   |  48 -
 .../constant/polyMesh/boundary                |  48 -
 .../fluidisedBed/constant/polyMesh/boundary   |  48 -
 .../bubbleColumn/constant/polyMesh/boundary   |  48 -
 .../constant/polyMesh/boundary                |  48 -
 .../constant/polyMesh/boundary                |  48 -
 .../constant/polyMesh/boundary                |  48 -
 .../fluidisedBed/constant/polyMesh/boundary   |  48 -
 .../injection/constant/polyMesh/boundary      |  42 -
 .../mixerVessel2D/constant/polyMesh/boundary  |  50 --
 .../mixerVessel2D/system/blockMeshDict        | 818 ------------------
 .../bubbleColumn/constant/polyMesh/boundary   |  48 -
 .../bubbleColumn/constant/polyMesh/boundary   |  48 -
 .../fluidisedBed/constant/polyMesh/boundary   |  48 -
 .../bubbleColumn/constant/polyMesh/boundary   |  48 -
 .../constant/polyMesh/boundary                |  48 -
 .../fluidisedBed/constant/polyMesh/boundary   |  48 -
 .../injection/constant/polyMesh/boundary      |  42 -
 .../mixerVessel2D/constant/polyMesh/boundary  |  50 --
 .../plateHole/constant/polyMesh/boundary      |  58 --
 .../beamEndLoad/constant/polyMesh/boundary    |  52 --
 100 files changed, 4 insertions(+), 6058 deletions(-)
 delete mode 100644 tutorials/basic/potentialFoam/cylinder/constant/polyMesh/boundary
 delete mode 100644 tutorials/basic/potentialFoam/pitzDaily/constant/polyMesh/boundary
 delete mode 100644 tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/polyMesh/boundary
 delete mode 100644 tutorials/combustion/reactingFoam/ras/counterFlowFlame2DLTS/constant/polyMesh/boundary
 delete mode 100644 tutorials/compressible/rhoCentralDyMFoam/movingCone/constant/polyMesh/boundary
 delete mode 100644 tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/polyMesh/boundary
 delete mode 100644 tutorials/compressible/rhoCentralFoam/obliqueShock/constant/polyMesh/boundary
 delete mode 100644 tutorials/compressible/rhoCentralFoam/shockTube/constant/polyMesh/boundary
 delete mode 100644 tutorials/compressible/rhoPimpleFoam/les/pitzDaily/constant/polyMesh/boundary
 delete mode 100644 tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/polyMesh/boundary
 delete mode 100644 tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/constant/polyMesh/boundary
 delete mode 100644 tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/system/blockMeshDict
 delete mode 100644 tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/polyMesh/boundary
 delete mode 100644 tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/blockMeshDict
 delete mode 100644 tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/polyMesh/boundary
 delete mode 100644 tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/blockMeshDict
 delete mode 100644 tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/polyMesh/boundary
 delete mode 100644 tutorials/compressible/rhoSimpleFoam/squareBend/constant/polyMesh/boundary
 delete mode 100644 tutorials/compressible/sonicDyMFoam/movingCone/constant/polyMesh/boundary
 delete mode 100644 tutorials/compressible/sonicFoam/laminar/forwardStep/constant/polyMesh/boundary
 delete mode 100644 tutorials/compressible/sonicFoam/laminar/shockTube/constant/polyMesh/boundary
 delete mode 100644 tutorials/compressible/sonicLiquidFoam/decompressionTank/constant/polyMesh/boundary
 delete mode 100644 tutorials/financial/financialFoam/europeanCall/constant/polyMesh/boundary
 delete mode 100644 tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/polyMesh/boundary
 delete mode 100644 tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/constant/polyMesh/boundary
 delete mode 100644 tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/polyMesh/boundary
 delete mode 100644 tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/polyMesh/boundary
 delete mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/polyMesh/boundary
 delete mode 100644 tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/polyMesh/boundary
 delete mode 100644 tutorials/incompressible/SRFPimpleFoam/rotor2D/constant/polyMesh/boundary
 delete mode 100644 tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_pimpleDyMFoam/constant/polyMesh/boundary
 delete mode 100644 tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_simpleFoam/constant/polyMesh/boundary
 delete mode 100644 tutorials/incompressible/pimpleFoam/pitzDaily/constant/polyMesh/boundary
 delete mode 100644 tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/polyMesh/boundary
 delete mode 100644 tutorials/incompressible/pisoFoam/les/pitzDaily/constant/polyMesh/boundary
 delete mode 100644 tutorials/incompressible/pisoFoam/ras/cavity/constant/polyMesh/boundary
 delete mode 100644 tutorials/incompressible/porousSimpleFoam/angledDuctImplicit/constant/polyMesh/boundary
 delete mode 100644 tutorials/incompressible/simpleFoam/mixerVessel2D/constant/polyMesh/boundary
 delete mode 100644 tutorials/incompressible/simpleFoam/rotorDisk/constant/polyMesh/boundary
 delete mode 100644 tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperInitialState/constant/polyMesh/boundary
 delete mode 100644 tutorials/lagrangian/reactingParcelFoam/counterFlowFlame2DLTS/constant/polyMesh/boundary
 delete mode 100644 tutorials/lagrangian/reactingParcelFoam/parcelInBox/constant/polyMesh/boundary
 delete mode 100644 tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/constant/polyMesh/boundary
 delete mode 100644 tutorials/lagrangian/sprayFoam/aachenBomb/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/compressibleMultiphaseInterFoam/laminar/damBreak4phase/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/driftFluxFoam/ras/dahl/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/interDyMFoam/ras/floatingObject/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/interDyMFoam/ras/testTubeMixer/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/interFoam/laminar/capillaryRise/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/interFoam/laminar/mixerVessel2D/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/interFoam/ras/angledDuct/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/interFoam/ras/damBreak/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/interFoam/ras/weirOverflow/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/interMixingFoam/laminar/damBreak/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/interPhaseChangeDyMFoam/propeller/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/multiphaseEulerFoam/bubbleColumn/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/multiphaseEulerFoam/damBreak4phase/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/multiphaseEulerFoam/damBreak4phaseFine/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/multiphaseEulerFoam/mixerVessel2D/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/multiphaseInterDyMFoam/laminar/mixerVesselAMI2D/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phase/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phaseFine/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/multiphaseInterFoam/laminar/mixerVessel2D/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/potentialFreeSurfaceDyMFoam/oscillatingBox/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/LES/bubbleColumn/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/bubbleColumn/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/bubbleColumnEvaporatingReacting/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/fluidisedBed/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/bubbleColumn/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/bubbleColumnEvaporating/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/bubbleColumnEvaporatingDissolving/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/bubbleColumnIATE/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/fluidisedBed/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/injection/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/mixerVessel2D/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/mixerVessel2D/system/blockMeshDict
 delete mode 100644 tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumnIATE/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/twoPhaseEulerFoam/laminar/injection/constant/polyMesh/boundary
 delete mode 100644 tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/constant/polyMesh/boundary
 delete mode 100644 tutorials/stressAnalysis/solidDisplacementFoam/plateHole/constant/polyMesh/boundary
 delete mode 100644 tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/constant/polyMesh/boundary

diff --git a/bin/tools/CleanFunctions b/bin/tools/CleanFunctions
index b5edc197967..b17efcfbb58 100644
--- a/bin/tools/CleanFunctions
+++ b/bin/tools/CleanFunctions
@@ -2,7 +2,7 @@
 # =========                 |
 # \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
 #  \\    /   O peration     |
-#   \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+#   \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
 #    \\/     M anipulation  |
 #------------------------------------------------------------------------------
 # License
@@ -90,6 +90,7 @@ cleanCase()
             allOwner* cell* face* meshModifiers* \
             owner* neighbour* point* edge* \
             cellLevel* pointLevel* refinementHistory* level0Edge* surfaceIndex* sets \
+            boundary \
             > /dev/null 2>&1 \
         )
     fi
@@ -104,9 +105,9 @@ cleanCase()
     rm -rf VTK > /dev/null 2>&1
     rm -f 0/cellLevel 0/pointLevel 0/cellDist constant/cellDecomposition
 
-    if [ -e constant/polyMesh/blockMeshDict.m4 ]
+    if [ -e system/blockMeshDict.m4 ]
     then
-        rm -f constant/polyMesh/blockMeshDict > /dev/null 2>&1
+        rm -f system/blockMeshDict > /dev/null 2>&1
     fi
 }
 
diff --git a/tutorials/basic/potentialFoam/cylinder/constant/polyMesh/boundary b/tutorials/basic/potentialFoam/cylinder/constant/polyMesh/boundary
deleted file mode 100644
index 0acbcb386b0..00000000000
--- a/tutorials/basic/potentialFoam/cylinder/constant/polyMesh/boundary
+++ /dev/null
@@ -1,62 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-6
-(
-    down
-    {
-        type            symmetryPlane;
-        inGroups        1(symmetryPlane);
-        nFaces          60;
-        startFace       3890;
-    }
-    right
-    {
-        type            patch;
-        nFaces          30;
-        startFace       3950;
-    }
-    up
-    {
-        type            symmetryPlane;
-        inGroups        1(symmetryPlane);
-        nFaces          60;
-        startFace       3980;
-    }
-    left
-    {
-        type            patch;
-        nFaces          30;
-        startFace       4040;
-    }
-    cylinder
-    {
-        type            symmetry;
-        inGroups        1(symmetry);
-        nFaces          40;
-        startFace       4070;
-    }
-    defaultFaces
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          4000;
-        startFace       4110;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/basic/potentialFoam/pitzDaily/constant/polyMesh/boundary b/tutorials/basic/potentialFoam/pitzDaily/constant/polyMesh/boundary
deleted file mode 100644
index 581ceffc709..00000000000
--- a/tutorials/basic/potentialFoam/pitzDaily/constant/polyMesh/boundary
+++ /dev/null
@@ -1,55 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-5
-(
-    inlet
-    {
-        type            patch;
-        nFaces          30;
-        startFace       24170;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          57;
-        startFace       24200;
-    }
-    upperWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          223;
-        startFace       24257;
-    }
-    lowerWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          250;
-        startFace       24480;
-    }
-    frontAndBack
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          24450;
-        startFace       24730;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/polyMesh/boundary b/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/polyMesh/boundary
deleted file mode 100644
index c653eec7b07..00000000000
--- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/polyMesh/boundary
+++ /dev/null
@@ -1,53 +0,0 @@
-/*--------------------------------*- 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      binary;
-    class       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-5
-(
-    base
-    {
-        type            patch;
-        nFaces          134;
-        startFace       44700;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          150;
-        startFace       44834;
-    }
-    sides
-    {
-        type            patch;
-        nFaces          300;
-        startFace       44984;
-    }
-    frontAndBack
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          45000;
-        startFace       45284;
-    }
-    inlet
-    {
-        type            patch;
-        nFaces          16;
-        startFace       90284;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/combustion/reactingFoam/ras/counterFlowFlame2DLTS/constant/polyMesh/boundary b/tutorials/combustion/reactingFoam/ras/counterFlowFlame2DLTS/constant/polyMesh/boundary
deleted file mode 100644
index 4ba32434748..00000000000
--- a/tutorials/combustion/reactingFoam/ras/counterFlowFlame2DLTS/constant/polyMesh/boundary
+++ /dev/null
@@ -1,47 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    fuel
-    {
-        type            patch;
-        nFaces          40;
-        startFace       7860;
-    }
-    air
-    {
-        type            patch;
-        nFaces          40;
-        startFace       7900;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          200;
-        startFace       7940;
-    }
-    frontAndBack
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          8000;
-        startFace       8140;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/rhoCentralDyMFoam/movingCone/constant/polyMesh/boundary b/tutorials/compressible/rhoCentralDyMFoam/movingCone/constant/polyMesh/boundary
deleted file mode 100644
index 73ab6c4061a..00000000000
--- a/tutorials/compressible/rhoCentralDyMFoam/movingCone/constant/polyMesh/boundary
+++ /dev/null
@@ -1,75 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-8
-(
-    movingWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          85;
-        startFace       3665;
-    }
-    farFieldMoving
-    {
-        type            patch;
-        nFaces          50;
-        startFace       3750;
-    }
-    fixedWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          35;
-        startFace       3800;
-    }
-    axis
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          0;
-        startFace       3835;
-    }
-    left
-    {
-        type            patch;
-        nFaces          30;
-        startFace       3835;
-    }
-    farField
-    {
-        type            patch;
-        nFaces          35;
-        startFace       3865;
-    }
-    back
-    {
-        type            wedge;
-        inGroups        1(wedge);
-        nFaces          1900;
-        startFace       3900;
-    }
-    front
-    {
-        type            wedge;
-        inGroups        1(wedge);
-        nFaces          1900;
-        startFace       5800;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/polyMesh/boundary b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/polyMesh/boundary
deleted file mode 100644
index fde0c49a898..00000000000
--- a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/polyMesh/boundary
+++ /dev/null
@@ -1,64 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-7
-(
-    inlet
-    {
-        type            patch;
-        nFaces          10;
-        startFace       2320;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          20;
-        startFace       2330;
-    }
-    freestreamInlet
-    {
-        type            patch;
-        nFaces          10;
-        startFace       2350;
-    }
-    freestream
-    {
-        type            patch;
-        nFaces          60;
-        startFace       2360;
-    }
-    wedge1
-    {
-        type            wedge;
-        nFaces          1200;
-        startFace       2420;
-    }
-    wedge2
-    {
-        type            wedge;
-        nFaces          1200;
-        startFace       3620;
-    }
-    defaultFaces
-    {
-        type            empty;
-        nFaces          0;
-        startFace       4820;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/rhoCentralFoam/obliqueShock/constant/polyMesh/boundary b/tutorials/compressible/rhoCentralFoam/obliqueShock/constant/polyMesh/boundary
deleted file mode 100644
index ca0bb3a1135..00000000000
--- a/tutorials/compressible/rhoCentralFoam/obliqueShock/constant/polyMesh/boundary
+++ /dev/null
@@ -1,52 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-5
-(
-    top
-    {
-        type            wall;
-        nFaces          60;
-        startFace       3510;
-    }
-    inlet
-    {
-        type            patch;
-        nFaces          30;
-        startFace       3570;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          30;
-        startFace       3600;
-    }
-    bottom
-    {
-        type            symmetryPlane;
-        nFaces          60;
-        startFace       3630;
-    }
-    frontAndBack
-    {
-        type            empty;
-        nFaces          3600;
-        startFace       3690;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/rhoCentralFoam/shockTube/constant/polyMesh/boundary b/tutorials/compressible/rhoCentralFoam/shockTube/constant/polyMesh/boundary
deleted file mode 100644
index ef087376e6e..00000000000
--- a/tutorials/compressible/rhoCentralFoam/shockTube/constant/polyMesh/boundary
+++ /dev/null
@@ -1,35 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-2
-(
-    sides
-    {
-        type            patch;
-        nFaces          2;
-        startFace       99;
-    }
-    empty
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          400;
-        startFace       101;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/constant/polyMesh/boundary b/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/constant/polyMesh/boundary
deleted file mode 100644
index 581ceffc709..00000000000
--- a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/constant/polyMesh/boundary
+++ /dev/null
@@ -1,55 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-5
-(
-    inlet
-    {
-        type            patch;
-        nFaces          30;
-        startFace       24170;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          57;
-        startFace       24200;
-    }
-    upperWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          223;
-        startFace       24257;
-    }
-    lowerWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          250;
-        startFace       24480;
-    }
-    frontAndBack
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          24450;
-        startFace       24730;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/polyMesh/boundary b/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/polyMesh/boundary
deleted file mode 100644
index 7a2d7d0e5e3..00000000000
--- a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/polyMesh/boundary
+++ /dev/null
@@ -1,62 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-6
-(
-    front
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          700;
-        startFace       63400;
-    }
-    back
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          700;
-        startFace       64100;
-    }
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          1400;
-        startFace       64800;
-    }
-    porosityWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          1600;
-        startFace       66200;
-    }
-    inlet
-    {
-        type            patch;
-        nFaces          400;
-        startFace       67800;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          400;
-        startFace       68200;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/constant/polyMesh/boundary b/tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/constant/polyMesh/boundary
deleted file mode 100644
index 7a2d7d0e5e3..00000000000
--- a/tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/constant/polyMesh/boundary
+++ /dev/null
@@ -1,62 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-6
-(
-    front
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          700;
-        startFace       63400;
-    }
-    back
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          700;
-        startFace       64100;
-    }
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          1400;
-        startFace       64800;
-    }
-    porosityWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          1600;
-        startFace       66200;
-    }
-    inlet
-    {
-        type            patch;
-        nFaces          400;
-        startFace       67800;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          400;
-        startFace       68200;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/system/blockMeshDict b/tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/system/blockMeshDict
deleted file mode 100644
index f10c6a93542..00000000000
--- a/tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/system/blockMeshDict
+++ /dev/null
@@ -1,123 +0,0 @@
-/*--------------------------------*- 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;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-// block definition for a porosity with an angled inlet/outlet
-// the porosity is not aligned with the main axes
-//
-
-convertToMeters 0.001;
-
-vertices
-(
-    // inlet region
-    ( -150  0  -25 )  // pt 0 (in1b)
-    ( -150 35.35533906  -25 ) // pt 1 (in2b)
-    ( -150  0  25 )  // pt 2 (in1f)
-    ( -150 35.35533906  25 ) // pt 3 (in2f)
-
-    // join inlet->outlet
-    (  0 0  -25 )    // pt 4 (join1b)
-    ( -35.35533906   35.35533906  -25 ) // pt 5 (join2b)
-    (  0 0  25 )    // pt 6 (join1f)
-    ( -35.35533906   35.35533906  25 ) // pt 7 (join2f)
-
-    // porosity ends ->outlet
-    ( 70.71067812 70.71067812  -25 )  // pt 8 (poro1b)
-    ( 35.35533906 106.06601718  -25 )  // pt 9 (poro2b)
-    ( 70.71067812 70.71067812  25 )  // pt 10 (poro1f)
-    ( 35.35533906 106.06601718  25 )  // pt 11 (poro2f)
-
-    // outlet
-    (141.42135624 141.42135624 -25) // pt 12 (out1b)
-    (106.06601718 176.7766953 -25) // pt 13 (out2b)
-    (141.42135624 141.42135624 25) // pt 14 (out1f)
-    (106.06601718 176.7766953 25) // pt 15 (out2f)
-);
-
-blocks
-(
-    // inlet block
-    hex (0 4 5 1 2 6 7 3)
-    inlet (15 20 20) simpleGrading (1 1 1)
-
-    // porosity block
-    hex (4 8 9 5 6 10 11 7)
-    porosity (20 20 20) simpleGrading (1 1 1)
-
-    // outlet block
-    hex (8 12 13 9 10 14 15 11)
-    outlet (20 20 20)  simpleGrading (1 1 1)
-);
-
-edges
-(
-);
-
-patches
-(
-    // is there no way of defining all my 'defaultFaces' to be 'wall'?
-    wall front
-    (
-    // inlet block
-    (2 6 7 3)
-    // outlet block
-    (10 14 15 11)
-    )
-
-    wall back
-    (
-    // inlet block
-    (1 5 4 0)
-    // outlet block
-    (9 13 12 8)
-    )
-
-    wall walls
-    (
-    // inlet block
-    (2 0 4 6)
-    (7 5 1 3)
-    // outlet block
-    (10 8 12 14)
-    (15 13 9 11)
-    )
-
-    wall porosityWall
-    (
-    // porosity block
-    (6 10 11 7)
-    // porosity block
-    (5 9 8 4)
-    // porosity block
-    (6 4 8 10)
-    (11 9 5 7)
-    )
-
-    patch inlet
-    (
-    (3 1 0 2)
-    )
-
-    patch outlet
-    (
-    (15 13 12 14)
-    )
-);
-
-mergePatchPairs
-(
-);
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/polyMesh/boundary b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/polyMesh/boundary
deleted file mode 100644
index 5c2a6cf99c5..00000000000
--- a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/polyMesh/boundary
+++ /dev/null
@@ -1,50 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    rotor
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          192;
-        startFace       5952;
-    }
-    stator
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          192;
-        startFace       6144;
-    }
-    front
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3072;
-        startFace       6336;
-    }
-    back
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3072;
-        startFace       9408;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/blockMeshDict b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/blockMeshDict
deleted file mode 100644
index f10c6a93542..00000000000
--- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/blockMeshDict
+++ /dev/null
@@ -1,123 +0,0 @@
-/*--------------------------------*- 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;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-// block definition for a porosity with an angled inlet/outlet
-// the porosity is not aligned with the main axes
-//
-
-convertToMeters 0.001;
-
-vertices
-(
-    // inlet region
-    ( -150  0  -25 )  // pt 0 (in1b)
-    ( -150 35.35533906  -25 ) // pt 1 (in2b)
-    ( -150  0  25 )  // pt 2 (in1f)
-    ( -150 35.35533906  25 ) // pt 3 (in2f)
-
-    // join inlet->outlet
-    (  0 0  -25 )    // pt 4 (join1b)
-    ( -35.35533906   35.35533906  -25 ) // pt 5 (join2b)
-    (  0 0  25 )    // pt 6 (join1f)
-    ( -35.35533906   35.35533906  25 ) // pt 7 (join2f)
-
-    // porosity ends ->outlet
-    ( 70.71067812 70.71067812  -25 )  // pt 8 (poro1b)
-    ( 35.35533906 106.06601718  -25 )  // pt 9 (poro2b)
-    ( 70.71067812 70.71067812  25 )  // pt 10 (poro1f)
-    ( 35.35533906 106.06601718  25 )  // pt 11 (poro2f)
-
-    // outlet
-    (141.42135624 141.42135624 -25) // pt 12 (out1b)
-    (106.06601718 176.7766953 -25) // pt 13 (out2b)
-    (141.42135624 141.42135624 25) // pt 14 (out1f)
-    (106.06601718 176.7766953 25) // pt 15 (out2f)
-);
-
-blocks
-(
-    // inlet block
-    hex (0 4 5 1 2 6 7 3)
-    inlet (15 20 20) simpleGrading (1 1 1)
-
-    // porosity block
-    hex (4 8 9 5 6 10 11 7)
-    porosity (20 20 20) simpleGrading (1 1 1)
-
-    // outlet block
-    hex (8 12 13 9 10 14 15 11)
-    outlet (20 20 20)  simpleGrading (1 1 1)
-);
-
-edges
-(
-);
-
-patches
-(
-    // is there no way of defining all my 'defaultFaces' to be 'wall'?
-    wall front
-    (
-    // inlet block
-    (2 6 7 3)
-    // outlet block
-    (10 14 15 11)
-    )
-
-    wall back
-    (
-    // inlet block
-    (1 5 4 0)
-    // outlet block
-    (9 13 12 8)
-    )
-
-    wall walls
-    (
-    // inlet block
-    (2 0 4 6)
-    (7 5 1 3)
-    // outlet block
-    (10 8 12 14)
-    (15 13 9 11)
-    )
-
-    wall porosityWall
-    (
-    // porosity block
-    (6 10 11 7)
-    // porosity block
-    (5 9 8 4)
-    // porosity block
-    (6 4 8 10)
-    (11 9 5 7)
-    )
-
-    patch inlet
-    (
-    (3 1 0 2)
-    )
-
-    patch outlet
-    (
-    (15 13 12 14)
-    )
-);
-
-mergePatchPairs
-(
-);
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/polyMesh/boundary b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/polyMesh/boundary
deleted file mode 100644
index 95aefeb04b9..00000000000
--- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/polyMesh/boundary
+++ /dev/null
@@ -1,62 +0,0 @@
-/*--------------------------------*- 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      binary;
-    class       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-6
-(
-    front
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          700;
-        startFace       63400;
-    }
-    back
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          700;
-        startFace       64100;
-    }
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          1400;
-        startFace       64800;
-    }
-    porosityWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          1600;
-        startFace       66200;
-    }
-    inlet
-    {
-        type            patch;
-        nFaces          400;
-        startFace       67800;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          400;
-        startFace       68200;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/blockMeshDict b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/blockMeshDict
deleted file mode 100644
index f10c6a93542..00000000000
--- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/blockMeshDict
+++ /dev/null
@@ -1,123 +0,0 @@
-/*--------------------------------*- 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;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-// block definition for a porosity with an angled inlet/outlet
-// the porosity is not aligned with the main axes
-//
-
-convertToMeters 0.001;
-
-vertices
-(
-    // inlet region
-    ( -150  0  -25 )  // pt 0 (in1b)
-    ( -150 35.35533906  -25 ) // pt 1 (in2b)
-    ( -150  0  25 )  // pt 2 (in1f)
-    ( -150 35.35533906  25 ) // pt 3 (in2f)
-
-    // join inlet->outlet
-    (  0 0  -25 )    // pt 4 (join1b)
-    ( -35.35533906   35.35533906  -25 ) // pt 5 (join2b)
-    (  0 0  25 )    // pt 6 (join1f)
-    ( -35.35533906   35.35533906  25 ) // pt 7 (join2f)
-
-    // porosity ends ->outlet
-    ( 70.71067812 70.71067812  -25 )  // pt 8 (poro1b)
-    ( 35.35533906 106.06601718  -25 )  // pt 9 (poro2b)
-    ( 70.71067812 70.71067812  25 )  // pt 10 (poro1f)
-    ( 35.35533906 106.06601718  25 )  // pt 11 (poro2f)
-
-    // outlet
-    (141.42135624 141.42135624 -25) // pt 12 (out1b)
-    (106.06601718 176.7766953 -25) // pt 13 (out2b)
-    (141.42135624 141.42135624 25) // pt 14 (out1f)
-    (106.06601718 176.7766953 25) // pt 15 (out2f)
-);
-
-blocks
-(
-    // inlet block
-    hex (0 4 5 1 2 6 7 3)
-    inlet (15 20 20) simpleGrading (1 1 1)
-
-    // porosity block
-    hex (4 8 9 5 6 10 11 7)
-    porosity (20 20 20) simpleGrading (1 1 1)
-
-    // outlet block
-    hex (8 12 13 9 10 14 15 11)
-    outlet (20 20 20)  simpleGrading (1 1 1)
-);
-
-edges
-(
-);
-
-patches
-(
-    // is there no way of defining all my 'defaultFaces' to be 'wall'?
-    wall front
-    (
-    // inlet block
-    (2 6 7 3)
-    // outlet block
-    (10 14 15 11)
-    )
-
-    wall back
-    (
-    // inlet block
-    (1 5 4 0)
-    // outlet block
-    (9 13 12 8)
-    )
-
-    wall walls
-    (
-    // inlet block
-    (2 0 4 6)
-    (7 5 1 3)
-    // outlet block
-    (10 8 12 14)
-    (15 13 9 11)
-    )
-
-    wall porosityWall
-    (
-    // porosity block
-    (6 10 11 7)
-    // porosity block
-    (5 9 8 4)
-    // porosity block
-    (6 4 8 10)
-    (11 9 5 7)
-    )
-
-    patch inlet
-    (
-    (3 1 0 2)
-    )
-
-    patch outlet
-    (
-    (15 13 12 14)
-    )
-);
-
-mergePatchPairs
-(
-);
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/polyMesh/boundary b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/polyMesh/boundary
deleted file mode 100644
index 7a2d7d0e5e3..00000000000
--- a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/polyMesh/boundary
+++ /dev/null
@@ -1,62 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-6
-(
-    front
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          700;
-        startFace       63400;
-    }
-    back
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          700;
-        startFace       64100;
-    }
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          1400;
-        startFace       64800;
-    }
-    porosityWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          1600;
-        startFace       66200;
-    }
-    inlet
-    {
-        type            patch;
-        nFaces          400;
-        startFace       67800;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          400;
-        startFace       68200;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/rhoSimpleFoam/squareBend/constant/polyMesh/boundary b/tutorials/compressible/rhoSimpleFoam/squareBend/constant/polyMesh/boundary
deleted file mode 100644
index 72f6b668ca9..00000000000
--- a/tutorials/compressible/rhoSimpleFoam/squareBend/constant/polyMesh/boundary
+++ /dev/null
@@ -1,41 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-3
-(
-    Default_Boundary_Region
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          22400;
-        startFace       324400;
-    }
-    inlet
-    {
-        type            patch;
-        nFaces          400;
-        startFace       346800;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          400;
-        startFace       347200;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/sonicDyMFoam/movingCone/constant/polyMesh/boundary b/tutorials/compressible/sonicDyMFoam/movingCone/constant/polyMesh/boundary
deleted file mode 100644
index 89afa01256f..00000000000
--- a/tutorials/compressible/sonicDyMFoam/movingCone/constant/polyMesh/boundary
+++ /dev/null
@@ -1,75 +0,0 @@
-/*--------------------------------*- 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      binary;
-    class       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-8
-(
-    movingWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          85;
-        startFace       3665;
-    }
-    farFieldMoving
-    {
-        type            patch;
-        nFaces          50;
-        startFace       3750;
-    }
-    fixedWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          35;
-        startFace       3800;
-    }
-    axis
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          0;
-        startFace       3835;
-    }
-    left
-    {
-        type            patch;
-        nFaces          30;
-        startFace       3835;
-    }
-    farField
-    {
-        type            patch;
-        nFaces          35;
-        startFace       3865;
-    }
-    back
-    {
-        type            wedge;
-        inGroups        1(wedge);
-        nFaces          1900;
-        startFace       3900;
-    }
-    front
-    {
-        type            wedge;
-        inGroups        1(wedge);
-        nFaces          1900;
-        startFace       5800;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/polyMesh/boundary b/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/polyMesh/boundary
deleted file mode 100644
index 53cce9211b1..00000000000
--- a/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/polyMesh/boundary
+++ /dev/null
@@ -1,61 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-6
-(
-    inlet
-    {
-        type            patch;
-        nFaces          50;
-        startFace       10325;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          40;
-        startFace       10375;
-    }
-    bottom
-    {
-        type            symmetryPlane;
-        inGroups        1(symmetryPlane);
-        nFaces          25;
-        startFace       10415;
-    }
-    top
-    {
-        type            symmetryPlane;
-        inGroups        1(symmetryPlane);
-        nFaces          125;
-        startFace       10440;
-    }
-    obstacle
-    {
-        type            patch;
-        nFaces          110;
-        startFace       10565;
-    }
-    defaultFaces
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          10500;
-        startFace       10675;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/sonicFoam/laminar/shockTube/constant/polyMesh/boundary b/tutorials/compressible/sonicFoam/laminar/shockTube/constant/polyMesh/boundary
deleted file mode 100644
index 7fc4ff3fe58..00000000000
--- a/tutorials/compressible/sonicFoam/laminar/shockTube/constant/polyMesh/boundary
+++ /dev/null
@@ -1,35 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-2
-(
-    sides
-    {
-        type            patch;
-        nFaces          2;
-        startFace       999;
-    }
-    empty
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          4000;
-        startFace       1001;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/sonicLiquidFoam/decompressionTank/constant/polyMesh/boundary b/tutorials/compressible/sonicLiquidFoam/decompressionTank/constant/polyMesh/boundary
deleted file mode 100644
index b1ca7310c67..00000000000
--- a/tutorials/compressible/sonicLiquidFoam/decompressionTank/constant/polyMesh/boundary
+++ /dev/null
@@ -1,55 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-5
-(
-    outerWall
-    {
-        type            wall;
-        nFaces          225;
-        startFace       7275;
-    }
-    axis
-    {
-        type            symmetryPlane;
-        inGroups        1(symmetryPlane);
-        nFaces          120;
-        startFace       7500;
-    }
-    nozzle
-    {
-        type            patch;
-        nFaces          5;
-        startFace       7620;
-    }
-    back
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3725;
-        startFace       7625;
-    }
-    front
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3725;
-        startFace       11350;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/financial/financialFoam/europeanCall/constant/polyMesh/boundary b/tutorials/financial/financialFoam/europeanCall/constant/polyMesh/boundary
deleted file mode 100644
index a4b4e113721..00000000000
--- a/tutorials/financial/financialFoam/europeanCall/constant/polyMesh/boundary
+++ /dev/null
@@ -1,41 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-3
-(
-    lowValue
-    {
-        type            patch;
-        nFaces          1;
-        startFace       499;
-    }
-    highValue
-    {
-        type            patch;
-        nFaces          1;
-        startFace       500;
-    }
-    defaultFaces
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          2000;
-        startFace       501;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/polyMesh/boundary b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/polyMesh/boundary
deleted file mode 100644
index 0e07c61c658..00000000000
--- a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/polyMesh/boundary
+++ /dev/null
@@ -1,50 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    frontAndBack
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          1050;
-        startFace       228225;
-    }
-    topAndBottom
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          10500;
-        startFace       229275;
-    }
-    hot
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          2250;
-        startFace       239775;
-    }
-    cold
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          2250;
-        startFace       242025;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/constant/polyMesh/boundary b/tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/constant/polyMesh/boundary
deleted file mode 100644
index 0e07c61c658..00000000000
--- a/tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/constant/polyMesh/boundary
+++ /dev/null
@@ -1,50 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    frontAndBack
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          1050;
-        startFace       228225;
-    }
-    topAndBottom
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          10500;
-        startFace       229275;
-    }
-    hot
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          2250;
-        startFace       239775;
-    }
-    cold
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          2250;
-        startFace       242025;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/polyMesh/boundary b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/polyMesh/boundary
deleted file mode 100644
index dd60bda33ac..00000000000
--- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/polyMesh/boundary
+++ /dev/null
@@ -1,50 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    box
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          300;
-        startFace       303675;
-    }
-    floor
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          5125;
-        startFace       303975;
-    }
-    ceiling
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          5225;
-        startFace       309100;
-    }
-    fixedWalls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          6000;
-        startFace       314325;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/polyMesh/boundary b/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/polyMesh/boundary
deleted file mode 100644
index 8cff40253e8..00000000000
--- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/polyMesh/boundary
+++ /dev/null
@@ -1,50 +0,0 @@
-/*--------------------------------*- 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      binary;
-    class       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    box
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          300;
-        startFace       303675;
-    }
-    floor
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          5125;
-        startFace       303975;
-    }
-    ceiling
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          5225;
-        startFace       309100;
-    }
-    fixedWalls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          6000;
-        startFace       314325;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/polyMesh/boundary b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/polyMesh/boundary
deleted file mode 100644
index a8feba3802c..00000000000
--- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/polyMesh/boundary
+++ /dev/null
@@ -1,62 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-6
-(
-    maxY
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          300;
-        startFace       8300;
-    }
-    minX
-    {
-        type            patch;
-        nFaces          100;
-        startFace       8600;
-    }
-    maxX
-    {
-        type            patch;
-        nFaces          100;
-        startFace       8700;
-    }
-    minY
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          300;
-        startFace       8800;
-    }
-    minZ
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          300;
-        startFace       9100;
-    }
-    maxZ
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          300;
-        startFace       9400;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/polyMesh/boundary b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/polyMesh/boundary
deleted file mode 100644
index a8feba3802c..00000000000
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/polyMesh/boundary
+++ /dev/null
@@ -1,62 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-6
-(
-    maxY
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          300;
-        startFace       8300;
-    }
-    minX
-    {
-        type            patch;
-        nFaces          100;
-        startFace       8600;
-    }
-    maxX
-    {
-        type            patch;
-        nFaces          100;
-        startFace       8700;
-    }
-    minY
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          300;
-        startFace       8800;
-    }
-    minZ
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          300;
-        startFace       9100;
-    }
-    maxZ
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          300;
-        startFace       9400;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/SRFPimpleFoam/rotor2D/constant/polyMesh/boundary b/tutorials/incompressible/SRFPimpleFoam/rotor2D/constant/polyMesh/boundary
deleted file mode 100644
index 921d19779b8..00000000000
--- a/tutorials/incompressible/SRFPimpleFoam/rotor2D/constant/polyMesh/boundary
+++ /dev/null
@@ -1,49 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    rotor
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          144;
-        startFace       5640;
-    }
-    freestream
-    {
-        type            patch;
-        nFaces          96;
-        startFace       5784;
-    }
-    front
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          2880;
-        startFace       5880;
-    }
-    back
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          2880;
-        startFace       8760;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_pimpleDyMFoam/constant/polyMesh/boundary b/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_pimpleDyMFoam/constant/polyMesh/boundary
deleted file mode 100644
index 14c5f7a6a84..00000000000
--- a/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_pimpleDyMFoam/constant/polyMesh/boundary
+++ /dev/null
@@ -1,61 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-6
-(
-    topAndBottom
-    {
-        type            patch;
-        nFaces          72;
-        startFace       25179;
-    }
-    inlet
-    {
-        type            patch;
-        nFaces          40;
-        startFace       25251;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          62;
-        startFace       25291;
-    }
-    wing
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          378;
-        startFace       25353;
-    }
-    front
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          12565;
-        startFace       25731;
-    }
-    back
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          12565;
-        startFace       38296;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_simpleFoam/constant/polyMesh/boundary b/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_simpleFoam/constant/polyMesh/boundary
deleted file mode 100644
index 14c5f7a6a84..00000000000
--- a/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_simpleFoam/constant/polyMesh/boundary
+++ /dev/null
@@ -1,61 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-6
-(
-    topAndBottom
-    {
-        type            patch;
-        nFaces          72;
-        startFace       25179;
-    }
-    inlet
-    {
-        type            patch;
-        nFaces          40;
-        startFace       25251;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          62;
-        startFace       25291;
-    }
-    wing
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          378;
-        startFace       25353;
-    }
-    front
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          12565;
-        startFace       25731;
-    }
-    back
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          12565;
-        startFace       38296;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/pitzDaily/constant/polyMesh/boundary b/tutorials/incompressible/pimpleFoam/pitzDaily/constant/polyMesh/boundary
deleted file mode 100644
index 581ceffc709..00000000000
--- a/tutorials/incompressible/pimpleFoam/pitzDaily/constant/polyMesh/boundary
+++ /dev/null
@@ -1,55 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-5
-(
-    inlet
-    {
-        type            patch;
-        nFaces          30;
-        startFace       24170;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          57;
-        startFace       24200;
-    }
-    upperWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          223;
-        startFace       24257;
-    }
-    lowerWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          250;
-        startFace       24480;
-    }
-    frontAndBack
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          24450;
-        startFace       24730;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/polyMesh/boundary b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/polyMesh/boundary
deleted file mode 100644
index 7e7cb8fc3c6..00000000000
--- a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/polyMesh/boundary
+++ /dev/null
@@ -1,62 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-6
-(
-    front
-    {
-        type            symmetryPlane;
-        inGroups        1(symmetryPlane);
-        nFaces          160;
-        startFace       3456;
-    }
-    back
-    {
-        type            symmetryPlane;
-        inGroups        1(symmetryPlane);
-        nFaces          160;
-        startFace       3616;
-    }
-    inlet
-    {
-        type            patch;
-        nFaces          64;
-        startFace       3776;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          64;
-        startFace       3840;
-    }
-    lowerWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          160;
-        startFace       3904;
-    }
-    upperWall
-    {
-        type            symmetryPlane;
-        inGroups        1(symmetryPlane);
-        nFaces          160;
-        startFace       4064;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/polyMesh/boundary b/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/polyMesh/boundary
deleted file mode 100644
index 581ceffc709..00000000000
--- a/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/polyMesh/boundary
+++ /dev/null
@@ -1,55 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-5
-(
-    inlet
-    {
-        type            patch;
-        nFaces          30;
-        startFace       24170;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          57;
-        startFace       24200;
-    }
-    upperWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          223;
-        startFace       24257;
-    }
-    lowerWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          250;
-        startFace       24480;
-    }
-    frontAndBack
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          24450;
-        startFace       24730;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/constant/polyMesh/boundary b/tutorials/incompressible/pisoFoam/ras/cavity/constant/polyMesh/boundary
deleted file mode 100644
index 6eb3105b4dd..00000000000
--- a/tutorials/incompressible/pisoFoam/ras/cavity/constant/polyMesh/boundary
+++ /dev/null
@@ -1,43 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-3
-(
-    movingWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          20;
-        startFace       760;
-    }
-    fixedWalls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          60;
-        startFace       780;
-    }
-    frontAndBack
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          800;
-        startFace       840;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/porousSimpleFoam/angledDuctImplicit/constant/polyMesh/boundary b/tutorials/incompressible/porousSimpleFoam/angledDuctImplicit/constant/polyMesh/boundary
deleted file mode 100644
index 1e23642ed6c..00000000000
--- a/tutorials/incompressible/porousSimpleFoam/angledDuctImplicit/constant/polyMesh/boundary
+++ /dev/null
@@ -1,58 +0,0 @@
-/*--------------------------------*- 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      binary;
-    class       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-6
-(
-    front
-    {
-        type            wall;
-        nFaces          700;
-        startFace       63400;
-    }
-    back
-    {
-        type            wall;
-        nFaces          700;
-        startFace       64100;
-    }
-    walls
-    {
-        type            wall;
-        nFaces          1400;
-        startFace       64800;
-    }
-    porosityWall
-    {
-        type            wall;
-        nFaces          1600;
-        startFace       66200;
-    }
-    inlet
-    {
-        type            patch;
-        nFaces          400;
-        startFace       67800;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          400;
-        startFace       68200;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/mixerVessel2D/constant/polyMesh/boundary b/tutorials/incompressible/simpleFoam/mixerVessel2D/constant/polyMesh/boundary
deleted file mode 100644
index 188a0f0c58b..00000000000
--- a/tutorials/incompressible/simpleFoam/mixerVessel2D/constant/polyMesh/boundary
+++ /dev/null
@@ -1,48 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    rotor
-    {
-        type            wall;
-        nFaces          192;
-        startFace       5952;
-    }
-    stator
-    {
-        type            wall;
-        nFaces          192;
-        startFace       6144;
-    }
-    front
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3072;
-        startFace       6336;
-    }
-    back
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3072;
-        startFace       9408;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/rotorDisk/constant/polyMesh/boundary b/tutorials/incompressible/simpleFoam/rotorDisk/constant/polyMesh/boundary
deleted file mode 100644
index 1c931bf76f8..00000000000
--- a/tutorials/incompressible/simpleFoam/rotorDisk/constant/polyMesh/boundary
+++ /dev/null
@@ -1,42 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-3
-(
-    slipWall
-    {
-        type            slip;
-        inGroups        1(slip);
-        nFaces          11616;
-        startFace       215580;
-        inGroups        1 ( slip );
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          1788;
-        startFace       227196;
-    }
-    inlet
-    {
-        type            patch;
-        nFaces          1788;
-        startFace       228984;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperInitialState/constant/polyMesh/boundary b/tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperInitialState/constant/polyMesh/boundary
deleted file mode 100644
index cf66d374fc7..00000000000
--- a/tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperInitialState/constant/polyMesh/boundary
+++ /dev/null
@@ -1,36 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-2
-(
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          136;
-        startFace       1852;
-    }
-    frontAndBack
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          1920;
-        startFace       1988;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/lagrangian/reactingParcelFoam/counterFlowFlame2DLTS/constant/polyMesh/boundary b/tutorials/lagrangian/reactingParcelFoam/counterFlowFlame2DLTS/constant/polyMesh/boundary
deleted file mode 100644
index 4ba32434748..00000000000
--- a/tutorials/lagrangian/reactingParcelFoam/counterFlowFlame2DLTS/constant/polyMesh/boundary
+++ /dev/null
@@ -1,47 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    fuel
-    {
-        type            patch;
-        nFaces          40;
-        startFace       7860;
-    }
-    air
-    {
-        type            patch;
-        nFaces          40;
-        startFace       7900;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          200;
-        startFace       7940;
-    }
-    frontAndBack
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          8000;
-        startFace       8140;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/lagrangian/reactingParcelFoam/parcelInBox/constant/polyMesh/boundary b/tutorials/lagrangian/reactingParcelFoam/parcelInBox/constant/polyMesh/boundary
deleted file mode 100644
index fd2bf463767..00000000000
--- a/tutorials/lagrangian/reactingParcelFoam/parcelInBox/constant/polyMesh/boundary
+++ /dev/null
@@ -1,54 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-5
-(
-    outlet
-    {
-        type            wall;
-        nFaces          25;
-        startFace       300;
-    }
-    inlet
-    {
-        type            wall;
-        nFaces          25;
-        startFace       325;
-    }
-    walls
-    {
-        type            wall;
-        nFaces          50;
-        startFace       350;
-    }
-    back
-    {
-        type            symmetryPlane;
-        inGroups        1(symmetryPlane);
-        nFaces          25;
-        startFace       400;
-    }
-    front
-    {
-        type            symmetryPlane;
-        inGroups        1(symmetryPlane);
-        nFaces          25;
-        startFace       425;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/constant/polyMesh/boundary b/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/constant/polyMesh/boundary
deleted file mode 100644
index 74eb1fa7725..00000000000
--- a/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/constant/polyMesh/boundary
+++ /dev/null
@@ -1,61 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-6
-(
-    back
-    {
-        type            symmetryPlane;
-        inGroups        1(symmetryPlane);
-        nFaces          9340;
-        startFace       265900;
-    }
-    front
-    {
-        type            symmetryPlane;
-        inGroups        1(symmetryPlane);
-        nFaces          9340;
-        startFace       275240;
-    }
-    inletCentral
-    {
-        type            patch;
-        nFaces          100;
-        startFace       284580;
-    }
-    inletSides
-    {
-        type            patch;
-        nFaces          200;
-        startFace       284680;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          300;
-        startFace       284880;
-    }
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          9320;
-        startFace       285180;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/lagrangian/sprayFoam/aachenBomb/constant/polyMesh/boundary b/tutorials/lagrangian/sprayFoam/aachenBomb/constant/polyMesh/boundary
deleted file mode 100644
index 5e28555623f..00000000000
--- a/tutorials/lagrangian/sprayFoam/aachenBomb/constant/polyMesh/boundary
+++ /dev/null
@@ -1,28 +0,0 @@
-/*--------------------------------*- 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      binary;
-    class       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-1
-(
-    walls
-    {
-        type            wall;
-        nFaces          19762;
-        startFace       494419;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/constant/polyMesh/boundary b/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/constant/polyMesh/boundary
deleted file mode 100644
index f1bde7bdce3..00000000000
--- a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/constant/polyMesh/boundary
+++ /dev/null
@@ -1,42 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-3
-(
-    walls
-    {
-        type            patch;
-        nFaces          148;
-        startFace       2646;
-    }
-    front
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          1360;
-        startFace       2794;
-    }
-    back
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          1360;
-        startFace       4154;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/polyMesh/boundary b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/polyMesh/boundary
deleted file mode 100644
index 85fa84fac74..00000000000
--- a/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/polyMesh/boundary
+++ /dev/null
@@ -1,36 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-2
-(
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          480;
-        startFace       25360;
-    }
-    frontAndBack
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          25600;
-        startFace       25840;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/polyMesh/boundary b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/polyMesh/boundary
deleted file mode 100644
index b16c01a16fe..00000000000
--- a/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/polyMesh/boundary
+++ /dev/null
@@ -1,28 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-1
-(
-    walls
-    {
-        type            wall;
-        nFaces          64000;
-        startFace       3040000;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/compressibleMultiphaseInterFoam/laminar/damBreak4phase/constant/polyMesh/boundary b/tutorials/multiphase/compressibleMultiphaseInterFoam/laminar/damBreak4phase/constant/polyMesh/boundary
deleted file mode 100644
index 79ef3a79e11..00000000000
--- a/tutorials/multiphase/compressibleMultiphaseInterFoam/laminar/damBreak4phase/constant/polyMesh/boundary
+++ /dev/null
@@ -1,56 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-5
-(
-    leftWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          50;
-        startFace       4432;
-    }
-    rightWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          50;
-        startFace       4482;
-    }
-    lowerWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          62;
-        startFace       4532;
-    }
-    atmosphere
-    {
-        type            patch;
-        nFaces          46;
-        startFace       4594;
-    }
-    defaultFaces
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          4536;
-        startFace       4640;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/driftFluxFoam/ras/dahl/constant/polyMesh/boundary b/tutorials/multiphase/driftFluxFoam/ras/dahl/constant/polyMesh/boundary
deleted file mode 100644
index 18f019f6b4d..00000000000
--- a/tutorials/multiphase/driftFluxFoam/ras/dahl/constant/polyMesh/boundary
+++ /dev/null
@@ -1,61 +0,0 @@
-/*--------------------------------*- 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      binary;
-    class       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-6
-(
-    inlet
-    {
-        type            patch;
-        nFaces          40;
-        startFace       15760;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          4;
-        startFace       15800;
-    }
-    bottomWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          200;
-        startFace       15804;
-    }
-    endWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          36;
-        startFace       16004;
-    }
-    top
-    {
-        type            patch;
-        nFaces          200;
-        startFace       16040;
-    }
-    frontAndBack
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          16000;
-        startFace       16240;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/constant/polyMesh/boundary b/tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/constant/polyMesh/boundary
deleted file mode 100644
index 5c2a6cf99c5..00000000000
--- a/tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/constant/polyMesh/boundary
+++ /dev/null
@@ -1,50 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    rotor
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          192;
-        startFace       5952;
-    }
-    stator
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          192;
-        startFace       6144;
-    }
-    front
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3072;
-        startFace       6336;
-    }
-    back
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3072;
-        startFace       9408;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interDyMFoam/ras/floatingObject/constant/polyMesh/boundary b/tutorials/multiphase/interDyMFoam/ras/floatingObject/constant/polyMesh/boundary
deleted file mode 100644
index 5fc0f412aa6..00000000000
--- a/tutorials/multiphase/interDyMFoam/ras/floatingObject/constant/polyMesh/boundary
+++ /dev/null
@@ -1,42 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-3
-(
-    stationaryWalls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          2800;
-        startFace       33146;
-    }
-    atmosphere
-    {
-        type            patch;
-        nFaces          400;
-        startFace       35946;
-    }
-    floatingObject
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          348;
-        startFace       36346;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/constant/polyMesh/boundary b/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/constant/polyMesh/boundary
deleted file mode 100644
index f1bde7bdce3..00000000000
--- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/constant/polyMesh/boundary
+++ /dev/null
@@ -1,42 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-3
-(
-    walls
-    {
-        type            patch;
-        nFaces          148;
-        startFace       2646;
-    }
-    front
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          1360;
-        startFace       2794;
-    }
-    back
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          1360;
-        startFace       4154;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/constant/polyMesh/boundary b/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/constant/polyMesh/boundary
deleted file mode 100644
index f1bde7bdce3..00000000000
--- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/constant/polyMesh/boundary
+++ /dev/null
@@ -1,42 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-3
-(
-    walls
-    {
-        type            patch;
-        nFaces          148;
-        startFace       2646;
-    }
-    front
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          1360;
-        startFace       2794;
-    }
-    back
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          1360;
-        startFace       4154;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/constant/polyMesh/boundary b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/constant/polyMesh/boundary
deleted file mode 100644
index 20d992ff424..00000000000
--- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/constant/polyMesh/boundary
+++ /dev/null
@@ -1,28 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-1
-(
-    walls
-    {
-        type            patch;
-        nFaces          5532;
-        startFace       74754;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/constant/polyMesh/boundary b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/constant/polyMesh/boundary
deleted file mode 100644
index 20d992ff424..00000000000
--- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/constant/polyMesh/boundary
+++ /dev/null
@@ -1,28 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-1
-(
-    walls
-    {
-        type            patch;
-        nFaces          5532;
-        startFace       74754;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/constant/polyMesh/boundary b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/constant/polyMesh/boundary
deleted file mode 100644
index 20d992ff424..00000000000
--- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/constant/polyMesh/boundary
+++ /dev/null
@@ -1,28 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-1
-(
-    walls
-    {
-        type            patch;
-        nFaces          5532;
-        startFace       74754;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/constant/polyMesh/boundary b/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/constant/polyMesh/boundary
deleted file mode 100644
index 833479f8379..00000000000
--- a/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/constant/polyMesh/boundary
+++ /dev/null
@@ -1,28 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-1
-(
-    walls
-    {
-        type            wall;
-        nFaces          1050;
-        startFace       3225;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interFoam/laminar/capillaryRise/constant/polyMesh/boundary b/tutorials/multiphase/interFoam/laminar/capillaryRise/constant/polyMesh/boundary
deleted file mode 100644
index 4fcdb241119..00000000000
--- a/tutorials/multiphase/interFoam/laminar/capillaryRise/constant/polyMesh/boundary
+++ /dev/null
@@ -1,48 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    inlet
-    {
-        type            patch;
-        nFaces          20;
-        startFace       15580;
-    }
-    atmosphere
-    {
-        type            patch;
-        nFaces          20;
-        startFace       15600;
-    }
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          800;
-        startFace       15620;
-    }
-    frontAndBack
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          16000;
-        startFace       16420;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interFoam/laminar/mixerVessel2D/constant/polyMesh/boundary b/tutorials/multiphase/interFoam/laminar/mixerVessel2D/constant/polyMesh/boundary
deleted file mode 100644
index 5c2a6cf99c5..00000000000
--- a/tutorials/multiphase/interFoam/laminar/mixerVessel2D/constant/polyMesh/boundary
+++ /dev/null
@@ -1,50 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    rotor
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          192;
-        startFace       5952;
-    }
-    stator
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          192;
-        startFace       6144;
-    }
-    front
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3072;
-        startFace       6336;
-    }
-    back
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3072;
-        startFace       9408;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interFoam/ras/angledDuct/constant/polyMesh/boundary b/tutorials/multiphase/interFoam/ras/angledDuct/constant/polyMesh/boundary
deleted file mode 100644
index 7a2d7d0e5e3..00000000000
--- a/tutorials/multiphase/interFoam/ras/angledDuct/constant/polyMesh/boundary
+++ /dev/null
@@ -1,62 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-6
-(
-    front
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          700;
-        startFace       63400;
-    }
-    back
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          700;
-        startFace       64100;
-    }
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          1400;
-        startFace       64800;
-    }
-    porosityWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          1600;
-        startFace       66200;
-    }
-    inlet
-    {
-        type            patch;
-        nFaces          400;
-        startFace       67800;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          400;
-        startFace       68200;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interFoam/ras/damBreak/constant/polyMesh/boundary b/tutorials/multiphase/interFoam/ras/damBreak/constant/polyMesh/boundary
deleted file mode 100644
index 79ef3a79e11..00000000000
--- a/tutorials/multiphase/interFoam/ras/damBreak/constant/polyMesh/boundary
+++ /dev/null
@@ -1,56 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-5
-(
-    leftWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          50;
-        startFace       4432;
-    }
-    rightWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          50;
-        startFace       4482;
-    }
-    lowerWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          62;
-        startFace       4532;
-    }
-    atmosphere
-    {
-        type            patch;
-        nFaces          46;
-        startFace       4594;
-    }
-    defaultFaces
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          4536;
-        startFace       4640;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/constant/polyMesh/boundary b/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/constant/polyMesh/boundary
deleted file mode 100644
index 45396d40745..00000000000
--- a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/constant/polyMesh/boundary
+++ /dev/null
@@ -1,88 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-7
-(
-    leftWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          50;
-        startFace       4419;
-    }
-    rightWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          50;
-        startFace       4469;
-    }
-    lowerWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          62;
-        startFace       4519;
-    }
-    atmosphere
-    {
-        type            patch;
-        nFaces          46;
-        startFace       4581;
-    }
-    defaultFaces
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          4536;
-        startFace       4627;
-    }
-    porous_half0
-    {
-        type            cyclic;
-        inGroups
-2
-(
-cyclic
-cyclicFaces
-)
-;
-        nFaces          13;
-        startFace       9163;
-        matchTolerance  0.0001;
-        transform       unknown;
-        neighbourPatch  porous_half1;
-    }
-    porous_half1
-    {
-        type            cyclic;
-        inGroups
-2
-(
-cyclic
-cyclicFaces
-)
-;
-        nFaces          13;
-        startFace       9176;
-        matchTolerance  0.0001;
-        transform       unknown;
-        neighbourPatch  porous_half0;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interFoam/ras/weirOverflow/constant/polyMesh/boundary b/tutorials/multiphase/interFoam/ras/weirOverflow/constant/polyMesh/boundary
deleted file mode 100644
index 4b7a214d35f..00000000000
--- a/tutorials/multiphase/interFoam/ras/weirOverflow/constant/polyMesh/boundary
+++ /dev/null
@@ -1,53 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-5
-(
-    inlet
-    {
-        type            patch;
-        nFaces          44;
-        startFace       9981;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          64;
-        startFace       10025;
-    }
-    lowerWall
-    {
-        type            wall;
-        nFaces          155;
-        startFace       10089;
-    }
-    atmosphere
-    {
-        type            patch;
-        nFaces          95;
-        startFace       10244;
-    }
-    defaultFaces
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          10160;
-        startFace       10339;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interMixingFoam/laminar/damBreak/constant/polyMesh/boundary b/tutorials/multiphase/interMixingFoam/laminar/damBreak/constant/polyMesh/boundary
deleted file mode 100644
index 1b4dbb60aae..00000000000
--- a/tutorials/multiphase/interMixingFoam/laminar/damBreak/constant/polyMesh/boundary
+++ /dev/null
@@ -1,53 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-5
-(
-    leftWall
-    {
-        type            wall;
-        nFaces          50;
-        startFace       4432;
-    }
-    rightWall
-    {
-        type            wall;
-        nFaces          50;
-        startFace       4482;
-    }
-    lowerWall
-    {
-        type            wall;
-        nFaces          62;
-        startFace       4532;
-    }
-    atmosphere
-    {
-        type            patch;
-        nFaces          46;
-        startFace       4594;
-    }
-    defaultFaces
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          4536;
-        startFace       4640;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/constant/polyMesh/boundary b/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/constant/polyMesh/boundary
deleted file mode 100644
index 467e42fe8e2..00000000000
--- a/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/constant/polyMesh/boundary
+++ /dev/null
@@ -1,89 +0,0 @@
-/*--------------------------------*- 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      binary;
-    class       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-9
-(
-    inlet
-    {
-        type            patch;
-        nFaces          652;
-        startFace       1576984;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          112;
-        startFace       1577636;
-    }
-    outerCylinder
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          640;
-        startFace       1577748;
-    }
-    propellerTip
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          21703;
-        startFace       1578388;
-    }
-    propellerStem1
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          192;
-        startFace       1600091;
-    }
-    propellerStem2
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          576;
-        startFace       1600283;
-    }
-    propellerStem3
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          1536;
-        startFace       1600859;
-    }
-    AMI1
-    {
-        type            cyclicAMI;
-        inGroups        1(cyclicAMI);
-        nFaces          18496;
-        startFace       1602395;
-        matchTolerance  0.0001;
-        transform       noOrdering;
-        neighbourPatch  AMI2;
-    }
-    AMI2
-    {
-        type            cyclicAMI;
-        inGroups        1(cyclicAMI);
-        nFaces          18720;
-        startFace       1620891;
-        matchTolerance  0.0001;
-        transform       noOrdering;
-        neighbourPatch  AMI1;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/constant/polyMesh/boundary b/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/constant/polyMesh/boundary
deleted file mode 100644
index 178b615d784..00000000000
--- a/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/constant/polyMesh/boundary
+++ /dev/null
@@ -1,48 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    inlet
-    {
-        type            patch;
-        nFaces          225;
-        startFace       1129981;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          225;
-        startFace       1130206;
-    }
-    walls
-    {
-        type            symmetry;
-        inGroups        1(symmetry);
-        nFaces          3000;
-        startFace       1130431;
-    }
-    bullet
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          37743;
-        startFace       1133431;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/multiphaseEulerFoam/bubbleColumn/constant/polyMesh/boundary b/tutorials/multiphase/multiphaseEulerFoam/bubbleColumn/constant/polyMesh/boundary
deleted file mode 100644
index 4564ccc46a6..00000000000
--- a/tutorials/multiphase/multiphaseEulerFoam/bubbleColumn/constant/polyMesh/boundary
+++ /dev/null
@@ -1,48 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    inlet
-    {
-        type            patch;
-        nFaces          25;
-        startFace       3650;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          25;
-        startFace       3675;
-    }
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          150;
-        startFace       3700;
-    }
-    defaultFaces
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3750;
-        startFace       3850;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/multiphaseEulerFoam/damBreak4phase/constant/polyMesh/boundary b/tutorials/multiphase/multiphaseEulerFoam/damBreak4phase/constant/polyMesh/boundary
deleted file mode 100644
index 79ef3a79e11..00000000000
--- a/tutorials/multiphase/multiphaseEulerFoam/damBreak4phase/constant/polyMesh/boundary
+++ /dev/null
@@ -1,56 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-5
-(
-    leftWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          50;
-        startFace       4432;
-    }
-    rightWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          50;
-        startFace       4482;
-    }
-    lowerWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          62;
-        startFace       4532;
-    }
-    atmosphere
-    {
-        type            patch;
-        nFaces          46;
-        startFace       4594;
-    }
-    defaultFaces
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          4536;
-        startFace       4640;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/multiphaseEulerFoam/damBreak4phaseFine/constant/polyMesh/boundary b/tutorials/multiphase/multiphaseEulerFoam/damBreak4phaseFine/constant/polyMesh/boundary
deleted file mode 100644
index f1ec545053d..00000000000
--- a/tutorials/multiphase/multiphaseEulerFoam/damBreak4phaseFine/constant/polyMesh/boundary
+++ /dev/null
@@ -1,56 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-5
-(
-    leftWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          195;
-        startFace       68014;
-    }
-    rightWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          195;
-        startFace       68209;
-    }
-    lowerWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          206;
-        startFace       68404;
-    }
-    atmosphere
-    {
-        type            patch;
-        nFaces          176;
-        startFace       68610;
-    }
-    defaultFaces
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          68400;
-        startFace       68786;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/multiphaseEulerFoam/mixerVessel2D/constant/polyMesh/boundary b/tutorials/multiphase/multiphaseEulerFoam/mixerVessel2D/constant/polyMesh/boundary
deleted file mode 100644
index 5c2a6cf99c5..00000000000
--- a/tutorials/multiphase/multiphaseEulerFoam/mixerVessel2D/constant/polyMesh/boundary
+++ /dev/null
@@ -1,50 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    rotor
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          192;
-        startFace       5952;
-    }
-    stator
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          192;
-        startFace       6144;
-    }
-    front
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3072;
-        startFace       6336;
-    }
-    back
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3072;
-        startFace       9408;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/multiphaseInterDyMFoam/laminar/mixerVesselAMI2D/constant/polyMesh/boundary b/tutorials/multiphase/multiphaseInterDyMFoam/laminar/mixerVesselAMI2D/constant/polyMesh/boundary
deleted file mode 100644
index 21d8cf43a00..00000000000
--- a/tutorials/multiphase/multiphaseInterDyMFoam/laminar/mixerVesselAMI2D/constant/polyMesh/boundary
+++ /dev/null
@@ -1,70 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-6
-(
-    rotor
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          192;
-        startFace       5856;
-    }
-    stator
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          192;
-        startFace       6048;
-    }
-    AMI1
-    {
-        type            cyclicAMI;
-        inGroups        1(cyclicAMI);
-        nFaces          96;
-        startFace       6240;
-        matchTolerance  0.0001;
-        transform       noOrdering;
-        neighbourPatch  AMI2;
-    }
-    AMI2
-    {
-        type            cyclicAMI;
-        inGroups        1(cyclicAMI);
-        nFaces          96;
-        startFace       6336;
-        matchTolerance  0.0001;
-        transform       noOrdering;
-        neighbourPatch  AMI1;
-    }
-    front
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3072;
-        startFace       6432;
-    }
-    back
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3072;
-        startFace       9504;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phase/constant/polyMesh/boundary b/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phase/constant/polyMesh/boundary
deleted file mode 100644
index 79ef3a79e11..00000000000
--- a/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phase/constant/polyMesh/boundary
+++ /dev/null
@@ -1,56 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-5
-(
-    leftWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          50;
-        startFace       4432;
-    }
-    rightWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          50;
-        startFace       4482;
-    }
-    lowerWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          62;
-        startFace       4532;
-    }
-    atmosphere
-    {
-        type            patch;
-        nFaces          46;
-        startFace       4594;
-    }
-    defaultFaces
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          4536;
-        startFace       4640;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phaseFine/constant/polyMesh/boundary b/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phaseFine/constant/polyMesh/boundary
deleted file mode 100644
index a477fd3cba1..00000000000
--- a/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phaseFine/constant/polyMesh/boundary
+++ /dev/null
@@ -1,53 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-5
-(
-    leftWall
-    {
-        type            wall;
-        nFaces          195;
-        startFace       68014;
-    }
-    rightWall
-    {
-        type            wall;
-        nFaces          195;
-        startFace       68209;
-    }
-    lowerWall
-    {
-        type            wall;
-        nFaces          206;
-        startFace       68404;
-    }
-    atmosphere
-    {
-        type            patch;
-        nFaces          176;
-        startFace       68610;
-    }
-    defaultFaces
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          68400;
-        startFace       68786;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/multiphaseInterFoam/laminar/mixerVessel2D/constant/polyMesh/boundary b/tutorials/multiphase/multiphaseInterFoam/laminar/mixerVessel2D/constant/polyMesh/boundary
deleted file mode 100644
index 5c2a6cf99c5..00000000000
--- a/tutorials/multiphase/multiphaseInterFoam/laminar/mixerVessel2D/constant/polyMesh/boundary
+++ /dev/null
@@ -1,50 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    rotor
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          192;
-        startFace       5952;
-    }
-    stator
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          192;
-        startFace       6144;
-    }
-    front
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3072;
-        startFace       6336;
-    }
-    back
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3072;
-        startFace       9408;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/potentialFreeSurfaceDyMFoam/oscillatingBox/constant/polyMesh/boundary b/tutorials/multiphase/potentialFreeSurfaceDyMFoam/oscillatingBox/constant/polyMesh/boundary
deleted file mode 100644
index 07baa2866a8..00000000000
--- a/tutorials/multiphase/potentialFreeSurfaceDyMFoam/oscillatingBox/constant/polyMesh/boundary
+++ /dev/null
@@ -1,71 +0,0 @@
-/*--------------------------------*- 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      binary;
-    class       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-7
-(
-    freeSurface
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          181;
-        startFace       7429;
-    }
-    leftWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          20;
-        startFace       7610;
-    }
-    rightWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          20;
-        startFace       7630;
-    }
-    bottomWall
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          200;
-        startFace       7650;
-    }
-    floatingObject
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          18;
-        startFace       7850;
-    }
-    frontAndBack
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          7658;
-        startFace       7868;
-    }
-    floatingObjectBottom
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          19;
-        startFace       15526;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/constant/polyMesh/boundary b/tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/constant/polyMesh/boundary
deleted file mode 100644
index 4564ccc46a6..00000000000
--- a/tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/constant/polyMesh/boundary
+++ /dev/null
@@ -1,48 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    inlet
-    {
-        type            patch;
-        nFaces          25;
-        startFace       3650;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          25;
-        startFace       3675;
-    }
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          150;
-        startFace       3700;
-    }
-    defaultFaces
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3750;
-        startFace       3850;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/constant/polyMesh/boundary b/tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/constant/polyMesh/boundary
deleted file mode 100644
index 5c2a6cf99c5..00000000000
--- a/tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/constant/polyMesh/boundary
+++ /dev/null
@@ -1,50 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    rotor
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          192;
-        startFace       5952;
-    }
-    stator
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          192;
-        startFace       6144;
-    }
-    front
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3072;
-        startFace       6336;
-    }
-    back
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3072;
-        startFace       9408;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/LES/bubbleColumn/constant/polyMesh/boundary b/tutorials/multiphase/reactingTwoPhaseEulerFoam/LES/bubbleColumn/constant/polyMesh/boundary
deleted file mode 100644
index 4564ccc46a6..00000000000
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/LES/bubbleColumn/constant/polyMesh/boundary
+++ /dev/null
@@ -1,48 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    inlet
-    {
-        type            patch;
-        nFaces          25;
-        startFace       3650;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          25;
-        startFace       3675;
-    }
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          150;
-        startFace       3700;
-    }
-    defaultFaces
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3750;
-        startFace       3850;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/bubbleColumn/constant/polyMesh/boundary b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/bubbleColumn/constant/polyMesh/boundary
deleted file mode 100644
index 4564ccc46a6..00000000000
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/bubbleColumn/constant/polyMesh/boundary
+++ /dev/null
@@ -1,48 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    inlet
-    {
-        type            patch;
-        nFaces          25;
-        startFace       3650;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          25;
-        startFace       3675;
-    }
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          150;
-        startFace       3700;
-    }
-    defaultFaces
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3750;
-        startFace       3850;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/bubbleColumnEvaporatingReacting/constant/polyMesh/boundary b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/bubbleColumnEvaporatingReacting/constant/polyMesh/boundary
deleted file mode 100644
index 4564ccc46a6..00000000000
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/bubbleColumnEvaporatingReacting/constant/polyMesh/boundary
+++ /dev/null
@@ -1,48 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    inlet
-    {
-        type            patch;
-        nFaces          25;
-        startFace       3650;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          25;
-        startFace       3675;
-    }
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          150;
-        startFace       3700;
-    }
-    defaultFaces
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3750;
-        startFace       3850;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/fluidisedBed/constant/polyMesh/boundary b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/fluidisedBed/constant/polyMesh/boundary
deleted file mode 100644
index cda7f49514c..00000000000
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/fluidisedBed/constant/polyMesh/boundary
+++ /dev/null
@@ -1,48 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    inlet
-    {
-        type            patch;
-        nFaces          30;
-        startFace       11770;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          30;
-        startFace       11800;
-    }
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          400;
-        startFace       11830;
-    }
-    frontAndBackPlanes
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          12000;
-        startFace       12230;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/bubbleColumn/constant/polyMesh/boundary b/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/bubbleColumn/constant/polyMesh/boundary
deleted file mode 100644
index 4564ccc46a6..00000000000
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/bubbleColumn/constant/polyMesh/boundary
+++ /dev/null
@@ -1,48 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    inlet
-    {
-        type            patch;
-        nFaces          25;
-        startFace       3650;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          25;
-        startFace       3675;
-    }
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          150;
-        startFace       3700;
-    }
-    defaultFaces
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3750;
-        startFace       3850;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/bubbleColumnEvaporating/constant/polyMesh/boundary b/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/bubbleColumnEvaporating/constant/polyMesh/boundary
deleted file mode 100644
index 4564ccc46a6..00000000000
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/bubbleColumnEvaporating/constant/polyMesh/boundary
+++ /dev/null
@@ -1,48 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    inlet
-    {
-        type            patch;
-        nFaces          25;
-        startFace       3650;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          25;
-        startFace       3675;
-    }
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          150;
-        startFace       3700;
-    }
-    defaultFaces
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3750;
-        startFace       3850;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/bubbleColumnEvaporatingDissolving/constant/polyMesh/boundary b/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/bubbleColumnEvaporatingDissolving/constant/polyMesh/boundary
deleted file mode 100644
index 4564ccc46a6..00000000000
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/bubbleColumnEvaporatingDissolving/constant/polyMesh/boundary
+++ /dev/null
@@ -1,48 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    inlet
-    {
-        type            patch;
-        nFaces          25;
-        startFace       3650;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          25;
-        startFace       3675;
-    }
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          150;
-        startFace       3700;
-    }
-    defaultFaces
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3750;
-        startFace       3850;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/bubbleColumnIATE/constant/polyMesh/boundary b/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/bubbleColumnIATE/constant/polyMesh/boundary
deleted file mode 100644
index 4564ccc46a6..00000000000
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/bubbleColumnIATE/constant/polyMesh/boundary
+++ /dev/null
@@ -1,48 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    inlet
-    {
-        type            patch;
-        nFaces          25;
-        startFace       3650;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          25;
-        startFace       3675;
-    }
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          150;
-        startFace       3700;
-    }
-    defaultFaces
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3750;
-        startFace       3850;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/fluidisedBed/constant/polyMesh/boundary b/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/fluidisedBed/constant/polyMesh/boundary
deleted file mode 100644
index cda7f49514c..00000000000
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/fluidisedBed/constant/polyMesh/boundary
+++ /dev/null
@@ -1,48 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    inlet
-    {
-        type            patch;
-        nFaces          30;
-        startFace       11770;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          30;
-        startFace       11800;
-    }
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          400;
-        startFace       11830;
-    }
-    frontAndBackPlanes
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          12000;
-        startFace       12230;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/injection/constant/polyMesh/boundary b/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/injection/constant/polyMesh/boundary
deleted file mode 100644
index 47889c5cc1a..00000000000
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/injection/constant/polyMesh/boundary
+++ /dev/null
@@ -1,42 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-3
-(
-    outlet
-    {
-        type            patch;
-        nFaces          25;
-        startFace       3650;
-    }
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          175;
-        startFace       3675;
-    }
-    defaultFaces
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3750;
-        startFace       3850;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/mixerVessel2D/constant/polyMesh/boundary b/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/mixerVessel2D/constant/polyMesh/boundary
deleted file mode 100644
index 5c2a6cf99c5..00000000000
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/mixerVessel2D/constant/polyMesh/boundary
+++ /dev/null
@@ -1,50 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    rotor
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          192;
-        startFace       5952;
-    }
-    stator
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          192;
-        startFace       6144;
-    }
-    front
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3072;
-        startFace       6336;
-    }
-    back
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3072;
-        startFace       9408;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/mixerVessel2D/system/blockMeshDict b/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/mixerVessel2D/system/blockMeshDict
deleted file mode 100644
index 0c15d766142..00000000000
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/mixerVessel2D/system/blockMeshDict
+++ /dev/null
@@ -1,818 +0,0 @@
-/*--------------------------------*- 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;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-// General macros to create 2D/extruded-2D meshes
-
-
-
-
-
-
-
-
-
-
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-convertToMeters 0.1;
-
-// Hub radius
-
-
-// Impeller-tip radius
-
-
-// Baffle-tip radius
-
-
-// Tank radius
-
-
-// MRF region radius
-
-
-// Thickness of 2D slab
-
-
-// Base z
-
-
-// Top z
-
-
-// Number of cells radially between hub and impeller tip
-
-
-// Number of cells radially in each of the two regions between
-// impeller and baffle tips
-
-
-// Number of cells radially between baffle tip and tank
-
-
-// Number of cells azimuthally in each of the 8 blocks
-
-
-// Number of cells in the thickness of the slab
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-vertices
-(
-    (0.2 0 0) // Vertex r0b = 0
-    (0.2 0 0) // Vertex r0sb = 1
-    (0.141421356364228 -0.141421356110391 0) // Vertex r1b = 2
-    (3.58979347393082e-10 -0.2 0) // Vertex r2b = 3
-    (3.58979347393082e-10 -0.2 0) // Vertex r2sb = 4
-    (-0.141421355856554 -0.141421356618065 0) // Vertex r3b = 5
-    (-0.2 7.17958694786164e-10 0) // Vertex r4b = 6
-    (-0.2 7.17958694786164e-10 0) // Vertex r4sb = 7
-    (-0.141421355856554 0.141421356618065 0) // Vertex r5b = 8
-    (3.58979347393082e-10 0.2 0) // Vertex r6b = 9
-    (3.58979347393082e-10 0.2 0) // Vertex r6sb = 10
-    (0.141421356364228 0.141421356110391 0) // Vertex r7b = 11
-
-    (0.5 0 0) // Vertex rb0b = 12
-    (0.353553390910569 -0.353553390275978 0) // Vertex rb1b = 13
-    (8.97448368482705e-10 -0.5 0) // Vertex rb2b = 14
-    (-0.353553389641386 -0.353553391545162 0) // Vertex rb3b = 15
-    (-0.5 1.79489673696541e-09 0) // Vertex rb4b = 16
-    (-0.353553389641386 0.353553391545162 0) // Vertex rb5b = 17
-    (8.97448368482705e-10 0.5 0) // Vertex rb6b = 18
-    (0.353553390910569 0.353553390275978 0) // Vertex rb7b = 19
-
-    (0.6 0 0) // Vertex ri0b = 20
-    (0.424264069092683 -0.424264068331174 0) // Vertex ri1b = 21
-    (1.07693804217925e-09 -0.6 0) // Vertex ri2b = 22
-    (-0.424264067569663 -0.424264069854194 0) // Vertex ri3b = 23
-    (-0.6 2.15387608435849e-09 0) // Vertex ri4b = 24
-    (-0.424264067569663 0.424264069854194 0) // Vertex ri5b = 25
-    (1.07693804217925e-09 0.6 0) // Vertex ri6b = 26
-    (0.424264069092683 0.424264068331174 0) // Vertex ri7b = 27
-
-    (0.7 0 0) // Vertex Rb0b = 28
-    (0.494974747274797 -0.494974746386369 0) // Vertex Rb1b = 29
-    (1.25642771587579e-09 -0.7 0) // Vertex Rb2b = 30
-    (-0.49497474549794 -0.494974748163226 0) // Vertex Rb3b = 31
-    (-0.7 2.51285543175157e-09 0) // Vertex Rb4b = 32
-    (-0.49497474549794 0.494974748163226 0) // Vertex Rb5b = 33
-    (1.25642771587579e-09 0.7 0) // Vertex Rb6b = 34
-    (0.494974747274797 0.494974746386369 0) // Vertex Rb7b = 35
-
-    (1 0 0) // Vertex R0b = 36
-    (0.707106781821139 -0.707106780551956 0) // Vertex R1b = 37
-    (0.707106781821139 -0.707106780551956 0) // Vertex R1sb = 38
-    (1.79489673696541e-09 -1 0) // Vertex R2b = 39
-    (-0.707106779282772 -0.707106783090323 0) // Vertex R3b = 40
-    (-0.707106779282772 -0.707106783090323 0) // Vertex R3sb = 41
-    (-1 3.58979347393082e-09 0) // Vertex R4b = 42
-    (-0.707106779282772 0.707106783090323 0) // Vertex R5b = 43
-    (-0.707106779282772 0.707106783090323 0) // Vertex R5sb = 44
-    (1.79489673696541e-09 1 0) // Vertex R6b = 45
-    (0.707106781821139 0.707106780551956 0) // Vertex R7b = 46
-    (0.707106781821139 0.707106780551956 0) // Vertex R7sb = 47
-
-    (0.2 0 0.1) // Vertex r0t = 48
-    (0.2 0 0.1) // Vertex r0st = 49
-    (0.141421356364228 -0.141421356110391 0.1) // Vertex r1t = 50
-    (3.58979347393082e-10 -0.2 0.1) // Vertex r2t = 51
-    (3.58979347393082e-10 -0.2 0.1) // Vertex r2st = 52
-    (-0.141421355856554 -0.141421356618065 0.1) // Vertex r3t = 53
-    (-0.2 7.17958694786164e-10 0.1) // Vertex r4t = 54
-    (-0.2 7.17958694786164e-10 0.1) // Vertex r4st = 55
-    (-0.141421355856554 0.141421356618065 0.1) // Vertex r5t = 56
-    (3.58979347393082e-10 0.2 0.1) // Vertex r6t = 57
-    (3.58979347393082e-10 0.2 0.1) // Vertex r6st = 58
-    (0.141421356364228 0.141421356110391 0.1) // Vertex r7t = 59
-
-    (0.5 0 0.1) // Vertex rb0t = 60
-    (0.353553390910569 -0.353553390275978 0.1) // Vertex rb1t = 61
-    (8.97448368482705e-10 -0.5 0.1) // Vertex rb2t = 62
-    (-0.353553389641386 -0.353553391545162 0.1) // Vertex rb3t = 63
-    (-0.5 1.79489673696541e-09 0.1) // Vertex rb4t = 64
-    (-0.353553389641386 0.353553391545162 0.1) // Vertex rb5t = 65
-    (8.97448368482705e-10 0.5 0.1) // Vertex rb6t = 66
-    (0.353553390910569 0.353553390275978 0.1) // Vertex rb7t = 67
-
-    (0.6 0 0.1) // Vertex ri0t = 68
-    (0.424264069092683 -0.424264068331174 0.1) // Vertex ri1t = 69
-    (1.07693804217925e-09 -0.6 0.1) // Vertex ri2t = 70
-    (-0.424264067569663 -0.424264069854194 0.1) // Vertex ri3t = 71
-    (-0.6 2.15387608435849e-09 0.1) // Vertex ri4t = 72
-    (-0.424264067569663 0.424264069854194 0.1) // Vertex ri5t = 73
-    (1.07693804217925e-09 0.6 0.1) // Vertex ri6t = 74
-    (0.424264069092683 0.424264068331174 0.1) // Vertex ri7t = 75
-
-    (0.7 0 0.1) // Vertex Rb0t = 76
-    (0.494974747274797 -0.494974746386369 0.1) // Vertex Rb1t = 77
-    (1.25642771587579e-09 -0.7 0.1) // Vertex Rb2t = 78
-    (-0.49497474549794 -0.494974748163226 0.1) // Vertex Rb3t = 79
-    (-0.7 2.51285543175157e-09 0.1) // Vertex Rb4t = 80
-    (-0.49497474549794 0.494974748163226 0.1) // Vertex Rb5t = 81
-    (1.25642771587579e-09 0.7 0.1) // Vertex Rb6t = 82
-    (0.494974747274797 0.494974746386369 0.1) // Vertex Rb7t = 83
-
-    (1 0 0.1) // Vertex R0t = 84
-    (0.707106781821139 -0.707106780551956 0.1) // Vertex R1t = 85
-    (0.707106781821139 -0.707106780551956 0.1) // Vertex R1st = 86
-    (1.79489673696541e-09 -1 0.1) // Vertex R2t = 87
-    (-0.707106779282772 -0.707106783090323 0.1) // Vertex R3t = 88
-    (-0.707106779282772 -0.707106783090323 0.1) // Vertex R3st = 89
-    (-1 3.58979347393082e-09 0.1) // Vertex R4t = 90
-    (-0.707106779282772 0.707106783090323 0.1) // Vertex R5t = 91
-    (-0.707106779282772 0.707106783090323 0.1) // Vertex R5st = 92
-    (1.79489673696541e-09 1 0.1) // Vertex R6t = 93
-    (0.707106781821139 0.707106780551956 0.1) // Vertex R7t = 94
-    (0.707106781821139 0.707106780551956 0.1) // Vertex R7st = 95
-);
-
-blocks
-(
-    // block0
-    hex (0 2 13 12 48 50 61 60)
-    rotor
-    (12 12 1)
-    simpleGrading (1 1 1)
-
-    // block1
-    hex (2 4 14 13 50 52 62 61)
-    rotor
-    (12 12 1)
-    simpleGrading (1 1 1)
-
-    // block2
-    hex (3 5 15 14 51 53 63 62)
-    rotor
-    (12 12 1)
-    simpleGrading (1 1 1)
-
-    // block3
-    hex (5 7 16 15 53 55 64 63)
-    rotor
-    (12 12 1)
-    simpleGrading (1 1 1)
-
-    // block4
-    hex (6 8 17 16 54 56 65 64)
-    rotor
-    (12 12 1)
-    simpleGrading (1 1 1)
-
-    // block5
-    hex (8 10 18 17 56 58 66 65)
-    rotor
-    (12 12 1)
-    simpleGrading (1 1 1)
-
-    // block6
-    hex (9 11 19 18 57 59 67 66)
-    rotor
-    (12 12 1)
-    simpleGrading (1 1 1)
-
-    // block7
-    hex (11 1 12 19 59 49 60 67)
-    rotor
-    (12 12 1)
-    simpleGrading (1 1 1)
-
-    // block0
-    hex (12 13 21 20 60 61 69 68)
-    rotor
-    (12 4 1)
-    simpleGrading (1 1 1)
-
-    // block1
-    hex (13 14 22 21 61 62 70 69)
-    rotor
-    (12 4 1)
-    simpleGrading (1 1 1)
-
-    // block2
-    hex (14 15 23 22 62 63 71 70)
-    rotor
-    (12 4 1)
-    simpleGrading (1 1 1)
-
-    // block3
-    hex (15 16 24 23 63 64 72 71)
-    rotor
-    (12 4 1)
-    simpleGrading (1 1 1)
-
-    // block4
-    hex (16 17 25 24 64 65 73 72)
-    rotor
-    (12 4 1)
-    simpleGrading (1 1 1)
-
-    // block5
-    hex (17 18 26 25 65 66 74 73)
-    rotor
-    (12 4 1)
-    simpleGrading (1 1 1)
-
-    // block6
-    hex (18 19 27 26 66 67 75 74)
-    rotor
-    (12 4 1)
-    simpleGrading (1 1 1)
-
-    // block7
-    hex (19 12 20 27 67 60 68 75)
-    rotor
-    (12 4 1)
-    simpleGrading (1 1 1)
-
-    // block0
-    hex (20 21 29 28 68 69 77 76)
-    (12 4 1)
-    simpleGrading (1 1 1)
-
-    // block1
-    hex (21 22 30 29 69 70 78 77)
-    (12 4 1)
-    simpleGrading (1 1 1)
-
-    // block2
-    hex (22 23 31 30 70 71 79 78)
-    (12 4 1)
-    simpleGrading (1 1 1)
-
-    // block3
-    hex (23 24 32 31 71 72 80 79)
-    (12 4 1)
-    simpleGrading (1 1 1)
-
-    // block4
-    hex (24 25 33 32 72 73 81 80)
-    (12 4 1)
-    simpleGrading (1 1 1)
-
-    // block5
-    hex (25 26 34 33 73 74 82 81)
-    (12 4 1)
-    simpleGrading (1 1 1)
-
-    // block6
-    hex (26 27 35 34 74 75 83 82)
-    (12 4 1)
-    simpleGrading (1 1 1)
-
-    // block7
-    hex (27 20 28 35 75 68 76 83)
-    (12 4 1)
-    simpleGrading (1 1 1)
-
-    // block0
-    hex (28 29 38 36 76 77 86 84)
-    (12 12 1)
-    simpleGrading (1 1 1)
-
-    // block1
-    hex (29 30 39 37 77 78 87 85)
-    (12 12 1)
-    simpleGrading (1 1 1)
-
-    // block2
-    hex (30 31 41 39 78 79 89 87)
-    (12 12 1)
-    simpleGrading (1 1 1)
-
-    // block3
-    hex (31 32 42 40 79 80 90 88)
-    (12 12 1)
-    simpleGrading (1 1 1)
-
-    // block4
-    hex (32 33 44 42 80 81 92 90)
-    (12 12 1)
-    simpleGrading (1 1 1)
-
-    // block5
-    hex (33 34 45 43 81 82 93 91)
-    (12 12 1)
-    simpleGrading (1 1 1)
-
-    // block6
-    hex (34 35 47 45 82 83 95 93)
-    (12 12 1)
-    simpleGrading (1 1 1)
-
-    // block7
-    hex (35 28 36 46 83 76 84 94)
-    (12 12 1)
-    simpleGrading (1 1 1)
-);
-
-edges
-(
-    arc 0 2 (0.184775906536601 -0.0765366863901046 0)
-    arc 2 4 (0.0765366867217582 -0.184775906399226 0)
-    arc 3 5 (-0.0765366860584508 -0.184775906673977 0)
-    arc 5 7 (-0.18477590626185 -0.0765366870534118 0)
-    arc 6 8 (-0.18477590626185 0.0765366870534118 0)
-    arc 8 10 (-0.0765366860584508 0.184775906673977 0)
-    arc 9 11 (0.0765366867217582 0.184775906399226 0)
-    arc 11 1 (0.184775906536601 0.0765366863901046 0)
-
-    arc 12 13 (0.461939766341503 -0.191341715975262 0)
-    arc 13 14 (0.191341716804395 -0.461939765998065 0)
-    arc 14 15 (-0.191341715146127 -0.461939766684942 0)
-    arc 15 16 (-0.461939765654626 -0.19134171763353 0)
-    arc 16 17 (-0.461939765654626 0.19134171763353 0)
-    arc 17 18 (-0.191341715146127 0.461939766684942 0)
-    arc 18 19 (0.191341716804395 0.461939765998065 0)
-    arc 19 12 (0.461939766341503 0.191341715975262 0)
-
-    arc 20 21 (0.554327719609804 -0.229610059170314 0)
-    arc 21 22 (0.229610060165275 -0.554327719197677 0)
-    arc 22 23 (-0.229610058175352 -0.55432772002193 0)
-    arc 23 24 (-0.554327718785551 -0.229610061160235 0)
-    arc 24 25 (-0.554327718785551 0.229610061160235 0)
-    arc 25 26 (-0.229610058175352 0.55432772002193 0)
-    arc 26 27 (0.229610060165275 0.554327719197677 0)
-    arc 27 20 (0.554327719609804 0.229610059170314 0)
-
-    arc 28 29 (0.646715672878104 -0.267878402365366 0)
-    arc 29 30 (0.267878403526154 -0.64671567239729 0)
-    arc 30 31 (-0.267878401204578 -0.646715673358918 0)
-    arc 31 32 (-0.646715671916476 -0.267878404686941 0)
-    arc 32 33 (-0.646715671916476 0.267878404686941 0)
-    arc 33 34 (-0.267878401204578 0.646715673358918 0)
-    arc 34 35 (0.267878403526154 0.64671567239729 0)
-    arc 35 28 (0.646715672878104 0.267878402365366 0)
-
-    arc 36 38 (0.923879532683006 -0.382683431950523 0)
-    arc 37 39 (0.382683433608791 -0.923879531996129 0)
-    arc 39 41 (-0.382683430292254 -0.923879533369883 0)
-    arc 40 42 (-0.923879531309252 -0.382683435267059 0)
-    arc 42 44 (-0.923879531309252 0.382683435267059 0)
-    arc 43 45 (-0.382683430292254 0.923879533369883 0)
-    arc 45 47 (0.382683433608791 0.923879531996129 0)
-    arc 46 36 (0.923879532683006 0.382683431950523 0)
-
-    arc 48 50 (0.184775906536601 -0.0765366863901046 0.1)
-    arc 50 52 (0.0765366867217582 -0.184775906399226 0.1)
-    arc 51 53 (-0.0765366860584508 -0.184775906673977 0.1)
-    arc 53 55 (-0.18477590626185 -0.0765366870534118 0.1)
-    arc 54 56 (-0.18477590626185 0.0765366870534118 0.1)
-    arc 56 58 (-0.0765366860584508 0.184775906673977 0.1)
-    arc 57 59 (0.0765366867217582 0.184775906399226 0.1)
-    arc 59 49 (0.184775906536601 0.0765366863901046 0.1)
-
-    arc 60 61 (0.461939766341503 -0.191341715975262 0.1)
-    arc 61 62 (0.191341716804395 -0.461939765998065 0.1)
-    arc 62 63 (-0.191341715146127 -0.461939766684942 0.1)
-    arc 63 64 (-0.461939765654626 -0.19134171763353 0.1)
-    arc 64 65 (-0.461939765654626 0.19134171763353 0.1)
-    arc 65 66 (-0.191341715146127 0.461939766684942 0.1)
-    arc 66 67 (0.191341716804395 0.461939765998065 0.1)
-    arc 67 60 (0.461939766341503 0.191341715975262 0.1)
-
-    arc 68 69 (0.554327719609804 -0.229610059170314 0.1)
-    arc 69 70 (0.229610060165275 -0.554327719197677 0.1)
-    arc 70 71 (-0.229610058175352 -0.55432772002193 0.1)
-    arc 71 72 (-0.554327718785551 -0.229610061160235 0.1)
-    arc 72 73 (-0.554327718785551 0.229610061160235 0.1)
-    arc 73 74 (-0.229610058175352 0.55432772002193 0.1)
-    arc 74 75 (0.229610060165275 0.554327719197677 0.1)
-    arc 75 68 (0.554327719609804 0.229610059170314 0.1)
-
-    arc 76 77 (0.646715672878104 -0.267878402365366 0.1)
-    arc 77 78 (0.267878403526154 -0.64671567239729 0.1)
-    arc 78 79 (-0.267878401204578 -0.646715673358918 0.1)
-    arc 79 80 (-0.646715671916476 -0.267878404686941 0.1)
-    arc 80 81 (-0.646715671916476 0.267878404686941 0.1)
-    arc 81 82 (-0.267878401204578 0.646715673358918 0.1)
-    arc 82 83 (0.267878403526154 0.64671567239729 0.1)
-    arc 83 76 (0.646715672878104 0.267878402365366 0.1)
-
-    arc 84 86 (0.923879532683006 -0.382683431950523 0.1)
-    arc 85 87 (0.382683433608791 -0.923879531996129 0.1)
-    arc 87 89 (-0.382683430292254 -0.923879533369883 0.1)
-    arc 88 90 (-0.923879531309252 -0.382683435267059 0.1)
-    arc 90 92 (-0.923879531309252 0.382683435267059 0.1)
-    arc 91 93 (-0.382683430292254 0.923879533369883 0.1)
-    arc 93 95 (0.382683433608791 0.923879531996129 0.1)
-    arc 94 84 (0.923879532683006 0.382683431950523 0.1)
-);
-
-patches
-(
-    wall rotor
-    (
-        (0 2 50 48)
-        (2 4 52 50)
-        (3 5 53 51)
-        (5 7 55 53)
-        (6 8 56 54)
-        (8 10 58 56)
-        (9 11 59 57)
-        (11 1 49 59)
-
-        (0 12 60 48)
-        (1 12 60 49)
-
-        (3 14 62 51)
-        (4 14 62 52)
-
-        (6 16 64 54)
-        (7 16 64 55)
-
-        (9 18 66 57)
-        (10 18 66 58)
-    )
-
-    wall stator
-    (
-        (36 38 86 84)
-        (37 39 87 85)
-        (39 41 89 87)
-        (40 42 90 88)
-        (42 44 92 90)
-        (43 45 93 91)
-        (45 47 95 93)
-        (46 36 84 94)
-
-        (37 29 77 85)
-        (38 29 77 86)
-
-        (40 31 79 88)
-        (41 31 79 89)
-
-        (43 33 81 91)
-        (44 33 81 92)
-
-        (46 35 83 94)
-        (47 35 83 95)
-    )
-
-    empty front
-    (
-        (48 50 61 60)
-        (50 52 62 61)
-        (51 53 63 62)
-        (53 55 64 63)
-        (54 56 65 64)
-        (56 58 66 65)
-        (57 59 67 66)
-        (59 49 60 67)
-        (60 61 69 68)
-        (61 62 70 69)
-        (62 63 71 70)
-        (63 64 72 71)
-        (64 65 73 72)
-        (65 66 74 73)
-        (66 67 75 74)
-        (67 60 68 75)
-        (68 69 77 76)
-        (69 70 78 77)
-        (70 71 79 78)
-        (71 72 80 79)
-        (72 73 81 80)
-        (73 74 82 81)
-        (74 75 83 82)
-        (75 68 76 83)
-        (76 77 86 84)
-        (77 78 87 85)
-        (78 79 89 87)
-        (79 80 90 88)
-        (80 81 92 90)
-        (81 82 93 91)
-        (82 83 95 93)
-        (83 76 84 94)
-    )
-
-    empty back
-    (
-        (0 12 13 2)
-        (2 13 14 4)
-        (3 14 15 5)
-        (5 15 16 7)
-        (6 16 17 8)
-        (8 17 18 10)
-        (9 18 19 11)
-        (11 19 12 1)
-        (12 20 21 13)
-        (13 21 22 14)
-        (14 22 23 15)
-        (15 23 24 16)
-        (16 24 25 17)
-        (17 25 26 18)
-        (18 26 27 19)
-        (19 27 20 12)
-        (20 28 29 21)
-        (21 29 30 22)
-        (22 30 31 23)
-        (23 31 32 24)
-        (24 32 33 25)
-        (25 33 34 26)
-        (26 34 35 27)
-        (27 35 28 20)
-        (28 36 38 29)
-        (29 37 39 30)
-        (30 39 41 31)
-        (31 40 42 32)
-        (32 42 44 33)
-        (33 43 45 34)
-        (34 45 47 35)
-        (35 46 36 28)
-    )
-);
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/constant/polyMesh/boundary b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/constant/polyMesh/boundary
deleted file mode 100644
index 4564ccc46a6..00000000000
--- a/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/constant/polyMesh/boundary
+++ /dev/null
@@ -1,48 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    inlet
-    {
-        type            patch;
-        nFaces          25;
-        startFace       3650;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          25;
-        startFace       3675;
-    }
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          150;
-        startFace       3700;
-    }
-    defaultFaces
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3750;
-        startFace       3850;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/constant/polyMesh/boundary b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/constant/polyMesh/boundary
deleted file mode 100644
index 4564ccc46a6..00000000000
--- a/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/constant/polyMesh/boundary
+++ /dev/null
@@ -1,48 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    inlet
-    {
-        type            patch;
-        nFaces          25;
-        startFace       3650;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          25;
-        startFace       3675;
-    }
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          150;
-        startFace       3700;
-    }
-    defaultFaces
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3750;
-        startFace       3850;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/constant/polyMesh/boundary b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/constant/polyMesh/boundary
deleted file mode 100644
index cda7f49514c..00000000000
--- a/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/constant/polyMesh/boundary
+++ /dev/null
@@ -1,48 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    inlet
-    {
-        type            patch;
-        nFaces          30;
-        startFace       11770;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          30;
-        startFace       11800;
-    }
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          400;
-        startFace       11830;
-    }
-    frontAndBackPlanes
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          12000;
-        startFace       12230;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/constant/polyMesh/boundary b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/constant/polyMesh/boundary
deleted file mode 100644
index 4564ccc46a6..00000000000
--- a/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/constant/polyMesh/boundary
+++ /dev/null
@@ -1,48 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    inlet
-    {
-        type            patch;
-        nFaces          25;
-        startFace       3650;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          25;
-        startFace       3675;
-    }
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          150;
-        startFace       3700;
-    }
-    defaultFaces
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3750;
-        startFace       3850;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumnIATE/constant/polyMesh/boundary b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumnIATE/constant/polyMesh/boundary
deleted file mode 100644
index 4564ccc46a6..00000000000
--- a/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumnIATE/constant/polyMesh/boundary
+++ /dev/null
@@ -1,48 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    inlet
-    {
-        type            patch;
-        nFaces          25;
-        startFace       3650;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          25;
-        startFace       3675;
-    }
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          150;
-        startFace       3700;
-    }
-    defaultFaces
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3750;
-        startFace       3850;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/constant/polyMesh/boundary b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/constant/polyMesh/boundary
deleted file mode 100644
index cda7f49514c..00000000000
--- a/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/constant/polyMesh/boundary
+++ /dev/null
@@ -1,48 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    inlet
-    {
-        type            patch;
-        nFaces          30;
-        startFace       11770;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          30;
-        startFace       11800;
-    }
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          400;
-        startFace       11830;
-    }
-    frontAndBackPlanes
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          12000;
-        startFace       12230;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/twoPhaseEulerFoam/laminar/injection/constant/polyMesh/boundary b/tutorials/multiphase/twoPhaseEulerFoam/laminar/injection/constant/polyMesh/boundary
deleted file mode 100644
index 47889c5cc1a..00000000000
--- a/tutorials/multiphase/twoPhaseEulerFoam/laminar/injection/constant/polyMesh/boundary
+++ /dev/null
@@ -1,42 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-3
-(
-    outlet
-    {
-        type            patch;
-        nFaces          25;
-        startFace       3650;
-    }
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          175;
-        startFace       3675;
-    }
-    defaultFaces
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3750;
-        startFace       3850;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/constant/polyMesh/boundary b/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/constant/polyMesh/boundary
deleted file mode 100644
index 5c2a6cf99c5..00000000000
--- a/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/constant/polyMesh/boundary
+++ /dev/null
@@ -1,50 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-4
-(
-    rotor
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          192;
-        startFace       5952;
-    }
-    stator
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          192;
-        startFace       6144;
-    }
-    front
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3072;
-        startFace       6336;
-    }
-    back
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          3072;
-        startFace       9408;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/constant/polyMesh/boundary b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/constant/polyMesh/boundary
deleted file mode 100644
index 1d54b63e6ba..00000000000
--- a/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/constant/polyMesh/boundary
+++ /dev/null
@@ -1,58 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-6
-(
-    left
-    {
-        type            symmetryPlane;
-        nFaces          30;
-        startFace       1930;
-    }
-    right
-    {
-        type            patch;
-        nFaces          30;
-        startFace       1960;
-    }
-    down
-    {
-        type            symmetryPlane;
-        nFaces          30;
-        startFace       1990;
-    }
-    up
-    {
-        type            patch;
-        nFaces          30;
-        startFace       2020;
-    }
-    hole
-    {
-        type            patch;
-        nFaces          20;
-        startFace       2050;
-    }
-    frontAndBack
-    {
-        type            empty;
-        nFaces          2000;
-        startFace       2070;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/constant/polyMesh/boundary b/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/constant/polyMesh/boundary
deleted file mode 100644
index de0c0bac80c..00000000000
--- a/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/constant/polyMesh/boundary
+++ /dev/null
@@ -1,52 +0,0 @@
-/*--------------------------------*- 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       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-5
-(
-    topSurface
-    {
-        type            patch;
-        nFaces          6;
-        startFace       16;
-    }
-    bottomSurface
-    {
-        type            patch;
-        nFaces          6;
-        startFace       22;
-    }
-    fixedEnd
-    {
-        type            patch;
-        nFaces          2;
-        startFace       28;
-    }
-    tractionEnd
-    {
-        type            patch;
-        nFaces          2;
-        startFace       30;
-    }
-    defaultFaces
-    {
-        type            empty;
-        nFaces          24;
-        startFace       32;
-    }
-)
-
-// ************************************************************************* //
-- 
GitLab


From 6fe856136d1334b51db53f2c7016adf727e97afd Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 13 Nov 2015 22:06:52 +0000
Subject: [PATCH 069/141] reactingTwoPhaseEulerFoam,
 reactingMultiphaseEulerFoam: Added nEnergyCorrectors to allow iteration over
 the energy equations to improve stability for phase-change. Additionally if
 nEnergyCorrectors is set to 0 the energy equations are not solved which may
 be beneficial during the startup of some cases.

---
 .../reactingEulerFoam/reactingMultiphaseEulerFoam/EEqns.H    | 1 +
 .../reactingMultiphaseEulerFoam.C                            | 5 +++++
 .../reactingEulerFoam/reactingTwoPhaseEulerFoam/EEqns.H      | 1 +
 .../reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C    | 5 +++++
 4 files changed, 12 insertions(+)

diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/EEqns.H b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/EEqns.H
index 386331e0ee9..422f6324b1d 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/EEqns.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/EEqns.H
@@ -1,3 +1,4 @@
+for (int Ecorr=0; Ecorr<nEnergyCorrectors; Ecorr++)
 {
     fluid.correctEnergyTransport();
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/reactingMultiphaseEulerFoam.C b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/reactingMultiphaseEulerFoam.C
index cb90ee11962..d5c48d47aa1 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/reactingMultiphaseEulerFoam.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/reactingMultiphaseEulerFoam.C
@@ -76,6 +76,11 @@ int main(int argc, char *argv[])
 
     //#include "pUf/createDDtU.H"
 
+    int nEnergyCorrectors
+    (
+        pimple.dict().lookupOrDefault<int>("nEnergyCorrectors", 1)
+    );
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/EEqns.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/EEqns.H
index 684e5ede43f..3060c444de3 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/EEqns.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/EEqns.H
@@ -1,3 +1,4 @@
+for (int Ecorr=0; Ecorr<nEnergyCorrectors; Ecorr++)
 {
     fluid.correctEnergyTransport();
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C
index 074a3aafbd4..00672f2f016 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C
@@ -77,6 +77,11 @@ int main(int argc, char *argv[])
 
     #include "pUf/createDDtU.H"
 
+    int nEnergyCorrectors
+    (
+        pimple.dict().lookupOrDefault<int>("nEnergyCorrectors", 1)
+    );
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
-- 
GitLab


From 55f7d50be1294ebe4566f714cbf43d115aa007de Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sat, 14 Nov 2015 17:03:03 +0000
Subject: [PATCH 070/141] FreeBSD sed: ensure that a "-e" option immediately
 follows "-i"

---
 bin/tools/inlineReplace                       | 30 -------------------
 bin/tools/pre-commit-hook                     |  6 ++--
 bin/tools/replaceAllShellSun                  | 17 -----------
 .../sonicFoam/ras/nacaAirfoil/Allrun          |  2 +-
 .../hotBoxes/Allrun.pre                       |  2 +-
 wmake/MakefileFiles                           | 13 ++------
 6 files changed, 8 insertions(+), 62 deletions(-)
 delete mode 100755 bin/tools/inlineReplace
 delete mode 100755 bin/tools/replaceAllShellSun

diff --git a/bin/tools/inlineReplace b/bin/tools/inlineReplace
deleted file mode 100755
index 27d19f81649..00000000000
--- a/bin/tools/inlineReplace
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/sh
-
-# $0 oldString newString file1 .. fileN
-#
-if [ $# -lt 3 ]
-then
-    echo "Usage: ${0##*/} <oldString> <newString> <file1> [.. fileN]"
-    echo ""
-    echo "Replaces all occurrences of oldString by newString in files."
-    echo "(replacement for sed -i on systems that don't support it)"
-    exit 1
-fi
-
-oldString="$1"
-newString="$2"
-shift 2
-
-for f
-do
-    if grep "$oldString" "$f" >/dev/null
-    then
-        cp "$f" "${f}_bak"
-        sed -e "s@$oldString@$newString@g" "${f}_bak" > "$f"
-        rm -f "${f}_bak"
-    #else
-    #    echo "String $oldString not present in $f"
-    fi
-done
-
-# ----------------------------------------------------------------- end-of-file
diff --git a/bin/tools/pre-commit-hook b/bin/tools/pre-commit-hook
index 2905d7d322d..d3bf374e04a 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-2013 OpenFOAM Foundation
+#   \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
 #    \\/     M anipulation  |
 #------------------------------------------------------------------------------
 # License
@@ -290,7 +290,7 @@ checkCopyright()
                 then
                     echo "Updated copyright for: $f" 1>&2
                     echo "$f"
-                    sed -i "s/$startYear-$endYear OpenFOAM/$startYear-$year OpenFOAM/g" $f
+                    sed -i -e "s/$startYear-$endYear OpenFOAM/$startYear-$year OpenFOAM/g" $f
                 fi
             else
                 # Date is of type 2011 OpenFOAM Foundation
@@ -298,7 +298,7 @@ checkCopyright()
                 then
                     echo "$f"
                     echo "Updated copyright for: $f" 1>&2
-                    sed -i "s/$startYear OpenFOAM/$startYear-$year OpenFOAM/g" $f
+                    sed -i -e "s/$startYear OpenFOAM/$startYear-$year OpenFOAM/g" $f
                 fi
             fi
         fi
diff --git a/bin/tools/replaceAllShellSun b/bin/tools/replaceAllShellSun
deleted file mode 100755
index d5a0d8db995..00000000000
--- a/bin/tools/replaceAllShellSun
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/usr/xpg4/bin/sh
-
-# Replace all shell script headers with 
-if [ $# -ne 1 -o ! -d "$1" ]
-then
-    echo "Usage: ${0##*/} <dir>"
-    echo ""
-    echo "Replaces all occurrences of #!/bin/sh with #!/usr/xpg4/bin/sh inside a directory tree."
-    exit 1
-fi
-
-#- note that below does not work since {} does not get replaced
-#find $1 -type f -exec /usr/xpg4/bin/sh -c "grep '^#\!/bin/sh' {} >/dev/null && echo {} && mv {} {}_bak && sed -e 's@^#\!/bin/sh@#\!/usr/xpg4/bin/sh@' {}_bak > {}" ';'
-
-find $1 -exec $WM_PROJECT_DIR/bin/tools/inlineReplace '^#\!/bin/sh' '#\!/usr/xpg4/bin/sh' {} \; -print
-
-# ----------------------------------------------------------------- end-of-file
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/Allrun b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/Allrun
index dd782a71965..0df7881d409 100755
--- a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/Allrun
+++ b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/Allrun
@@ -9,7 +9,7 @@ application=`getApplication`
 
 runApplication star3ToFoam prostar/nacaAirfoil
 
-sed -i 's/symmetry\([)]*;\)/empty\1/' constant/polyMesh/boundary
+sed -i -e 's/symmetry\([)]*;\)/empty\1/' constant/polyMesh/boundary
 
 runApplication $application
 
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/Allrun.pre b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/Allrun.pre
index 019978bbb42..06e9e9ec5fb 100755
--- a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/Allrun.pre
+++ b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/Allrun.pre
@@ -30,7 +30,7 @@ rm -rf system/wallFilmRegion
 cp -r system/wallFilmRegion.org system/wallFilmRegion
 
 find ./0 -maxdepth 1 -type f -exec \
-    sed -i "s/wallFilm/\"(region0_to.*)\"/g" {} \;
+    sed -i -e "s/wallFilm/\"(region0_to.*)\"/g" {} \;
 
 paraFoam -touch
 paraFoam -touch -region wallFilmRegion
diff --git a/wmake/MakefileFiles b/wmake/MakefileFiles
index 9f0ed1cf9d2..8c5535354af 100644
--- a/wmake/MakefileFiles
+++ b/wmake/MakefileFiles
@@ -2,7 +2,7 @@
 # =========                 |
 # \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
 #  \\    /   O peration     |
-#   \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+#   \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
 #    \\/     M anipulation  |
 #------------------------------------------------------------------------------
 # License
@@ -68,16 +68,9 @@ $(SFILES): $(MAKE_DIR)/files
 	# Add a newline to files to ensure the last line is followed by a newline
 	@echo "" >> $(SFILES)
 	# Remove commented lines, blank lines, and trailing blanks from files
-	@sed -i \
-	    -e '/^#/ d'         \
-	    -e '/^[ \t]*$$/ d'   \
-	    -e 's,[ \t]*$$,,'    \
-	     $(SFILES)
+	@sed -i -e '/^#/ d' -e '/^[ \t]*$$/ d' -e 's,[ \t]*$$,,' $(SFILES)
 	# Add backslashes
-	@sed -i \
-	    -e 's,$$, \\,'    \
-	    -e '$$s,\\,,'    \
-	    $(SFILES)
+	@sed -i -e 's,$$, \\,' -e '$$s,\\,,' $(SFILES)
 
 $(VARS): $(SFILES)
 
-- 
GitLab


From f4695953aab490ef528dabd9c6924a64f684cc7b Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sat, 14 Nov 2015 19:31:06 +0000
Subject: [PATCH 071/141] 
 tutorials/combustion/fireFoam/les/oppositeBurningPanels: Improved schemes and
 BCs

---
 .../fireFoam/les/oppositeBurningPanels/0/U    |  9 +-------
 .../les/oppositeBurningPanels/0/p_rgh         |  8 +------
 .../les/oppositeBurningPanels/constant/hRef   | 21 +++++++++++++++++++
 .../oppositeBurningPanels/system/fvSchemes    |  6 +++---
 .../oppositeBurningPanels/system/fvSolution   | 21 +++++--------------
 5 files changed, 31 insertions(+), 34 deletions(-)
 create mode 100644 tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/hRef

diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/U b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/U
index f5e2ba0301d..9956821b4e9 100644
--- a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/U
+++ b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/U
@@ -27,13 +27,6 @@ boundaryField
         value           $internalField;
     }
 
-    top
-    {
-        type            inletOutlet;
-        inletValue      $internalField;
-        value           $internalField;
-    }
-
     burner
     {
         type            flowRateInletVelocity;
@@ -41,7 +34,7 @@ boundaryField
         value           uniform (0 0 0);
     }
 
-    sides
+    "(top|sides)"
     {
         type            pressureInletOutletVelocity;
         phi             phi;
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/p_rgh b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/p_rgh
index f0770e8bd9f..8beb741369d 100644
--- a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/p_rgh
+++ b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/p_rgh
@@ -27,19 +27,13 @@ boundaryField
         value           $internalField;
     }
 
-    top
-    {
-        type            zeroGradient;
-        value           $internalField;
-    }
-
     burner
     {
         type            fixedFluxPressure;
         value           $internalField;
     }
 
-    sides
+    "(top|sides)"
     {
         type            totalPressure;
         U               U;
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/hRef b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/hRef
new file mode 100644
index 00000000000..9bd140541c3
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/hRef
@@ -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       uniformDimensionedScalarField;
+    location    "constant";
+    object      hRef;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 1 0 0 0 0 0];
+value           4.2;
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/fvSchemes b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/fvSchemes
index f28d6fcd166..d28d02ca9c5 100644
--- a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/fvSchemes
+++ b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/fvSchemes
@@ -28,9 +28,10 @@ gradSchemes
 divSchemes
 {
     default         none;
-    div(phi,U)      Gauss limitedLinear 1;
+    div(phi,U)      Gauss LUST grad(U);
+    div(phi,K)      Gauss limitedLinear 1;
     div(phi,k)      Gauss limitedLinear 1;
-    div(phi,Yi_h)  Gauss multivariateSelection
+    div(phi,Yi_h)   Gauss multivariateSelection
     {
         O2              linearUpwind grad(O2);
         N2              linearUpwind grad(N2);
@@ -40,7 +41,6 @@ divSchemes
         h               linearUpwind grad(h);
     };
     div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
-    div(phi,K)          Gauss limitedLinear 1;
     div(Ji,Ii_h)        Gauss upwind;
 }
 
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/fvSolution b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/fvSolution
index 47cd5fb2fe1..5691a3dbd97 100644
--- a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/fvSolution
+++ b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/fvSolution
@@ -17,7 +17,7 @@ FoamFile
 
 solvers
 {
-    rho
+    "rho.*"
     {
         solver          PCG;
         preconditioner  DIC;
@@ -25,12 +25,6 @@ solvers
         relTol          0;
     };
 
-    "(rho)Final"
-    {
-        $rho;
-        relTol          0;
-    }
-
     p_rgh
     {
         solver              GAMG;
@@ -39,18 +33,16 @@ solvers
         smoother            GaussSeidel;
         cacheAgglomeration  true;
         nCellsInCoarsestLevel   10;
-        agglomerator    faceAreaPair;
-        mergeLevels     1;
+        agglomerator        faceAreaPair;
+        mergeLevels         1;
     };
 
     p_rghFinal
     {
         $p_rgh;
-        tolerance           1e-6;
         relTol              0;
     };
 
-
     "(U|Yi|k|h|omega)"
     {
         solver          PBiCG;
@@ -63,11 +55,9 @@ solvers
     "(U|Yi|k|h|omega)Final"
     {
         $U;
-        tolerance       1e-6;
         relTol          0;
     };
 
-
     Ii
     {
         solver                  GAMG;
@@ -90,7 +80,6 @@ solvers
         tolerance       1e-04;
         relTol          0;
     }
-
 }
 
 PIMPLE
@@ -105,9 +94,9 @@ relaxationFactors
 {
     equations
     {
-        "(U|k).*"                   1;
-        "(C3H8|O2|H2O|CO2|h).*"     1;
+        ".*"            1;
     }
 }
 
+
 // ************************************************************************* //
-- 
GitLab


From 6a59811e092ae2c1e21948667e5f6b15b4bba17e Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sat, 14 Nov 2015 19:31:41 +0000
Subject: [PATCH 072/141] reactingEulerFoam/interfacialModels/liftModels:
 wallDampedLift New lift model supporting near-wall damping using the new
 wallDampingModels.

e.g.

lift
(
    (air in water)
    {
        type            wallDamped;
        lift
        {
            type            constantCoefficient;
            Cl              0.5;
        }
        wallDamping
        {
            type            linear;
            Cd              0.5;
        }
    }
);

in which a linear near-wall damping function min(y/(Cd*d), 1) is applied to the constant
coefficient lift model.  Additional wall-damping functions will be added.
---
 .../interfacialModels/Make/files              |   6 +
 .../wallDampedLift/wallDampedLift.C           |  91 +++++++++++
 .../wallDampedLift/wallDampedLift.H           | 112 ++++++++++++++
 .../linear/linearWallDamping.C                | 108 +++++++++++++
 .../linear/linearWallDamping.H                | 120 ++++++++++++++
 .../noWallDamping/noWallDamping.C             |  97 ++++++++++++
 .../noWallDamping/noWallDamping.H             | 108 +++++++++++++
 .../wallDampingModel/newWallDampingModel.C    |  59 +++++++
 .../wallDampingModel/wallDampingModel.C       |  59 +++++++
 .../wallDampingModel/wallDampingModel.H       | 146 ++++++++++++++++++
 10 files changed, 906 insertions(+)
 create mode 100644 applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/wallDampedLift/wallDampedLift.C
 create mode 100644 applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/wallDampedLift/wallDampedLift.H
 create mode 100644 applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/linear/linearWallDamping.C
 create mode 100644 applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/linear/linearWallDamping.H
 create mode 100644 applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/noWallDamping/noWallDamping.C
 create mode 100644 applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/noWallDamping/noWallDamping.H
 create mode 100644 applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/wallDampingModel/newWallDampingModel.C
 create mode 100644 applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/wallDampingModel/wallDampingModel.C
 create mode 100644 applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/wallDampingModel/wallDampingModel.H

diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/Make/files b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/Make/files
index 9a526d3625e..40a3d6c02c4 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/Make/files
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/Make/files
@@ -25,6 +25,7 @@ liftModels/constantLiftCoefficient/constantLiftCoefficient.C
 liftModels/Moraga/Moraga.C
 liftModels/LegendreMagnaudet/LegendreMagnaudet.C
 liftModels/TomiyamaLift/TomiyamaLift.C
+liftModels/wallDampedLift/wallDampedLift.C
 
 heatTransferModels/heatTransferModel/heatTransferModel.C
 heatTransferModels/heatTransferModel/newHeatTransferModel.C
@@ -61,4 +62,9 @@ aspectRatioModels/Wellek/Wellek.C
 
 wallDependentModel/wallDependentModel.C
 
+wallDampingModels/wallDampingModel/wallDampingModel.C
+wallDampingModels/wallDampingModel/newWallDampingModel.C
+wallDampingModels/noWallDamping/noWallDamping.C
+wallDampingModels/linear/linearWallDamping.C
+
 LIB = $(FOAM_LIBBIN)/libreactingEulerianInterfacialModels
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/wallDampedLift/wallDampedLift.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/wallDampedLift/wallDampedLift.C
new file mode 100644
index 00000000000..b21b2ae03a8
--- /dev/null
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/wallDampedLift/wallDampedLift.C
@@ -0,0 +1,91 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "wallDampedLift.H"
+#include "phasePair.H"
+#include "addToRunTimeSelectionTable.H"
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace liftModels
+{
+    defineTypeNameAndDebug(wallDamped, 0);
+    addToRunTimeSelectionTable(liftModel, wallDamped, dictionary);
+}
+}
+
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+Foam::liftModels::wallDamped::wallDamped
+(
+    const dictionary& dict,
+    const phasePair& pair
+)
+:
+    liftModel(dict, pair),
+    liftModel_(liftModel::New(dict.subDict("lift"), pair)),
+    wallDampingModel_
+    (
+        wallDampingModel::New(dict.subDict("wallDamping"), pair)
+    )
+{}
+
+
+// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
+
+Foam::liftModels::wallDamped::~wallDamped()
+{}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+Foam::tmp<Foam::volScalarField> Foam::liftModels::wallDamped::Cl() const
+{
+    return wallDampingModel_->damp(liftModel_->Cl());
+}
+
+
+Foam::tmp<Foam::volVectorField> Foam::liftModels::wallDamped::Fi() const
+{
+    return wallDampingModel_->damp(liftModel_->Fi());
+}
+
+
+Foam::tmp<Foam::volVectorField> Foam::liftModels::wallDamped::F() const
+{
+    return wallDampingModel_->damp(liftModel_->F());
+}
+
+
+Foam::tmp<Foam::surfaceScalarField> Foam::liftModels::wallDamped::Ff() const
+{
+    return wallDampingModel_->damp(liftModel_->Ff());
+}
+
+
+// ************************************************************************* //
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/wallDampedLift/wallDampedLift.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/wallDampedLift/wallDampedLift.H
new file mode 100644
index 00000000000..8a13850dd85
--- /dev/null
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/wallDampedLift/wallDampedLift.H
@@ -0,0 +1,112 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+Class
+    Foam::liftModels::wallDamped
+
+Description
+
+SourceFiles
+    wallDamped.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef wallDampedLift_H
+#define wallDampedLift_H
+
+#include "liftModel.H"
+#include "wallDampingModel.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+class phasePair;
+
+namespace liftModels
+{
+
+/*---------------------------------------------------------------------------*\
+                           Class wallDamped Declaration
+\*---------------------------------------------------------------------------*/
+
+class wallDamped
+:
+    public liftModel
+{
+    // Private data
+
+        //- The lift model to damp
+        autoPtr<liftModel> liftModel_;
+
+        //- The wall-damping model
+        autoPtr<wallDampingModel> wallDampingModel_;
+
+
+public:
+
+    //- Runtime type information
+    TypeName("wallDamped");
+
+
+    // Constructors
+
+        //- Construct from a dictionary and a phase pair
+        wallDamped
+        (
+            const dictionary& dict,
+            const phasePair& pair
+        );
+
+
+    //- Destructor
+    virtual ~wallDamped();
+
+
+    // Member Functions
+
+        //- Return lift coefficient
+        virtual tmp<volScalarField> Cl() const;
+
+        //- Return phase-intensive lift force
+        virtual tmp<volVectorField> Fi() const;
+
+        //- Return lift force
+        virtual tmp<volVectorField> F() const;
+
+        //- Return face lift force
+        virtual tmp<surfaceScalarField> Ff() const;
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace liftModels
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/linear/linearWallDamping.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/linear/linearWallDamping.C
new file mode 100644
index 00000000000..fdae491d608
--- /dev/null
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/linear/linearWallDamping.C
@@ -0,0 +1,108 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "linearWallDamping.H"
+#include "phasePair.H"
+#include "surfaceInterpolate.H"
+#include "addToRunTimeSelectionTable.H"
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace wallDampingModels
+{
+    defineTypeNameAndDebug(linear, 0);
+    addToRunTimeSelectionTable
+    (
+        wallDampingModel,
+        linear,
+        dictionary
+    );
+}
+}
+
+
+// * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * * //
+
+Foam::tmp<Foam::volScalarField>
+Foam::wallDampingModels::linear::limiter() const
+{
+    return min(yWall()/(Cd_*pair_.dispersed().d()), 1.0);
+}
+
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+Foam::wallDampingModels::linear::linear
+(
+    const dictionary& dict,
+    const phasePair& pair
+)
+:
+    wallDampingModel(dict, pair),
+    Cd_("Cd", dimless, dict)
+{}
+
+
+// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
+
+Foam::wallDampingModels::linear::~linear()
+{}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+Foam::tmp<Foam::volScalarField>
+Foam::wallDampingModels::linear::damp
+(
+    const tmp<volScalarField>& F
+) const
+{
+    return limiter()*F;
+}
+
+
+Foam::tmp<Foam::volVectorField>
+Foam::wallDampingModels::linear::damp
+(
+    const tmp<volVectorField>& F
+) const
+{
+    return limiter()*F;
+}
+
+
+Foam::tmp<Foam::surfaceScalarField>
+Foam::wallDampingModels::linear::damp
+(
+    const tmp<surfaceScalarField>& Ff
+) const
+{
+    return fvc::interpolate(limiter())*Ff;
+}
+
+
+// ************************************************************************* //
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/linear/linearWallDamping.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/linear/linearWallDamping.H
new file mode 100644
index 00000000000..28f32a3ca27
--- /dev/null
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/linear/linearWallDamping.H
@@ -0,0 +1,120 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+Class
+    Foam::wallDampingModels::linear
+
+Description
+
+SourceFiles
+    linearWallDamping.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef linearWallDamping_H
+#define linearWallDamping_H
+
+#include "wallDampingModel.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+class phasePair;
+
+namespace wallDampingModels
+{
+
+/*---------------------------------------------------------------------------*\
+                           Class linear Declaration
+\*---------------------------------------------------------------------------*/
+
+class linear
+:
+    public wallDampingModel
+{
+    // Private data
+
+        //- Diameter coefficient
+        const dimensionedScalar Cd_;
+
+
+    // Private member functions
+
+        //- Return the force limiter field
+        tmp<volScalarField> limiter() const;
+
+
+public:
+
+    //- Runtime type information
+    TypeName("linear");
+
+
+    // Constructors
+
+        //- Construct from components
+        linear
+        (
+            const dictionary& dict,
+            const phasePair& pair
+        );
+
+
+    //- Destructor
+    virtual ~linear();
+
+
+    // Member Functions
+
+        //- Return damped coefficient
+        virtual tmp<volScalarField> damp
+        (
+            const tmp<volScalarField>&
+        ) const;
+
+        //- Return damped force
+        virtual tmp<volVectorField> damp
+        (
+            const tmp<volVectorField>&
+        ) const;
+
+        //- Return damped face force
+        virtual tmp<surfaceScalarField> damp
+        (
+            const tmp<surfaceScalarField>&
+        ) const;
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace wallDampingModels
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/noWallDamping/noWallDamping.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/noWallDamping/noWallDamping.C
new file mode 100644
index 00000000000..0a177a60904
--- /dev/null
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/noWallDamping/noWallDamping.C
@@ -0,0 +1,97 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "noWallDamping.H"
+#include "phasePair.H"
+#include "addToRunTimeSelectionTable.H"
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace wallDampingModels
+{
+    defineTypeNameAndDebug(noWallDamping, 0);
+    addToRunTimeSelectionTable
+    (
+        wallDampingModel,
+        noWallDamping,
+        dictionary
+    );
+}
+}
+
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+Foam::wallDampingModels::noWallDamping::noWallDamping
+(
+    const dictionary& dict,
+    const phasePair& pair
+)
+:
+    wallDampingModel(dict, pair)
+{}
+
+
+// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
+
+Foam::wallDampingModels::noWallDamping::~noWallDamping()
+{}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+Foam::tmp<Foam::volScalarField>
+Foam::wallDampingModels::noWallDamping::damp
+(
+    const tmp<volScalarField>& Cl
+) const
+{
+    return Cl;
+}
+
+
+Foam::tmp<Foam::volVectorField>
+Foam::wallDampingModels::noWallDamping::damp
+(
+    const tmp<volVectorField>& F
+) const
+{
+    return F;
+}
+
+
+Foam::tmp<Foam::surfaceScalarField>
+Foam::wallDampingModels::noWallDamping::damp
+(
+    const tmp<surfaceScalarField>& Ff
+) const
+{
+    return Ff;
+}
+
+
+// ************************************************************************* //
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/noWallDamping/noWallDamping.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/noWallDamping/noWallDamping.H
new file mode 100644
index 00000000000..7c4100934c2
--- /dev/null
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/noWallDamping/noWallDamping.H
@@ -0,0 +1,108 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+Class
+    Foam::wallDampingModels::noWallDamping
+
+Description
+
+SourceFiles
+    noWallDamping.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef noWallDamping_H
+#define noWallDamping_H
+
+#include "wallDampingModel.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+class phasePair;
+
+namespace wallDampingModels
+{
+
+/*---------------------------------------------------------------------------*\
+                           Class noWallDamping Declaration
+\*---------------------------------------------------------------------------*/
+
+class noWallDamping
+:
+    public wallDampingModel
+{
+public:
+
+    //- Runtime type information
+    TypeName("none");
+
+
+    // Constructors
+
+        //- Construct from components
+        noWallDamping
+        (
+            const dictionary& dict,
+            const phasePair& pair
+        );
+
+
+    //- Destructor
+    virtual ~noWallDamping();
+
+
+    // Member Functions
+
+        //- Return damped coefficient
+        virtual tmp<volScalarField> damp
+        (
+            const tmp<volScalarField>&
+        ) const;
+
+        //- Return damped force
+        virtual tmp<volVectorField> damp
+        (
+            const tmp<volVectorField>&
+        ) const;
+
+        //- Return damped face force
+        virtual tmp<surfaceScalarField> damp
+        (
+            const tmp<surfaceScalarField>&
+        ) const;
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace wallDampingModels
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/wallDampingModel/newWallDampingModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/wallDampingModel/newWallDampingModel.C
new file mode 100644
index 00000000000..a5b0748679e
--- /dev/null
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/wallDampingModel/newWallDampingModel.C
@@ -0,0 +1,59 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "wallDampingModel.H"
+#include "phasePair.H"
+
+// * * * * * * * * * * * * * * * * Selector  * * * * * * * * * * * * * * * * //
+
+Foam::autoPtr<Foam::wallDampingModel> Foam::wallDampingModel::New
+(
+    const dictionary& dict,
+    const phasePair& pair
+)
+{
+    word wallDampingModelType(dict.lookup("type"));
+
+    Info<< "Selecting wallDampingModel for "
+        << pair << ": " << wallDampingModelType << endl;
+
+    dictionaryConstructorTable::iterator cstrIter =
+        dictionaryConstructorTablePtr_->find(wallDampingModelType);
+
+    if (cstrIter == dictionaryConstructorTablePtr_->end())
+    {
+        FatalErrorInFunction
+            << "Unknown wallDampingModelType type "
+            << wallDampingModelType << endl << endl
+            << "Valid wallDampingModel types are : " << endl
+            << dictionaryConstructorTablePtr_->sortedToc()
+            << exit(FatalError);
+    }
+
+    return cstrIter()(dict, pair);
+}
+
+
+// ************************************************************************* //
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/wallDampingModel/wallDampingModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/wallDampingModel/wallDampingModel.C
new file mode 100644
index 00000000000..4ba2e6fcd8f
--- /dev/null
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/wallDampingModel/wallDampingModel.C
@@ -0,0 +1,59 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "wallDampingModel.H"
+#include "phasePair.H"
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+namespace Foam
+{
+    defineTypeNameAndDebug(wallDampingModel, 0);
+    defineRunTimeSelectionTable(wallDampingModel, dictionary);
+}
+
+const Foam::dimensionSet Foam::wallDampingModel::dimF(1, -2, -2, 0, 0);
+
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+Foam::wallDampingModel::wallDampingModel
+(
+    const dictionary& dict,
+    const phasePair& pair
+)
+:
+    wallDependentModel(pair.phase1().mesh()),
+    pair_(pair)
+{}
+
+
+// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
+
+Foam::wallDampingModel::~wallDampingModel()
+{}
+
+
+// ************************************************************************* //
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/wallDampingModel/wallDampingModel.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/wallDampingModel/wallDampingModel.H
new file mode 100644
index 00000000000..395a363af29
--- /dev/null
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/wallDampingModel/wallDampingModel.H
@@ -0,0 +1,146 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+Class
+    Foam::wallDampingModel
+
+Description
+
+SourceFiles
+    wallDampingModel.C
+    newWallDampingModel.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef wallDampingModel_H
+#define wallDampingModel_H
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#include "wallDependentModel.H"
+#include "volFields.H"
+#include "dictionary.H"
+#include "runTimeSelectionTables.H"
+
+namespace Foam
+{
+
+class phasePair;
+
+/*---------------------------------------------------------------------------*\
+                      Class wallDampingModel Declaration
+\*---------------------------------------------------------------------------*/
+
+class wallDampingModel
+:
+    public wallDependentModel
+{
+protected:
+
+    // Protected data
+
+        //- Phase pair
+        const phasePair& pair_;
+
+
+public:
+
+    //- Runtime type information
+    TypeName("wallDampingModel");
+
+
+    // Declare runtime construction
+
+        declareRunTimeSelectionTable
+        (
+            autoPtr,
+            wallDampingModel,
+            dictionary,
+            (
+                const dictionary& dict,
+                const phasePair& pair
+            ),
+            (dict, pair)
+        );
+
+
+    // Static data members
+
+        //- Coefficient dimensions
+        static const dimensionSet dimF;
+
+
+    // Constructors
+
+        //- Construct from components
+        wallDampingModel
+        (
+            const dictionary& dict,
+            const phasePair& pair
+        );
+
+
+    //- Destructor
+    virtual ~wallDampingModel();
+
+
+    // Selectors
+
+        static autoPtr<wallDampingModel> New
+        (
+            const dictionary& dict,
+            const phasePair& pair
+        );
+
+
+    // Member Functions
+
+        //- Return damped coefficient
+        virtual tmp<volScalarField> damp
+        (
+            const tmp<volScalarField>&
+        ) const = 0;
+
+        //- Return damped force
+        virtual tmp<volVectorField> damp
+        (
+            const tmp<volVectorField>&
+        ) const = 0;
+
+        //- Return damped face force
+        virtual tmp<surfaceScalarField> damp
+        (
+            const tmp<surfaceScalarField>&
+        ) const = 0;
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
-- 
GitLab


From 7197f686707a20832a6a4417df69f6dd73cbc1f8 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sat, 14 Nov 2015 21:25:09 +0000
Subject: [PATCH 073/141] 
 reactingEulerFoam/interfacialModels/wallDampingModels: Added cosine and sine
 damping functions

---
 .../interfacialModels/Make/files              |   2 +
 .../cosine/cosineWallDamping.C                | 119 +++++++++++++++++
 .../cosine/cosineWallDamping.H                | 120 ++++++++++++++++++
 .../linear/linearWallDamping.C                |   2 +-
 .../wallDampingModels/sine/sineWallDamping.C  | 112 ++++++++++++++++
 .../wallDampingModels/sine/sineWallDamping.H  | 120 ++++++++++++++++++
 6 files changed, 474 insertions(+), 1 deletion(-)
 create mode 100644 applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/cosine/cosineWallDamping.C
 create mode 100644 applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/cosine/cosineWallDamping.H
 create mode 100644 applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/sine/sineWallDamping.C
 create mode 100644 applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/sine/sineWallDamping.H

diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/Make/files b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/Make/files
index 40a3d6c02c4..4658a498966 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/Make/files
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/Make/files
@@ -66,5 +66,7 @@ wallDampingModels/wallDampingModel/wallDampingModel.C
 wallDampingModels/wallDampingModel/newWallDampingModel.C
 wallDampingModels/noWallDamping/noWallDamping.C
 wallDampingModels/linear/linearWallDamping.C
+wallDampingModels/cosine/cosineWallDamping.C
+wallDampingModels/sine/sineWallDamping.C
 
 LIB = $(FOAM_LIBBIN)/libreactingEulerianInterfacialModels
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/cosine/cosineWallDamping.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/cosine/cosineWallDamping.C
new file mode 100644
index 00000000000..241ad545294
--- /dev/null
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/cosine/cosineWallDamping.C
@@ -0,0 +1,119 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "cosineWallDamping.H"
+#include "phasePair.H"
+#include "surfaceInterpolate.H"
+#include "addToRunTimeSelectionTable.H"
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace wallDampingModels
+{
+    defineTypeNameAndDebug(cosine, 0);
+    addToRunTimeSelectionTable
+    (
+        wallDampingModel,
+        cosine,
+        dictionary
+    );
+}
+}
+
+
+// * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * * //
+
+Foam::tmp<Foam::volScalarField>
+Foam::wallDampingModels::cosine::limiter() const
+{
+    return
+    (
+        0.5*
+        (
+            1
+          - cos
+            (
+                constant::mathematical::pi
+               *min(yWall()/(Cd_*pair_.dispersed().d()), scalar(1))
+            )
+        )
+    );
+}
+
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+Foam::wallDampingModels::cosine::cosine
+(
+    const dictionary& dict,
+    const phasePair& pair
+)
+:
+    wallDampingModel(dict, pair),
+    Cd_("Cd", dimless, dict)
+{}
+
+
+// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
+
+Foam::wallDampingModels::cosine::~cosine()
+{}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+Foam::tmp<Foam::volScalarField>
+Foam::wallDampingModels::cosine::damp
+(
+    const tmp<volScalarField>& F
+) const
+{
+    return limiter()*F;
+}
+
+
+Foam::tmp<Foam::volVectorField>
+Foam::wallDampingModels::cosine::damp
+(
+    const tmp<volVectorField>& F
+) const
+{
+    return limiter()*F;
+}
+
+
+Foam::tmp<Foam::surfaceScalarField>
+Foam::wallDampingModels::cosine::damp
+(
+    const tmp<surfaceScalarField>& Ff
+) const
+{
+    return fvc::interpolate(limiter())*Ff;
+}
+
+
+// ************************************************************************* //
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/cosine/cosineWallDamping.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/cosine/cosineWallDamping.H
new file mode 100644
index 00000000000..5c48fe32dd1
--- /dev/null
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/cosine/cosineWallDamping.H
@@ -0,0 +1,120 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+Class
+    Foam::wallDampingModels::cosine
+
+Description
+
+SourceFiles
+    cosineWallDamping.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef cosineWallDamping_H
+#define cosineWallDamping_H
+
+#include "wallDampingModel.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+class phasePair;
+
+namespace wallDampingModels
+{
+
+/*---------------------------------------------------------------------------*\
+                           Class cosine Declaration
+\*---------------------------------------------------------------------------*/
+
+class cosine
+:
+    public wallDampingModel
+{
+    // Private data
+
+        //- Diameter coefficient
+        const dimensionedScalar Cd_;
+
+
+    // Private member functions
+
+        //- Return the force limiter field
+        tmp<volScalarField> limiter() const;
+
+
+public:
+
+    //- Runtime type information
+    TypeName("cosine");
+
+
+    // Constructors
+
+        //- Construct from components
+        cosine
+        (
+            const dictionary& dict,
+            const phasePair& pair
+        );
+
+
+    //- Destructor
+    virtual ~cosine();
+
+
+    // Member Functions
+
+        //- Return damped coefficient
+        virtual tmp<volScalarField> damp
+        (
+            const tmp<volScalarField>&
+        ) const;
+
+        //- Return damped force
+        virtual tmp<volVectorField> damp
+        (
+            const tmp<volVectorField>&
+        ) const;
+
+        //- Return damped face force
+        virtual tmp<surfaceScalarField> damp
+        (
+            const tmp<surfaceScalarField>&
+        ) const;
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace wallDampingModels
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/linear/linearWallDamping.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/linear/linearWallDamping.C
index fdae491d608..9004cda3652 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/linear/linearWallDamping.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/linear/linearWallDamping.C
@@ -50,7 +50,7 @@ namespace wallDampingModels
 Foam::tmp<Foam::volScalarField>
 Foam::wallDampingModels::linear::limiter() const
 {
-    return min(yWall()/(Cd_*pair_.dispersed().d()), 1.0);
+    return min(yWall()/(Cd_*pair_.dispersed().d()), scalar(1));
 }
 
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/sine/sineWallDamping.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/sine/sineWallDamping.C
new file mode 100644
index 00000000000..d287f9175c5
--- /dev/null
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/sine/sineWallDamping.C
@@ -0,0 +1,112 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "sineWallDamping.H"
+#include "phasePair.H"
+#include "surfaceInterpolate.H"
+#include "addToRunTimeSelectionTable.H"
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace wallDampingModels
+{
+    defineTypeNameAndDebug(sine, 0);
+    addToRunTimeSelectionTable
+    (
+        wallDampingModel,
+        sine,
+        dictionary
+    );
+}
+}
+
+
+// * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * * //
+
+Foam::tmp<Foam::volScalarField>
+Foam::wallDampingModels::sine::limiter() const
+{
+    return sin
+    (
+        constant::mathematical::piByTwo
+       *min(yWall()/(Cd_*pair_.dispersed().d()), scalar(1))
+    );
+}
+
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+Foam::wallDampingModels::sine::sine
+(
+    const dictionary& dict,
+    const phasePair& pair
+)
+:
+    wallDampingModel(dict, pair),
+    Cd_("Cd", dimless, dict)
+{}
+
+
+// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
+
+Foam::wallDampingModels::sine::~sine()
+{}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+Foam::tmp<Foam::volScalarField>
+Foam::wallDampingModels::sine::damp
+(
+    const tmp<volScalarField>& F
+) const
+{
+    return limiter()*F;
+}
+
+
+Foam::tmp<Foam::volVectorField>
+Foam::wallDampingModels::sine::damp
+(
+    const tmp<volVectorField>& F
+) const
+{
+    return limiter()*F;
+}
+
+
+Foam::tmp<Foam::surfaceScalarField>
+Foam::wallDampingModels::sine::damp
+(
+    const tmp<surfaceScalarField>& Ff
+) const
+{
+    return fvc::interpolate(limiter())*Ff;
+}
+
+
+// ************************************************************************* //
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/sine/sineWallDamping.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/sine/sineWallDamping.H
new file mode 100644
index 00000000000..1bd50feb5f2
--- /dev/null
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/sine/sineWallDamping.H
@@ -0,0 +1,120 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+Class
+    Foam::wallDampingModels::sine
+
+Description
+
+SourceFiles
+    sineWallDamping.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef sineWallDamping_H
+#define sineWallDamping_H
+
+#include "wallDampingModel.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+class phasePair;
+
+namespace wallDampingModels
+{
+
+/*---------------------------------------------------------------------------*\
+                           Class sine Declaration
+\*---------------------------------------------------------------------------*/
+
+class sine
+:
+    public wallDampingModel
+{
+    // Private data
+
+        //- Diameter coefficient
+        const dimensionedScalar Cd_;
+
+
+    // Private member functions
+
+        //- Return the force limiter field
+        tmp<volScalarField> limiter() const;
+
+
+public:
+
+    //- Runtime type information
+    TypeName("sine");
+
+
+    // Constructors
+
+        //- Construct from components
+        sine
+        (
+            const dictionary& dict,
+            const phasePair& pair
+        );
+
+
+    //- Destructor
+    virtual ~sine();
+
+
+    // Member Functions
+
+        //- Return damped coefficient
+        virtual tmp<volScalarField> damp
+        (
+            const tmp<volScalarField>&
+        ) const;
+
+        //- Return damped force
+        virtual tmp<volVectorField> damp
+        (
+            const tmp<volVectorField>&
+        ) const;
+
+        //- Return damped face force
+        virtual tmp<surfaceScalarField> damp
+        (
+            const tmp<surfaceScalarField>&
+        ) const;
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace wallDampingModels
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
-- 
GitLab


From 17fdf51000d1dfda6b00ba85e0a522d3d38e39a3 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sun, 15 Nov 2015 13:32:19 +0000
Subject: [PATCH 074/141] 
 reactingEulerFoam/interfacialModels/wallDampingModels: Added
 interpolatedWallDamping abstract base-class To simplify linear, sine and
 cosine wall-damping implementation

---
 .../interfacialModels/Make/files              |   1 +
 .../cosine/cosineWallDamping.C                |  37 +-----
 .../cosine/cosineWallDamping.H                |  31 +----
 .../interpolated/interpolatedWallDamping.C    |  91 ++++++++++++++
 .../interpolated/interpolatedWallDamping.H    | 116 ++++++++++++++++++
 .../linear/linearWallDamping.C                |  37 +-----
 .../linear/linearWallDamping.H                |  31 +----
 .../wallDampingModels/sine/sineWallDamping.C  |  37 +-----
 .../wallDampingModels/sine/sineWallDamping.H  |  31 +----
 9 files changed, 232 insertions(+), 180 deletions(-)
 create mode 100644 applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/interpolated/interpolatedWallDamping.C
 create mode 100644 applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/interpolated/interpolatedWallDamping.H

diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/Make/files b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/Make/files
index 4658a498966..1293886cdef 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/Make/files
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/Make/files
@@ -65,6 +65,7 @@ wallDependentModel/wallDependentModel.C
 wallDampingModels/wallDampingModel/wallDampingModel.C
 wallDampingModels/wallDampingModel/newWallDampingModel.C
 wallDampingModels/noWallDamping/noWallDamping.C
+wallDampingModels/interpolated/interpolatedWallDamping.C
 wallDampingModels/linear/linearWallDamping.C
 wallDampingModels/cosine/cosineWallDamping.C
 wallDampingModels/sine/sineWallDamping.C
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/cosine/cosineWallDamping.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/cosine/cosineWallDamping.C
index 241ad545294..c204cf32f65 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/cosine/cosineWallDamping.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/cosine/cosineWallDamping.C
@@ -25,7 +25,6 @@ License
 
 #include "cosineWallDamping.H"
 #include "phasePair.H"
-#include "surfaceInterpolate.H"
 #include "addToRunTimeSelectionTable.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@@ -45,7 +44,7 @@ namespace wallDampingModels
 }
 
 
-// * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * * //
+// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
 
 Foam::tmp<Foam::volScalarField>
 Foam::wallDampingModels::cosine::limiter() const
@@ -73,7 +72,7 @@ Foam::wallDampingModels::cosine::cosine
     const phasePair& pair
 )
 :
-    wallDampingModel(dict, pair),
+    interpolated(dict, pair),
     Cd_("Cd", dimless, dict)
 {}
 
@@ -84,36 +83,4 @@ Foam::wallDampingModels::cosine::~cosine()
 {}
 
 
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-Foam::tmp<Foam::volScalarField>
-Foam::wallDampingModels::cosine::damp
-(
-    const tmp<volScalarField>& F
-) const
-{
-    return limiter()*F;
-}
-
-
-Foam::tmp<Foam::volVectorField>
-Foam::wallDampingModels::cosine::damp
-(
-    const tmp<volVectorField>& F
-) const
-{
-    return limiter()*F;
-}
-
-
-Foam::tmp<Foam::surfaceScalarField>
-Foam::wallDampingModels::cosine::damp
-(
-    const tmp<surfaceScalarField>& Ff
-) const
-{
-    return fvc::interpolate(limiter())*Ff;
-}
-
-
 // ************************************************************************* //
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/cosine/cosineWallDamping.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/cosine/cosineWallDamping.H
index 5c48fe32dd1..0042c4e97a8 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/cosine/cosineWallDamping.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/cosine/cosineWallDamping.H
@@ -34,7 +34,7 @@ SourceFiles
 #ifndef cosineWallDamping_H
 #define cosineWallDamping_H
 
-#include "wallDampingModel.H"
+#include "interpolatedWallDamping.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -52,7 +52,7 @@ namespace wallDampingModels
 
 class cosine
 :
-    public wallDampingModel
+    public interpolated
 {
     // Private data
 
@@ -60,10 +60,12 @@ class cosine
         const dimensionedScalar Cd_;
 
 
-    // Private member functions
+protected:
+
+    // Protected member functions
 
         //- Return the force limiter field
-        tmp<volScalarField> limiter() const;
+        virtual tmp<volScalarField> limiter() const;
 
 
 public:
@@ -84,27 +86,6 @@ public:
 
     //- Destructor
     virtual ~cosine();
-
-
-    // Member Functions
-
-        //- Return damped coefficient
-        virtual tmp<volScalarField> damp
-        (
-            const tmp<volScalarField>&
-        ) const;
-
-        //- Return damped force
-        virtual tmp<volVectorField> damp
-        (
-            const tmp<volVectorField>&
-        ) const;
-
-        //- Return damped face force
-        virtual tmp<surfaceScalarField> damp
-        (
-            const tmp<surfaceScalarField>&
-        ) const;
 };
 
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/interpolated/interpolatedWallDamping.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/interpolated/interpolatedWallDamping.C
new file mode 100644
index 00000000000..b1a9522636c
--- /dev/null
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/interpolated/interpolatedWallDamping.C
@@ -0,0 +1,91 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "interpolatedWallDamping.H"
+#include "phasePair.H"
+#include "surfaceInterpolate.H"
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace wallDampingModels
+{
+    defineTypeNameAndDebug(interpolated, 0);
+}
+}
+
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+Foam::wallDampingModels::interpolated::interpolated
+(
+    const dictionary& dict,
+    const phasePair& pair
+)
+:
+    wallDampingModel(dict, pair)
+{}
+
+
+// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
+
+Foam::wallDampingModels::interpolated::~interpolated()
+{}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+Foam::tmp<Foam::volScalarField>
+Foam::wallDampingModels::interpolated::damp
+(
+    const tmp<volScalarField>& F
+) const
+{
+    return limiter()*F;
+}
+
+
+Foam::tmp<Foam::volVectorField>
+Foam::wallDampingModels::interpolated::damp
+(
+    const tmp<volVectorField>& F
+) const
+{
+    return limiter()*F;
+}
+
+
+Foam::tmp<Foam::surfaceScalarField>
+Foam::wallDampingModels::interpolated::damp
+(
+    const tmp<surfaceScalarField>& Ff
+) const
+{
+    return fvc::interpolate(limiter())*Ff;
+}
+
+
+// ************************************************************************* //
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/interpolated/interpolatedWallDamping.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/interpolated/interpolatedWallDamping.H
new file mode 100644
index 00000000000..d9eeef26094
--- /dev/null
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/interpolated/interpolatedWallDamping.H
@@ -0,0 +1,116 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+Class
+    Foam::wallDampingModels::interpolated
+
+Description
+
+SourceFiles
+    interpolatedWallDamping.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef interpolatedWallDamping_H
+#define interpolatedWallDamping_H
+
+#include "wallDampingModel.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+class phasePair;
+
+namespace wallDampingModels
+{
+
+/*---------------------------------------------------------------------------*\
+                           Class interpolated Declaration
+\*---------------------------------------------------------------------------*/
+
+class interpolated
+:
+    public wallDampingModel
+{
+protected:
+
+    // Protected member functions
+
+        //- Return the force limiter field
+        virtual tmp<volScalarField> limiter() const = 0;
+
+
+public:
+
+    //- Runtime type information
+    TypeName("interpolated");
+
+
+    // Constructors
+
+        //- Construct from components
+        interpolated
+        (
+            const dictionary& dict,
+            const phasePair& pair
+        );
+
+
+    //- Destructor
+    virtual ~interpolated();
+
+
+    // Member Functions
+
+        //- Return damped coefficient
+        virtual tmp<volScalarField> damp
+        (
+            const tmp<volScalarField>&
+        ) const;
+
+        //- Return damped force
+        virtual tmp<volVectorField> damp
+        (
+            const tmp<volVectorField>&
+        ) const;
+
+        //- Return damped face force
+        virtual tmp<surfaceScalarField> damp
+        (
+            const tmp<surfaceScalarField>&
+        ) const;
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace wallDampingModels
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/linear/linearWallDamping.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/linear/linearWallDamping.C
index 9004cda3652..bdb34973f2b 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/linear/linearWallDamping.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/linear/linearWallDamping.C
@@ -25,7 +25,6 @@ License
 
 #include "linearWallDamping.H"
 #include "phasePair.H"
-#include "surfaceInterpolate.H"
 #include "addToRunTimeSelectionTable.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@@ -45,7 +44,7 @@ namespace wallDampingModels
 }
 
 
-// * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * * //
+// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
 
 Foam::tmp<Foam::volScalarField>
 Foam::wallDampingModels::linear::limiter() const
@@ -62,7 +61,7 @@ Foam::wallDampingModels::linear::linear
     const phasePair& pair
 )
 :
-    wallDampingModel(dict, pair),
+    interpolated(dict, pair),
     Cd_("Cd", dimless, dict)
 {}
 
@@ -73,36 +72,4 @@ Foam::wallDampingModels::linear::~linear()
 {}
 
 
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-Foam::tmp<Foam::volScalarField>
-Foam::wallDampingModels::linear::damp
-(
-    const tmp<volScalarField>& F
-) const
-{
-    return limiter()*F;
-}
-
-
-Foam::tmp<Foam::volVectorField>
-Foam::wallDampingModels::linear::damp
-(
-    const tmp<volVectorField>& F
-) const
-{
-    return limiter()*F;
-}
-
-
-Foam::tmp<Foam::surfaceScalarField>
-Foam::wallDampingModels::linear::damp
-(
-    const tmp<surfaceScalarField>& Ff
-) const
-{
-    return fvc::interpolate(limiter())*Ff;
-}
-
-
 // ************************************************************************* //
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/linear/linearWallDamping.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/linear/linearWallDamping.H
index 28f32a3ca27..582baa3bdd3 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/linear/linearWallDamping.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/linear/linearWallDamping.H
@@ -34,7 +34,7 @@ SourceFiles
 #ifndef linearWallDamping_H
 #define linearWallDamping_H
 
-#include "wallDampingModel.H"
+#include "interpolatedWallDamping.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -52,7 +52,7 @@ namespace wallDampingModels
 
 class linear
 :
-    public wallDampingModel
+    public interpolated
 {
     // Private data
 
@@ -60,10 +60,12 @@ class linear
         const dimensionedScalar Cd_;
 
 
-    // Private member functions
+protected:
+
+    // Protected member functions
 
         //- Return the force limiter field
-        tmp<volScalarField> limiter() const;
+        virtual tmp<volScalarField> limiter() const;
 
 
 public:
@@ -84,27 +86,6 @@ public:
 
     //- Destructor
     virtual ~linear();
-
-
-    // Member Functions
-
-        //- Return damped coefficient
-        virtual tmp<volScalarField> damp
-        (
-            const tmp<volScalarField>&
-        ) const;
-
-        //- Return damped force
-        virtual tmp<volVectorField> damp
-        (
-            const tmp<volVectorField>&
-        ) const;
-
-        //- Return damped face force
-        virtual tmp<surfaceScalarField> damp
-        (
-            const tmp<surfaceScalarField>&
-        ) const;
 };
 
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/sine/sineWallDamping.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/sine/sineWallDamping.C
index d287f9175c5..eb975aa85fe 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/sine/sineWallDamping.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/sine/sineWallDamping.C
@@ -25,7 +25,6 @@ License
 
 #include "sineWallDamping.H"
 #include "phasePair.H"
-#include "surfaceInterpolate.H"
 #include "addToRunTimeSelectionTable.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@@ -45,7 +44,7 @@ namespace wallDampingModels
 }
 
 
-// * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * * //
+// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
 
 Foam::tmp<Foam::volScalarField>
 Foam::wallDampingModels::sine::limiter() const
@@ -66,7 +65,7 @@ Foam::wallDampingModels::sine::sine
     const phasePair& pair
 )
 :
-    wallDampingModel(dict, pair),
+    interpolated(dict, pair),
     Cd_("Cd", dimless, dict)
 {}
 
@@ -77,36 +76,4 @@ Foam::wallDampingModels::sine::~sine()
 {}
 
 
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-Foam::tmp<Foam::volScalarField>
-Foam::wallDampingModels::sine::damp
-(
-    const tmp<volScalarField>& F
-) const
-{
-    return limiter()*F;
-}
-
-
-Foam::tmp<Foam::volVectorField>
-Foam::wallDampingModels::sine::damp
-(
-    const tmp<volVectorField>& F
-) const
-{
-    return limiter()*F;
-}
-
-
-Foam::tmp<Foam::surfaceScalarField>
-Foam::wallDampingModels::sine::damp
-(
-    const tmp<surfaceScalarField>& Ff
-) const
-{
-    return fvc::interpolate(limiter())*Ff;
-}
-
-
 // ************************************************************************* //
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/sine/sineWallDamping.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/sine/sineWallDamping.H
index 1bd50feb5f2..7a87afe14e3 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/sine/sineWallDamping.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/sine/sineWallDamping.H
@@ -34,7 +34,7 @@ SourceFiles
 #ifndef sineWallDamping_H
 #define sineWallDamping_H
 
-#include "wallDampingModel.H"
+#include "interpolatedWallDamping.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -52,7 +52,7 @@ namespace wallDampingModels
 
 class sine
 :
-    public wallDampingModel
+    public interpolated
 {
     // Private data
 
@@ -60,10 +60,12 @@ class sine
         const dimensionedScalar Cd_;
 
 
-    // Private member functions
+protected:
+
+    // Protected member functions
 
         //- Return the force limiter field
-        tmp<volScalarField> limiter() const;
+        virtual tmp<volScalarField> limiter() const;
 
 
 public:
@@ -84,27 +86,6 @@ public:
 
     //- Destructor
     virtual ~sine();
-
-
-    // Member Functions
-
-        //- Return damped coefficient
-        virtual tmp<volScalarField> damp
-        (
-            const tmp<volScalarField>&
-        ) const;
-
-        //- Return damped force
-        virtual tmp<volVectorField> damp
-        (
-            const tmp<volVectorField>&
-        ) const;
-
-        //- Return damped face force
-        virtual tmp<surfaceScalarField> damp
-        (
-            const tmp<surfaceScalarField>&
-        ) const;
 };
 
 
-- 
GitLab


From 9be1bc411c9cd8a795bd73a56099335ab758c67b Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sun, 15 Nov 2015 16:57:52 +0000
Subject: [PATCH 075/141] reactingEulerFoam: Updated phase-change support
 Patches provided by Juho Peltola

---
 .../ThermalPhaseChangePhaseSystem.C           | 151 +++++++++++++++---
 .../ThermalPhaseChangePhaseSystem.H           |   7 +-
 ...haseChangeWallFunctionFvPatchScalarField.C |  22 ++-
 ...haseChangeWallFunctionFvPatchScalarField.H |  14 +-
 4 files changed, 157 insertions(+), 37 deletions(-)

diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/ThermalPhaseChangePhaseSystem/ThermalPhaseChangePhaseSystem.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/ThermalPhaseChangePhaseSystem/ThermalPhaseChangePhaseSystem.C
index 175a993e304..8950f3d958b 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/ThermalPhaseChangePhaseSystem/ThermalPhaseChangePhaseSystem.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/ThermalPhaseChangePhaseSystem/ThermalPhaseChangePhaseSystem.C
@@ -67,26 +67,7 @@ ThermalPhaseChangePhaseSystem
                     IOobject::groupName("iDmdt", pair.name()),
                     this->mesh().time().timeName(),
                     this->mesh(),
-                    IOobject::NO_READ,
-                    IOobject::AUTO_WRITE
-                ),
-                this->mesh(),
-                dimensionedScalar("zero", dimDensity/dimTime, 0)
-            )
-        );
-
-        // Initially assume no mass transfer
-        wDmdt_.insert
-        (
-            pair,
-            new volScalarField
-            (
-                IOobject
-                (
-                    IOobject::groupName("wDmdt", pair.name()),
-                    this->mesh().time().timeName(),
-                    this->mesh(),
-                    IOobject::NO_READ,
+                    IOobject::READ_IF_PRESENT,
                     IOobject::AUTO_WRITE
                 ),
                 this->mesh(),
@@ -115,6 +96,101 @@ Foam::ThermalPhaseChangePhaseSystem<BasePhaseSystem>::saturation() const
 }
 
 
+template<class BasePhaseSystem>
+Foam::autoPtr<Foam::phaseSystem::heatTransferTable>
+Foam::ThermalPhaseChangePhaseSystem<BasePhaseSystem>::heatTransfer() const
+{
+    typedef compressible::alphatPhaseChangeWallFunctionFvPatchScalarField
+        alphatPhaseChangeWallFunction;
+
+    autoPtr<phaseSystem::heatTransferTable> eqnsPtr =
+        Foam::HeatAndMassTransferPhaseSystem<BasePhaseSystem>::heatTransfer();
+
+    phaseSystem::heatTransferTable& eqns = eqnsPtr();
+
+    // Accumulate mDotL contributions from boundaries
+    forAllConstIter
+    (
+        phaseSystem::phasePairTable,
+        this->phasePairs_,
+        phasePairIter
+    )
+    {
+        const phasePair& pair(phasePairIter());
+
+        if (pair.ordered())
+        {
+            continue;
+        }
+
+        const phaseModel& phase = pair.phase1();
+        const phaseModel& otherPhase = pair.phase2();
+
+        volScalarField mDotL
+        (
+            IOobject
+            (
+                "mDotL",
+                phase.mesh().time().timeName(),
+                phase.mesh(),
+                IOobject::NO_READ,
+                IOobject::NO_WRITE,
+                false
+            ),
+            phase.mesh(),
+            dimensionedScalar("",dimensionSet(1,-1,-3,0,0),0.0)
+        );
+
+        if
+        (
+            otherPhase.mesh().foundObject<volScalarField>
+            (
+                "alphat." +  otherPhase.name()
+            )
+        )
+        {
+            const volScalarField& alphat =
+                otherPhase.mesh().lookupObject<volScalarField>
+                (
+                    "alphat." +  otherPhase.name()
+                );
+
+            const fvPatchList& patches = this->mesh().boundary();
+            forAll(patches, patchi)
+            {
+                const fvPatch& currPatch = patches[patchi];
+
+                if
+                (
+                    isA<alphatPhaseChangeWallFunction>
+                    (
+                        alphat.boundaryField()[patchi]
+                    )
+                )
+                {
+                    const scalarField& patchMDotL =
+                        refCast<const alphatPhaseChangeWallFunction>
+                        (
+                            alphat.boundaryField()[patchi]
+                        ).mDotL();
+
+                    forAll(patchMDotL,facei)
+                    {
+                        label faceCelli = currPatch.faceCells()[facei];
+                        mDotL[faceCelli] = patchMDotL[facei];
+                    }
+                }
+            }
+        }
+
+        *eqns[otherPhase.name()] -= mDotL;
+
+    }
+
+    return eqnsPtr;
+}
+
+
 template<class BasePhaseSystem>
 Foam::autoPtr<Foam::phaseSystem::massTransferTable>
 Foam::ThermalPhaseChangePhaseSystem<BasePhaseSystem>::massTransfer() const
@@ -189,6 +265,8 @@ void Foam::ThermalPhaseChangePhaseSystem<BasePhaseSystem>::correctThermo()
 
     BasePhaseSystem::correctThermo();
 
+
+
     forAllConstIter
     (
         phaseSystem::phasePairTable,
@@ -206,6 +284,18 @@ void Foam::ThermalPhaseChangePhaseSystem<BasePhaseSystem>::correctThermo()
         const phaseModel& phase1 = pair.phase1();
         const phaseModel& phase2 = pair.phase2();
 
+        Info<< phase1.name() << " min/max T "
+            << min(phase1.thermo().T()).value()
+            << " - "
+            << max(phase1.thermo().T()).value()
+            << endl;
+
+        Info<< phase2.name() << " min/max T "
+            << min(phase2.thermo().T()).value()
+            << " - "
+            << max(phase2.thermo().T()).value()
+            << endl;
+
         const volScalarField& T1(phase1.thermo().T());
         const volScalarField& T2(phase2.thermo().T());
 
@@ -214,7 +304,6 @@ void Foam::ThermalPhaseChangePhaseSystem<BasePhaseSystem>::correctThermo()
 
         volScalarField& dmdt(*this->dmdt_[pair]);
         volScalarField& iDmdt(*this->iDmdt_[pair]);
-        volScalarField& wDmdt(*this->wDmdt_[pair]);
 
         volScalarField& Tf = *this->Tf_[pair];
 
@@ -287,6 +376,21 @@ void Foam::ThermalPhaseChangePhaseSystem<BasePhaseSystem>::correctThermo()
             << endl;
 
         // Accumulate dmdt contributions from boundaries
+        volScalarField wDmdt
+        (
+            IOobject
+            (
+                IOobject::groupName("wDmdt", pair.name()),
+                this->mesh().time().timeName(),
+                this->mesh(),
+                IOobject::NO_READ,
+                IOobject::AUTO_WRITE,
+                false
+            ),
+            this->mesh(),
+            dimensionedScalar("zero", dimDensity/dimTime, 0)
+        );
+
         if
         (
             phase2.mesh().foundObject<volScalarField>
@@ -295,9 +399,6 @@ void Foam::ThermalPhaseChangePhaseSystem<BasePhaseSystem>::correctThermo()
             )
         )
         {
-            scalar wDmdtRelax(this->mesh().fieldRelaxationFactor("wDmdt"));
-            wDmdt *= (1 - wDmdtRelax);
-
             const volScalarField& alphat =
                 phase2.mesh().lookupObject<volScalarField>
                 (
@@ -326,7 +427,7 @@ void Foam::ThermalPhaseChangePhaseSystem<BasePhaseSystem>::correctThermo()
                     forAll(patchDmdt,facei)
                     {
                         label faceCelli = currPatch.faceCells()[facei];
-                        wDmdt[faceCelli] += wDmdtRelax*patchDmdt[facei];
+                        wDmdt[faceCelli] += patchDmdt[facei];
                     }
                 }
             }
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/ThermalPhaseChangePhaseSystem/ThermalPhaseChangePhaseSystem.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/ThermalPhaseChangePhaseSystem/ThermalPhaseChangePhaseSystem.H
index e67b8209fe2..b54c183150a 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/ThermalPhaseChangePhaseSystem/ThermalPhaseChangePhaseSystem.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/ThermalPhaseChangePhaseSystem/ThermalPhaseChangePhaseSystem.H
@@ -77,10 +77,6 @@ protected:
         HashPtrTable<volScalarField, phasePairKey, phasePairKey::hash>
             iDmdt_;
 
-        //- Wall Mass transfer rate
-        HashPtrTable<volScalarField, phasePairKey, phasePairKey::hash>
-            wDmdt_;
-
 
 public:
 
@@ -99,6 +95,9 @@ public:
         //- Return the saturationModel
         const saturationModel& saturation() const;
 
+        //- Return the heat transfer matrices
+        virtual autoPtr<phaseSystem::heatTransferTable> heatTransfer() const;
+
         //- Return the mass transfer matrices
         virtual autoPtr<phaseSystem::massTransferTable> massTransfer() const;
 
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatPhaseChangeWallFunction/alphatPhaseChangeWallFunctionFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatPhaseChangeWallFunction/alphatPhaseChangeWallFunctionFvPatchScalarField.C
index 0eb70aabbc5..27646f6dbbd 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatPhaseChangeWallFunction/alphatPhaseChangeWallFunctionFvPatchScalarField.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatPhaseChangeWallFunction/alphatPhaseChangeWallFunctionFvPatchScalarField.C
@@ -39,7 +39,6 @@ namespace compressible
 
 defineTypeNameAndDebug(alphatPhaseChangeWallFunctionFvPatchScalarField,0);
 
-
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 alphatPhaseChangeWallFunctionFvPatchScalarField::
@@ -50,7 +49,8 @@ alphatPhaseChangeWallFunctionFvPatchScalarField
 )
 :
     fixedValueFvPatchScalarField(p, iF),
-    dmdt_(p.size(), 0.0)
+    dmdt_(p.size(), 0.0),
+    mDotL_(p.size(), 0.0)
 {}
 
 
@@ -63,12 +63,18 @@ alphatPhaseChangeWallFunctionFvPatchScalarField
 )
 :
     fixedValueFvPatchScalarField(p, iF, dict),
-    dmdt_(p.size(), 0.0)
+    dmdt_(p.size(), 0.0),
+    mDotL_(p.size(), 0.0)
 {
     if (dict.found("dmdt"))
     {
         dmdt_ = scalarField("dmdt", dict, p.size());
     }
+
+    if (dict.found("mDotL"))
+    {
+        dmdt_ = scalarField("mDotL", dict, p.size());
+    }
 }
 
 
@@ -82,7 +88,8 @@ alphatPhaseChangeWallFunctionFvPatchScalarField
 )
 :
     fixedValueFvPatchScalarField(ptf, p, iF, mapper),
-    dmdt_(ptf.dmdt_, mapper)
+    dmdt_(ptf.dmdt_, mapper),
+    mDotL_(ptf.mDotL_, mapper)
 {}
 
 
@@ -93,7 +100,8 @@ alphatPhaseChangeWallFunctionFvPatchScalarField
 )
 :
     fixedValueFvPatchScalarField(awfpsf),
-    dmdt_(awfpsf.dmdt_)
+    dmdt_(awfpsf.dmdt_),
+    mDotL_(awfpsf.mDotL_)
 {}
 
 
@@ -105,7 +113,8 @@ alphatPhaseChangeWallFunctionFvPatchScalarField
 )
 :
     fixedValueFvPatchScalarField(awfpsf, iF),
-    dmdt_(awfpsf.dmdt_)
+    dmdt_(awfpsf.dmdt_),
+    mDotL_(awfpsf.mDotL_)
 {}
 
 
@@ -115,6 +124,7 @@ void alphatPhaseChangeWallFunctionFvPatchScalarField::write(Ostream& os) const
 {
     fvPatchField<scalar>::write(os);
     dmdt_.writeEntry("dmdt", os);
+    mDotL_.writeEntry("mDotL", os);
     writeEntry("value", os);
 }
 
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatPhaseChangeWallFunction/alphatPhaseChangeWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatPhaseChangeWallFunction/alphatPhaseChangeWallFunctionFvPatchScalarField.H
index 4d1dd4f15b7..08d71a52ba0 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatPhaseChangeWallFunction/alphatPhaseChangeWallFunctionFvPatchScalarField.H
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatPhaseChangeWallFunction/alphatPhaseChangeWallFunctionFvPatchScalarField.H
@@ -31,7 +31,8 @@ Description
     Abstract base-class for all alphatWallFunctions supporting phase-change.
 
 SeeAlso
-    Foam::alphatWallFunction
+    Foam::fixedValueFvPatchScalarField
+    Foam::alphatWallFunctionFvPatchScalarField
 
 SourceFiles
     alphatPhaseChangeWallFunctionFvPatchScalarField.C
@@ -51,7 +52,7 @@ namespace compressible
 {
 
 /*---------------------------------------------------------------------------*\
-            Class alphatPhaseChangeWallFunctionFvPatchScalarField Declaration
+       Class alphatPhaseChangeWallFunctionFvPatchScalarField Declaration
 \*---------------------------------------------------------------------------*/
 
 class alphatPhaseChangeWallFunctionFvPatchScalarField
@@ -65,6 +66,9 @@ protected:
         //- Rate of phase-change
         scalarField dmdt_;
 
+        //- Latent heat of the phase-change
+        scalarField mDotL_;
+
 
 public:
 
@@ -122,6 +126,12 @@ public:
             return dmdt_;
         }
 
+        //- Return the enthelpy source due to phase-change
+        const scalarField& mDotL() const
+        {
+            return mDotL_;
+        }
+
         // Evaluation functions
 
             //- Update the coefficients associated with the patch field
-- 
GitLab


From c1c7b302201d628bbe2d7fa8673e9f7c5a5cf5f5 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sun, 15 Nov 2015 18:10:28 +0000
Subject: [PATCH 076/141] tutorials/combustion/fireFoam/les/smallPoolFire.*:
 Minor correction

---
 .../combustion/fireFoam/les/smallPoolFire2D/0/p      |  6 +++---
 .../combustion/fireFoam/les/smallPoolFire3D/0/p      | 12 ++++++------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/p b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/p
index b3a0399cf84..750672d66b0 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/p
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/p
@@ -11,7 +11,7 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      p_rgh;
+    object      p;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -23,8 +23,8 @@ boundaryField
 {
     "(outlet|sides)"
     {
-        type           calculated;
-        value          $internalField;
+        type            calculated;
+        value           $internalField;
     }
 
     base
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/p b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/p
index 193f3414dd1..f3c05d45c8e 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/p
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/p
@@ -23,20 +23,20 @@ boundaryField
 {
     "(outlet|sides)"
     {
-        type           calculated;
-        value          $internalField;
+        type            calculated;
+        value           $internalField;
     }
 
     base
     {
-        type           calculated;
-        value          $internalField;
+        type            calculated;
+        value           $internalField;
     }
 
     inlet
     {
-        type           calculated;
-        value          $internalField;
+        type            calculated;
+        value           $internalField;
     }
 }
 
-- 
GitLab


From b3208d21e8ca84437ac61350a1ec407c7dd6ae96 Mon Sep 17 00:00:00 2001
From: Chris Greenshields <http://cfd.direct>
Date: Sun, 15 Nov 2015 22:06:43 +0000
Subject: [PATCH 077/141] compressibleInflowOutflow template case: corrected
 turbulent fields and fvSchemes

---
 etc/templates/compressibleInflowOutflow/0/epsilon        | 4 ++--
 etc/templates/compressibleInflowOutflow/0/k              | 2 +-
 etc/templates/compressibleInflowOutflow/0/nut            | 2 +-
 etc/templates/compressibleInflowOutflow/0/omega          | 2 +-
 etc/templates/compressibleInflowOutflow/system/fvSchemes | 2 +-
 5 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/etc/templates/compressibleInflowOutflow/0/epsilon b/etc/templates/compressibleInflowOutflow/0/epsilon
index 1a2660a9a4b..38e3b10921a 100644
--- a/etc/templates/compressibleInflowOutflow/0/epsilon
+++ b/etc/templates/compressibleInflowOutflow/0/epsilon
@@ -24,7 +24,7 @@ boundaryField
 {
     inlet
     {
-        type            compressible::turbulentMixingLengthDissipationRateInlet;
+        type            turbulentMixingLengthDissipationRateInlet;
         mixingLength    0.05;
         value           uniform $epsilonInlet;
     }
@@ -37,7 +37,7 @@ boundaryField
     }
     wall
     {
-        type            compressible::epsilonWallFunction;
+        type            epsilonWallFunction;
         value           uniform $epsilonInlet;
     }
 
diff --git a/etc/templates/compressibleInflowOutflow/0/k b/etc/templates/compressibleInflowOutflow/0/k
index 8eddb30eaf6..4f402e2f44d 100644
--- a/etc/templates/compressibleInflowOutflow/0/k
+++ b/etc/templates/compressibleInflowOutflow/0/k
@@ -37,7 +37,7 @@ boundaryField
 
     wall
     {
-        type            compressible::kqRWallFunction;
+        type            kqRWallFunction;
         value           uniform $kInlet;
     }
 
diff --git a/etc/templates/compressibleInflowOutflow/0/nut b/etc/templates/compressibleInflowOutflow/0/nut
index ab1c5b736df..9befd00bc6f 100644
--- a/etc/templates/compressibleInflowOutflow/0/nut
+++ b/etc/templates/compressibleInflowOutflow/0/nut
@@ -14,7 +14,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-dimensions      [1 -1 -1 0 0 0 0];
+dimensions      [0 2 -1 0 0 0 0];
 
 internalField   uniform 0;
 
diff --git a/etc/templates/compressibleInflowOutflow/0/omega b/etc/templates/compressibleInflowOutflow/0/omega
index 0cf7e5569b6..e8e14245763 100644
--- a/etc/templates/compressibleInflowOutflow/0/omega
+++ b/etc/templates/compressibleInflowOutflow/0/omega
@@ -37,7 +37,7 @@ boundaryField
 
     wall
     {
-        type            compressible::omegaWallFunction;
+        type            omegaWallFunction;
         value           uniform $omegaInlet;
     }
 
diff --git a/etc/templates/compressibleInflowOutflow/system/fvSchemes b/etc/templates/compressibleInflowOutflow/system/fvSchemes
index 51dd04c90d9..9986456cf79 100644
--- a/etc/templates/compressibleInflowOutflow/system/fvSchemes
+++ b/etc/templates/compressibleInflowOutflow/system/fvSchemes
@@ -49,7 +49,7 @@ divSchemes
     div(phid,p)     bounded Gauss upwind;
     div((phi|interpolate(rho)),p)  bounded Gauss upwind;
 
-    div((muEff*dev2(T(grad(U)))))      Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U)))))    Gauss linear;
 }
 
 laplacianSchemes
-- 
GitLab


From 269483f0bfb671235453bd01ddf1b2260ce5c802 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Mon, 16 Nov 2015 10:25:42 +0000
Subject: [PATCH 078/141] src/combustionModels: Updated LES model lookup

---
 .../LES/SpalartAllmarasDES/SpalartAllmarasDES.H |  2 +-
 .../SpalartAllmarasIDDES/SpalartAllmarasIDDES.H |  2 +-
 src/combustionModels/FSD/FSD.C                  |  5 ++++-
 src/combustionModels/FSD/FSD.H                  |  2 +-
 .../relaxation/relaxation.C                     | 17 +++++++++++------
 5 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.H b/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.H
index 4c512487a3f..b64ed0d593f 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.H
+++ b/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.H
@@ -184,7 +184,7 @@ public:
 
     // Member Functions
 
-        //- Read LESProperties dictionary
+        //- Read model coefficients if they have changed
         virtual bool read();
 
         //- Return the effective diffusivity for nuTilda
diff --git a/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H b/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H
index 2bfaf6089a1..e2f64aa6bbc 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H
+++ b/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H
@@ -146,7 +146,7 @@ public:
 
     // Member Functions
 
-        //- Read LESProperties dictionary
+        //- Read model coefficients if they have changed
         virtual bool read();
 };
 
diff --git a/src/combustionModels/FSD/FSD.C b/src/combustionModels/FSD/FSD.C
index 9d79904cd40..6d846b3d95e 100644
--- a/src/combustionModels/FSD/FSD.C
+++ b/src/combustionModels/FSD/FSD.C
@@ -189,7 +189,10 @@ void FSD<CombThermoType, ThermoType>::calculateSourceNorm()
 
     // Calculation of the mixture fraction variance (ftVar)
     const compressible::LESModel& lesModel =
-        YO2.db().lookupObject<compressible::LESModel>("LESProperties");
+        YO2.db().lookupObject<compressible::LESModel>
+        (
+            turbulenceModel::propertiesName
+        );
 
     const volScalarField& delta = lesModel.delta();
     const volScalarField ftVar(Cv_*sqr(delta)*sqr(mgft));
diff --git a/src/combustionModels/FSD/FSD.H b/src/combustionModels/FSD/FSD.H
index 6e3609abdb9..10be2acdfa0 100644
--- a/src/combustionModels/FSD/FSD.H
+++ b/src/combustionModels/FSD/FSD.H
@@ -52,7 +52,7 @@ Description
     is large (>1e-04) then a beta pdf is used for filtering.
 
     At the moment the flame area combustion model is only fit to work in a LES
-    frame work. In RAS the subgrid fluctiuation has to be solved by an extra
+    frame work. In RAS the subgrid fluctuation has to be solved by an extra
     transport equation.
 
 SourceFiles
diff --git a/src/combustionModels/FSD/reactionRateFlameAreaModels/relaxation/relaxation.C b/src/combustionModels/FSD/reactionRateFlameAreaModels/relaxation/relaxation.C
index 9352dd83961..f26b698b6fe 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-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -75,7 +75,6 @@ void Foam::reactionRateFlameAreaModels::relaxation::correct
     const volScalarField& sigma
 )
 {
-
     dimensionedScalar omega0
     (
         "omega0",
@@ -97,13 +96,19 @@ void Foam::reactionRateFlameAreaModels::relaxation::correct
         1e-4
     );
 
-    const compressible::LESModel& lesModel =
-        omega_.db().lookupObject<compressible::LESModel>("LESProperties");
+    dimensionedScalar kMin
+    (
+        "kMin",
+        sqr(dimVelocity),
+        SMALL
+    );
+
+    const compressibleTurbulenceModel& turbulence = combModel_.turbulence();
 
-    // Total strain : resolved and sub-grid (just LES for now)
+    // Total strain
     const volScalarField sigmaTotal
     (
-        sigma + alpha_*lesModel.epsilon()/(lesModel.k() + lesModel.kMin())
+        sigma + alpha_*turbulence.epsilon()/(turbulence.k() + kMin)
     );
 
     const volScalarField omegaInf(correlation_.omega0Sigma(sigmaTotal));
-- 
GitLab


From 33fdce88f57df71b2749969748e91dc4a95ee646 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Tue, 17 Nov 2015 12:05:57 +0000
Subject: [PATCH 079/141] porosityModels: Specification of name and dimensions
 of porosity coefficients is now optional

e.g.

    DarcyForchheimerCoeffs
    {
        d   (5e7 -1000 -1000);
        f   (0 0 0);

        coordinateSystem
        {
            type    cartesian;
            origin  (0 0 0);
            coordinateRotation
            {
                type    axesRotation;
                e1      (1 0 0);
                e2      (0 0 1);
            }
        }
    }
---
 .../DarcyForchheimer/DarcyForchheimer.C       |  6 +--
 .../DarcyForchheimer/DarcyForchheimer.H       |  2 -
 .../porosityModel/fixedCoeff/fixedCoeff.C     |  6 +--
 .../porosityModel/fixedCoeff/fixedCoeff.H     |  2 -
 .../porosityModel/porosityModel.H             |  3 +-
 .../general/porosityModel/powerLaw/powerLaw.H |  2 -
 .../derived/advective/advectiveFvPatchField.C | 48 ++++++++++++++++++-
 .../derived/advective/advectiveFvPatchField.H |  2 +-
 .../ras/angledDuct/constant/fvOptions         |  8 ++--
 .../ras/angledDuctLTS/constant/fvOptions      |  4 +-
 .../ras/mixerVessel2D/constant/fvOptions      |  4 +-
 .../constant/porosityProperties               |  4 +-
 .../constant/fvOptions                        |  8 ++--
 .../heatExchanger/constant/air/fvOptions      |  4 +-
 .../constant/porosityProperties               |  4 +-
 .../constant/porosityProperties               |  4 +-
 .../filter/constant/fvOptions                 |  4 +-
 .../ras/angledDuct/constant/fvOptions         |  4 +-
 18 files changed, 78 insertions(+), 41 deletions(-)

diff --git a/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.C b/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.C
index 54df8c5badf..b75588a0afc 100644
--- a/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.C
+++ b/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -52,8 +52,8 @@ Foam::porosityModels::DarcyForchheimer::DarcyForchheimer
 )
 :
     porosityModel(name, modelType, mesh, dict, cellZoneName),
-    dXYZ_(coeffs_.lookup("d")),
-    fXYZ_(coeffs_.lookup("f")),
+    dXYZ_("d", dimless/sqr(dimLength), coeffs_),
+    fXYZ_("f", dimless/dimLength, coeffs_),
     D_(cellZoneIDs_.size()),
     F_(cellZoneIDs_.size()),
     rhoName_(coeffs_.lookupOrDefault<word>("rho", "rho")),
diff --git a/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.H b/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.H
index 119cb9df684..158f5a29830 100644
--- a/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.H
+++ b/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.H
@@ -70,8 +70,6 @@ class DarcyForchheimer
 :
     public porosityModel
 {
-private:
-
     // Private data
 
         //- Darcy coeffient XYZ components (user-supplied) [1/m2]
diff --git a/src/finiteVolume/cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.C b/src/finiteVolume/cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.C
index c858fc287fb..79f6d3fbbbd 100644
--- a/src/finiteVolume/cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.C
+++ b/src/finiteVolume/cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -111,8 +111,8 @@ Foam::porosityModels::fixedCoeff::fixedCoeff
 )
 :
     porosityModel(name, modelType, mesh, dict, cellZoneName),
-    alphaXYZ_(coeffs_.lookup("alpha")),
-    betaXYZ_(coeffs_.lookup("beta")),
+    alphaXYZ_("alpha", dimless/dimTime, coeffs_),
+    betaXYZ_("beta", dimless/dimLength, coeffs_),
     alpha_(cellZoneIDs_.size()),
     beta_(cellZoneIDs_.size())
 {
diff --git a/src/finiteVolume/cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.H b/src/finiteVolume/cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.H
index 7bb52032d76..ca957d9a863 100644
--- a/src/finiteVolume/cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.H
+++ b/src/finiteVolume/cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.H
@@ -60,8 +60,6 @@ class fixedCoeff
 :
     public porosityModel
 {
-private:
-
     // Private data
 
         //- Alpha coefficient XYZ components (user-supplied) [1/s]
diff --git a/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.H b/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.H
index 3a76645d998..5cc90240cdf 100644
--- a/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.H
+++ b/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.H
@@ -57,8 +57,6 @@ class porosityModel
 :
     public regIOobject
 {
-private:
-
     // Private Member Functions
 
         //- Disallow default bitwise copy construct
@@ -268,6 +266,7 @@ public:
         virtual bool read(const dictionary& dict);
 };
 
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 } // End namespace Foam
diff --git a/src/finiteVolume/cfdTools/general/porosityModel/powerLaw/powerLaw.H b/src/finiteVolume/cfdTools/general/porosityModel/powerLaw/powerLaw.H
index 72336933786..c0e2e53c154 100644
--- a/src/finiteVolume/cfdTools/general/porosityModel/powerLaw/powerLaw.H
+++ b/src/finiteVolume/cfdTools/general/porosityModel/powerLaw/powerLaw.H
@@ -64,8 +64,6 @@ class powerLaw
 :
     public porosityModel
 {
-private:
-
     // Private data
 
         //- C0 coefficient
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/advective/advectiveFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/advective/advectiveFvPatchField.C
index a2c2dc88874..daa2d5694b0 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/advective/advectiveFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/advective/advectiveFvPatchField.C
@@ -30,6 +30,7 @@ License
 #include "EulerDdtScheme.H"
 #include "CrankNicolsonDdtScheme.H"
 #include "backwardDdtScheme.H"
+#include "localEulerDdtScheme.H"
 
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
@@ -189,10 +190,11 @@ void Foam::advectiveFvPatchField<Type>::updateCoeffs()
         return;
     }
 
+    const fvMesh& mesh = this->dimensionedInternalField().mesh();
+
     word ddtScheme
     (
-        this->dimensionedInternalField().mesh()
-       .ddtScheme(this->dimensionedInternalField().name())
+        mesh.ddtScheme(this->dimensionedInternalField().name())
     );
     scalar deltaT = this->db().time().deltaTValue();
 
@@ -243,6 +245,30 @@ void Foam::advectiveFvPatchField<Type>::updateCoeffs()
 
             this->valueFraction() = (1.5 + k)/(1.5 + alpha + k);
         }
+        else if
+        (
+            ddtScheme == fv::localEulerDdtScheme<scalar>::typeName
+        )
+        {
+            const volScalarField& rDeltaT =
+                fv::localEulerDdt::localRDeltaT(mesh);
+
+            // Calculate the field wave coefficient alpha (See notes)
+            const scalarField alpha
+            (
+                w*this->patch().deltaCoeffs()/rDeltaT.boundaryField()[patchi]
+            );
+
+            // Calculate the field relaxation coefficient k (See notes)
+            const scalarField k(w/(rDeltaT.boundaryField()[patchi]*lInf_));
+
+            this->refValue() =
+            (
+                field.oldTime().boundaryField()[patchi] + k*fieldInf_
+            )/(1.0 + k);
+
+            this->valueFraction() = (1.0 + k)/(1.0 + alpha + k);
+        }
         else
         {
             FatalErrorInFunction
@@ -275,6 +301,24 @@ void Foam::advectiveFvPatchField<Type>::updateCoeffs()
 
             this->valueFraction() = 1.5/(1.5 + alpha);
         }
+        else if
+        (
+            ddtScheme == fv::localEulerDdtScheme<scalar>::typeName
+        )
+        {
+            const volScalarField& rDeltaT =
+                fv::localEulerDdt::localRDeltaT(mesh);
+
+            // Calculate the field wave coefficient alpha (See notes)
+            const scalarField alpha
+            (
+                w*this->patch().deltaCoeffs()/rDeltaT.boundaryField()[patchi]
+            );
+
+            this->refValue() = field.oldTime().boundaryField()[patchi];
+
+            this->valueFraction() = 1.0/(1.0 + alpha);
+        }
         else
         {
             FatalErrorInFunction
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/advective/advectiveFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/advective/advectiveFvPatchField.H
index 3b4e0f1b5c2..ac551ef4198 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/advective/advectiveFvPatchField.H
+++ b/src/finiteVolume/fields/fvPatchFields/derived/advective/advectiveFvPatchField.H
@@ -31,7 +31,7 @@ Description
     This boundary condition provides an advective outflow condition, based on
     solving DDt(psi, U) = 0 at the boundary.
 
-    The standard (Euler, backward, CrankNicolson) time schemes are
+    The standard (Euler, backward, CrankNicolson, localEuler) time schemes are
     supported.  Additionally an optional mechanism to relax the value at
     the boundary to a specified far-field value is provided which is
     switched on by specifying the relaxation length-scale \c lInf and the
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/fvOptions b/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/fvOptions
index 542638fca8a..8d380de4a6e 100644
--- a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/fvOptions
+++ b/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/fvOptions
@@ -29,8 +29,8 @@ porosity1
 
         DarcyForchheimerCoeffs
         {
-            d   d [0 -2 0 0 0 0 0] (7e5 -1000 -1000);
-            f   f [0 -1 0 0 0 0 0] (0 0 0);
+            d   (7e5 -1000 -1000);
+            f   (0 0 0);
 
             coordinateSystem
             {
@@ -39,8 +39,8 @@ porosity1
                 coordinateRotation
                 {
                     type    axesRotation;
-                    e1  (0.70710678 0.70710678 0);
-                    e3  (0 0 1);
+                    e1      (0.70710678 0.70710678 0);
+                    e3      (0 0 1);
                 }
             }
         }
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/constant/fvOptions b/tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/constant/fvOptions
index 73c8c8a72ae..045b7a73850 100644
--- a/tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/constant/fvOptions
+++ b/tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/constant/fvOptions
@@ -29,8 +29,8 @@ porosity1
 
         DarcyForchheimerCoeffs
         {
-            d   d [0 -2 0 0 0 0 0] (5e7 -1000 -1000);
-            f   f [0 -1 0 0 0 0 0] (0 0 0);
+            d   (5e7 -1000 -1000);
+            f   (0 0 0);
 
             coordinateSystem
             {
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/fvOptions b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/fvOptions
index 56123402fa8..446cbc45a9e 100644
--- a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/fvOptions
+++ b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/fvOptions
@@ -29,8 +29,8 @@ porosity1
 
         DarcyForchheimerCoeffs
         {
-            d   d [0 -2 0 0 0 0 0] (1e5 -1000 -1000);
-            f   f [0 -1 0 0 0 0 0] (0 0 0);
+            d   (1e5 -1000 -1000);
+            f   (0 0 0);
 
             coordinateSystem
             {
diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/porosityProperties b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/porosityProperties
index 9795d83b85c..b08090fea79 100644
--- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/porosityProperties
+++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/porosityProperties
@@ -23,8 +23,8 @@ porosity1
 
     DarcyForchheimerCoeffs
     {
-        d   d [0 -2 0 0 0 0 0] (5e7 -1000 -1000);
-        f   f [0 -1 0 0 0 0 0] (0 0 0);
+        d   (5e7 -1000 -1000);
+        f   (0 0 0);
 
         coordinateSystem
         {
diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/fvOptions b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/fvOptions
index fd223008c63..f9bc8b076ba 100644
--- a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/fvOptions
+++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/fvOptions
@@ -45,8 +45,8 @@ porosity1
 
         fixedCoeffCoeffs
         {
-            alpha       alpha [0 0 -1 0 0 0 0] (500 -1000 -1000);
-            beta        beta  [0 -1 0 0 0 0 0] (0 0 0);
+            alpha       (500 -1000 -1000);
+            beta        (0 0 0);
             rhoRef      1;
 
             coordinateSystem
@@ -56,8 +56,8 @@ porosity1
                 coordinateRotation
                 {
                     type    axesRotation;
-                    e1  (0.70710678 0.70710678 0);
-                    e2  (0 0 1);
+                    e1      (0.70710678 0.70710678 0);
+                    e2      (0 0 1);
                 }
             }
         }
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/constant/air/fvOptions b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/constant/air/fvOptions
index 9ed7edb4221..d9188a1378a 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/constant/air/fvOptions
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/constant/air/fvOptions
@@ -46,8 +46,8 @@ porosityBlockage
 
         DarcyForchheimerCoeffs
         {
-            d   d [0 -2 0 0 0] (-1000 -1000 1e4);
-            f   f [0 -1 0 0 0] (0 0 0);
+            d   (-1000 -1000 1e4);
+            f   (0 0 0);
 
             coordinateSystem
             {
diff --git a/tutorials/incompressible/porousSimpleFoam/angledDuctImplicit/constant/porosityProperties b/tutorials/incompressible/porousSimpleFoam/angledDuctImplicit/constant/porosityProperties
index 80421b7786f..a96f099ae08 100644
--- a/tutorials/incompressible/porousSimpleFoam/angledDuctImplicit/constant/porosityProperties
+++ b/tutorials/incompressible/porousSimpleFoam/angledDuctImplicit/constant/porosityProperties
@@ -23,8 +23,8 @@ porosity1
 
     DarcyForchheimerCoeffs
     {
-        d   d [0 -2 0 0 0 0 0] (5e7 -1000 -1000);
-        f   f [0 -1 0 0 0 0 0] (0 0 0);
+        d   (5e7 -1000 -1000);
+        f   (0 0 0);
 
         coordinateSystem
         {
diff --git a/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/constant/porosityProperties b/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/constant/porosityProperties
index 4016a540453..0e911d23780 100644
--- a/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/constant/porosityProperties
+++ b/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/constant/porosityProperties
@@ -23,8 +23,8 @@ porosity1
 
     DarcyForchheimerCoeffs
     {
-        d   d [0 -2 0 0 0 0 0] (5e7 -1000 -1000);
-        f   f [0 -1 0 0 0 0 0] (0 0 0);
+        d   (5e7 -1000 -1000);
+        f   (0 0 0);
 
         coordinateSystem
         {
diff --git a/tutorials/lagrangian/reactingParcelFoam/filter/constant/fvOptions b/tutorials/lagrangian/reactingParcelFoam/filter/constant/fvOptions
index 01546fe1375..0b6c185a6eb 100644
--- a/tutorials/lagrangian/reactingParcelFoam/filter/constant/fvOptions
+++ b/tutorials/lagrangian/reactingParcelFoam/filter/constant/fvOptions
@@ -29,8 +29,8 @@ filter1
 
         DarcyForchheimerCoeffs
         {
-            d   d [0 -2 0 0 0 0 0] (500000 -1000 -1000);
-            f   f [0 -1 0 0 0 0 0] (0 0 0);
+            d   (500000 -1000 -1000);
+            f   (0 0 0);
 
             coordinateSystem
             {
diff --git a/tutorials/multiphase/interFoam/ras/angledDuct/constant/fvOptions b/tutorials/multiphase/interFoam/ras/angledDuct/constant/fvOptions
index 5b222b6937b..98110758855 100644
--- a/tutorials/multiphase/interFoam/ras/angledDuct/constant/fvOptions
+++ b/tutorials/multiphase/interFoam/ras/angledDuct/constant/fvOptions
@@ -29,8 +29,8 @@ porosity1
 
         DarcyForchheimerCoeffs
         {
-            d   d [0 -2 0 0 0 0 0] (2e8 -1000 -1000);
-            f   f [0 -1 0 0 0 0 0] (0 0 0);
+            d   (2e8 -1000 -1000);
+            f   (0 0 0);
 
             coordinateSystem
             {
-- 
GitLab


From 0ddb4eb9f3d17b055dd1a66f120e6165871c068a Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Tue, 17 Nov 2015 12:07:33 +0000
Subject: [PATCH 080/141] Updated header

---
 .../general/porosityModel/DarcyForchheimer/DarcyForchheimer.H   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.H b/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.H
index 158f5a29830..6259cd4c506 100644
--- a/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.H
+++ b/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
-- 
GitLab


From 40e16bdbd1f4abcf82f7abcada8efc6de4aabc4b Mon Sep 17 00:00:00 2001
From: Chris Greenshields <http://cfd.direct>
Date: Tue, 17 Nov 2015 14:59:30 +0000
Subject: [PATCH 081/141] porousZone packaged fvOption: moved selectionMode to
 correct dict level

---
 etc/caseDicts/general/fvOptions/porosity/porousZone | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/etc/caseDicts/general/fvOptions/porosity/porousZone b/etc/caseDicts/general/fvOptions/porosity/porousZone
index f7ab42ffed3..7378f17a1b6 100644
--- a/etc/caseDicts/general/fvOptions/porosity/porousZone
+++ b/etc/caseDicts/general/fvOptions/porosity/porousZone
@@ -18,12 +18,12 @@ porousZone // Change to something more descriptive
 {
     type           explicitPorositySource;
     active         true;
-    selectionMode  cellZone;
-    cellZone       <cellZoneName>; // Specify the name of the cellZone
 
     explicitPorositySourceCoeffs
     {
         type           DarcyForchheimer;
+        selectionMode  cellZone;
+        cellZone       <cellZoneName>; // Specify the name of the cellZone
 
         DarcyForchheimerCoeffs
         {
-- 
GitLab


From 3a5cb136087395367f32d50fe7bfbd513b10a918 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Wed, 18 Nov 2015 09:33:13 +0000
Subject: [PATCH 082/141] advectiveFvPatchField: Added support localEuler ddt
 (LTS) This functionality is inherited by the waveTransmissive BCs

---
 .../fvPatchFields/derived/advective/advectiveFvPatchField.H     | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/finiteVolume/fields/fvPatchFields/derived/advective/advectiveFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/advective/advectiveFvPatchField.H
index ac551ef4198..443c8472a87 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/advective/advectiveFvPatchField.H
+++ b/src/finiteVolume/fields/fvPatchFields/derived/advective/advectiveFvPatchField.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
-- 
GitLab


From 91261b304780d6f9c93a8c2e819c8a287dfb66e6 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Wed, 18 Nov 2015 09:34:16 +0000
Subject: [PATCH 083/141] reactingFoam: Added support for PIMPLE-consistent and
 pressure relaxation Pressure relaxation is useful with LTS to damp acoustic
 waves

---
 .../solvers/combustion/reactingFoam/UEqn.H    |  38 +++---
 .../combustion/reactingFoam/createFields.H    |  22 +++
 .../solvers/combustion/reactingFoam/pEqn.H    |  27 +++-
 .../solvers/combustion/reactingFoam/pcEqn.H   | 125 ++++++++++++++++++
 .../combustion/reactingFoam/reactingFoam.C    |   9 +-
 .../combustion/reactingFoam/setRDeltaT.H      |   3 +
 6 files changed, 201 insertions(+), 23 deletions(-)
 create mode 100644 applications/solvers/combustion/reactingFoam/pcEqn.H

diff --git a/applications/solvers/combustion/reactingFoam/UEqn.H b/applications/solvers/combustion/reactingFoam/UEqn.H
index f493177d761..1704ce4ab98 100644
--- a/applications/solvers/combustion/reactingFoam/UEqn.H
+++ b/applications/solvers/combustion/reactingFoam/UEqn.H
@@ -1,23 +1,25 @@
-    MRF.correctBoundaryVelocity(U);
+// Solve the Momentum equation
 
-    fvVectorMatrix UEqn
-    (
-        fvm::ddt(rho, U) + fvm::div(phi, U)
-      + MRF.DDt(rho, U)
-      + turbulence->divDevRhoReff(U)
-     ==
-        rho*g
-      + fvOptions(rho, U)
-    );
+MRF.correctBoundaryVelocity(U);
 
-    UEqn.relax();
+tmp<fvVectorMatrix> UEqn
+(
+    fvm::ddt(rho, U) + fvm::div(phi, U)
+  + MRF.DDt(rho, U)
+  + turbulence->divDevRhoReff(U)
+ ==
+    rho*g
+  + fvOptions(rho, U)
+);
 
-    fvOptions.constrain(UEqn);
+UEqn().relax();
 
-    if (pimple.momentumPredictor())
-    {
-        solve(UEqn == -fvc::grad(p));
+fvOptions.constrain(UEqn());
 
-        fvOptions.correct(U);
-        K = 0.5*magSqr(U);
-    }
+if (pimple.momentumPredictor())
+{
+    solve(UEqn() == -fvc::grad(p));
+
+    fvOptions.correct(U);
+    K = 0.5*magSqr(U);
+}
diff --git a/applications/solvers/combustion/reactingFoam/createFields.H b/applications/solvers/combustion/reactingFoam/createFields.H
index 19c115a8f2d..71c805c43b8 100644
--- a/applications/solvers/combustion/reactingFoam/createFields.H
+++ b/applications/solvers/combustion/reactingFoam/createFields.H
@@ -45,6 +45,28 @@ const volScalarField& T = thermo.T();
 
 #include "compressibleCreatePhi.H"
 
+dimensionedScalar rhoMax
+(
+    dimensionedScalar::lookupOrDefault
+    (
+        "rhoMax",
+        pimple.dict(),
+        dimDensity,
+        GREAT
+    )
+);
+
+dimensionedScalar rhoMin
+(
+    dimensionedScalar::lookupOrDefault
+    (
+        "rhoMin",
+        pimple.dict(),
+        dimDensity,
+        0
+    )
+);
+
 mesh.setFluxRequired(p.name());
 
 Info << "Creating turbulence model.\n" << nl;
diff --git a/applications/solvers/combustion/reactingFoam/pEqn.H b/applications/solvers/combustion/reactingFoam/pEqn.H
index cedab05eab6..2f352db5da2 100644
--- a/applications/solvers/combustion/reactingFoam/pEqn.H
+++ b/applications/solvers/combustion/reactingFoam/pEqn.H
@@ -1,10 +1,18 @@
 rho = thermo.rho();
+rho = max(rho, rhoMin);
+rho = min(rho, rhoMax);
+rho.relax();
 
-volScalarField rAU(1.0/UEqn.A());
+volScalarField rAU(1.0/UEqn().A());
 surfaceScalarField rhorAUf("rhorAUf", fvc::interpolate(rho*rAU));
 
 volVectorField HbyA("HbyA", U);
-HbyA = rAU*UEqn.H();
+HbyA = rAU*UEqn().H();
+
+if (pimple.nCorrPISO() <= 1)
+{
+    UEqn.clear();
+}
 
 if (pimple.transonic())
 {
@@ -26,7 +34,7 @@ if (pimple.transonic())
         (
             fvm::ddt(psi, p)
           + fvm::div(phid, p)
-          - fvm::laplacian(rho*rAU, p)
+          - fvm::laplacian(rhorAUf, p)
          ==
             fvOptions(psi, p, rho.name())
         );
@@ -58,7 +66,7 @@ else
         (
             fvm::ddt(psi, p)
           + fvc::div(phiHbyA)
-          - fvm::laplacian(rho*rAU, p)
+          - fvm::laplacian(rhorAUf, p)
          ==
             fvOptions(psi, p, rho.name())
         );
@@ -75,6 +83,17 @@ else
 #include "rhoEqn.H"
 #include "compressibleContinuityErrs.H"
 
+// Explicitly relax pressure for momentum corrector
+p.relax();
+
+// Recalculate density from the relaxed pressure
+rho = thermo.rho();
+rho = max(rho, rhoMin);
+rho = min(rho, rhoMax);
+rho.relax();
+Info<< "rho max/min : " << max(rho).value()
+    << " " << min(rho).value() << endl;
+
 U = HbyA - rAU*fvc::grad(p);
 U.correctBoundaryConditions();
 fvOptions.correct(U);
diff --git a/applications/solvers/combustion/reactingFoam/pcEqn.H b/applications/solvers/combustion/reactingFoam/pcEqn.H
new file mode 100644
index 00000000000..3d7fffc459b
--- /dev/null
+++ b/applications/solvers/combustion/reactingFoam/pcEqn.H
@@ -0,0 +1,125 @@
+rho = thermo.rho();
+rho = max(rho, rhoMin);
+rho = min(rho, rhoMax);
+rho.relax();
+
+volScalarField rAU(1.0/UEqn().A());
+volScalarField rAtU(1.0/(1.0/rAU - UEqn().H1()));
+volVectorField HbyA("HbyA", U);
+HbyA = rAU*UEqn().H();
+
+if (pimple.nCorrPISO() <= 1)
+{
+    UEqn.clear();
+}
+
+if (pimple.transonic())
+{
+    surfaceScalarField phid
+    (
+        "phid",
+        fvc::interpolate(psi)
+       *(
+            (fvc::interpolate(HbyA) & mesh.Sf())
+          + fvc::interpolate(rho*rAU)*fvc::ddtCorr(rho, U, phi)
+           /fvc::interpolate(rho)
+        )
+    );
+
+    MRF.makeRelative(fvc::interpolate(psi), phid);
+
+    surfaceScalarField phic
+    (
+        "phic",
+        fvc::interpolate(rho*(rAtU - rAU))*fvc::snGrad(p)*mesh.magSf()
+    );
+
+    HbyA -= (rAU - rAtU)*fvc::grad(p);
+
+    volScalarField rhorAtU("rhorAtU", rho*rAtU);
+
+    while (pimple.correctNonOrthogonal())
+    {
+        fvScalarMatrix pEqn
+        (
+            fvm::ddt(psi, p)
+          + fvm::div(phid, p)
+          + fvc::div(phic)
+          - fvm::laplacian(rhorAtU, p)
+         ==
+            fvOptions(psi, p, rho.name())
+        );
+
+        pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
+
+        if (pimple.finalNonOrthogonalIter())
+        {
+            phi == phic + pEqn.flux();
+        }
+    }
+}
+else
+{
+    surfaceScalarField phiHbyA
+    (
+        "phiHbyA",
+        (
+            (fvc::interpolate(rho*HbyA) & mesh.Sf())
+          + fvc::interpolate(rho*rAU)*fvc::ddtCorr(rho, U, phi)
+        )
+    );
+
+    MRF.makeRelative(fvc::interpolate(rho), phiHbyA);
+
+    phiHbyA += fvc::interpolate(rho*(rAtU - rAU))*fvc::snGrad(p)*mesh.magSf();
+    HbyA -= (rAU - rAtU)*fvc::grad(p);
+
+    volScalarField rhorAtU("rhorAtU", rho*rAtU);
+
+    while (pimple.correctNonOrthogonal())
+    {
+        fvScalarMatrix pEqn
+        (
+            fvm::ddt(psi, p)
+          + fvc::div(phiHbyA)
+          - fvm::laplacian(rhorAtU, p)
+         ==
+            fvOptions(psi, p, rho.name())
+        );
+
+        pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
+
+        if (pimple.finalNonOrthogonalIter())
+        {
+            phi = phiHbyA + pEqn.flux();
+        }
+    }
+}
+
+#include "rhoEqn.H"
+#include "compressibleContinuityErrs.H"
+
+// Explicitly relax pressure for momentum corrector
+p.relax();
+
+U = HbyA - rAtU*fvc::grad(p);
+U.correctBoundaryConditions();
+fvOptions.correct(U);
+K = 0.5*magSqr(U);
+
+if (thermo.dpdt())
+{
+    dpdt = fvc::ddt(p);
+}
+
+// Recalculate density from the relaxed pressure
+rho = thermo.rho();
+rho = max(rho, rhoMin);
+rho = min(rho, rhoMax);
+
+if (!pimple.transonic())
+{
+    rho.relax();
+}
+
+Info<< "rho max/min : " << max(rho).value() << " " << min(rho).value() << endl;
diff --git a/applications/solvers/combustion/reactingFoam/reactingFoam.C b/applications/solvers/combustion/reactingFoam/reactingFoam.C
index 79deedb763f..5ad452b52ba 100644
--- a/applications/solvers/combustion/reactingFoam/reactingFoam.C
+++ b/applications/solvers/combustion/reactingFoam/reactingFoam.C
@@ -95,7 +95,14 @@ int main(int argc, char *argv[])
             // --- Pressure corrector loop
             while (pimple.correct())
             {
-                #include "pEqn.H"
+                if (pimple.consistent())
+                {
+                    #include "pcEqn.H"
+                }
+                else
+                {
+                    #include "pEqn.H"
+                }
             }
 
             if (pimple.turbCorr())
diff --git a/applications/solvers/combustion/reactingFoam/setRDeltaT.H b/applications/solvers/combustion/reactingFoam/setRDeltaT.H
index a01f9bac3be..b84be5a66d9 100644
--- a/applications/solvers/combustion/reactingFoam/setRDeltaT.H
+++ b/applications/solvers/combustion/reactingFoam/setRDeltaT.H
@@ -116,6 +116,9 @@ License
         );
     }
 
+    // Update tho boundary values of the reciprocal time-step
+    rDeltaT.correctBoundaryConditions();
+
     Info<< "    Overall     = "
         << gMin(1/rDeltaT.internalField())
         << ", " << gMax(1/rDeltaT.internalField()) << endl;
-- 
GitLab


From 3050ff925a4bbce020c25168f4fb8082df312ee8 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Wed, 18 Nov 2015 21:09:10 +0000
Subject: [PATCH 084/141] rhoReactingFoam: Updated to use the latest UEqn.H
 from reactingFoam

---
 .../solvers/combustion/reactingFoam/rhoReactingFoam/pEqn.H    | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/pEqn.H b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/pEqn.H
index 87ca80dbf6f..c3b18e6bd72 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/pEqn.H
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/pEqn.H
@@ -5,11 +5,11 @@
     // pressure solution - done in 2 parts. Part 1:
     thermo.rho() -= psi*p;
 
-    volScalarField rAU(1.0/UEqn.A());
+    volScalarField rAU(1.0/UEqn().A());
     surfaceScalarField rhorAUf("rhorAUf", fvc::interpolate(rho*rAU));
 
     volVectorField HbyA("HbyA", U);
-    HbyA = rAU*UEqn.H();
+    HbyA = rAU*UEqn().H();
 
     if (pimple.transonic())
     {
-- 
GitLab


From d968ee30e16232347c9b978730d4ba3a75109c52 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Wed, 18 Nov 2015 21:10:03 +0000
Subject: [PATCH 085/141] TurbulenceModels: Improved instantiation of
 single-phase models in solvers Simplifies lookup of RAS or LES models

---
 .../solvers/combustion/PDRFoam/createFields.H |   2 +-
 .../compressible/rhoSimpleFoam/createFields.H |   2 +-
 .../rhoPorousSimpleFoam/createFields.H        |   2 +-
 .../createFields.H                            |   2 +-
 .../createFields.H                            |   2 +-
 .../buoyantSimpleFoam/createFields.H          |   2 +-
 .../heatTransfer/thermoFoam/setAlphaEff.H     |   4 +-
 .../createFields.H                            |   2 +-
 .../boundaryFoam/createFields.H               |   2 +-
 .../simpleFoam/SRFSimpleFoam/createFields.H   |   2 +-
 .../createTurbulenceFields/createFields.H     |   2 +-
 .../wall/wallShearStress/wallShearStress.C    |   4 +-
 .../SpecificCompressibleTurbulenceModel.C     |  99 ----------------
 .../SpecificCompressibleTurbulenceModel.H     | 110 ------------------
 .../turbulentFluidThermoModel.H               |  36 ++++--
 .../SpecificIncompressibleTurbulenceModel.C   |  98 ----------------
 .../SpecificIncompressibleTurbulenceModel.H   | 109 -----------------
 .../turbulentTransportModel.H                 |  35 ++++--
 18 files changed, 65 insertions(+), 450 deletions(-)
 delete mode 100644 src/TurbulenceModels/compressible/SpecificCompressibleTurbulenceModel/SpecificCompressibleTurbulenceModel.C
 delete mode 100644 src/TurbulenceModels/compressible/SpecificCompressibleTurbulenceModel/SpecificCompressibleTurbulenceModel.H
 delete mode 100644 src/TurbulenceModels/incompressible/SpecificIncompressibleTurbulenceModel/SpecificIncompressibleTurbulenceModel.C
 delete mode 100644 src/TurbulenceModels/incompressible/SpecificIncompressibleTurbulenceModel/SpecificIncompressibleTurbulenceModel.H

diff --git a/applications/solvers/combustion/PDRFoam/createFields.H b/applications/solvers/combustion/PDRFoam/createFields.H
index fb958b3b527..95f42a03d66 100644
--- a/applications/solvers/combustion/PDRFoam/createFields.H
+++ b/applications/solvers/combustion/PDRFoam/createFields.H
@@ -49,7 +49,7 @@ mesh.setFluxRequired(p.name());
 Info<< "Creating turbulence model\n" << endl;
 autoPtr<compressible::RASModel> turbulence
 (
-    compressible::RASModel::New
+    compressible::New<compressible::RASModel>
     (
         rho,
         U,
diff --git a/applications/solvers/compressible/rhoSimpleFoam/createFields.H b/applications/solvers/compressible/rhoSimpleFoam/createFields.H
index fdf8a2a769e..80f317cd855 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/createFields.H
+++ b/applications/solvers/compressible/rhoSimpleFoam/createFields.H
@@ -71,7 +71,7 @@ dimensionedScalar rhoMin
 Info<< "Creating turbulence model\n" << endl;
 autoPtr<compressible::RASModel> turbulence
 (
-    compressible::RASModel::New
+    compressible::New<compressible::RASModel>
     (
         rho,
         U,
diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/createFields.H b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/createFields.H
index 149049e63ee..537eea2ea37 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/createFields.H
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/createFields.H
@@ -70,7 +70,7 @@ dimensionedScalar rhoMin
 Info<< "Creating turbulence model\n" << endl;
 autoPtr<compressible::RASModel> turbulence
 (
-    compressible::RASModel::New
+    compressible::New<compressible::RASModel>
     (
         rho,
         U,
diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/createFields.H b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/createFields.H
index f98c472e11e..b8d07b1f1af 100644
--- a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/createFields.H
+++ b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/createFields.H
@@ -49,7 +49,7 @@ volVectorField U
 Info<< "Creating turbulence model\n" << endl;
 autoPtr<incompressible::RASModel> turbulence
 (
-    incompressible::RASModel::New(U, phi, laminarTransport)
+    incompressible::New<incompressible::RASModel>(U, phi, laminarTransport)
 );
 
 // Kinematic density for buoyancy force
diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/createFields.H b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/createFields.H
index 17306f7d46c..014bf8045cc 100644
--- a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/createFields.H
+++ b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/createFields.H
@@ -49,7 +49,7 @@ volVectorField U
 Info<< "Creating turbulence model\n" << endl;
 autoPtr<incompressible::RASModel> turbulence
 (
-    incompressible::RASModel::New(U, phi, laminarTransport)
+    incompressible::New<incompressible::RASModel>(U, phi, laminarTransport)
 );
 
 // Kinematic density for buoyancy force
diff --git a/applications/solvers/heatTransfer/buoyantSimpleFoam/createFields.H b/applications/solvers/heatTransfer/buoyantSimpleFoam/createFields.H
index 5b07f643b15..37a76ba7c63 100644
--- a/applications/solvers/heatTransfer/buoyantSimpleFoam/createFields.H
+++ b/applications/solvers/heatTransfer/buoyantSimpleFoam/createFields.H
@@ -39,7 +39,7 @@ volVectorField U
 Info<< "Creating turbulence model\n" << endl;
 autoPtr<compressible::RASModel> turbulence
 (
-    compressible::RASModel::New
+    compressible::New<compressible::RASModel>
     (
         rho,
         U,
diff --git a/applications/solvers/heatTransfer/thermoFoam/setAlphaEff.H b/applications/solvers/heatTransfer/thermoFoam/setAlphaEff.H
index 90b475794b6..4af3af3ce4c 100644
--- a/applications/solvers/heatTransfer/thermoFoam/setAlphaEff.H
+++ b/applications/solvers/heatTransfer/thermoFoam/setAlphaEff.H
@@ -44,7 +44,7 @@
     {
         autoPtr<compressible::RASModel> turbulence
         (
-            compressible::RASModel::New
+            compressible::New<compressible::RASModel>
             (
                 rho,
                 U,
@@ -59,7 +59,7 @@
     {
         autoPtr<compressible::LESModel> turbulence
         (
-            compressible::LESModel::New
+            compressible::New<compressible::LESModel>
             (
                 rho,
                 U,
diff --git a/applications/solvers/incompressible/adjointShapeOptimizationFoam/createFields.H b/applications/solvers/incompressible/adjointShapeOptimizationFoam/createFields.H
index fa27e4b38b3..cb7da736871 100644
--- a/applications/solvers/incompressible/adjointShapeOptimizationFoam/createFields.H
+++ b/applications/solvers/incompressible/adjointShapeOptimizationFoam/createFields.H
@@ -82,7 +82,7 @@ singlePhaseTransportModel laminarTransport(U, phi);
 
 autoPtr<incompressible::RASModel> turbulence
 (
-    incompressible::RASModel::New(U, phi, laminarTransport)
+    incompressible::New<incompressible::RASModel>(U, phi, laminarTransport)
 );
 
 
diff --git a/applications/solvers/incompressible/boundaryFoam/createFields.H b/applications/solvers/incompressible/boundaryFoam/createFields.H
index 15faa59f82d..5ecfebfcb40 100644
--- a/applications/solvers/incompressible/boundaryFoam/createFields.H
+++ b/applications/solvers/incompressible/boundaryFoam/createFields.H
@@ -33,7 +33,7 @@ singlePhaseTransportModel laminarTransport(U, phi);
 
 autoPtr<incompressible::RASModel> turbulence
 (
-    incompressible::RASModel::New(U, phi, laminarTransport)
+    incompressible::New<incompressible::RASModel>(U, phi, laminarTransport)
 );
 
 dimensionedVector Ubar("Ubar", dimVelocity, laminarTransport);
diff --git a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/createFields.H b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/createFields.H
index 9d9fb484fcc..5658b68ec67 100644
--- a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/createFields.H
+++ b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/createFields.H
@@ -66,5 +66,5 @@ singlePhaseTransportModel laminarTransport(U, phi);
 
 autoPtr<incompressible::RASModel> turbulence
 (
-    incompressible::RASModel::New(U, phi, laminarTransport)
+    incompressible::New<incompressible::RASModel>(U, phi, laminarTransport)
 );
diff --git a/applications/utilities/postProcessing/turbulence/createTurbulenceFields/createFields.H b/applications/utilities/postProcessing/turbulence/createTurbulenceFields/createFields.H
index 7c07f44f8bf..08f2c286069 100644
--- a/applications/utilities/postProcessing/turbulence/createTurbulenceFields/createFields.H
+++ b/applications/utilities/postProcessing/turbulence/createTurbulenceFields/createFields.H
@@ -18,5 +18,5 @@
 
     autoPtr<incompressible::RASModel> RASModel
     (
-        incompressible::RASModel::New(U, phi, laminarTransport)
+        incompressible::New<incompressible::RASModel>(U, phi, laminarTransport)
     );
diff --git a/applications/utilities/postProcessing/wall/wallShearStress/wallShearStress.C b/applications/utilities/postProcessing/wall/wallShearStress/wallShearStress.C
index 958bfdc48c8..6f6609c2fd7 100644
--- a/applications/utilities/postProcessing/wall/wallShearStress/wallShearStress.C
+++ b/applications/utilities/postProcessing/wall/wallShearStress/wallShearStress.C
@@ -55,7 +55,7 @@ void calcIncompressible
 
     autoPtr<incompressible::RASModel> model
     (
-        incompressible::RASModel::New(U, phi, laminarTransport)
+        incompressible::New<incompressible::RASModel>(U, phi, laminarTransport)
     );
 
     const volSymmTensorField Reff(model->devReff());
@@ -104,7 +104,7 @@ void calcCompressible
 
     autoPtr<compressible::RASModel> model
     (
-        compressible::RASModel::New
+        compressible::New<compressible::RASModel>
         (
             rho,
             U,
diff --git a/src/TurbulenceModels/compressible/SpecificCompressibleTurbulenceModel/SpecificCompressibleTurbulenceModel.C b/src/TurbulenceModels/compressible/SpecificCompressibleTurbulenceModel/SpecificCompressibleTurbulenceModel.C
deleted file mode 100644
index b7430341b2d..00000000000
--- a/src/TurbulenceModels/compressible/SpecificCompressibleTurbulenceModel/SpecificCompressibleTurbulenceModel.C
+++ /dev/null
@@ -1,99 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "SpecificCompressibleTurbulenceModel.H"
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-template<class BasicCompressibleTurbulenceModel>
-Foam::SpecificCompressibleTurbulenceModel
-<
-    BasicCompressibleTurbulenceModel
->::SpecificCompressibleTurbulenceModel
-(
-    const word& type,
-    const geometricOneField& alpha,
-    const volScalarField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& alphaRhoPhi,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& propertiesName
-)
-:
-    BasicCompressibleTurbulenceModel
-    (
-        type,
-        alpha,
-        rho,
-        U,
-        alphaRhoPhi,
-        phi,
-        transport,
-        propertiesName
-    )
-{}
-
-
-// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
-
-template<class BasicCompressibleTurbulenceModel>
-Foam::autoPtr
-<
-    Foam::SpecificCompressibleTurbulenceModel
-    <
-        BasicCompressibleTurbulenceModel
-    >
->
-Foam::SpecificCompressibleTurbulenceModel
-<
-    BasicCompressibleTurbulenceModel
->::New
-(
-    const volScalarField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& propertiesName
-)
-{
-    return autoPtr<SpecificCompressibleTurbulenceModel>
-    (
-        static_cast<SpecificCompressibleTurbulenceModel*>(
-        BasicCompressibleTurbulenceModel::New
-        (
-            geometricOneField(),
-            rho,
-            U,
-            phi,
-            phi,
-            transport,
-            propertiesName
-        ).ptr())
-    );
-}
-
-
-// ************************************************************************* //
diff --git a/src/TurbulenceModels/compressible/SpecificCompressibleTurbulenceModel/SpecificCompressibleTurbulenceModel.H b/src/TurbulenceModels/compressible/SpecificCompressibleTurbulenceModel/SpecificCompressibleTurbulenceModel.H
deleted file mode 100644
index c7d31b8cc2f..00000000000
--- a/src/TurbulenceModels/compressible/SpecificCompressibleTurbulenceModel/SpecificCompressibleTurbulenceModel.H
+++ /dev/null
@@ -1,110 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::SpecificCompressibleTurbulenceModel
-
-Description
-    Templated abstract base class for specific (RAS/LES) compressible
-    turbulence models
-
-SourceFiles
-    SpecificCompressibleTurbulenceModel.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef SpecificCompressibleTurbulenceModel_H
-#define SpecificCompressibleTurbulenceModel_H
-
-#include "CompressibleTurbulenceModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-/*---------------------------------------------------------------------------*\
-             Class SpecificCompressibleTurbulenceModel Declaration
-\*---------------------------------------------------------------------------*/
-
-template<class BasicCompressibleTurbulenceModel>
-class SpecificCompressibleTurbulenceModel
-:
-    public BasicCompressibleTurbulenceModel
-{
-
-public:
-
-    typedef typename BasicCompressibleTurbulenceModel::transportModel
-        transportModel;
-
-    // Constructors
-
-        //- Construct from components
-        SpecificCompressibleTurbulenceModel
-        (
-            const word& type,
-            const geometricOneField& alpha,
-            const volScalarField& rho,
-            const volVectorField& U,
-            const surfaceScalarField& alphaRhoPhi,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& propertiesName
-        );
-
-
-    //- Destructor
-    virtual ~SpecificCompressibleTurbulenceModel()
-    {}
-
-
-    // Selectors
-
-        //- Return a reference to the selected turbulence model
-        static autoPtr<SpecificCompressibleTurbulenceModel> New
-        (
-            const volScalarField& rho,
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& propertiesName = turbulenceModel::propertiesName
-        );
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#ifdef NoRepository
-#   include "SpecificCompressibleTurbulenceModel.C"
-#endif
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModel.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModel.H
index da111a99070..b7a9eabd607 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModel.H
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModel.H
@@ -42,7 +42,7 @@ SourceFiles
 #ifndef turbulentFluidThermoModel_H
 #define turbulentFluidThermoModel_H
 
-#include "SpecificCompressibleTurbulenceModel.H"
+#include "CompressibleTurbulenceModel.H"
 #include "ThermalDiffusivity.H"
 #include "EddyDiffusivity.H"
 #include "RASModel.H"
@@ -58,15 +58,31 @@ namespace Foam
         typedef ThermalDiffusivity<CompressibleTurbulenceModel<fluidThermo> >
             turbulenceModel;
 
-        typedef SpecificCompressibleTurbulenceModel
-        <
-            RASModel<EddyDiffusivity<turbulenceModel> >
-        > RASModel;
-
-        typedef SpecificCompressibleTurbulenceModel
-        <
-            LESModel<EddyDiffusivity<turbulenceModel> >
-        > LESModel;
+        typedef RASModel<EddyDiffusivity<turbulenceModel> > RASModel;
+        typedef LESModel<EddyDiffusivity<turbulenceModel> > LESModel;
+
+        template<class BasicCompressibleTurbulenceModel>
+        autoPtr<BasicCompressibleTurbulenceModel> New
+        (
+            const volScalarField& rho,
+            const volVectorField& U,
+            const surfaceScalarField& phi,
+            const typename BasicCompressibleTurbulenceModel::transportModel&
+                transport,
+            const word& propertiesName = turbulenceModel::propertiesName
+        )
+        {
+            return BasicCompressibleTurbulenceModel::New
+            (
+                geometricOneField(),
+                rho,
+                U,
+                phi,
+                phi,
+                transport,
+                propertiesName
+            );
+        }
     }
 }
 
diff --git a/src/TurbulenceModels/incompressible/SpecificIncompressibleTurbulenceModel/SpecificIncompressibleTurbulenceModel.C b/src/TurbulenceModels/incompressible/SpecificIncompressibleTurbulenceModel/SpecificIncompressibleTurbulenceModel.C
deleted file mode 100644
index f6ba580c0f7..00000000000
--- a/src/TurbulenceModels/incompressible/SpecificIncompressibleTurbulenceModel/SpecificIncompressibleTurbulenceModel.C
+++ /dev/null
@@ -1,98 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "SpecificIncompressibleTurbulenceModel.H"
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-template<class BasicIncompressibleTurbulenceModel>
-Foam::SpecificIncompressibleTurbulenceModel
-<
-    BasicIncompressibleTurbulenceModel
->::SpecificIncompressibleTurbulenceModel
-(
-    const word& type,
-    const geometricOneField& alpha,
-    const geometricOneField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& alphaRhoPhi,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& propertiesName
-)
-:
-    BasicIncompressibleTurbulenceModel
-    (
-        type,
-        alpha,
-        rho,
-        U,
-        alphaRhoPhi,
-        phi,
-        transport,
-        propertiesName
-    )
-{}
-
-
-// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
-
-template<class BasicIncompressibleTurbulenceModel>
-Foam::autoPtr
-<
-    Foam::SpecificIncompressibleTurbulenceModel
-    <
-        BasicIncompressibleTurbulenceModel
-    >
->
-Foam::SpecificIncompressibleTurbulenceModel
-<
-    BasicIncompressibleTurbulenceModel
->::New
-(
-    const volVectorField& U,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& propertiesName
-)
-{
-    return autoPtr<SpecificIncompressibleTurbulenceModel>
-    (
-        static_cast<SpecificIncompressibleTurbulenceModel*>(
-        BasicIncompressibleTurbulenceModel::New
-        (
-            geometricOneField(),
-            geometricOneField(),
-            U,
-            phi,
-            phi,
-            transport,
-            propertiesName
-        ).ptr())
-    );
-}
-
-
-// ************************************************************************* //
diff --git a/src/TurbulenceModels/incompressible/SpecificIncompressibleTurbulenceModel/SpecificIncompressibleTurbulenceModel.H b/src/TurbulenceModels/incompressible/SpecificIncompressibleTurbulenceModel/SpecificIncompressibleTurbulenceModel.H
deleted file mode 100644
index eb65ea2820c..00000000000
--- a/src/TurbulenceModels/incompressible/SpecificIncompressibleTurbulenceModel/SpecificIncompressibleTurbulenceModel.H
+++ /dev/null
@@ -1,109 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::SpecificIncompressibleTurbulenceModel
-
-Description
-    Templated abstract base class for specific (RAS/LES) incompressible
-    turbulence models
-
-SourceFiles
-    SpecificIncompressibleTurbulenceModel.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef SpecificIncompressibleTurbulenceModel_H
-#define SpecificIncompressibleTurbulenceModel_H
-
-#include "IncompressibleTurbulenceModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-/*---------------------------------------------------------------------------*\
-           Class SpecificIncompressibleTurbulenceModel Declaration
-\*---------------------------------------------------------------------------*/
-
-template<class BasicIncompressibleTurbulenceModel>
-class SpecificIncompressibleTurbulenceModel
-:
-    public BasicIncompressibleTurbulenceModel
-{
-
-public:
-
-    typedef typename BasicIncompressibleTurbulenceModel::transportModel
-        transportModel;
-
-    // Constructors
-
-        //- Construct from components
-        SpecificIncompressibleTurbulenceModel
-        (
-            const word& type,
-            const geometricOneField& alpha,
-            const geometricOneField& rho,
-            const volVectorField& U,
-            const surfaceScalarField& alphaRhoPhi,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& propertiesName
-        );
-
-
-    //- Destructor
-    virtual ~SpecificIncompressibleTurbulenceModel()
-    {}
-
-
-    // Selectors
-
-        //- Return a reference to the selected turbulence model
-        static autoPtr<SpecificIncompressibleTurbulenceModel> New
-        (
-            const volVectorField& U,
-            const surfaceScalarField& phi,
-            const transportModel& transport,
-            const word& propertiesName = turbulenceModel::propertiesName
-        );
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#ifdef NoRepository
-#   include "SpecificIncompressibleTurbulenceModel.C"
-#endif
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModel.H b/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModel.H
index 72818e7f3cb..4ed30e08463 100644
--- a/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModel.H
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModel.H
@@ -42,7 +42,7 @@ SourceFiles
 #ifndef turbulentTransportModel_H
 #define turbulentTransportModel_H
 
-#include "SpecificIncompressibleTurbulenceModel.H"
+#include "IncompressibleTurbulenceModel.H"
 #include "RASModel.H"
 #include "LESModel.H"
 #include "incompressible/transportModel/transportModel.H"
@@ -55,15 +55,30 @@ namespace Foam
     {
         typedef IncompressibleTurbulenceModel<transportModel> turbulenceModel;
 
-        typedef SpecificIncompressibleTurbulenceModel
-        <
-            RASModel<turbulenceModel>
-        > RASModel;
-
-        typedef SpecificIncompressibleTurbulenceModel
-        <
-            LESModel<turbulenceModel>
-        > LESModel;
+        typedef RASModel<turbulenceModel> RASModel;
+        typedef LESModel<turbulenceModel> LESModel;
+
+        template<class BasicCompressibleTurbulenceModel>
+        autoPtr<BasicCompressibleTurbulenceModel> New
+        (
+            const volVectorField& U,
+            const surfaceScalarField& phi,
+            const typename BasicCompressibleTurbulenceModel::transportModel&
+                transport,
+            const word& propertiesName = turbulenceModel::propertiesName
+        )
+        {
+            return BasicCompressibleTurbulenceModel::New
+            (
+                geometricOneField(),
+                geometricOneField(),
+                U,
+                phi,
+                phi,
+                transport,
+                propertiesName
+            );
+        }
     }
 }
 
-- 
GitLab


From 1a992064c0041898b8b3c8e74184ddf5c308ea0b Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Thu, 19 Nov 2015 13:48:37 +0000
Subject: [PATCH 086/141] TurbulenceModels: Separate template functions into .C
 files

---
 .../turbulentFluidThermoModel.C               | 60 +++++++++++++++++++
 .../turbulentFluidThermoModel.H               | 21 +++----
 .../turbulentTransportModel.C                 | 59 ++++++++++++++++++
 .../turbulentTransportModel.H                 | 21 +++----
 4 files changed, 135 insertions(+), 26 deletions(-)
 create mode 100644 src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModel.C
 create mode 100644 src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModel.C

diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModel.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModel.C
new file mode 100644
index 00000000000..0e7a8eb146c
--- /dev/null
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModel.C
@@ -0,0 +1,60 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "turbulentFluidThermoModel.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+    namespace compressible
+    {
+        template<class BasicCompressibleTurbulenceModel>
+        autoPtr<BasicCompressibleTurbulenceModel> New
+        (
+            const volScalarField& rho,
+            const volVectorField& U,
+            const surfaceScalarField& phi,
+            const typename BasicCompressibleTurbulenceModel::transportModel&
+                transport,
+            const word& propertiesName
+        )
+        {
+            return BasicCompressibleTurbulenceModel::New
+            (
+                geometricOneField(),
+                rho,
+                U,
+                phi,
+                phi,
+                transport,
+                propertiesName
+            );
+        }
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModel.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModel.H
index b7a9eabd607..9420f898648 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModel.H
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModel.H
@@ -35,6 +35,7 @@ Description
     based on the standard laminar transport package.
 
 SourceFiles
+    turbulentFluidThermoModel.C
     turbulentFluidThermoModels.C
 
 \*---------------------------------------------------------------------------*/
@@ -70,23 +71,17 @@ namespace Foam
             const typename BasicCompressibleTurbulenceModel::transportModel&
                 transport,
             const word& propertiesName = turbulenceModel::propertiesName
-        )
-        {
-            return BasicCompressibleTurbulenceModel::New
-            (
-                geometricOneField(),
-                rho,
-                U,
-                phi,
-                phi,
-                transport,
-                propertiesName
-            );
-        }
+        );
     }
 }
 
 
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#ifdef NoRepository
+#   include "turbulentFluidThermoModel.C"
+#endif
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 #endif
diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModel.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModel.C
new file mode 100644
index 00000000000..aa3bfa784a9
--- /dev/null
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModel.C
@@ -0,0 +1,59 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "turbulentTransportModel.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+    namespace incompressible
+    {
+        template<class BasicCompressibleTurbulenceModel>
+        autoPtr<BasicCompressibleTurbulenceModel> New
+        (
+            const volVectorField& U,
+            const surfaceScalarField& phi,
+            const typename BasicCompressibleTurbulenceModel::transportModel&
+                transport,
+            const word& propertiesName
+        )
+        {
+            return BasicCompressibleTurbulenceModel::New
+            (
+                geometricOneField(),
+                geometricOneField(),
+                U,
+                phi,
+                phi,
+                transport,
+                propertiesName
+            );
+        }
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModel.H b/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModel.H
index 4ed30e08463..99f70435bdb 100644
--- a/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModel.H
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModel.H
@@ -35,6 +35,7 @@ Description
     based on the standard laminar transport package.
 
 SourceFiles
+    turbulentTransportModel.C
     turbulentTransportModels.C
 
 \*---------------------------------------------------------------------------*/
@@ -66,23 +67,17 @@ namespace Foam
             const typename BasicCompressibleTurbulenceModel::transportModel&
                 transport,
             const word& propertiesName = turbulenceModel::propertiesName
-        )
-        {
-            return BasicCompressibleTurbulenceModel::New
-            (
-                geometricOneField(),
-                geometricOneField(),
-                U,
-                phi,
-                phi,
-                transport,
-                propertiesName
-            );
-        }
+        );
     }
 }
 
 
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#ifdef NoRepository
+#   include "turbulentTransportModel.C"
+#endif
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 #endif
-- 
GitLab


From 26a2c1778a53301993097556a9c6c1f3e9ea0e10 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Thu, 19 Nov 2015 15:48:06 +0000
Subject: [PATCH 087/141] RunFunctions: Added -append and -overwrite options
 -append: append to log file -overwrite: overwrite log file Original patch
 provided by Timm Severin Resolves feature request
 http://www.openfoam.org/mantisbt/view.php?id=1919

---
 bin/tools/RunFunctions | 72 ++++++++++++++++++++++++++++++++----------
 1 file changed, 56 insertions(+), 16 deletions(-)

diff --git a/bin/tools/RunFunctions b/bin/tools/RunFunctions
index 5a254ea43b8..6dd1fbafa56 100644
--- a/bin/tools/RunFunctions
+++ b/bin/tools/RunFunctions
@@ -40,40 +40,80 @@ getApplication()
 
 runApplication()
 {
-    APP_RUN=$1
-    APP_NAME=${1##*/}
+    APP_RUN=
+    LOG_IGNORE=false
+    LOG_APPEND=false
+
+    # Parse options and executable
+    while [ $# -gt 0 ] && [ -z "$APP_RUN" ]; do
+        key="$1"
+        case "$key" in
+            -append)
+                LOG_IGNORE=true
+                LOG_APPEND=true
+                ;;
+            -overwrite)
+                LOG_IGNORE=true
+                ;;
+            *)
+                APP_RUN="$key"
+                APP_NAME="${key##*/}"
+                ;;
+        esac
     shift
+    done
 
-    if [ -f log.$APP_NAME ]
+    if [ -f log.$APP_NAME ] && [ "$LOG_IGNORE" = "false" ]
     then
         echo "$APP_NAME already run on $PWD: remove log file to re-run"
     else
         echo "Running $APP_RUN on $PWD"
-        $APP_RUN "$@" > log.$APP_NAME 2>&1
+        if [ "$LOG_APPEND" = "true" ]; then
+            $APP_RUN "$@" >> log.$APP_NAME 2>&1
+        else
+            $APP_RUN "$@" > log.$APP_NAME 2>&1
+        fi
     fi
 }
 
 runParallel()
 {
-    APP_RUN=$1
-    APP_NAME=${1##*/}
+    APP_RUN=
+    LOG_IGNORE=false
+    LOG_APPEND=false
+
+    # Parse options and executable
+    while [ $# -gt 0 ] && [ -z "$APP_RUN" ]; do
+        key="$1"
+        case "$key" in
+            -append)
+                LOG_IGNORE=true
+                LOG_APPEND=true
+                ;;
+            -overwrite)
+                LOG_IGNORE=true
+                ;;
+            *)
+                APP_RUN="$key"
+                APP_NAME="${key##*/}"
+                # also read number of processors
+                nProcs="$2"
+                shift
+                ;;
+        esac
     shift
+    done
 
-    if [ -f log.$APP_NAME ]
+    if [ -f log.$APP_NAME ] && [ "$LOG_IGNORE" = "false" ]
     then
         echo "$APP_NAME already run on $PWD: remove log file to re-run"
     else
-        nProcs=$1
-        shift
         echo "Running $APP_RUN in parallel on $PWD using $nProcs processes"
-
-        #if [ "$WM_SCHEDULER" ]
-        #then
-        #    echo "$PWD: $WM_SCHEDULER -np $nProcs" 1>&2
-        #    $WM_SCHEDULER -np $nProcs "( mpirun -np $nProcs $APP_RUN -parallel "$@" < /dev/null > log.$APP_NAME 2>&1 )"
-        #else
+        if [ "$LOG_APPEND" = "true" ]; then
+            ( mpirun -np $nProcs $APP_RUN -parallel "$@" < /dev/null >> log.$APP_NAME 2>&1 )
+        else
             ( mpirun -np $nProcs $APP_RUN -parallel "$@" < /dev/null > log.$APP_NAME 2>&1 )
-        #fi
+        fi
     fi
 }
 
-- 
GitLab


From f900abd83b73ac97d6bfdcc206e993ab55541500 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 20 Nov 2015 13:22:51 +0000
Subject: [PATCH 088/141] functionObjects: Format time according to the
 specification in controlDict Resolves bug-report
 http://www.openfoam.org/mantisbt/view.php?id=1921

---
 .../functionObjectFile/functionObjectFile.C               | 6 ++++++
 .../functionObjectFile/functionObjectFile.H               | 3 +++
 .../functionObjects/cloud/cloudInfo/cloudInfo.C           | 3 ++-
 .../functionObjects/field/fieldMinMax/fieldMinMax.C       | 2 +-
 .../field/fieldMinMax/fieldMinMaxTemplates.C              | 2 +-
 .../field/fieldValues/cellSource/cellSource.C             | 2 +-
 .../field/fieldValues/faceSource/faceSource.C             | 2 +-
 .../field/fieldValues/fieldValueDelta/fieldValueDelta.C   | 2 +-
 .../functionObjects/forces/forceCoeffs/forceCoeffs.C      | 5 +++--
 src/postProcessing/functionObjects/forces/forces/forces.C | 8 +++++---
 .../functionObjects/utilities/residuals/residuals.C       | 2 +-
 .../timeActivatedFileUpdate/timeActivatedFileUpdate.C     | 2 +-
 .../functionObjects/utilities/yPlus/yPlusTemplates.C      | 6 ++++--
 13 files changed, 30 insertions(+), 15 deletions(-)

diff --git a/src/OpenFOAM/db/functionObjects/functionObjectFile/functionObjectFile.C b/src/OpenFOAM/db/functionObjects/functionObjectFile/functionObjectFile.C
index d7806ab7532..a18bdc12e05 100644
--- a/src/OpenFOAM/db/functionObjects/functionObjectFile/functionObjectFile.C
+++ b/src/OpenFOAM/db/functionObjects/functionObjectFile/functionObjectFile.C
@@ -334,4 +334,10 @@ void Foam::functionObjectFile::writeHeader
 }
 
 
+void Foam::functionObjectFile::writeTime(Ostream& os) const
+{
+    os  << setw(charWidth()) << obr_.time().timeName();
+}
+
+
 // ************************************************************************* //
diff --git a/src/OpenFOAM/db/functionObjects/functionObjectFile/functionObjectFile.H b/src/OpenFOAM/db/functionObjects/functionObjectFile/functionObjectFile.H
index 5b5e3597a14..33a4ae5122a 100644
--- a/src/OpenFOAM/db/functionObjects/functionObjectFile/functionObjectFile.H
+++ b/src/OpenFOAM/db/functionObjects/functionObjectFile/functionObjectFile.H
@@ -180,6 +180,9 @@ public:
             const string& str
         ) const;
 
+        //- Write the current time to stream
+        void writeTime(Ostream& os) const;
+
         //- Write a (commented) header property and value pair
         template<class Type>
         void writeHeaderValue
diff --git a/src/postProcessing/functionObjects/cloud/cloudInfo/cloudInfo.C b/src/postProcessing/functionObjects/cloud/cloudInfo/cloudInfo.C
index 480d5fa8be0..608f1a62754 100644
--- a/src/postProcessing/functionObjects/cloud/cloudInfo/cloudInfo.C
+++ b/src/postProcessing/functionObjects/cloud/cloudInfo/cloudInfo.C
@@ -129,8 +129,9 @@ void Foam::cloudInfo::write()
 
             if (Pstream::master())
             {
+                writeTime(file(i));
                 file(i)
-                    << obr_.time().value() << token::TAB
+                    << token::TAB
                     << nParcels << token::TAB
                     << massInSystem << endl;
             }
diff --git a/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.C b/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.C
index 262e639784a..f50bb2a673b 100644
--- a/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.C
+++ b/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.C
@@ -166,7 +166,7 @@ void Foam::fieldMinMax::write()
     {
         functionObjectFile::write();
 
-        if (!location_) file()<< obr_.time().value();
+        if (!location_) writeTime(file());
         if (log_) Info<< type() << " " << name_ <<  " output:" << nl;
 
         forAll(fieldSet_, fieldI)
diff --git a/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMaxTemplates.C b/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMaxTemplates.C
index 4dadb68b484..a800dbd5688 100644
--- a/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMaxTemplates.C
+++ b/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMaxTemplates.C
@@ -45,7 +45,7 @@ void Foam::fieldMinMax::output
 
     if (location_)
     {
-        file<< obr_.time().value();
+        writeTime(file());
 
         writeTabbed(file, fieldName);
 
diff --git a/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.C b/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.C
index c6e78bf5c2c..3b1d86eaf66 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.C
+++ b/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.C
@@ -234,7 +234,7 @@ void Foam::fieldValues::cellSource::write()
     {
         if (Pstream::master())
         {
-            file() << obr_.time().value();
+            writeTime(file());
         }
 
         if (writeVolume_)
diff --git a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.C b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.C
index d0b854784ef..b54175b3246 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.C
+++ b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.C
@@ -675,7 +675,7 @@ void Foam::fieldValues::faceSource::write()
 
         if (Pstream::master())
         {
-            file() << obr_.time().value();
+            writeTime(file());
         }
 
         if (writeArea_)
diff --git a/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.C b/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.C
index 28e5866b013..e0420a61d22 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.C
+++ b/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.C
@@ -155,7 +155,7 @@ void Foam::fieldValues::fieldValueDelta::write()
 
     if (Pstream::master())
     {
-        file()<< obr_.time().value();
+        writeTime(file());
     }
 
     if (log_) Info<< type() << " " << name_ << " output:" << endl;
diff --git a/src/postProcessing/functionObjects/forces/forceCoeffs/forceCoeffs.C b/src/postProcessing/functionObjects/forces/forceCoeffs/forceCoeffs.C
index 4d548a3a2f1..6730410c2cf 100644
--- a/src/postProcessing/functionObjects/forces/forceCoeffs/forceCoeffs.C
+++ b/src/postProcessing/functionObjects/forces/forceCoeffs/forceCoeffs.C
@@ -223,8 +223,9 @@ void Foam::forceCoeffs::write()
         scalar Clf = Cl/2.0 + Cm;
         scalar Clr = Cl/2.0 - Cm;
 
+        writeTime(file(0));
         file(0)
-            << obr_.time().value() << tab << Cm << tab  << Cd
+            << tab << Cm << tab  << Cd
             << tab << Cl << tab << Clf << tab << Clr << endl;
 
         if (log_) Info<< type() << " " << name_ << " output:" << nl
@@ -246,7 +247,7 @@ void Foam::forceCoeffs::write()
                 }
             }
 
-            file(1)<< obr_.time().value();
+            writeTime(file(1));
 
             forAll(coeffs[0], i)
             {
diff --git a/src/postProcessing/functionObjects/forces/forces/forces.C b/src/postProcessing/functionObjects/forces/forces/forces.C
index 8417fccd6e3..05f84d09b7b 100644
--- a/src/postProcessing/functionObjects/forces/forces/forces.C
+++ b/src/postProcessing/functionObjects/forces/forces/forces.C
@@ -402,7 +402,8 @@ void Foam::forces::writeForces()
         << "        porous   : " << sum(moment_[2])
         << endl;
 
-    file(0) << obr_.time().value() << tab << setw(1) << '('
+    writeTime(file(0));
+    file(0) << tab << setw(1) << '('
         << sum(force_[0]) << setw(1) << ' '
         << sum(force_[1]) << setw(1) << ' '
         << sum(force_[2]) << setw(3) << ") ("
@@ -420,7 +421,8 @@ void Foam::forces::writeForces()
         vectorField localMomentT(coordSys_.localVector(moment_[1]));
         vectorField localMomentP(coordSys_.localVector(moment_[2]));
 
-        file(0) << obr_.time().value() << tab << setw(1) << '('
+        writeTime(file(0));
+        file(0) << tab << setw(1) << '('
             << sum(localForceN) << setw(1) << ' '
             << sum(localForceT) << setw(1) << ' '
             << sum(localForceP) << setw(3) << ") ("
@@ -456,7 +458,7 @@ void Foam::forces::writeBins()
         }
     }
 
-    file(1) << obr_.time().value();
+    writeTime(file(1));
 
     forAll(f[0], i)
     {
diff --git a/src/postProcessing/functionObjects/utilities/residuals/residuals.C b/src/postProcessing/functionObjects/utilities/residuals/residuals.C
index d156ecd3e6a..1cea77a8e0d 100644
--- a/src/postProcessing/functionObjects/utilities/residuals/residuals.C
+++ b/src/postProcessing/functionObjects/utilities/residuals/residuals.C
@@ -125,7 +125,7 @@ void Foam::residuals::write()
 
         if (Pstream::master())
         {
-            file()<< obr_.time().value();
+            writeTime(file());
 
             forAll(fieldSet_, fieldI)
             {
diff --git a/src/postProcessing/functionObjects/utilities/timeActivatedFileUpdate/timeActivatedFileUpdate.C b/src/postProcessing/functionObjects/utilities/timeActivatedFileUpdate/timeActivatedFileUpdate.C
index 3c57c06fcb4..caef71319ff 100644
--- a/src/postProcessing/functionObjects/utilities/timeActivatedFileUpdate/timeActivatedFileUpdate.C
+++ b/src/postProcessing/functionObjects/utilities/timeActivatedFileUpdate/timeActivatedFileUpdate.C
@@ -32,7 +32,7 @@ License
 
 namespace Foam
 {
-defineTypeNameAndDebug(timeActivatedFileUpdate, 0);
+    defineTypeNameAndDebug(timeActivatedFileUpdate, 0);
 }
 
 
diff --git a/src/postProcessing/functionObjects/utilities/yPlus/yPlusTemplates.C b/src/postProcessing/functionObjects/utilities/yPlus/yPlusTemplates.C
index 818610cfe5f..ca10f3d7819 100644
--- a/src/postProcessing/functionObjects/utilities/yPlus/yPlusTemplates.C
+++ b/src/postProcessing/functionObjects/utilities/yPlus/yPlusTemplates.C
@@ -77,7 +77,8 @@ void Foam::yPlus::calcYPlus
                     << " y+ : min = " << minYplus << ", max = " << maxYplus
                     << ", average = " << avgYplus << nl;
 
-                file() << obr_.time().value()
+                writeTime(file());
+                file()
                     << token::TAB << patch.name()
                     << token::TAB << minYplus
                     << token::TAB << maxYplus
@@ -107,7 +108,8 @@ void Foam::yPlus::calcYPlus
                     << " y+ : min = " << minYplus << ", max = " << maxYplus
                     << ", average = " << avgYplus << nl;
 
-                file() << obr_.time().value()
+                writeTime(file());
+                file()
                     << token::TAB << patch.name()
                     << token::TAB << minYplus
                     << token::TAB << maxYplus
-- 
GitLab


From dab33cce52afb39665e6b9ad6374aa36137b152b Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 20 Nov 2015 14:29:27 +0000
Subject: [PATCH 089/141] metisDecomp: Update to support 64-bit labels Resolves
 bug-report http://www.openfoam.org/mantisbt/view.php?id=1920

---
 src/parallel/decompose/metisDecomp/metisDecomp.C | 15 +++++----------
 src/parallel/decompose/metisDecomp/metisDecomp.H |  2 +-
 2 files changed, 6 insertions(+), 11 deletions(-)

diff --git a/src/parallel/decompose/metisDecomp/metisDecomp.C b/src/parallel/decompose/metisDecomp/metisDecomp.C
index 0855c581dc7..1fb0ea1c39d 100644
--- a/src/parallel/decompose/metisDecomp/metisDecomp.C
+++ b/src/parallel/decompose/metisDecomp/metisDecomp.C
@@ -30,8 +30,8 @@ License
 
 extern "C"
 {
-#define OMPI_SKIP_MPICXX
-#   include "metis.h"
+    #define OMPI_SKIP_MPICXX
+    #include "metis.h"
 }
 
 
@@ -40,14 +40,12 @@ extern "C"
 namespace Foam
 {
     defineTypeNameAndDebug(metisDecomp, 0);
-
     addToRunTimeSelectionTable(decompositionMethod, metisDecomp, dictionary);
 }
 
 
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
-// Call Metis with options from dictionary.
 Foam::label Foam::metisDecomp::decompose
 (
     const List<label>& adjncy,
@@ -57,9 +55,6 @@ Foam::label Foam::metisDecomp::decompose
     List<label>& finalDecomp
 )
 {
-    // C style numbering
-    //int numFlag = 0;
-
     // Method of decomposition
     // recursive: multi-level recursive bisection (default)
     // k-way: multi-level k-way
@@ -187,15 +182,15 @@ Foam::label Foam::metisDecomp::decompose
         //}
     }
 
-    int ncon = 1;
+    label ncon = 1;
 
-    int nProcs = nProcessors_;
+    label nProcs = nProcessors_;
 
     // output: cell -> processor addressing
     finalDecomp.setSize(numCells);
 
     // output: number of cut edges
-    int edgeCut = 0;
+    label edgeCut = 0;
 
     if (method == "recursive")
     {
diff --git a/src/parallel/decompose/metisDecomp/metisDecomp.H b/src/parallel/decompose/metisDecomp/metisDecomp.H
index 5f928161249..84dc04bd938 100644
--- a/src/parallel/decompose/metisDecomp/metisDecomp.H
+++ b/src/parallel/decompose/metisDecomp/metisDecomp.H
@@ -51,6 +51,7 @@ class metisDecomp
 
     // Private Member Functions
 
+        //- Call Metis with options from dictionary.
         label decompose
         (
             const List<label>& adjncy,
@@ -131,7 +132,6 @@ public:
             const pointField& cc,
             const scalarField& cWeights
         );
-
 };
 
 
-- 
GitLab


From 093b4aade674f1b1bdebb5272b85f17fe5b9f540 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 20 Nov 2015 18:55:36 +0000
Subject: [PATCH 090/141] chemkinReader: Add support for reading transport
 properties from dictionary Note the dictionary is in OpenFOAM format not
 CHEMKIN.

Patch provided by Daniel Jasinski
Resolves feature request http://www.openfoam.org/mantisbt/view.php?id=1888
---
 .../chemkinToFoam/chemkinToFoam.C             |  9 ++++---
 .../chemkinReader/chemkinLexer.L              |  3 +--
 .../chemkinReader/chemkinReader.C             | 24 +++++++++++++----
 .../chemkinReader/chemkinReader.H             | 10 ++++---
 .../chemFoam/gri/chemkin/transportProperties  | 27 +++++++++++++++++++
 .../chemFoam/gri/constant/chemistryProperties |  2 +-
 .../gri/constant/thermophysicalProperties     |  3 +--
 .../chemFoam/gri/system/controlDict           |  6 +++--
 .../chemFoam/h2/chemkin/transportProperties   | 27 +++++++++++++++++++
 .../h2/constant/thermophysicalProperties      |  3 +--
 .../combustion/chemFoam/h2/system/controlDict |  6 +++--
 .../ic8h18/chemkin/transportProperties        | 27 +++++++++++++++++++
 .../ic8h18/constant/thermophysicalProperties  |  3 +--
 .../chemFoam/ic8h18/system/controlDict        |  6 +++--
 .../nc7h16/chemkin/transportProperties        | 27 +++++++++++++++++++
 .../nc7h16/constant/thermophysicalProperties  |  3 +--
 .../chemFoam/nc7h16/system/controlDict        |  6 +++--
 .../aachenBomb/chemkin/transportProperties    | 27 +++++++++++++++++++
 .../constant/thermophysicalProperties         |  2 +-
 19 files changed, 189 insertions(+), 32 deletions(-)
 create mode 100644 tutorials/combustion/chemFoam/gri/chemkin/transportProperties
 create mode 100644 tutorials/combustion/chemFoam/h2/chemkin/transportProperties
 create mode 100644 tutorials/combustion/chemFoam/ic8h18/chemkin/transportProperties
 create mode 100644 tutorials/combustion/chemFoam/nc7h16/chemkin/transportProperties
 create mode 100644 tutorials/lagrangian/sprayFoam/aachenBomb/chemkin/transportProperties

diff --git a/applications/utilities/thermophysical/chemkinToFoam/chemkinToFoam.C b/applications/utilities/thermophysical/chemkinToFoam/chemkinToFoam.C
index 8399c108565..e91f968a872 100644
--- a/applications/utilities/thermophysical/chemkinToFoam/chemkinToFoam.C
+++ b/applications/utilities/thermophysical/chemkinToFoam/chemkinToFoam.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -42,6 +42,7 @@ int main(int argc, char *argv[])
 {
     argList::validArgs.append("CHEMKINFile");
     argList::validArgs.append("CHEMKINThermodynamicsFile");
+    argList::validArgs.append("CHEMKINTransport");
     argList::validArgs.append("FOAMChemistryFile");
     argList::validArgs.append("FOAMThermodynamicsFile");
 
@@ -57,16 +58,16 @@ int main(int argc, char *argv[])
 
     speciesTable species;
 
-    chemkinReader cr(args[1], species, args[2], newFormat);
+    chemkinReader cr(species, args[1], args[3], args[2], newFormat);
 
-    OFstream reactionsFile(args[3]);
+    OFstream reactionsFile(args[4]);
     reactionsFile
         << "species" << cr.species() << token::END_STATEMENT << nl << nl;
 
     cr.reactions().write(reactionsFile);
 
 
-    OFstream thermoFile(args[4]);
+    OFstream thermoFile(args[5]);
     cr.speciesThermo().write(thermoFile);
 
     Info<< "End\n" << endl;
diff --git a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinLexer.L b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinLexer.L
index a081d6fc141..1c8af0b1235 100644
--- a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinLexer.L
+++ b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinLexer.L
@@ -645,8 +645,7 @@ bool finishReaction = false;
                     highCpCoeffs,
                     lowCpCoeffs
                 ),
-                1.67212e-6,
-                170.672
+                transportDict_.subDict(currentSpecieName)
             )
         );
 
diff --git a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C
index 06e6b6ea92d..eef9f3a4dd9 100644
--- a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C
+++ b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C
@@ -774,9 +774,12 @@ void Foam::chemkinReader::addReaction
 void Foam::chemkinReader::read
 (
     const fileName& CHEMKINFileName,
-    const fileName& thermoFileName
+    const fileName& thermoFileName,
+    const fileName& transportFileName
 )
 {
+    transportDict_.read(IFstream(transportFileName)());
+
     if (thermoFileName != fileName::null)
     {
         std::ifstream thermoStream(thermoFileName.c_str());
@@ -824,8 +827,9 @@ void Foam::chemkinReader::read
 
 Foam::chemkinReader::chemkinReader
 (
-    const fileName& CHEMKINFileName,
     speciesTable& species,
+    const fileName& CHEMKINFileName,
+    const fileName& transportFileName,
     const fileName& thermoFileName,
     const bool newFormat
 )
@@ -837,7 +841,7 @@ Foam::chemkinReader::chemkinReader
     newFormat_(newFormat),
     imbalanceTol_(ROOTSMALL)
 {
-    read(CHEMKINFileName, thermoFileName);
+    read(CHEMKINFileName, thermoFileName, transportFileName);
 }
 
 
@@ -868,6 +872,11 @@ Foam::chemkinReader::chemkinReader
         thermoFile = fileName(thermoDict.lookup("CHEMKINThermoFile")).expand();
     }
 
+    fileName transportFile
+    (
+        fileName(thermoDict.lookup("CHEMKINTransportFile")).expand()
+    );
+
     // allow relative file names
     fileName relPath = thermoDict.name().path();
     if (relPath.size())
@@ -877,13 +886,18 @@ Foam::chemkinReader::chemkinReader
             chemkinFile = relPath/chemkinFile;
         }
 
-        if (!thermoFile.isAbsolute())
+        if (thermoFile != fileName::null && !thermoFile.isAbsolute())
         {
             thermoFile = relPath/thermoFile;
         }
+
+        if (!transportFile.isAbsolute())
+        {
+            transportFile = relPath/transportFile;
+        }
     }
 
-    read(chemkinFile, thermoFile);
+    read(chemkinFile, thermoFile, transportFile);
 }
 
 
diff --git a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.H b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.H
index ee1986f60b0..74ee5512dac 100644
--- a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.H
+++ b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.H
@@ -208,6 +208,9 @@ private:
         //- List of the reactions
         ReactionList<gasHThermoPhysics> reactions_;
 
+        //- Transport properties dictionary
+        dictionary transportDict_;
+
         //- Flag to indicate that file is in new format
         Switch newFormat_;
 
@@ -302,10 +305,10 @@ private:
         void read
         (
             const fileName& CHEMKINFileName,
-            const fileName& thermoFileName
+            const fileName& thermoFileName,
+            const fileName& transportFileName
         );
 
-
         //- Disallow default bitwise copy construct
         chemkinReader(const chemkinReader&);
 
@@ -324,8 +327,9 @@ public:
         //- Construct from CHEMKIN III file name
         chemkinReader
         (
-            const fileName& chemkinFile,
             speciesTable& species,
+            const fileName& CHEMKINFileName,
+            const fileName& transportFileName,
             const fileName& thermoFileName = fileName::null,
             const bool newFormat = false
         );
diff --git a/tutorials/combustion/chemFoam/gri/chemkin/transportProperties b/tutorials/combustion/chemFoam/gri/chemkin/transportProperties
new file mode 100644
index 00000000000..6e932ca799b
--- /dev/null
+++ b/tutorials/combustion/chemFoam/gri/chemkin/transportProperties
@@ -0,0 +1,27 @@
+/*--------------------------------*- 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    "chemkin";
+    object      transportProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+".*"
+{
+    transport
+    {
+        As 0;
+        Ts 0;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/chemFoam/gri/constant/chemistryProperties b/tutorials/combustion/chemFoam/gri/constant/chemistryProperties
index bf097e0ba39..ed98ad965b2 100644
--- a/tutorials/combustion/chemFoam/gri/constant/chemistryProperties
+++ b/tutorials/combustion/chemFoam/gri/constant/chemistryProperties
@@ -33,7 +33,7 @@ EulerImplicitCoeffs
 
 odeCoeffs
 {
-    solver          seulex;
+    solver          Rosenbrock34; //SIBS; //seulex;
     absTol          1e-12;
     relTol          1e-1;
 }
diff --git a/tutorials/combustion/chemFoam/gri/constant/thermophysicalProperties b/tutorials/combustion/chemFoam/gri/constant/thermophysicalProperties
index c979a11fd07..90267ad29f8 100644
--- a/tutorials/combustion/chemFoam/gri/constant/thermophysicalProperties
+++ b/tutorials/combustion/chemFoam/gri/constant/thermophysicalProperties
@@ -27,8 +27,7 @@ thermoType
 }
 
 CHEMKINFile     "$FOAM_CASE/chemkin/chem.inp";
-
 CHEMKINThermoFile "$FOAM_CASE/chemkin/therm.dat";
-
+CHEMKINTransportFile "$FOAM_CASE/chemkin/transportProperties";
 
 // ************************************************************************* //
diff --git a/tutorials/combustion/chemFoam/gri/system/controlDict b/tutorials/combustion/chemFoam/gri/system/controlDict
index 4a0eb6c38ed..be3000bcf40 100644
--- a/tutorials/combustion/chemFoam/gri/system/controlDict
+++ b/tutorials/combustion/chemFoam/gri/system/controlDict
@@ -47,7 +47,9 @@ timePrecision   6;
 
 runTimeModifiable yes;
 
-suppressSolverInfo yes;
-
+DebugSwitches
+{
+    SolverPerformance   0;
+}
 
 // ************************************************************************* //
diff --git a/tutorials/combustion/chemFoam/h2/chemkin/transportProperties b/tutorials/combustion/chemFoam/h2/chemkin/transportProperties
new file mode 100644
index 00000000000..6e932ca799b
--- /dev/null
+++ b/tutorials/combustion/chemFoam/h2/chemkin/transportProperties
@@ -0,0 +1,27 @@
+/*--------------------------------*- 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    "chemkin";
+    object      transportProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+".*"
+{
+    transport
+    {
+        As 0;
+        Ts 0;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/chemFoam/h2/constant/thermophysicalProperties b/tutorials/combustion/chemFoam/h2/constant/thermophysicalProperties
index c979a11fd07..90267ad29f8 100644
--- a/tutorials/combustion/chemFoam/h2/constant/thermophysicalProperties
+++ b/tutorials/combustion/chemFoam/h2/constant/thermophysicalProperties
@@ -27,8 +27,7 @@ thermoType
 }
 
 CHEMKINFile     "$FOAM_CASE/chemkin/chem.inp";
-
 CHEMKINThermoFile "$FOAM_CASE/chemkin/therm.dat";
-
+CHEMKINTransportFile "$FOAM_CASE/chemkin/transportProperties";
 
 // ************************************************************************* //
diff --git a/tutorials/combustion/chemFoam/h2/system/controlDict b/tutorials/combustion/chemFoam/h2/system/controlDict
index caebf52265a..9c63da2ad9e 100644
--- a/tutorials/combustion/chemFoam/h2/system/controlDict
+++ b/tutorials/combustion/chemFoam/h2/system/controlDict
@@ -47,7 +47,9 @@ timePrecision   6;
 
 runTimeModifiable yes;
 
-suppressSolverInfo yes;
-
+DebugSwitches
+{
+    SolverPerformance   0;
+}
 
 // ************************************************************************* //
diff --git a/tutorials/combustion/chemFoam/ic8h18/chemkin/transportProperties b/tutorials/combustion/chemFoam/ic8h18/chemkin/transportProperties
new file mode 100644
index 00000000000..6e932ca799b
--- /dev/null
+++ b/tutorials/combustion/chemFoam/ic8h18/chemkin/transportProperties
@@ -0,0 +1,27 @@
+/*--------------------------------*- 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    "chemkin";
+    object      transportProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+".*"
+{
+    transport
+    {
+        As 0;
+        Ts 0;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/chemFoam/ic8h18/constant/thermophysicalProperties b/tutorials/combustion/chemFoam/ic8h18/constant/thermophysicalProperties
index c979a11fd07..90267ad29f8 100644
--- a/tutorials/combustion/chemFoam/ic8h18/constant/thermophysicalProperties
+++ b/tutorials/combustion/chemFoam/ic8h18/constant/thermophysicalProperties
@@ -27,8 +27,7 @@ thermoType
 }
 
 CHEMKINFile     "$FOAM_CASE/chemkin/chem.inp";
-
 CHEMKINThermoFile "$FOAM_CASE/chemkin/therm.dat";
-
+CHEMKINTransportFile "$FOAM_CASE/chemkin/transportProperties";
 
 // ************************************************************************* //
diff --git a/tutorials/combustion/chemFoam/ic8h18/system/controlDict b/tutorials/combustion/chemFoam/ic8h18/system/controlDict
index 622cadcc0c1..7c100daec0e 100644
--- a/tutorials/combustion/chemFoam/ic8h18/system/controlDict
+++ b/tutorials/combustion/chemFoam/ic8h18/system/controlDict
@@ -47,7 +47,9 @@ timePrecision   6;
 
 runTimeModifiable yes;
 
-suppressSolverInfo yes;
-
+DebugSwitches
+{
+    SolverPerformance   0;
+}
 
 // ************************************************************************* //
diff --git a/tutorials/combustion/chemFoam/nc7h16/chemkin/transportProperties b/tutorials/combustion/chemFoam/nc7h16/chemkin/transportProperties
new file mode 100644
index 00000000000..6e932ca799b
--- /dev/null
+++ b/tutorials/combustion/chemFoam/nc7h16/chemkin/transportProperties
@@ -0,0 +1,27 @@
+/*--------------------------------*- 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    "chemkin";
+    object      transportProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+".*"
+{
+    transport
+    {
+        As 0;
+        Ts 0;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/chemFoam/nc7h16/constant/thermophysicalProperties b/tutorials/combustion/chemFoam/nc7h16/constant/thermophysicalProperties
index c979a11fd07..90267ad29f8 100644
--- a/tutorials/combustion/chemFoam/nc7h16/constant/thermophysicalProperties
+++ b/tutorials/combustion/chemFoam/nc7h16/constant/thermophysicalProperties
@@ -27,8 +27,7 @@ thermoType
 }
 
 CHEMKINFile     "$FOAM_CASE/chemkin/chem.inp";
-
 CHEMKINThermoFile "$FOAM_CASE/chemkin/therm.dat";
-
+CHEMKINTransportFile "$FOAM_CASE/chemkin/transportProperties";
 
 // ************************************************************************* //
diff --git a/tutorials/combustion/chemFoam/nc7h16/system/controlDict b/tutorials/combustion/chemFoam/nc7h16/system/controlDict
index fe0feaaf9df..e2a357da58a 100644
--- a/tutorials/combustion/chemFoam/nc7h16/system/controlDict
+++ b/tutorials/combustion/chemFoam/nc7h16/system/controlDict
@@ -47,7 +47,9 @@ timePrecision   6;
 
 runTimeModifiable yes;
 
-suppressSolverInfo yes;
-
+DebugSwitches
+{
+    SolverPerformance   0;
+}
 
 // ************************************************************************* //
diff --git a/tutorials/lagrangian/sprayFoam/aachenBomb/chemkin/transportProperties b/tutorials/lagrangian/sprayFoam/aachenBomb/chemkin/transportProperties
new file mode 100644
index 00000000000..c69c457866b
--- /dev/null
+++ b/tutorials/lagrangian/sprayFoam/aachenBomb/chemkin/transportProperties
@@ -0,0 +1,27 @@
+/*--------------------------------*- 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    "chemkin";
+    object      transportProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+".*"
+{
+    transport
+    {
+        As 1.67212e-6;
+        Ts 170.672;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/lagrangian/sprayFoam/aachenBomb/constant/thermophysicalProperties b/tutorials/lagrangian/sprayFoam/aachenBomb/constant/thermophysicalProperties
index ebae047d0b2..312d8c6b954 100644
--- a/tutorials/lagrangian/sprayFoam/aachenBomb/constant/thermophysicalProperties
+++ b/tutorials/lagrangian/sprayFoam/aachenBomb/constant/thermophysicalProperties
@@ -27,8 +27,8 @@ thermoType
 }
 
 CHEMKINFile     "$FOAM_CASE/chemkin/chem.inp";
-
 CHEMKINThermoFile "$FOAM_CASE/chemkin/therm.dat";
+CHEMKINTransportFile "$FOAM_CASE/chemkin/transportProperties";
 
 newFormat       yes;
 
-- 
GitLab


From 341b5b832be14f2011dd0778c0c9144a8eee19bf Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sat, 21 Nov 2015 10:41:46 +0000
Subject: [PATCH 091/141] 
 reactingEulerFoam/interfacialCompositionModels/saturationModels/Antoine:
 Corrected Tsat expression Patch provided by Daniel Jasinski Resolves
 bug-report http://www.openfoam.org/mantisbt/view.php?id=1893

---
 .../saturationModels/Antoine/Antoine.C                          | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/Antoine/Antoine.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/Antoine/Antoine.C
index 0c273ee8661..90f1c989c52 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/Antoine/Antoine.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/Antoine/Antoine.C
@@ -95,7 +95,7 @@ Foam::saturationModels::Antoine::Tsat
     const volScalarField& p
 ) const
 {
-    return B_/(A_ - log10(p)) - C_;
+    return B_/(log(p) - A_) - C_;
 }
 
 
-- 
GitLab


From 37430daa193b28a18b00333f70213294950f5280 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sat, 21 Nov 2015 18:28:54 +0000
Subject: [PATCH 092/141] etc/controlDict: reformatted

---
 etc/controlDict | 90 ++++++++++++++++++++++++-------------------------
 1 file changed, 45 insertions(+), 45 deletions(-)

diff --git a/etc/controlDict b/etc/controlDict
index cfbdf69cb85..6fa473e688a 100644
--- a/etc/controlDict
+++ b/etc/controlDict
@@ -913,60 +913,60 @@ DimensionedConstants
     {
         universal
         {
-            c               c [ 0 1 -1 0 0 0 0 ] 2.99792e+08;
-            G               G [ -1 3 -2 0 0 0 0 ] 6.67429e-11;
-            h               h [ 1 2 -1 0 0 0 0 ] 6.62607e-34;
+            c               c [0 1 -1 0 0 0 0] 2.99792e+08;
+            G               G [-1 3 -2 0 0 0 0] 6.67429e-11;
+            h               h [1 2 -1 0 0 0 0] 6.62607e-34;
         }
         electromagnetic
         {
-            e               e [ 0 0 1 0 0 1 0 ] 1.60218e-19;
+            e               e [0 0 1 0 0 1 0] 1.60218e-19;
         }
         atomic
         {
-            me              me [ 1 0 0 0 0 0 0 ] 9.10938e-31;
-            mp              mp [ 1 0 0 0 0 0 0 ] 1.67262e-27;
+            me              me [1 0 0 0 0 0 0] 9.10938e-31;
+            mp              mp [1 0 0 0 0 0 0] 1.67262e-27;
         }
         physicoChemical
         {
-            mu              mu [ 1 0 0 0 0 0 0 ] 1.66054e-27;
-            k               k [ 1 2 -2 -1 0 0 0 ] 1.38065e-23;
+            mu              mu [1 0 0 0 0 0 0] 1.66054e-27;
+            k               k [1 2 -2 -1 0 0 0] 1.38065e-23;
         }
         standard
         {
             //- Standard pressure [Pa]
-            Pstd            Pstd [ 1 -1 -2 0 0 0 0 ] 100000;
+            Pstd            Pstd [1 -1 -2 0 0 0 0] 1e5;
             //- Standard temperature [degK]
-            Tstd            Tstd [ 0 0 0 1 0 0 0 ] 298.15;
+            Tstd            Tstd [0 0 0 1 0 0 0] 298.15;
         }
     }
     USCSCoeffs
     {
         universal
         {
-            c               c [ 0 1 -1 0 0 0 0 ] 9.83558e+08;
-            G               G [ -1 3 -2 0 0 0 0 ] 1.06909e-09;
-            h               h [ 1 2 -1 0 0 0 0 ] 1.57234e-32;
+            c               c [0 1 -1 0 0 0 0] 9.83558e+08;
+            G               G [-1 3 -2 0 0 0 0] 1.06909e-09;
+            h               h [1 2 -1 0 0 0 0] 1.57234e-32;
         }
         electromagnetic
         {
-            e               e [ 0 0 1 0 0 1 0 ] 1.60218e-19;
+            e               e [0 0 1 0 0 1 0] 1.60218e-19;
         }
         atomic
         {
-            me              me [ 1 0 0 0 0 0 0 ] 2.00825e-30;
-            mp              mp [ 1 0 0 0 0 0 0 ] 3.68746e-27;
+            me              me [1 0 0 0 0 0 0] 2.00825e-30;
+            mp              mp [1 0 0 0 0 0 0] 3.68746e-27;
         }
         physicoChemical
         {
-            mu              mu [ 1 0 0 0 0 0 0 ] 3.66083e-27;
-            k               k [ 1 2 -2 -1 0 0 0 ] 1.82012e-22;
+            mu              mu [1 0 0 0 0 0 0] 3.66083e-27;
+            k               k [1 2 -2 -1 0 0 0] 1.82012e-22;
         }
         standard
         {
             //- Standard pressure [lbm/ft^2]
-            Pstd            Pstd [ 1 -1 -2 0 0 0 0 ] 2088.6;
+            Pstd            Pstd [1 -1 -2 0 0 0 0] 2088.6;
             //- Standard temperature [degR]
-            Tstd            Tstd [ 0 0 0 1 0 0 0 ] 536.67;
+            Tstd            Tstd [0 0 0 1 0 0 0] 536.67;
         }
     }
 }
@@ -979,34 +979,34 @@ DimensionSets
     SICoeffs
     {
         // Basic units
-        kg  kg  [ 1 0 0 0 0 0 0 ] 1.0;
-        m   m   [ 0 1 0 0 0 0 0 ] 1.0;
-        s   s   [ 0 0 1 0 0 0 0 ] 1.0;
-        K   K   [ 0 0 0 1 0 0 0 ] 1.0;
-        mol mol [ 0 0 0 0 1 0 0 ] 1.0;
-        A   A   [ 0 0 0 0 0 1 0 ] 1.0;
-        Cd  Cd  [ 0 0 0 0 0 0 1 ] 1.0;
+        kg  kg  [1 0 0 0 0 0 0] 1.0;
+        m   m   [0 1 0 0 0 0 0] 1.0;
+        s   s   [0 0 1 0 0 0 0] 1.0;
+        K   K   [0 0 0 1 0 0 0] 1.0;
+        mol mol [0 0 0 0 1 0 0] 1.0;
+        A   A   [0 0 0 0 0 1 0] 1.0;
+        Cd  Cd  [0 0 0 0 0 0 1] 1.0;
 
         // Derived units
-        Hz  Hz  [ s^-1 ] 1.0;
-        N   N   [ kg m s^-2 ] 1.0;
-        Pa  Pa  [ N m^-2 ] 1.0;
-        J   J   [ N m ] 1.0;
-        W   W   [ J s^-1 ] 1.0;
+        Hz  Hz  [s^-1] 1.0;
+        N   N   [kg m s^-2] 1.0;
+        Pa  Pa  [N m^-2] 1.0;
+        J   J   [N m] 1.0;
+        W   W   [J s^-1] 1.0;
 
         // Some non-symbolic ones
         area area [m^2] 1.0;
         volume volume [m^3] 1.0;
-        density density [ kg m^-3 ] 1.0;
-        acceleration acceleration  [ m s^-2 ] 1.0;
-        kinematicPressure kinematicPressure [ Pa density^-1 ] 1.0;
+        density density [kg m^-3] 1.0;
+        acceleration acceleration  [m s^-2] 1.0;
+        kinematicPressure kinematicPressure [Pa density^-1] 1.0;
 
         // Scaled units. Only allowed in dimensionedType (dimensionedScalar,
         // dimensionedVector etc.) and UniformDimensionedField, not
         // in DimensionedField or GeometricField
-        cm  cm  [ m ] 1e-2;
-        mm  mm  [ m ] 1e-3;
-        km  km  [ m ] 1e3;
+        cm  cm  [m] 1e-2;
+        mm  mm  [m] 1e-3;
+        km  km  [m] 1e3;
 
         // Set of units used for printing. Can be any basic or derived
         // but not scaled (only supported for dimensionedScalar, etc)
@@ -1016,13 +1016,13 @@ DimensionSets
     USCSCoeffs
     {
         // Basic units
-        lb  lb  [ 1 0 0 0 0 0 0 ] 1.0;
-        ft  ft  [ 0 1 0 0 0 0 0 ] 1.0;
-        s   s   [ 0 0 1 0 0 0 0 ] 1.0;
-        R   R   [ 0 0 0 1 0 0 0 ] 1.0;
-        mol mol [ 0 0 0 0 1 0 0 ] 1.0;
-        A   A   [ 0 0 0 0 0 1 0 ] 1.0;
-        Cd  Cd  [ 0 0 0 0 0 0 1 ] 1.0;
+        lb  lb  [1 0 0 0 0 0 0] 1.0;
+        ft  ft  [0 1 0 0 0 0 0] 1.0;
+        s   s   [0 0 1 0 0 0 0] 1.0;
+        R   R   [0 0 0 1 0 0 0] 1.0;
+        mol mol [0 0 0 0 1 0 0] 1.0;
+        A   A   [0 0 0 0 0 1 0] 1.0;
+        Cd  Cd  [0 0 0 0 0 0 1] 1.0;
 
         // Set of units used for printing. Can be any basic or derived
         // but not scaled (only supported for dimensionedScalar, etc)
-- 
GitLab


From 6335be9356324a0730abfd0b01945c5d3ba48dd2 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sat, 21 Nov 2015 18:29:20 +0000
Subject: [PATCH 093/141] specie/thermo: Use Pstd in the evaluation of
 equilibrium coefficients

---
 src/thermophysicalModels/specie/thermo/thermo/thermoI.H | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/thermophysicalModels/specie/thermo/thermo/thermoI.H b/src/thermophysicalModels/specie/thermo/thermo/thermoI.H
index 2617da968c2..9b8eb307772 100644
--- a/src/thermophysicalModels/specie/thermo/thermo/thermoI.H
+++ b/src/thermophysicalModels/specie/thermo/thermo/thermoI.H
@@ -281,7 +281,7 @@ template<class Thermo, template<class> class Type>
 inline Foam::scalar
 Foam::species::thermo<Thermo, Type>::K(const scalar p, const scalar T) const
 {
-    scalar arg = -this->nMoles()*this->g(p, T)/(RR*T);
+    scalar arg = -this->nMoles()*this->g(Pstd, T)/(RR*T);
 
     if (arg < 600.0)
     {
-- 
GitLab


From 62945ab1ea60d9d973be8efa5b8cb9eb15bd62a3 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sat, 21 Nov 2015 18:30:35 +0000
Subject: [PATCH 094/141] chemFoam: Remove unused turbulence model

---
 .../solvers/combustion/chemFoam/Make/options  | 14 +------------
 .../solvers/combustion/chemFoam/chemFoam.C    |  1 -
 .../combustion/chemFoam/createControls.H      |  6 ------
 .../combustion/chemFoam/createFields.H        | 14 -------------
 .../chemFoam/gri/constant/chemistryProperties |  2 +-
 .../gri/constant/turbulenceProperties         | 21 -------------------
 .../chemFoam/h2/constant/turbulenceProperties | 21 -------------------
 .../ic8h18/constant/turbulenceProperties      | 21 -------------------
 .../nc7h16/constant/turbulenceProperties      | 21 -------------------
 9 files changed, 2 insertions(+), 119 deletions(-)
 delete mode 100644 tutorials/combustion/chemFoam/gri/constant/turbulenceProperties
 delete mode 100644 tutorials/combustion/chemFoam/h2/constant/turbulenceProperties
 delete mode 100644 tutorials/combustion/chemFoam/ic8h18/constant/turbulenceProperties
 delete mode 100644 tutorials/combustion/chemFoam/nc7h16/constant/turbulenceProperties

diff --git a/applications/solvers/combustion/chemFoam/Make/options b/applications/solvers/combustion/chemFoam/Make/options
index 8a3aee27845..176ec9fd9cb 100644
--- a/applications/solvers/combustion/chemFoam/Make/options
+++ b/applications/solvers/combustion/chemFoam/Make/options
@@ -1,26 +1,14 @@
 EXE_INC = \
-    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
-    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
-    -I$(LIB_SRC)/thermophysicalModels/thermophysicalFunctions/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
-    -I$(LIB_SRC)/transportModels/compressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-    -I$(LIB_SRC)/thermophysicalModels/laminarFlameSpeed/lnInclude \
+    -I$(LIB_SRC)/transportModels/compressible/lnInclude \
     -I$(LIB_SRC)/ODE/lnInclude\
     -I$(LIB_SRC)/thermophysicalModels/chemistryModel/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude
 
 EXE_LIBS = \
-    -lturbulenceModels \
-    -lcompressibleTurbulenceModels \
-    -lreactionThermophysicalModels \
-    -lcompressibleTransportModels \
-    -lfluidThermophysicalModels \
     -lchemistryModel \
-    -lODE \
-    -lthermophysicalFunctions \
-    -lspecie \
     -lfiniteVolume \
     -lmeshTools
diff --git a/applications/solvers/combustion/chemFoam/chemFoam.C b/applications/solvers/combustion/chemFoam/chemFoam.C
index a3455519332..7a3f5e0b845 100644
--- a/applications/solvers/combustion/chemFoam/chemFoam.C
+++ b/applications/solvers/combustion/chemFoam/chemFoam.C
@@ -35,7 +35,6 @@ Description
 
 #include "fvCFD.H"
 #include "psiReactionThermo.H"
-#include "turbulentFluidThermoModel.H"
 #include "psiChemistryModel.H"
 #include "chemistrySolver.H"
 #include "OFstream.H"
diff --git a/applications/solvers/combustion/chemFoam/createControls.H b/applications/solvers/combustion/chemFoam/createControls.H
index 14dcf56a16e..6aeb2fff15a 100644
--- a/applications/solvers/combustion/chemFoam/createControls.H
+++ b/applications/solvers/combustion/chemFoam/createControls.H
@@ -1,8 +1,2 @@
-if (runTime.controlDict().lookupOrDefault("suppressSolverInfo", false))
-{
-    lduMatrix::debug = 0;
-}
-
 Switch adjustTimeStep(runTime.controlDict().lookup("adjustTimeStep"));
-
 scalar maxDeltaT(readScalar(runTime.controlDict().lookup("maxDeltaT")));
diff --git a/applications/solvers/combustion/chemFoam/createFields.H b/applications/solvers/combustion/chemFoam/createFields.H
index 7f6cc121951..ae5d54fc58e 100644
--- a/applications/solvers/combustion/chemFoam/createFields.H
+++ b/applications/solvers/combustion/chemFoam/createFields.H
@@ -86,20 +86,6 @@
 
     #include "createPhi.H"
 
-    Info << "Creating turbulence model.\n" << endl;
-    autoPtr<compressible::turbulenceModel> turbulence
-    (
-        compressible::turbulenceModel::New
-        (
-            rho,
-            U,
-            phi,
-            thermo
-        )
-    );
-
     OFstream post(args.path()/"chemFoam.out");
     post<< "# Time" << token::TAB << "Temperature [K]" << token::TAB
         << "Pressure [Pa]" << endl;
-
-
diff --git a/tutorials/combustion/chemFoam/gri/constant/chemistryProperties b/tutorials/combustion/chemFoam/gri/constant/chemistryProperties
index ed98ad965b2..bf097e0ba39 100644
--- a/tutorials/combustion/chemFoam/gri/constant/chemistryProperties
+++ b/tutorials/combustion/chemFoam/gri/constant/chemistryProperties
@@ -33,7 +33,7 @@ EulerImplicitCoeffs
 
 odeCoeffs
 {
-    solver          Rosenbrock34; //SIBS; //seulex;
+    solver          seulex;
     absTol          1e-12;
     relTol          1e-1;
 }
diff --git a/tutorials/combustion/chemFoam/gri/constant/turbulenceProperties b/tutorials/combustion/chemFoam/gri/constant/turbulenceProperties
deleted file mode 100644
index c2c3b28a1b4..00000000000
--- a/tutorials/combustion/chemFoam/gri/constant/turbulenceProperties
+++ /dev/null
@@ -1,21 +0,0 @@
-/*--------------------------------*- 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      turbulenceProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-simulationType  laminar;
-
-
-// ************************************************************************* //
diff --git a/tutorials/combustion/chemFoam/h2/constant/turbulenceProperties b/tutorials/combustion/chemFoam/h2/constant/turbulenceProperties
deleted file mode 100644
index c2c3b28a1b4..00000000000
--- a/tutorials/combustion/chemFoam/h2/constant/turbulenceProperties
+++ /dev/null
@@ -1,21 +0,0 @@
-/*--------------------------------*- 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      turbulenceProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-simulationType  laminar;
-
-
-// ************************************************************************* //
diff --git a/tutorials/combustion/chemFoam/ic8h18/constant/turbulenceProperties b/tutorials/combustion/chemFoam/ic8h18/constant/turbulenceProperties
deleted file mode 100644
index c2c3b28a1b4..00000000000
--- a/tutorials/combustion/chemFoam/ic8h18/constant/turbulenceProperties
+++ /dev/null
@@ -1,21 +0,0 @@
-/*--------------------------------*- 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      turbulenceProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-simulationType  laminar;
-
-
-// ************************************************************************* //
diff --git a/tutorials/combustion/chemFoam/nc7h16/constant/turbulenceProperties b/tutorials/combustion/chemFoam/nc7h16/constant/turbulenceProperties
deleted file mode 100644
index c2c3b28a1b4..00000000000
--- a/tutorials/combustion/chemFoam/nc7h16/constant/turbulenceProperties
+++ /dev/null
@@ -1,21 +0,0 @@
-/*--------------------------------*- 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      turbulenceProperties;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-simulationType  laminar;
-
-
-// ************************************************************************* //
-- 
GitLab


From c7642d0cab135e24239c3c94fed578287db8c090 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sat, 21 Nov 2015 21:35:00 +0000
Subject: [PATCH 095/141] meshRefinementBaffles: Correct faceZone orientation
 Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1479 Patches
 provided by Bruno Santos based on the work of Mattijs Janssens

---
 .../meshRefinement/meshRefinement.H           |   8 +-
 .../meshRefinement/meshRefinementBaffles.C    | 199 ++++++++----------
 2 files changed, 92 insertions(+), 115 deletions(-)

diff --git a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinement.H b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinement.H
index 7281a3d520d..741416991b0 100644
--- a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinement.H
+++ b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinement.H
@@ -369,7 +369,7 @@ private:
                 const labelList& globalToSlavePatch
             ) const;
 
-            //- Determine patches for baffles
+            //- Determine patches for baffles on all intersected unnamed faces
             void getBafflePatches
             (
                 const labelList& globalToMasterPatch,
@@ -514,6 +514,8 @@ private:
                 labelList& cellToZone
             ) const;
 
+            //- Make namedSurfaceIndex consistent with cellToZone
+            //  - clear out any blocked faces inbetween same cell zone.
             void makeConsistentFaceIndex
             (
                 const labelList& cellToZone,
@@ -536,11 +538,11 @@ private:
 
             // Some patch utilities
 
-            //- Get all faces in namedSurfaceIndex that have no cellZone on
+            //- Get all faces in faceToZone that have no cellZone on
             //  either side.
             labelList freeStandingBaffleFaces
             (
-                const labelList& namedSurfaceIndex,
+                const labelList& faceToZone,
                 const labelList& cellToZone,
                 const labelList& neiCellZone
             ) const;
diff --git a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C
index 3d0242153bf..1f2101155ed 100644
--- a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C
+++ b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C
@@ -51,9 +51,6 @@ License
 
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
-// Repatches external face or creates baffle for internal face
-// with user specified patches (might be different for both sides).
-// Returns label of added face.
 Foam::label Foam::meshRefinement::createBaffle
 (
     const label faceI,
@@ -128,52 +125,11 @@ Foam::label Foam::meshRefinement::createBaffle
 }
 
 
-//// Check if we are a boundary face and normal of surface does
-//// not align with test vector. In this case there'd probably be
-//// a freestanding 'baffle' so we might as well not create it.
-//// Note that since it is not a proper baffle we cannot detect it
-//// afterwards so this code cannot be merged with the
-//// filterDuplicateFaces code.
-//bool Foam::meshRefinement::validBaffleTopology
-//(
-//    const label faceI,
-//    const vector& n1,
-//    const vector& n2,
-//    const vector& testDir
-//) const
-//{
-//
-//    label patchI = mesh_.boundaryMesh().whichPatch(faceI);
-//    if (patchI == -1 || mesh_.boundaryMesh()[patchI].coupled())
-//    {
-//        return true;
-//    }
-//    else if (mag(n1&n2) > cos(degToRad(30)))
-//    {
-//        // Both normals aligned. Check that test vector perpendicularish to
-//        // surface normal
-//        scalar magTestDir = mag(testDir);
-//        if (magTestDir > VSMALL)
-//        {
-//            if (mag(n1&(testDir/magTestDir)) < cos(degToRad(45)))
-//            {
-//                //Pout<< "** disabling baffling face "
-//                //    << mesh_.faceCentres()[faceI] << endl;
-//                return false;
-//            }
-//        }
-//    }
-//    return true;
-//}
-
-
-// Determine patches for baffles on all intersected unnamed faces
 void Foam::meshRefinement::getBafflePatches
 (
     const labelList& globalToMasterPatch,
     const labelList& neiLevel,
     const pointField& neiCc,
-
     labelList& ownPatch,
     labelList& neiPatch
 ) const
@@ -386,7 +342,6 @@ Foam::Map<Foam::labelPair> Foam::meshRefinement::getZoneBafflePatches
 }
 
 
-// Create baffle for every face where ownPatch != -1
 Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::createBaffles
 (
     const labelList& ownPatch,
@@ -659,17 +614,16 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::createZoneBaffles
 }
 
 
-// Extract those baffles (duplicate) faces that are on the edge of a baffle
-// region. These are candidates for merging.
-// Done by counting the number of baffles faces per mesh edge. If edge
-// has 2 boundary faces and both are baffle faces it is the edge of a baffle
-// region.
 Foam::List<Foam::labelPair> Foam::meshRefinement::freeStandingBaffles
 (
     const List<labelPair>& couples,
     const scalar planarAngle
 ) const
 {
+    // Done by counting the number of baffles faces per mesh edge. If edge
+    // has 2 boundary faces and both are baffle faces it is the edge of a baffle
+    // region.
+
     // All duplicate faces on edge of the patch are to be merged.
     // So we count for all edges of duplicate faces how many duplicate
     // faces use them.
@@ -918,7 +872,6 @@ Foam::List<Foam::labelPair> Foam::meshRefinement::freeStandingBaffles
 }
 
 
-// Merge baffles. Gets pairs of faces.
 Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::mergeBaffles
 (
     const List<labelPair>& couples
@@ -1420,10 +1373,6 @@ bool Foam::meshRefinement::calcRegionToZone
 }
 
 
-// Finds region per cell. Assumes:
-// - region containing keepPoint does not go into a cellZone
-// - all other regions can be found by crossing faces marked in
-//   namedSurfaceIndex.
 void Foam::meshRefinement::findCellZoneTopo
 (
     const point& keepPoint,
@@ -1432,6 +1381,11 @@ void Foam::meshRefinement::findCellZoneTopo
     labelList& cellToZone
 ) const
 {
+    // Assumes:
+    // - region containing keepPoint does not go into a cellZone
+    // - all other regions can be found by crossing faces marked in
+    //   namedSurfaceIndex.
+
     // Analyse regions. Reuse regionsplit
     boolList blockedFace(mesh_.nFaces());
 
@@ -1629,8 +1583,6 @@ void Foam::meshRefinement::findCellZoneTopo
 }
 
 
-// Make namedSurfaceIndex consistent with cellToZone - clear out any blocked
-// faces inbetween same cell zone.
 void Foam::meshRefinement::makeConsistentFaceIndex
 (
     const labelList& cellToZone,
@@ -1810,7 +1762,7 @@ void Foam::meshRefinement::handleSnapProblems
 
 Foam::labelList Foam::meshRefinement::freeStandingBaffleFaces
 (
-    const labelList& namedSurfaceIndex,
+    const labelList& faceToZone,
     const labelList& cellToZone,
     const labelList& neiCellZone
 ) const
@@ -1820,17 +1772,30 @@ Foam::labelList Foam::meshRefinement::freeStandingBaffleFaces
     const labelList& faceNeighbour = mesh_.faceNeighbour();
 
 
-    DynamicList<label> faceLabels(mesh_.nFaces()/20);
+    // We want to pick up the faces to orient. These faces come in
+    // two variants:
+    // - faces originating from stand-alone faceZones
+    //   (these will most likely have no cellZone on either side so
+    //    ownZone and neiZone both -1)
+    // - sticky-up faces originating from a 'bulge' in a outside of
+    //   a cellZone. These will have the same cellZone on either side.
+    //   How to orient these is not really clearly defined so do them
+    //   same as stand-alone faceZone faces for now. (Normally these will
+    //   already have been removed by the 'allowFreeStandingZoneFaces=false'
+    //   default setting)
+
+    // Note that argument neiCellZone will have -1 on uncoupled boundaries.
+
+    DynamicList<label> faceLabels(mesh_.nFaces()/100);
 
     for (label faceI = 0; faceI < mesh_.nInternalFaces(); faceI++)
     {
-        label surfI = namedSurfaceIndex[faceI];
-        if (surfI != -1)
+        if (faceToZone[faceI] != -1)
         {
             // Free standing baffle?
             label ownZone = cellToZone[faceOwner[faceI]];
             label neiZone = cellToZone[faceNeighbour[faceI]];
-            if (max(ownZone, neiZone) == -1)
+            if (ownZone == neiZone)
             {
                 faceLabels.append(faceI);
             }
@@ -1843,13 +1808,12 @@ Foam::labelList Foam::meshRefinement::freeStandingBaffleFaces
         forAll(pp, i)
         {
             label faceI = pp.start()+i;
-            label surfI = namedSurfaceIndex[faceI];
-            if (surfI != -1)
+            if (faceToZone[faceI] != -1)
             {
                 // Free standing baffle?
                 label ownZone = cellToZone[faceOwner[faceI]];
                 label neiZone = neiCellZone[faceI-mesh_.nInternalFaces()];
-                if (max(ownZone, neiZone) == -1)
+                if (ownZone == neiZone)
                 {
                     faceLabels.append(faceI);
                 }
@@ -2303,7 +2267,6 @@ void Foam::meshRefinement::consistentOrientation
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-// Split off unreachable areas of mesh.
 void Foam::meshRefinement::baffleAndSplitMesh
 (
     const bool doHandleSnapProblems,
@@ -2494,7 +2457,6 @@ void Foam::meshRefinement::baffleAndSplitMesh
 }
 
 
-// Split off (with optional buffer layers) unreachable areas of mesh.
 Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::splitMesh
 (
     const label nBufferLayers,
@@ -2778,8 +2740,6 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::splitMesh
 }
 
 
-// Find boundary points that connect to more than one cell region and
-// split them.
 Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::dupNonManifoldPoints
 (
     const localPointRegion& regionSide
@@ -2833,8 +2793,6 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::dupNonManifoldPoints
 }
 
 
-// Find boundary points that connect to more than one cell region and
-// split them.
 Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::dupNonManifoldPoints()
 {
     // Analyse which points need to be duplicated
@@ -2844,7 +2802,6 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::dupNonManifoldPoints()
 }
 
 
-// Zoning
 Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::zonify
 (
     const point& keepPoint,
@@ -3140,28 +3097,46 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::zonify
         makeConsistentFaceIndex(cellToZone, namedSurfaceIndex);
     }
 
+
+    //- Per face index of faceZone or -1
+    labelList faceToZone(mesh_.nFaces(), -1);
+
+    // Convert namedSurfaceIndex (index of named surfaces) to
+    // actual faceZone index
+
+    forAll(namedSurfaceIndex, faceI)
+    {
+        label surfI = namedSurfaceIndex[faceI];
+        if (surfI != -1)
+        {
+            faceToZone[faceI] = surfaceToFaceZone[surfI];
+        }
+    }
+
+
     // Topochange container
     polyTopoChange meshMod(mesh_);
 
 
 
     // Get coupled neighbour cellZone. Set to -1 on non-coupled patches.
-    labelList neiCellZone(mesh_.nFaces()-mesh_.nInternalFaces(), -1);
+    labelList neiCellZone;
+    syncTools::swapBoundaryCellList(mesh_, cellToZone, neiCellZone);
     forAll(patches, patchI)
     {
         const polyPatch& pp = patches[patchI];
 
-        if (pp.coupled())
+        if (!pp.coupled())
         {
+            label bFaceI = pp.start()-mesh_.nInternalFaces();
             forAll(pp, i)
             {
-                label faceI = pp.start()+i;
-                neiCellZone[faceI-mesh_.nInternalFaces()] =
-                    cellToZone[mesh_.faceOwner()[faceI]];
+                neiCellZone[bFaceI++] = -1;
             }
         }
     }
-    syncTools::swapBoundaryFaceList(mesh_, neiCellZone);
+
+
 
     // Get per face whether is it master (of a coupled set of faces)
     const PackedBoolList isMasterFace(syncTools::getMasterFaces(mesh_));
@@ -3188,7 +3163,7 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::zonify
                 mesh_.faces(),
                 freeStandingBaffleFaces
                 (
-                    namedSurfaceIndex,
+                    faceToZone,
                     cellToZone,
                     neiCellZone
                 )
@@ -3202,18 +3177,25 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::zonify
             Info<< "Detected " << nFreeStanding << " free-standing zone faces"
                 << endl;
 
+            if (debug)
+            {
+                OBJstream str(mesh_.time().path()/"freeStanding.obj");
+                str.write(patch.localFaces(), patch.localPoints(), false);
+            }
+
+
             // Detect non-manifold edges
             labelList nMasterFacesPerEdge;
             calcPatchNumMasterFaces(isMasterFace, patch, nMasterFacesPerEdge);
 
             // Mark zones. Even a single original surface might create multiple
             // disconnected/non-manifold-connected zones
-            labelList faceToZone;
+            labelList faceToConnectedZone;
             const label nZones = markPatchZones
             (
                 patch,
                 nMasterFacesPerEdge,
-                faceToZone
+                faceToConnectedZone
             );
 
             Map<label> nPosOrientation(2*nZones);
@@ -3230,7 +3212,7 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::zonify
                 isMasterFace,
                 patch,
                 nMasterFacesPerEdge,
-                faceToZone,
+                faceToConnectedZone,
                 nPosOrientation,
 
                 meshFlipMap
@@ -3254,7 +3236,7 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::zonify
                         n = -1;
                     }
 
-                    nPosOrientation.find(faceToZone[faceI])() += n;
+                    nPosOrientation.find(faceToConnectedZone[faceI])() += n;
                 }
             }
             Pstream::mapCombineGather(nPosOrientation, plusEqOp<label>());
@@ -3281,7 +3263,7 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::zonify
                 isMasterFace,
                 patch,
                 nMasterFacesPerEdge,
-                faceToZone,
+                faceToConnectedZone,
                 nPosOrientation,
 
                 meshFlipMap
@@ -3295,30 +3277,31 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::zonify
 
     for (label faceI = 0; faceI < mesh_.nInternalFaces(); faceI++)
     {
-        label surfI = namedSurfaceIndex[faceI];
+        label faceZoneI = faceToZone[faceI];
 
-        if (surfI != -1)
+        if (faceZoneI != -1)
         {
             // Orient face zone to have slave cells in max cell zone.
+            // Note: logic to use flipMap should be consistent with logic
+            //       to pick up the freeStandingBaffleFaces!
+
             label ownZone = cellToZone[faceOwner[faceI]];
             label neiZone = cellToZone[faceNeighbour[faceI]];
 
             bool flip;
 
-            label maxZone = max(ownZone, neiZone);
-
-            if (maxZone == -1)
+            if (ownZone == neiZone)
             {
                 // free-standing face. Use geometrically derived orientation
                 flip = meshFlipMap[faceI];
             }
-            else if (ownZone == maxZone)
-            {
-                flip = false;
-            }
             else
             {
-                flip = true;
+                flip =
+                (
+                    ownZone == -1
+                 || (neiZone != -1 && ownZone > neiZone)
+                );
             }
 
             meshMod.setAction
@@ -3332,7 +3315,7 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::zonify
                     false,                          // face flip
                     -1,                             // patch for face
                     false,                          // remove from zone
-                    surfaceToFaceZone[surfI],       // zone for face
+                    faceZoneI,                      // zone for face
                     flip                            // face flip in zone
                 )
             );
@@ -3349,35 +3332,27 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::zonify
 
         forAll(pp, i)
         {
-            label surfI = namedSurfaceIndex[faceI];
+            label faceZoneI = faceToZone[faceI];
 
-            if (surfI != -1)
+            if (faceZoneI != -1)
             {
                 label ownZone = cellToZone[faceOwner[faceI]];
                 label neiZone = neiCellZone[faceI-mesh_.nInternalFaces()];
 
                 bool flip;
 
-                label maxZone = max(ownZone, neiZone);
-
-                if (maxZone == -1)
+                if (ownZone == neiZone)
                 {
                     // free-standing face. Use geometrically derived orientation
                     flip = meshFlipMap[faceI];
                 }
-                else if (ownZone == neiZone)
-                {
-                    // Free-standing zone face or coupled boundary. Keep master
-                    // face unflipped.
-                    flip = !isMasterFace[faceI];
-                }
-                else if (neiZone == maxZone)
-                {
-                    flip = true;
-                }
                 else
                 {
-                    flip = false;
+                    flip =
+                    (
+                        ownZone == -1
+                     || (neiZone != -1 && ownZone > neiZone)
+                    );
                 }
 
                 meshMod.setAction
@@ -3391,7 +3366,7 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::zonify
                         false,                          // face flip
                         patchI,                         // patch for face
                         false,                          // remove from zone
-                        surfaceToFaceZone[surfI],       // zone for face
+                        faceZoneI,                      // zone for face
                         flip                            // face flip in zone
                     )
                 );
-- 
GitLab


From 884bb24e5d2a6c96dfe1d7e46f41e470a96f45b2 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sun, 22 Nov 2015 17:27:44 +0000
Subject: [PATCH 096/141] Corrected typo: Tranform -> Transform Resolves
 bug-report http://www.openfoam.org/mantisbt/view.php?id=1923

---
 .../general/porosityModel/DarcyForchheimer/DarcyForchheimer.C | 4 ++--
 .../general/porosityModel/DarcyForchheimer/DarcyForchheimer.H | 2 +-
 .../cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.C    | 4 ++--
 .../cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.H    | 2 +-
 .../general/porosityModel/porosityModel/porosityModel.C       | 2 +-
 .../general/porosityModel/porosityModel/porosityModel.H       | 2 +-
 .../cfdTools/general/porosityModel/powerLaw/powerLaw.C        | 2 +-
 .../cfdTools/general/porosityModel/powerLaw/powerLaw.H        | 2 +-
 src/meshTools/searchableSurface/searchableSurfaceCollection.C | 2 +-
 9 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.C b/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.C
index b75588a0afc..20ac7a29b1f 100644
--- a/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.C
+++ b/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.C
@@ -63,7 +63,7 @@ Foam::porosityModels::DarcyForchheimer::DarcyForchheimer
     adjustNegativeResistance(dXYZ_);
     adjustNegativeResistance(fXYZ_);
 
-    calcTranformModelData();
+    calcTransformModelData();
 }
 
 
@@ -75,7 +75,7 @@ Foam::porosityModels::DarcyForchheimer::~DarcyForchheimer()
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-void Foam::porosityModels::DarcyForchheimer::calcTranformModelData()
+void Foam::porosityModels::DarcyForchheimer::calcTransformModelData()
 {
     if (coordSys_.R().uniform())
     {
diff --git a/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.H b/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.H
index 6259cd4c506..4f1751e1b85 100644
--- a/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.H
+++ b/src/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/DarcyForchheimer.H
@@ -147,7 +147,7 @@ public:
     // Member Functions
 
         //- Transform the model data wrt mesh changes
-        virtual void calcTranformModelData();
+        virtual void calcTransformModelData();
 
         //- Calculate the porosity force
         virtual void calcForce
diff --git a/src/finiteVolume/cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.C b/src/finiteVolume/cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.C
index 79f6d3fbbbd..eeb4bb3e9c2 100644
--- a/src/finiteVolume/cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.C
+++ b/src/finiteVolume/cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.C
@@ -119,7 +119,7 @@ Foam::porosityModels::fixedCoeff::fixedCoeff
     adjustNegativeResistance(alphaXYZ_);
     adjustNegativeResistance(betaXYZ_);
 
-    calcTranformModelData();
+    calcTransformModelData();
 }
 
 
@@ -131,7 +131,7 @@ Foam::porosityModels::fixedCoeff::~fixedCoeff()
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-void Foam::porosityModels::fixedCoeff::calcTranformModelData()
+void Foam::porosityModels::fixedCoeff::calcTransformModelData()
 {
     if (coordSys_.R().uniform())
     {
diff --git a/src/finiteVolume/cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.H b/src/finiteVolume/cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.H
index ca957d9a863..4ccfa87da58 100644
--- a/src/finiteVolume/cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.H
+++ b/src/finiteVolume/cfdTools/general/porosityModel/fixedCoeff/fixedCoeff.H
@@ -124,7 +124,7 @@ public:
     // Member Functions
 
         //- Transform the model data wrt mesh changes
-        virtual void calcTranformModelData();
+        virtual void calcTransformModelData();
 
         //- Calculate the porosity force
         virtual void calcForce
diff --git a/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.C b/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.C
index b02cef7cc4a..8dd817f2930 100644
--- a/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.C
+++ b/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.C
@@ -137,7 +137,7 @@ void Foam::porosityModel::transformModelData()
 {
     if (!mesh_.upToDatePoints(*this))
     {
-        calcTranformModelData();
+        calcTransformModelData();
 
         // set model up-to-date wrt points
         mesh_.setUpToDatePoints(*this);
diff --git a/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.H b/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.H
index 5cc90240cdf..c3f5b838dd9 100644
--- a/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.H
+++ b/src/finiteVolume/cfdTools/general/porosityModel/porosityModel/porosityModel.H
@@ -99,7 +99,7 @@ protected:
 
 
         //- Transform the model data wrt mesh changes
-        virtual void calcTranformModelData() = 0;
+        virtual void calcTransformModelData() = 0;
 
         //- Adjust negative resistance values to be multiplier of max value
         void adjustNegativeResistance(dimensionedVector& resist);
diff --git a/src/finiteVolume/cfdTools/general/porosityModel/powerLaw/powerLaw.C b/src/finiteVolume/cfdTools/general/porosityModel/powerLaw/powerLaw.C
index 8a8361db8e6..8ff85ba4edb 100644
--- a/src/finiteVolume/cfdTools/general/porosityModel/powerLaw/powerLaw.C
+++ b/src/finiteVolume/cfdTools/general/porosityModel/powerLaw/powerLaw.C
@@ -66,7 +66,7 @@ Foam::porosityModels::powerLaw::~powerLaw()
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-void Foam::porosityModels::powerLaw::calcTranformModelData()
+void Foam::porosityModels::powerLaw::calcTransformModelData()
 {
     // nothing to be transformed
 }
diff --git a/src/finiteVolume/cfdTools/general/porosityModel/powerLaw/powerLaw.H b/src/finiteVolume/cfdTools/general/porosityModel/powerLaw/powerLaw.H
index c0e2e53c154..f17a639e09e 100644
--- a/src/finiteVolume/cfdTools/general/porosityModel/powerLaw/powerLaw.H
+++ b/src/finiteVolume/cfdTools/general/porosityModel/powerLaw/powerLaw.H
@@ -126,7 +126,7 @@ public:
     // Member Functions
 
         //- Transform the model data wrt mesh changes
-        virtual void calcTranformModelData();
+        virtual void calcTransformModelData();
 
         //- Calculate the porosity force
         virtual void calcForce
diff --git a/src/meshTools/searchableSurface/searchableSurfaceCollection.C b/src/meshTools/searchableSurface/searchableSurfaceCollection.C
index bbda5a487c3..98ae2a26e05 100644
--- a/src/meshTools/searchableSurface/searchableSurfaceCollection.C
+++ b/src/meshTools/searchableSurface/searchableSurfaceCollection.C
@@ -713,7 +713,7 @@ void Foam::searchableSurfaceCollection::distribute
 {
     forAll(subGeom_, surfI)
     {
-        // Note:Tranform the bounding boxes? Something like
+        // Note:Transform the bounding boxes? Something like
         // pointField bbPoints =
         // cmptDivide
         // (
-- 
GitLab


From 4d18902b90de4ce42a45c7f22020a3bec49b785d Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sun, 22 Nov 2015 17:28:37 +0000
Subject: [PATCH 097/141] Update header

---
 .../cfdTools/general/porosityModel/powerLaw/powerLaw.C          | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/finiteVolume/cfdTools/general/porosityModel/powerLaw/powerLaw.C b/src/finiteVolume/cfdTools/general/porosityModel/powerLaw/powerLaw.C
index 8ff85ba4edb..e49e2a410ac 100644
--- a/src/finiteVolume/cfdTools/general/porosityModel/powerLaw/powerLaw.C
+++ b/src/finiteVolume/cfdTools/general/porosityModel/powerLaw/powerLaw.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
-- 
GitLab


From 85c79d839864d060e0366f89e64137f7f347763c Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Mon, 23 Nov 2015 09:29:10 +0000
Subject: [PATCH 098/141] fvOptions: New buoyancyForce and buoyancyEnergy
 Provides run-time selection of buoyancy sources for compressible solvers

Replaces the built-in buoyancy sources in XiFoam, reactingFoam and
rhoReactingFoam.

e.g. in constant/fvOptions specify

momentumSource
{
    type            buoyancyForce;

    buoyancyForceCoeffs
    {
        fieldNames      (U);
    }
}

and optionally specify the buoyancy energy source in the enthalpy
equation:

energySource
{
    type            buoyancyEnergy;

    buoyancyEnergyCoeffs
    {
        fieldNames      (h);
    }
}

or internal energy equation

energySource
{
    type            buoyancyEnergy;

    buoyancyEnergyCoeffs
    {
        fieldNames      (e);
    }
}
---
 applications/solvers/combustion/XiFoam/UEqn.H |   3 +-
 .../solvers/combustion/XiFoam/XiFoam.C        |   1 -
 .../solvers/combustion/reactingFoam/EEqn.H    |   3 +-
 .../solvers/combustion/reactingFoam/UEqn.H    |   3 +-
 .../combustion/reactingFoam/reactingFoam.C    |   1 -
 .../rhoReactingFoam/rhoReactingFoam.C         |   1 -
 src/fvOptions/Make/files                      |   5 +-
 .../derived/buoyancyEnergy/buoyancyEnergy.C   |  91 +++++++++++++
 .../derived/buoyancyEnergy/buoyancyEnergy.H   | 128 ++++++++++++++++++
 .../derived/buoyancyEnergy/buoyancyEnergyIO.C |  38 ++++++
 .../derived/buoyancyForce/buoyancyForce.C     |  96 +++++++++++++
 .../derived/buoyancyForce/buoyancyForce.H     | 127 +++++++++++++++++
 .../derived/buoyancyForce/buoyancyForceIO.C   |  38 ++++++
 .../ras/moriyoshiHomogeneous/constant/g       |  22 ---
 .../combustion/engineFoam/kivaTest/constant/g |  22 ---
 .../ras/counterFlowFlame2D/constant/g         |  22 ---
 .../ras/counterFlowFlame2DLTS/constant/g      |  22 ---
 17 files changed, 525 insertions(+), 98 deletions(-)
 create mode 100644 src/fvOptions/sources/derived/buoyancyEnergy/buoyancyEnergy.C
 create mode 100644 src/fvOptions/sources/derived/buoyancyEnergy/buoyancyEnergy.H
 create mode 100644 src/fvOptions/sources/derived/buoyancyEnergy/buoyancyEnergyIO.C
 create mode 100644 src/fvOptions/sources/derived/buoyancyForce/buoyancyForce.C
 create mode 100644 src/fvOptions/sources/derived/buoyancyForce/buoyancyForce.H
 create mode 100644 src/fvOptions/sources/derived/buoyancyForce/buoyancyForceIO.C
 delete mode 100644 tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/g
 delete mode 100644 tutorials/combustion/engineFoam/kivaTest/constant/g
 delete mode 100644 tutorials/combustion/reactingFoam/ras/counterFlowFlame2D/constant/g
 delete mode 100644 tutorials/combustion/reactingFoam/ras/counterFlowFlame2DLTS/constant/g

diff --git a/applications/solvers/combustion/XiFoam/UEqn.H b/applications/solvers/combustion/XiFoam/UEqn.H
index f493177d761..59e51b370b0 100644
--- a/applications/solvers/combustion/XiFoam/UEqn.H
+++ b/applications/solvers/combustion/XiFoam/UEqn.H
@@ -6,8 +6,7 @@
       + MRF.DDt(rho, U)
       + turbulence->divDevRhoReff(U)
      ==
-        rho*g
-      + fvOptions(rho, U)
+        fvOptions(rho, U)
     );
 
     UEqn.relax();
diff --git a/applications/solvers/combustion/XiFoam/XiFoam.C b/applications/solvers/combustion/XiFoam/XiFoam.C
index 6090f923ca6..c216e76be3e 100644
--- a/applications/solvers/combustion/XiFoam/XiFoam.C
+++ b/applications/solvers/combustion/XiFoam/XiFoam.C
@@ -70,7 +70,6 @@ int main(int argc, char *argv[])
     pimpleControl pimple(mesh);
 
     #include "readCombustionProperties.H"
-    #include "readGravitationalAcceleration.H"
     #include "createFields.H"
     #include "createMRF.H"
     #include "createFvOptions.H"
diff --git a/applications/solvers/combustion/reactingFoam/EEqn.H b/applications/solvers/combustion/reactingFoam/EEqn.H
index bd47416425d..9267c9a9bef 100644
--- a/applications/solvers/combustion/reactingFoam/EEqn.H
+++ b/applications/solvers/combustion/reactingFoam/EEqn.H
@@ -17,8 +17,7 @@
         )
       - fvm::laplacian(turbulence->alphaEff(), he)
      ==
-        rho*(U&g)
-      + reaction->Sh()
+        reaction->Sh()
       + fvOptions(rho, he)
     );
 
diff --git a/applications/solvers/combustion/reactingFoam/UEqn.H b/applications/solvers/combustion/reactingFoam/UEqn.H
index 1704ce4ab98..907c9934e2b 100644
--- a/applications/solvers/combustion/reactingFoam/UEqn.H
+++ b/applications/solvers/combustion/reactingFoam/UEqn.H
@@ -8,8 +8,7 @@ tmp<fvVectorMatrix> UEqn
   + MRF.DDt(rho, U)
   + turbulence->divDevRhoReff(U)
  ==
-    rho*g
-  + fvOptions(rho, U)
+    fvOptions(rho, U)
 );
 
 UEqn().relax();
diff --git a/applications/solvers/combustion/reactingFoam/reactingFoam.C b/applications/solvers/combustion/reactingFoam/reactingFoam.C
index 5ad452b52ba..8bc61a6f105 100644
--- a/applications/solvers/combustion/reactingFoam/reactingFoam.C
+++ b/applications/solvers/combustion/reactingFoam/reactingFoam.C
@@ -51,7 +51,6 @@ int main(int argc, char *argv[])
     #include "createTimeControls.H"
     #include "createRDeltaT.H"
     #include "initContinuityErrs.H"
-    #include "readGravitationalAcceleration.H"
     #include "createFields.H"
     #include "createMRF.H"
     #include "createFvOptions.H"
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C
index 6eb245028d0..1691c719ace 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C
@@ -52,7 +52,6 @@ int main(int argc, char *argv[])
     #include "createTimeControls.H"
     #include "createRDeltaT.H"
     #include "initContinuityErrs.H"
-    #include "readGravitationalAcceleration.H"
     #include "createFields.H"
     #include "createMRF.H"
     #include "createFvOptions.H"
diff --git a/src/fvOptions/Make/files b/src/fvOptions/Make/files
index ff2f45032b1..70347d182a6 100644
--- a/src/fvOptions/Make/files
+++ b/src/fvOptions/Make/files
@@ -38,7 +38,10 @@ $(derivedSources)/solidificationMeltingSource/solidificationMeltingSource.C
 $(derivedSources)/solidificationMeltingSource/solidificationMeltingSourceIO.C
 $(derivedSources)/tabulatedAccelerationSource/tabulatedAccelerationSource.C
 $(derivedSources)/tabulatedAccelerationSource/tabulated6DoFAcceleration/tabulated6DoFAcceleration.C
-
+$(derivedSources)/buoyancyForce/buoyancyForce.C
+$(derivedSources)/buoyancyForce/buoyancyForceIO.C
+$(derivedSources)/buoyancyEnergy/buoyancyEnergy.C
+$(derivedSources)/buoyancyEnergy/buoyancyEnergyIO.C
 
 interRegion = sources/interRegion
 $(interRegion)/interRegionHeatTransfer/interRegionHeatTransferModel/interRegionHeatTransferModel.C
diff --git a/src/fvOptions/sources/derived/buoyancyEnergy/buoyancyEnergy.C b/src/fvOptions/sources/derived/buoyancyEnergy/buoyancyEnergy.C
new file mode 100644
index 00000000000..70238da9b78
--- /dev/null
+++ b/src/fvOptions/sources/derived/buoyancyEnergy/buoyancyEnergy.C
@@ -0,0 +1,91 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "buoyancyEnergy.H"
+#include "fvMatrices.H"
+#include "addToRunTimeSelectionTable.H"
+
+// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace fv
+{
+    defineTypeNameAndDebug(buoyancyEnergy, 0);
+
+    addToRunTimeSelectionTable
+    (
+        option,
+        buoyancyEnergy,
+        dictionary
+    );
+}
+}
+
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+Foam::fv::buoyancyEnergy::buoyancyEnergy
+(
+    const word& sourceName,
+    const word& modelType,
+    const dictionary& dict,
+    const fvMesh& mesh
+)
+:
+    option(sourceName, modelType, dict, mesh),
+    UName_(coeffs_.lookupOrDefault<word>("UName", "U"))
+{
+    coeffs_.lookup("fieldNames") >> fieldNames_;
+
+    if (fieldNames_.size() != 1)
+    {
+        FatalErrorInFunction
+            << "settings are:" << fieldNames_ << exit(FatalError);
+    }
+
+    applied_.setSize(fieldNames_.size(), false);
+}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+void Foam::fv::buoyancyEnergy::addSup
+(
+    const volScalarField& rho,
+    fvMatrix<scalar>& eqn,
+    const label fieldI
+)
+{
+    const uniformDimensionedVectorField& g =
+        mesh_.lookupObject<uniformDimensionedVectorField>("g");
+
+    const volVectorField& U = mesh_.lookupObject<volVectorField>(UName_);
+
+    eqn += rho*(U&g);
+}
+
+
+// ************************************************************************* //
diff --git a/src/fvOptions/sources/derived/buoyancyEnergy/buoyancyEnergy.H b/src/fvOptions/sources/derived/buoyancyEnergy/buoyancyEnergy.H
new file mode 100644
index 00000000000..7c59a950acb
--- /dev/null
+++ b/src/fvOptions/sources/derived/buoyancyEnergy/buoyancyEnergy.H
@@ -0,0 +1,128 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+Class
+    Foam::fv::buoyancyEnergy
+
+Description
+    Calculates and applies the buoyancy energy source rho*(U&g) to the energy
+    equation.
+
+    \heading Source usage
+    Example usage:
+    \verbatim
+    buoyancyEnergyCoeffs
+    {
+        fieldNames      (h);                    // Name of energy field
+    }
+    \endverbatim
+
+SourceFiles
+    buoyancyEnergy.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef buoyancyEnergy_H
+#define buoyancyEnergy_H
+
+#include "fvOption.H"
+#include "uniformDimensionedFields.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace fv
+{
+
+/*---------------------------------------------------------------------------*\
+               Class buoyancyEnergy Declaration
+\*---------------------------------------------------------------------------*/
+
+class buoyancyEnergy
+:
+    public option
+{
+    // Private data
+
+        //- Name of velocity field; default = U
+        word UName_;
+
+
+    // Private Member Functions
+
+        //- Disallow default bitwise copy construct
+        buoyancyEnergy(const buoyancyEnergy&);
+
+        //- Disallow default bitwise assignment
+        void operator=(const buoyancyEnergy&);
+
+
+public:
+
+    //- Runtime type information
+    TypeName("buoyancyEnergy");
+
+
+    // Constructors
+
+        //- Construct from explicit source name and mesh
+        buoyancyEnergy
+        (
+            const word& sourceName,
+            const word& modelType,
+            const dictionary& dict,
+            const fvMesh& mesh
+        );
+
+
+    // Member Functions
+
+        // Evaluate
+
+            //- Add explicit contribution to compressible momentum equation
+            virtual void addSup
+            (
+                const volScalarField& rho,
+                fvMatrix<scalar>& eqn,
+                const label fieldI
+            );
+
+
+        // IO
+
+            //- Read source dictionary
+            virtual bool read(const dictionary& dict);
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace fv
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/fvOptions/sources/derived/buoyancyEnergy/buoyancyEnergyIO.C b/src/fvOptions/sources/derived/buoyancyEnergy/buoyancyEnergyIO.C
new file mode 100644
index 00000000000..c5c25d64e24
--- /dev/null
+++ b/src/fvOptions/sources/derived/buoyancyEnergy/buoyancyEnergyIO.C
@@ -0,0 +1,38 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "buoyancyEnergy.H"
+
+// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
+
+bool Foam::fv::buoyancyEnergy::read(const dictionary& dict)
+{
+    NotImplemented;
+
+    return false;
+}
+
+
+// ************************************************************************* //
diff --git a/src/fvOptions/sources/derived/buoyancyForce/buoyancyForce.C b/src/fvOptions/sources/derived/buoyancyForce/buoyancyForce.C
new file mode 100644
index 00000000000..63a0195e40c
--- /dev/null
+++ b/src/fvOptions/sources/derived/buoyancyForce/buoyancyForce.C
@@ -0,0 +1,96 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "buoyancyForce.H"
+#include "fvMatrices.H"
+#include "addToRunTimeSelectionTable.H"
+
+// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace fv
+{
+    defineTypeNameAndDebug(buoyancyForce, 0);
+
+    addToRunTimeSelectionTable
+    (
+        option,
+        buoyancyForce,
+        dictionary
+    );
+}
+}
+
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+Foam::fv::buoyancyForce::buoyancyForce
+(
+    const word& sourceName,
+    const word& modelType,
+    const dictionary& dict,
+    const fvMesh& mesh
+)
+:
+    option(sourceName, modelType, dict, mesh),
+    g_
+    (
+        IOobject
+        (
+            "g",
+            mesh.time().constant(),
+            mesh,
+            IOobject::MUST_READ,
+            IOobject::NO_WRITE
+        )
+    )
+{
+    coeffs_.lookup("fieldNames") >> fieldNames_;
+
+    if (fieldNames_.size() != 1)
+    {
+        FatalErrorInFunction
+            << "settings are:" << fieldNames_ << exit(FatalError);
+    }
+
+    applied_.setSize(fieldNames_.size(), false);
+}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+void Foam::fv::buoyancyForce::addSup
+(
+    const volScalarField& rho,
+    fvMatrix<vector>& eqn,
+    const label fieldI
+)
+{
+    eqn += rho*g_;
+}
+
+
+// ************************************************************************* //
diff --git a/src/fvOptions/sources/derived/buoyancyForce/buoyancyForce.H b/src/fvOptions/sources/derived/buoyancyForce/buoyancyForce.H
new file mode 100644
index 00000000000..a1ac3cc2ad6
--- /dev/null
+++ b/src/fvOptions/sources/derived/buoyancyForce/buoyancyForce.H
@@ -0,0 +1,127 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+Class
+    Foam::fv::buoyancyForce
+
+Description
+    Calculates and applies the buoyancy force rho*g to the momentum equation
+    corresponding to the specified velocity field.
+
+    \heading Source usage
+    Example usage:
+    \verbatim
+    buoyancyForceCoeffs
+    {
+        fieldNames      (U);                    // Name of velocity field
+    }
+    \endverbatim
+
+SourceFiles
+    buoyancyForce.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef buoyancyForce_H
+#define buoyancyForce_H
+
+#include "fvOption.H"
+#include "uniformDimensionedFields.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace fv
+{
+
+/*---------------------------------------------------------------------------*\
+               Class buoyancyForce Declaration
+\*---------------------------------------------------------------------------*/
+
+class buoyancyForce
+:
+    public option
+{
+    // Private data
+
+        uniformDimensionedVectorField g_;
+
+
+    // Private Member Functions
+
+        //- Disallow default bitwise copy construct
+        buoyancyForce(const buoyancyForce&);
+
+        //- Disallow default bitwise assignment
+        void operator=(const buoyancyForce&);
+
+
+public:
+
+    //- Runtime type information
+    TypeName("buoyancyForce");
+
+
+    // Constructors
+
+        //- Construct from explicit source name and mesh
+        buoyancyForce
+        (
+            const word& sourceName,
+            const word& modelType,
+            const dictionary& dict,
+            const fvMesh& mesh
+        );
+
+
+    // Member Functions
+
+        // Evaluate
+
+            //- Add explicit contribution to compressible momentum equation
+            virtual void addSup
+            (
+                const volScalarField& rho,
+                fvMatrix<vector>& eqn,
+                const label fieldI
+            );
+
+
+        // IO
+
+            //- Read source dictionary
+            virtual bool read(const dictionary& dict);
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace fv
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/fvOptions/sources/derived/buoyancyForce/buoyancyForceIO.C b/src/fvOptions/sources/derived/buoyancyForce/buoyancyForceIO.C
new file mode 100644
index 00000000000..223d42cfa19
--- /dev/null
+++ b/src/fvOptions/sources/derived/buoyancyForce/buoyancyForceIO.C
@@ -0,0 +1,38 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "buoyancyForce.H"
+
+// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
+
+bool Foam::fv::buoyancyForce::read(const dictionary& dict)
+{
+    NotImplemented;
+
+    return false;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/g b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/g
deleted file mode 100644
index 508d6584943..00000000000
--- a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/g
+++ /dev/null
@@ -1,22 +0,0 @@
-/*--------------------------------*- 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       uniformDimensionedVectorField;
-    location    "constant";
-    object      g;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-dimensions      [0 1 -2 0 0 0 0];
-value           (0 0 0);
-
-
-// ************************************************************************* //
diff --git a/tutorials/combustion/engineFoam/kivaTest/constant/g b/tutorials/combustion/engineFoam/kivaTest/constant/g
deleted file mode 100644
index 508d6584943..00000000000
--- a/tutorials/combustion/engineFoam/kivaTest/constant/g
+++ /dev/null
@@ -1,22 +0,0 @@
-/*--------------------------------*- 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       uniformDimensionedVectorField;
-    location    "constant";
-    object      g;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-dimensions      [0 1 -2 0 0 0 0];
-value           (0 0 0);
-
-
-// ************************************************************************* //
diff --git a/tutorials/combustion/reactingFoam/ras/counterFlowFlame2D/constant/g b/tutorials/combustion/reactingFoam/ras/counterFlowFlame2D/constant/g
deleted file mode 100644
index 508d6584943..00000000000
--- a/tutorials/combustion/reactingFoam/ras/counterFlowFlame2D/constant/g
+++ /dev/null
@@ -1,22 +0,0 @@
-/*--------------------------------*- 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       uniformDimensionedVectorField;
-    location    "constant";
-    object      g;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-dimensions      [0 1 -2 0 0 0 0];
-value           (0 0 0);
-
-
-// ************************************************************************* //
diff --git a/tutorials/combustion/reactingFoam/ras/counterFlowFlame2DLTS/constant/g b/tutorials/combustion/reactingFoam/ras/counterFlowFlame2DLTS/constant/g
deleted file mode 100644
index 508d6584943..00000000000
--- a/tutorials/combustion/reactingFoam/ras/counterFlowFlame2DLTS/constant/g
+++ /dev/null
@@ -1,22 +0,0 @@
-/*--------------------------------*- 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       uniformDimensionedVectorField;
-    location    "constant";
-    object      g;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-dimensions      [0 1 -2 0 0 0 0];
-value           (0 0 0);
-
-
-// ************************************************************************* //
-- 
GitLab


From e5168727995e4e4080e39250960a3478c52d32f8 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Mon, 23 Nov 2015 13:49:03 +0000
Subject: [PATCH 099/141] TurbulenceModels: Correct nut during construction for
 single-phase solvers only. For multiphase solvers the phase construction is
 not complete at this point.

---
 .../RAS/LamBremhorstKE/LamBremhorstKE.C              |  9 ++++++++-
 .../RAS/LienCubicKE/LienCubicKE.C                    |  9 ++++++++-
 .../RAS/LienLeschziner/LienLeschziner.C              |  9 ++++++++-
 .../RAS/ShihQuadraticKE/ShihQuadraticKE.C            |  9 ++++++++-
 .../turbulentTransportModels/RAS/qZeta/qZeta.C       |  9 ++++++++-
 .../RAS/LaheyKEpsilon/LaheyKEpsilon.C                |  4 ++--
 .../LES/DeardorffDiffStress/DeardorffDiffStress.C    | 11 +++++++++--
 .../turbulenceModels/LES/Smagorinsky/Smagorinsky.C   |  9 ++++++++-
 .../LES/SpalartAllmarasDES/SpalartAllmarasDES.C      |  9 ++++++++-
 .../turbulenceModels/LES/WALE/WALE.C                 |  9 ++++++++-
 .../turbulenceModels/LES/dynamicKEqn/dynamicKEqn.C   |  9 ++++++++-
 .../LES/dynamicLagrangian/dynamicLagrangian.C        |  9 ++++++++-
 .../turbulenceModels/LES/kEqn/kEqn.C                 |  9 ++++++++-
 src/TurbulenceModels/turbulenceModels/RAS/LRR/LRR.C  | 12 ++++++++++--
 .../RAS/LaunderSharmaKE/LaunderSharmaKE.C            |  9 ++++++++-
 .../turbulenceModels/RAS/RNGkEpsilon/RNGkEpsilon.C   |  9 ++++++++-
 src/TurbulenceModels/turbulenceModels/RAS/SSG/SSG.C  | 12 ++++++++++--
 .../RAS/SpalartAllmaras/SpalartAllmaras.C            |  9 ++++++++-
 .../turbulenceModels/RAS/kEpsilon/kEpsilon.C         |  9 ++++++++-
 .../turbulenceModels/RAS/kOmega/kOmega.C             |  9 ++++++++-
 .../turbulenceModels/RAS/kOmegaSST/kOmegaSST.C       |  9 ++++++++-
 .../turbulenceModels/RAS/realizableKE/realizableKE.C |  9 ++++++++-
 src/TurbulenceModels/turbulenceModels/RAS/v2f/v2f.C  |  9 ++++++++-
 23 files changed, 183 insertions(+), 27 deletions(-)

diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LamBremhorstKE/LamBremhorstKE.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LamBremhorstKE/LamBremhorstKE.C
index 1364f2cea28..d2417a85307 100644
--- a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LamBremhorstKE/LamBremhorstKE.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LamBremhorstKE/LamBremhorstKE.C
@@ -180,8 +180,15 @@ LamBremhorstKE::LamBremhorstKE
 
     if (type == typeName)
     {
-        correctNut();
         printCoeffs(type);
+
+        // Correct nut for single-phase solvers only.
+        // For multiphase solvers the phase construction is not complete
+        // at this point.
+        if (isType<geometricOneField>(alpha))
+        {
+            correctNut();
+        }
     }
 }
 
diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKE/LienCubicKE.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKE/LienCubicKE.C
index 4183371298f..440517134f0 100644
--- a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKE/LienCubicKE.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKE/LienCubicKE.C
@@ -330,8 +330,15 @@ LienCubicKE::LienCubicKE
 
     if (type == typeName)
     {
-        correctNut();
         printCoeffs(type);
+
+        // Correct nut for single-phase solvers only.
+        // For multiphase solvers the phase construction is not complete
+        // at this point.
+        if (isType<geometricOneField>(alpha))
+        {
+            correctNut();
+        }
     }
 }
 
diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienLeschziner/LienLeschziner.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienLeschziner/LienLeschziner.C
index 40f50293125..29b5aa0114f 100644
--- a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienLeschziner/LienLeschziner.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienLeschziner/LienLeschziner.C
@@ -224,8 +224,15 @@ LienLeschziner::LienLeschziner
 
     if (type == typeName)
     {
-        correctNut();
         printCoeffs(type);
+
+        // Correct nut for single-phase solvers only.
+        // For multiphase solvers the phase construction is not complete
+        // at this point.
+        if (isType<geometricOneField>(alpha))
+        {
+            correctNut();
+        }
     }
 }
 
diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/ShihQuadraticKE/ShihQuadraticKE.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/ShihQuadraticKE/ShihQuadraticKE.C
index 7c764f47470..38dc7ab62b4 100644
--- a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/ShihQuadraticKE/ShihQuadraticKE.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/ShihQuadraticKE/ShihQuadraticKE.C
@@ -222,8 +222,15 @@ ShihQuadraticKE::ShihQuadraticKE
 
     if (type == typeName)
     {
-        correctNut();
         printCoeffs(type);
+
+        // Correct nut for single-phase solvers only.
+        // For multiphase solvers the phase construction is not complete
+        // at this point.
+        if (isType<geometricOneField>(alpha))
+        {
+            correctNut();
+        }
     }
 }
 
diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/qZeta/qZeta.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/qZeta/qZeta.C
index a12b61f1a64..bc57fd4200e 100644
--- a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/qZeta/qZeta.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/qZeta/qZeta.C
@@ -207,8 +207,15 @@ qZeta::qZeta
 
     if (type == typeName)
     {
-        correctNut();
         printCoeffs(type);
+
+        // Correct nut for single-phase solvers only.
+        // For multiphase solvers the phase construction is not complete
+        // at this point.
+        if (isType<geometricOneField>(alpha))
+        {
+            correctNut();
+        }
     }
 }
 
diff --git a/src/TurbulenceModels/phaseCompressible/RAS/LaheyKEpsilon/LaheyKEpsilon.C b/src/TurbulenceModels/phaseCompressible/RAS/LaheyKEpsilon/LaheyKEpsilon.C
index f523fce5a0b..c7d0d22e442 100644
--- a/src/TurbulenceModels/phaseCompressible/RAS/LaheyKEpsilon/LaheyKEpsilon.C
+++ b/src/TurbulenceModels/phaseCompressible/RAS/LaheyKEpsilon/LaheyKEpsilon.C
@@ -106,10 +106,10 @@ LaheyKEpsilon<BasicTurbulenceModel>::LaheyKEpsilon
 {
     if (type == typeName)
     {
+        this->printCoeffs(type);
+
         // Cannot correct nut yet: construction of the phases is not complete
         // correctNut();
-
-        this->printCoeffs(type);
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/LES/DeardorffDiffStress/DeardorffDiffStress.C b/src/TurbulenceModels/turbulenceModels/LES/DeardorffDiffStress/DeardorffDiffStress.C
index 31526fbf0c1..5a00433a347 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/DeardorffDiffStress/DeardorffDiffStress.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/DeardorffDiffStress/DeardorffDiffStress.C
@@ -110,9 +110,16 @@ DeardorffDiffStress<BasicTurbulenceModel>::DeardorffDiffStress
 {
     if (type == typeName)
     {
-        this->boundNormalStress(this->R_);
-        correctNut();
         this->printCoeffs(type);
+        this->boundNormalStress(this->R_);
+
+        // Correct nut for single-phase solvers only.
+        // For multiphase solvers the phase construction is not complete
+        // at this point.
+        if (isType<geometricOneField>(alpha))
+        {
+            correctNut();
+        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/LES/Smagorinsky/Smagorinsky.C b/src/TurbulenceModels/turbulenceModels/LES/Smagorinsky/Smagorinsky.C
index c3549fdd885..7de1f91f1ed 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/Smagorinsky/Smagorinsky.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/Smagorinsky/Smagorinsky.C
@@ -113,8 +113,15 @@ Smagorinsky<BasicTurbulenceModel>::Smagorinsky
 {
     if (type == typeName)
     {
-        correctNut();
         this->printCoeffs(type);
+
+        // Correct nut for single-phase solvers only.
+        // For multiphase solvers the phase construction is not complete
+        // at this point.
+        if (isType<geometricOneField>(alpha))
+        {
+            correctNut();
+        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.C b/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.C
index 53e22dd3847..fa6ddc86e3e 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.C
@@ -318,8 +318,15 @@ SpalartAllmarasDES<BasicTurbulenceModel>::SpalartAllmarasDES
 {
     if (type == typeName)
     {
-        correctNut();
         this->printCoeffs(type);
+
+        // Correct nut for single-phase solvers only.
+        // For multiphase solvers the phase construction is not complete
+        // at this point.
+        if (isType<geometricOneField>(alpha))
+        {
+            correctNut();
+        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/LES/WALE/WALE.C b/src/TurbulenceModels/turbulenceModels/LES/WALE/WALE.C
index 674c889b1c4..3879d5fffe1 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/WALE/WALE.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/WALE/WALE.C
@@ -143,8 +143,15 @@ WALE<BasicTurbulenceModel>::WALE
 {
     if (type == typeName)
     {
-        correctNut();
         this->printCoeffs(type);
+
+        // Correct nut for single-phase solvers only.
+        // For multiphase solvers the phase construction is not complete
+        // at this point.
+        if (isType<geometricOneField>(alpha))
+        {
+            correctNut();
+        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/LES/dynamicKEqn/dynamicKEqn.C b/src/TurbulenceModels/turbulenceModels/LES/dynamicKEqn/dynamicKEqn.C
index 9f98bea0247..7fd40001837 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/dynamicKEqn/dynamicKEqn.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/dynamicKEqn/dynamicKEqn.C
@@ -185,8 +185,15 @@ dynamicKEqn<BasicTurbulenceModel>::dynamicKEqn
 
     if (type == typeName)
     {
-        correctNut();
         this->printCoeffs(type);
+
+        // Correct nut for single-phase solvers only.
+        // For multiphase solvers the phase construction is not complete
+        // at this point.
+        if (isType<geometricOneField>(alpha))
+        {
+            correctNut();
+        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/LES/dynamicLagrangian/dynamicLagrangian.C b/src/TurbulenceModels/turbulenceModels/LES/dynamicLagrangian/dynamicLagrangian.C
index 15908a4ffee..7c5c403fcc8 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/dynamicLagrangian/dynamicLagrangian.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/dynamicLagrangian/dynamicLagrangian.C
@@ -122,8 +122,15 @@ dynamicLagrangian<BasicTurbulenceModel>::dynamicLagrangian
 {
     if (type == typeName)
     {
-        correctNut();
         this->printCoeffs(type);
+
+        // Correct nut for single-phase solvers only.
+        // For multiphase solvers the phase construction is not complete
+        // at this point.
+        if (isType<geometricOneField>(alpha))
+        {
+            correctNut();
+        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.C b/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.C
index eda73f69294..c02556ea037 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.C
@@ -113,8 +113,15 @@ kEqn<BasicTurbulenceModel>::kEqn
 
     if (type == typeName)
     {
-        correctNut();
         this->printCoeffs(type);
+
+        // Correct nut for single-phase solvers only.
+        // For multiphase solvers the phase construction is not complete
+        // at this point.
+        if (isType<geometricOneField>(alpha))
+        {
+            correctNut();
+        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/LRR/LRR.C b/src/TurbulenceModels/turbulenceModels/RAS/LRR/LRR.C
index 7dfa45a031a..fe33923d197 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/LRR/LRR.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/LRR/LRR.C
@@ -200,11 +200,19 @@ LRR<BasicTurbulenceModel>::LRR
 {
     if (type == typeName)
     {
+        this->printCoeffs(type);
+
         this->boundNormalStress(this->R_);
         bound(epsilon_, this->epsilonMin_);
         k_ = 0.5*tr(this->R_);
-        correctNut();
-        this->printCoeffs(type);
+
+        // Correct nut for single-phase solvers only.
+        // For multiphase solvers the phase construction is not complete
+        // at this point.
+        if (isType<geometricOneField>(alpha))
+        {
+            correctNut();
+        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/LaunderSharmaKE/LaunderSharmaKE.C b/src/TurbulenceModels/turbulenceModels/RAS/LaunderSharmaKE/LaunderSharmaKE.C
index ef6809fcfc7..e5ef40222a7 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/LaunderSharmaKE/LaunderSharmaKE.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/LaunderSharmaKE/LaunderSharmaKE.C
@@ -204,8 +204,15 @@ LaunderSharmaKE<BasicTurbulenceModel>::LaunderSharmaKE
 
     if (type == typeName)
     {
-        correctNut();
         this->printCoeffs(type);
+
+        // Correct nut for single-phase solvers only.
+        // For multiphase solvers the phase construction is not complete
+        // at this point.
+        if (isType<geometricOneField>(alpha))
+        {
+            correctNut();
+        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/RNGkEpsilon/RNGkEpsilon.C b/src/TurbulenceModels/turbulenceModels/RAS/RNGkEpsilon/RNGkEpsilon.C
index 5406367db63..18d22249274 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/RNGkEpsilon/RNGkEpsilon.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/RNGkEpsilon/RNGkEpsilon.C
@@ -205,8 +205,15 @@ RNGkEpsilon<BasicTurbulenceModel>::RNGkEpsilon
 
     if (type == typeName)
     {
-        correctNut();
         this->printCoeffs(type);
+
+        // Correct nut for single-phase solvers only.
+        // For multiphase solvers the phase construction is not complete
+        // at this point.
+        if (isType<geometricOneField>(alpha))
+        {
+            correctNut();
+        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/SSG/SSG.C b/src/TurbulenceModels/turbulenceModels/RAS/SSG/SSG.C
index 4d61b3db653..34798924b69 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/SSG/SSG.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/SSG/SSG.C
@@ -209,11 +209,19 @@ SSG<BasicTurbulenceModel>::SSG
 {
     if (type == typeName)
     {
+        this->printCoeffs(type);
+
         this->boundNormalStress(this->R_);
         bound(epsilon_, this->epsilonMin_);
         k_ = 0.5*tr(this->R_);
-        correctNut();
-        this->printCoeffs(type);
+
+        // Correct nut for single-phase solvers only.
+        // For multiphase solvers the phase construction is not complete
+        // at this point.
+        if (isType<geometricOneField>(alpha))
+        {
+            correctNut();
+        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C b/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C
index 8c5e5b2da53..50f9a989f0b 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C
@@ -255,8 +255,15 @@ SpalartAllmaras<BasicTurbulenceModel>::SpalartAllmaras
 {
     if (type == typeName)
     {
-        correctNut();
         this->printCoeffs(type);
+
+        // Correct nut for single-phase solvers only.
+        // For multiphase solvers the phase construction is not complete
+        // at this point.
+        if (isType<geometricOneField>(alpha))
+        {
+            correctNut();
+        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C b/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C
index e4a45b01fb8..7cf2b1fc10d 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C
@@ -188,7 +188,14 @@ kEpsilon<BasicTurbulenceModel>::kEpsilon
     if (type == typeName)
     {
         this->printCoeffs(type);
-        correctNut();
+
+        // Correct nut for single-phase solvers only.
+        // For multiphase solvers the phase construction is not complete
+        // at this point.
+        if (isType<geometricOneField>(alpha))
+        {
+            correctNut();
+        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/kOmega/kOmega.C b/src/TurbulenceModels/turbulenceModels/RAS/kOmega/kOmega.C
index 412a6b3e6b4..4578b5811f7 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/kOmega/kOmega.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/kOmega/kOmega.C
@@ -147,8 +147,15 @@ kOmega<BasicTurbulenceModel>::kOmega
 
     if (type == typeName)
     {
-        correctNut();
         this->printCoeffs(type);
+
+        // Correct nut for single-phase solvers only.
+        // For multiphase solvers the phase construction is not complete
+        // at this point.
+        if (isType<geometricOneField>(alpha))
+        {
+            correctNut();
+        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.C b/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.C
index 76fd9cf0c35..f634aa65beb 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.C
@@ -350,8 +350,15 @@ kOmegaSST<BasicTurbulenceModel>::kOmegaSST
 
     if (type == typeName)
     {
-        correctNut();
         this->printCoeffs(type);
+
+        // Correct nut for single-phase solvers only.
+        // For multiphase solvers the phase construction is not complete
+        // at this point.
+        if (isType<geometricOneField>(alpha))
+        {
+            correctNut();
+        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/realizableKE/realizableKE.C b/src/TurbulenceModels/turbulenceModels/RAS/realizableKE/realizableKE.C
index 597d21f1ebb..c3428a64c97 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/realizableKE/realizableKE.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/realizableKE/realizableKE.C
@@ -226,8 +226,15 @@ realizableKE<BasicTurbulenceModel>::realizableKE
 
     if (type == typeName)
     {
-        correctNut();
         this->printCoeffs(type);
+
+        // Correct nut for single-phase solvers only.
+        // For multiphase solvers the phase construction is not complete
+        // at this point.
+        if (isType<geometricOneField>(alpha))
+        {
+            correctNut();
+        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/v2f/v2f.C b/src/TurbulenceModels/turbulenceModels/RAS/v2f/v2f.C
index 1ccad744858..95cb209a45d 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/v2f/v2f.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/v2f/v2f.C
@@ -239,7 +239,14 @@ v2f<BasicTurbulenceModel>::v2f
     if (type == typeName)
     {
         this->printCoeffs(type);
-        correctNut();
+
+        // Correct nut for single-phase solvers only.
+        // For multiphase solvers the phase construction is not complete
+        // at this point.
+        if (isType<geometricOneField>(alpha))
+        {
+            correctNut();
+        }
     }
 }
 
-- 
GitLab


From f147cba2450f7d6fb7580845ce3fc30e8283db5f Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Mon, 23 Nov 2015 14:22:36 +0000
Subject: [PATCH 100/141] alphatFixedDmdtWallBoilingWallFunction: Added
 relaxation Patch provided by Juho Peltola

---
 ...xedDmdtWallBoilingWallFunctionFvPatchScalarField.C | 11 ++++++++---
 ...xedDmdtWallBoilingWallFunctionFvPatchScalarField.H |  5 ++++-
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C
index 76b5879ac1d..e19f05b7abb 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C
@@ -27,12 +27,11 @@ License
 #include "compressibleTurbulenceModel.H"
 #include "fvPatchFieldMapper.H"
 #include "volFields.H"
-#include "addToRunTimeSelectionTable.H"
 #include "twoPhaseSystem.H"
-#include "phaseSystem.H"
 #include "ThermalPhaseChangePhaseSystem.H"
 #include "MomentumTransferPhaseSystem.H"
 #include "wallFvPatch.H"
+#include "addToRunTimeSelectionTable.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -131,6 +130,7 @@ alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField
     Cmu_(0.09),
     kappa_(0.41),
     E_(9.8),
+    dmdtRelax_(1.0),
     fixedDmdt_(0.0)
 {
     checkType();
@@ -150,6 +150,7 @@ alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField
     Cmu_(dict.lookupOrDefault<scalar>("Cmu", 0.09)),
     kappa_(dict.lookupOrDefault<scalar>("kappa", 0.41)),
     E_(dict.lookupOrDefault<scalar>("E", 9.8)),
+    dmdtRelax_(dict.lookupOrDefault<scalar>("dmdtRelax", 1.0)),
     fixedDmdt_(dict.lookupOrDefault<scalar>("fixedDmdt", 0.0))
 {}
 
@@ -168,6 +169,7 @@ alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField
     Cmu_(ptf.Cmu_),
     kappa_(ptf.kappa_),
     E_(ptf.E_),
+    dmdtRelax_(ptf.dmdtRelax_),
     fixedDmdt_(ptf.fixedDmdt_)
 {}
 
@@ -183,6 +185,7 @@ alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField
     Cmu_(awfpsf.Cmu_),
     kappa_(awfpsf.kappa_),
     E_(awfpsf.E_),
+    dmdtRelax_(awfpsf.dmdtRelax_),
     fixedDmdt_(awfpsf.fixedDmdt_)
 {}
 
@@ -199,6 +202,7 @@ alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField
     Cmu_(awfpsf.Cmu_),
     kappa_(awfpsf.kappa_),
     E_(awfpsf.E_),
+    dmdtRelax_(awfpsf.dmdtRelax_),
     fixedDmdt_(awfpsf.fixedDmdt_)
 {}
 
@@ -328,7 +332,7 @@ void alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField::updateCoeffs()
         alphatConv[faceI] = max(0.0, alphaEff - alphaw[faceI]);
     }
 
-    dmdt_ = fixedDmdt_;
+    dmdt_ = (1 - dmdtRelax_)*dmdt_ + dmdtRelax_*fixedDmdt_;
 
     operator==(alphatConv);
 
@@ -346,6 +350,7 @@ void alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField::write
     os.writeKeyword("Cmu") << Cmu_ << token::END_STATEMENT << nl;
     os.writeKeyword("kappa") << kappa_ << token::END_STATEMENT << nl;
     os.writeKeyword("E") << E_ << token::END_STATEMENT << nl;
+    os.writeKeyword("dmdtRelax") << dmdtRelax_ << token::END_STATEMENT << nl;
     os.writeKeyword("fixedDmdt") << fixedDmdt_ << token::END_STATEMENT << nl;
     dmdt_.writeEntry("dmdt", os);
     writeEntry("value", os);
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.H
index bd9426fdb6b..1d34ff1b08c 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.H
@@ -73,7 +73,10 @@ class alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField
         //- E coefficient
         scalar E_;
 
-        //- E coefficient
+        //- dmdt relaxationFactor
+        scalar dmdtRelax_;
+
+        //- Reference dmdt
         scalar fixedDmdt_;
 
 
-- 
GitLab


From 64690f39cc2edc61830dd724d9a7d78c9e40dff9 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Mon, 23 Nov 2015 14:50:05 +0000
Subject: [PATCH 101/141] fixedMultiPhaseHeatFlux: Calculates a wall
 temperature that produces the specified overall wall heat flux across all the
 phases in an Eulerian multi-phase simulation.

Intended to be used with copiedFixedValue to ensure that phase wall
temperature are consistent:
    - Set 'fixedMultiPhaseHeatFlux' boundary for one of the phases
    - Use 'copiedFixedValue' for all the other phases.

Based on code provided by Juho Peltola
---
 .../Make/files                                |   2 +
 .../copiedFixedValueFvPatchScalarField.C      | 130 ++++++++++++
 .../copiedFixedValueFvPatchScalarField.H      | 136 ++++++++++++
 ...ixedMultiPhaseHeatFluxFvPatchScalarField.C | 195 ++++++++++++++++++
 ...ixedMultiPhaseHeatFluxFvPatchScalarField.H | 142 +++++++++++++
 5 files changed, 605 insertions(+)
 create mode 100644 applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/copiedFixedValue/copiedFixedValueFvPatchScalarField.C
 create mode 100644 applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/copiedFixedValue/copiedFixedValueFvPatchScalarField.H
 create mode 100644 applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.C
 create mode 100644 applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.H

diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/Make/files b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/Make/files
index 10a0e8679ad..facf0f0f05c 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/Make/files
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/Make/files
@@ -36,5 +36,7 @@ kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJack
 kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.C
 
 derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C
+derivedFvPatchFields/copiedFixedValue/copiedFixedValueFvPatchScalarField.C
+derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.C
 
 LIB = $(FOAM_LIBBIN)/libtwoPhaseReactingTurbulenceModels
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/copiedFixedValue/copiedFixedValueFvPatchScalarField.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/copiedFixedValue/copiedFixedValueFvPatchScalarField.C
new file mode 100644
index 00000000000..2f7abc70151
--- /dev/null
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/copiedFixedValue/copiedFixedValueFvPatchScalarField.C
@@ -0,0 +1,130 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "copiedFixedValueFvPatchScalarField.H"
+#include "fvPatchFieldMapper.H"
+#include "volFields.H"
+#include "addToRunTimeSelectionTable.H"
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+Foam::copiedFixedValueFvPatchScalarField::copiedFixedValueFvPatchScalarField
+(
+    const fvPatch& p,
+    const DimensionedField<scalar, volMesh>& iF
+)
+:
+    fixedValueFvPatchScalarField(p, iF),
+    sourceFieldName_("default")
+{}
+
+
+Foam::copiedFixedValueFvPatchScalarField::copiedFixedValueFvPatchScalarField
+(
+    const fvPatch& p,
+    const DimensionedField<scalar, volMesh>& iF,
+    const dictionary& dict
+)
+:
+    fixedValueFvPatchScalarField(p, iF, dict),
+    sourceFieldName_(dict.lookup("sourceFieldName"))
+{}
+
+
+Foam::copiedFixedValueFvPatchScalarField::copiedFixedValueFvPatchScalarField
+(
+    const copiedFixedValueFvPatchScalarField& ptf,
+    const fvPatch& p,
+    const DimensionedField<scalar, volMesh>& iF,
+    const fvPatchFieldMapper& mapper
+)
+:
+    fixedValueFvPatchScalarField(ptf, p, iF, mapper),
+    sourceFieldName_(ptf.sourceFieldName_)
+{}
+
+
+Foam::copiedFixedValueFvPatchScalarField::copiedFixedValueFvPatchScalarField
+(
+    const copiedFixedValueFvPatchScalarField& awfpsf
+)
+:
+    fixedValueFvPatchScalarField(awfpsf),
+    sourceFieldName_(awfpsf.sourceFieldName_)
+{}
+
+
+Foam::copiedFixedValueFvPatchScalarField::copiedFixedValueFvPatchScalarField
+(
+    const copiedFixedValueFvPatchScalarField& awfpsf,
+    const DimensionedField<scalar, volMesh>& iF
+)
+:
+    fixedValueFvPatchScalarField(awfpsf, iF),
+    sourceFieldName_(awfpsf.sourceFieldName_)
+{}
+
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+void Foam::copiedFixedValueFvPatchScalarField::updateCoeffs()
+{
+    if (this->updated())
+    {
+        return;
+    }
+
+    operator==
+    (
+        patch().lookupPatchField<volScalarField, scalar>(sourceFieldName_)
+    );
+
+    fixedValueFvPatchScalarField::updateCoeffs();
+}
+
+
+void Foam::copiedFixedValueFvPatchScalarField::write(Ostream& os) const
+{
+    fvPatchField<scalar>::write(os);
+    os.writeKeyword("sourceFieldName")
+        << sourceFieldName_ << token::END_STATEMENT << nl;
+    writeEntry("value", os);
+}
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+    makePatchTypeField
+    (
+        fvPatchScalarField,
+        copiedFixedValueFvPatchScalarField
+    );
+}
+
+
+// ************************************************************************* //
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/copiedFixedValue/copiedFixedValueFvPatchScalarField.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/copiedFixedValue/copiedFixedValueFvPatchScalarField.H
new file mode 100644
index 00000000000..2db6a151ce9
--- /dev/null
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/copiedFixedValue/copiedFixedValueFvPatchScalarField.H
@@ -0,0 +1,136 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+Class
+    Foam::copiedFixedValueFvPatchScalarField
+
+Group
+    grpCmpWallFunctions
+
+Description
+    Copies the boundary values from a user specified field.
+
+SeeAlso
+    Foam::fixedValueFvPatchField
+
+SourceFiles
+    copiedFixedValueFvPatchScalarField.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef copiedFixedValueFvPatchScalarField_H
+#define copiedFixedValueFvPatchScalarField_H
+
+#include "fixedValueFvPatchFields.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+/*---------------------------------------------------------------------------*\
+            Class copiedFixedValueFvPatchScalarField Declaration
+\*---------------------------------------------------------------------------*/
+
+class copiedFixedValueFvPatchScalarField
+:
+    public fixedValueFvPatchScalarField
+{
+protected:
+
+    // Protected data
+
+        word sourceFieldName_;
+
+public:
+
+    //- Runtime type information
+    TypeName("copiedFixedValue");
+
+
+    // Constructors
+
+        //- Construct from patch and internal field
+        copiedFixedValueFvPatchScalarField
+        (
+            const fvPatch&,
+            const DimensionedField<scalar, volMesh>&
+        );
+
+        //- Construct from patch, internal field and dictionary
+        copiedFixedValueFvPatchScalarField
+        (
+            const fvPatch&,
+            const DimensionedField<scalar, volMesh>&,
+            const dictionary&
+        );
+
+        //- Construct by mapping given
+        //  copiedFixedValueFvPatchScalarField
+        //  onto a new patch
+        copiedFixedValueFvPatchScalarField
+        (
+            const copiedFixedValueFvPatchScalarField&,
+            const fvPatch&,
+            const DimensionedField<scalar, volMesh>&,
+            const fvPatchFieldMapper&
+        );
+
+        //- Construct as copy
+        copiedFixedValueFvPatchScalarField
+        (
+            const copiedFixedValueFvPatchScalarField&
+        );
+
+        //- Construct as copy setting internal field reference
+        copiedFixedValueFvPatchScalarField
+        (
+            const copiedFixedValueFvPatchScalarField&,
+            const DimensionedField<scalar, volMesh>&
+        );
+
+
+    // Member functions
+
+        // Evaluation functions
+
+            //- Update the coefficients associated with the patch field
+            virtual void updateCoeffs();
+
+
+        // I-O
+
+            //- Write
+            virtual void write(Ostream&) const;
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.C
new file mode 100644
index 00000000000..ec4e1a24847
--- /dev/null
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.C
@@ -0,0 +1,195 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "fixedMultiPhaseHeatFluxFvPatchScalarField.H"
+#include "fvPatchFieldMapper.H"
+#include "volFields.H"
+#include "twoPhaseSystem.H"
+#include "ThermalPhaseChangePhaseSystem.H"
+#include "MomentumTransferPhaseSystem.H"
+#include "compressibleTurbulenceModel.H"
+#include "ThermalDiffusivity.H"
+#include "PhaseCompressibleTurbulenceModel.H"
+#include "addToRunTimeSelectionTable.H"
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+Foam::fixedMultiPhaseHeatFluxFvPatchScalarField::
+fixedMultiPhaseHeatFluxFvPatchScalarField
+(
+    const fvPatch& p,
+    const DimensionedField<scalar, volMesh>& iF
+)
+:
+    fixedValueFvPatchScalarField(p, iF),
+    q_(p.size(), 0.0)
+{}
+
+
+Foam::fixedMultiPhaseHeatFluxFvPatchScalarField::
+fixedMultiPhaseHeatFluxFvPatchScalarField
+(
+    const fvPatch& p,
+    const DimensionedField<scalar, volMesh>& iF,
+    const dictionary& dict
+)
+:
+    fixedValueFvPatchScalarField(p, iF, dict),
+    q_("q", dict, p.size())
+{}
+
+
+Foam::fixedMultiPhaseHeatFluxFvPatchScalarField::
+fixedMultiPhaseHeatFluxFvPatchScalarField
+(
+    const fixedMultiPhaseHeatFluxFvPatchScalarField& ptf,
+    const fvPatch& p,
+    const DimensionedField<scalar, volMesh>& iF,
+    const fvPatchFieldMapper& mapper
+)
+:
+    fixedValueFvPatchScalarField(ptf, p, iF, mapper),
+    q_(ptf.q_, mapper)
+{}
+
+
+Foam::fixedMultiPhaseHeatFluxFvPatchScalarField::
+fixedMultiPhaseHeatFluxFvPatchScalarField
+(
+    const fixedMultiPhaseHeatFluxFvPatchScalarField& awfpsf
+)
+:
+    fixedValueFvPatchScalarField(awfpsf),
+    q_(awfpsf.q_)
+{}
+
+
+Foam::fixedMultiPhaseHeatFluxFvPatchScalarField::
+fixedMultiPhaseHeatFluxFvPatchScalarField
+(
+    const fixedMultiPhaseHeatFluxFvPatchScalarField& awfpsf,
+    const DimensionedField<scalar, volMesh>& iF
+)
+:
+    fixedValueFvPatchScalarField(awfpsf, iF),
+    q_(awfpsf.q_)
+{}
+
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+void Foam::fixedMultiPhaseHeatFluxFvPatchScalarField::updateCoeffs()
+{
+    if (updated())
+    {
+        return;
+    }
+
+    // Lookup the fluid model
+    const ThermalPhaseChangePhaseSystem
+    <
+        MomentumTransferPhaseSystem<twoPhaseSystem>
+    >& fluid =
+        refCast
+        <
+            const ThermalPhaseChangePhaseSystem
+            <
+                MomentumTransferPhaseSystem<twoPhaseSystem>
+            >
+        >
+        (
+            db().lookupObject<phaseSystem>("phaseProperties")
+        );
+
+    const scalarField& Tp = *this;
+
+    scalarField A(Tp.size(), scalar(0));
+    scalarField B(Tp.size(), scalar(0));
+    scalarField Q(Tp.size(), scalar(0));
+
+    forAll(fluid.phases(), phasei)
+    {
+        const phaseModel& phase = fluid.phases()[phasei];
+        const fluidThermo& thermo = phase.thermo();
+
+        const fvPatchScalarField& alpha =
+            phase.boundaryField()[patch().index()];
+
+        const fvPatchScalarField& T =
+            thermo.T().boundaryField()[patch().index()];
+
+        const scalarField kappaEff
+        (
+            thermo.kappaEff(phase.turbulence().alphat(), patch().index())
+        );
+
+        if (debug)
+        {
+            scalarField q0(T.snGrad()*alpha*kappaEff);
+            Q += q0;
+
+            Info<< patch().name() << " " << phase.name()
+                << ": Heat flux " << gMin(q0) << " - " << gMax(q0) << endl;
+        }
+
+        A += T.patchInternalField()*alpha*kappaEff*patch().deltaCoeffs();
+        B += alpha*kappaEff*patch().deltaCoeffs();
+    }
+
+    if (debug)
+    {
+        Info<< patch().name() << " " << ": overall heat flux "
+            << gMin(Q) << " - " << gMax(Q) << endl;
+    }
+
+    scalar relax(1);
+    operator==((1 - relax)*Tp + relax*(q_ + A)/(B));
+
+    fixedValueFvPatchScalarField::updateCoeffs();
+}
+
+
+void Foam::fixedMultiPhaseHeatFluxFvPatchScalarField::write(Ostream& os) const
+{
+    fvPatchField<scalar>::write(os);
+    q_.writeEntry("q", os);
+    writeEntry("value", os);
+}
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+    makePatchTypeField
+    (
+        fvPatchScalarField,
+        fixedMultiPhaseHeatFluxFvPatchScalarField
+    );
+}
+
+
+// ************************************************************************* //
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.H
new file mode 100644
index 00000000000..0024fd08e79
--- /dev/null
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.H
@@ -0,0 +1,142 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+Class
+    Foam::fixedMultiPhaseHeatFluxFvPatchScalarField
+
+Group
+    grpCmpWallFunctions
+
+Description
+    Calculates a wall temperature that produces the specified overall wall heat
+    flux across all the phases in an Eulerian multi-phase simulation.
+
+    Intended to be used with copiedFixedValue to ensure that phase wall
+    temperature are consistent:
+        - Set 'fixedMultiPhaseHeatFlux' boundary for one of the phases
+        - Use 'copiedFixedValue' for all the other phases.
+
+SeeAlso
+    Foam::fixedValueFvPatchField
+
+SourceFiles
+    fixedMultiPhaseHeatFluxFvPatchScalarField.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef fixedMultiPhaseHeatFluxFvPatchScalarField_H
+#define fixedMultiPhaseHeatFluxFvPatchScalarField_H
+
+#include "fixedValueFvPatchFields.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+/*---------------------------------------------------------------------------*\
+            Class fixedMultiPhaseHeatFluxFvPatchScalarField Declaration
+\*---------------------------------------------------------------------------*/
+
+class fixedMultiPhaseHeatFluxFvPatchScalarField
+:
+    public fixedValueFvPatchScalarField
+{
+    // Private data
+
+        //- Heat power [W] or flux [W/m2]
+        scalarField q_;
+
+
+public:
+
+    //- Runtime type information
+    TypeName("fixedMultiPhaseHeatFlux");
+
+
+    // Constructors
+
+        //- Construct from patch and internal field
+        fixedMultiPhaseHeatFluxFvPatchScalarField
+        (
+            const fvPatch&,
+            const DimensionedField<scalar, volMesh>&
+        );
+
+        //- Construct from patch, internal field and dictionary
+        fixedMultiPhaseHeatFluxFvPatchScalarField
+        (
+            const fvPatch&,
+            const DimensionedField<scalar, volMesh>&,
+            const dictionary&
+        );
+
+        //- Construct by mapping given
+        //  fixedMultiPhaseHeatFluxFvPatchScalarField
+        //  onto a new patch
+        fixedMultiPhaseHeatFluxFvPatchScalarField
+        (
+            const fixedMultiPhaseHeatFluxFvPatchScalarField&,
+            const fvPatch&,
+            const DimensionedField<scalar, volMesh>&,
+            const fvPatchFieldMapper&
+        );
+
+        //- Construct as copy
+        fixedMultiPhaseHeatFluxFvPatchScalarField
+        (
+            const fixedMultiPhaseHeatFluxFvPatchScalarField&
+        );
+
+        //- Construct as copy setting internal field reference
+        fixedMultiPhaseHeatFluxFvPatchScalarField
+        (
+            const fixedMultiPhaseHeatFluxFvPatchScalarField&,
+            const DimensionedField<scalar, volMesh>&
+        );
+
+
+    // Member functions
+
+        // Evaluation functions
+
+            //- Update the coefficients associated with the patch field
+            virtual void updateCoeffs();
+
+
+        // I-O
+
+            //- Write
+            virtual void write(Ostream&) const;
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
-- 
GitLab


From cb048746719f7ca15dc3f520fdd1bc1b78aafe40 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Mon, 23 Nov 2015 14:59:46 +0000
Subject: [PATCH 102/141] alphatFixedDmdtWallBoilingWallFunction: Obtain the
 turbulence model directly from the phase

---
 ...WallBoilingWallFunctionFvPatchScalarField.C | 18 ++++++------------
 ...fixedMultiPhaseHeatFluxFvPatchScalarField.C |  4 ++--
 2 files changed, 8 insertions(+), 14 deletions(-)

diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C
index e19f05b7abb..58293c7bac7 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C
@@ -24,14 +24,16 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.H"
-#include "compressibleTurbulenceModel.H"
 #include "fvPatchFieldMapper.H"
-#include "volFields.H"
+#include "addToRunTimeSelectionTable.H"
+
 #include "twoPhaseSystem.H"
 #include "ThermalPhaseChangePhaseSystem.H"
 #include "MomentumTransferPhaseSystem.H"
+#include "compressibleTurbulenceModel.H"
+#include "ThermalDiffusivity.H"
+#include "PhaseCompressibleTurbulenceModel.H"
 #include "wallFvPatch.H"
-#include "addToRunTimeSelectionTable.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -242,15 +244,7 @@ void alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField::updateCoeffs()
     const label patchi = patch().index();
 
     // Retrieve turbulence properties from model
-    const compressibleTurbulenceModel& turbModel =
-        db().lookupObject<compressibleTurbulenceModel>
-        (
-            IOobject::groupName
-            (
-                compressibleTurbulenceModel::propertiesName,
-                dimensionedInternalField().group()
-            )
-        );
+    const phaseCompressibleTurbulenceModel& turbModel = liquid.turbulence();
 
     const scalar Cmu25 = pow025(Cmu_);
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.C
index ec4e1a24847..ee5fa39f92b 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.C
@@ -25,14 +25,14 @@ License
 
 #include "fixedMultiPhaseHeatFluxFvPatchScalarField.H"
 #include "fvPatchFieldMapper.H"
-#include "volFields.H"
+#include "addToRunTimeSelectionTable.H"
+
 #include "twoPhaseSystem.H"
 #include "ThermalPhaseChangePhaseSystem.H"
 #include "MomentumTransferPhaseSystem.H"
 #include "compressibleTurbulenceModel.H"
 #include "ThermalDiffusivity.H"
 #include "PhaseCompressibleTurbulenceModel.H"
-#include "addToRunTimeSelectionTable.H"
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-- 
GitLab


From 346b31d9e921eb091a4e8e8f32866a9ad4b68314 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Mon, 23 Nov 2015 16:48:05 +0000
Subject: [PATCH 103/141] snappyHexMesh layerParameters: Increased maxIters to
 20 Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1918
 Patch provided by Richard Jones

maxIters could be made an option input if 20 is not sufficient for
difficult cases.
---
 .../layerParameters/layerParameters.C         | 33 +++++++------------
 .../layerParameters/layerParameters.H         |  3 +-
 2 files changed, 12 insertions(+), 24 deletions(-)

diff --git a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/layerParameters/layerParameters.C b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/layerParameters/layerParameters.C
index ed9dde3a813..49125589a3e 100644
--- a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/layerParameters/layerParameters.C
+++ b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/layerParameters/layerParameters.C
@@ -48,12 +48,9 @@ Foam::scalar Foam::layerParameters::layerExpansionRatio
         return 1.0;
     }
 
-    //scalar totalOverFirst = totalThickness/firstLayerThickess;
-
-    const label maxIters = 10;
+    const label maxIters = 20;
     const scalar tol = 1e-8;
 
-
     if (mag(n-totalOverFirst) < tol)
     {
         return 1.0;
@@ -74,8 +71,6 @@ Foam::scalar Foam::layerParameters::layerExpansionRatio
         maxR = totalOverFirst/(n - 1);
     }
 
-    //Info<< "Solution bounds = (" << minR << ", " << maxR << ")" << nl << endl;
-
     // Starting guess
     scalar r = 0.5*(minR + maxR);
 
@@ -85,14 +80,9 @@ Foam::scalar Foam::layerParameters::layerExpansionRatio
 
         const scalar fx = pow(r, n) - totalOverFirst*r - (1 - totalOverFirst);
         const scalar dfx = n*pow(r, n - 1) - totalOverFirst;
-
         r -= fx/dfx;
 
-        const scalar error = mag(r - prevr);
-
-        //Info<< i << " " << r << " Error = " << error << endl;
-
-        if (error < tol)
+        if (mag(r - prevr) < tol)
         {
             break;
         }
@@ -103,7 +93,6 @@ Foam::scalar Foam::layerParameters::layerExpansionRatio
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-// Construct from dictionary
 Foam::layerParameters::layerParameters
 (
     const dictionary& dict,
@@ -406,9 +395,9 @@ Foam::scalar Foam::layerParameters::layerThickness
             }
             else
             {
-                return firstLayerThickess *
-                    (1.0 - pow(expansionRatio, nLayers))
-                  / (1.0 - expansionRatio);
+                return firstLayerThickess
+                   *(1.0 - pow(expansionRatio, nLayers))
+                   /(1.0 - expansionRatio);
             }
         }
         break;
@@ -422,9 +411,9 @@ Foam::scalar Foam::layerParameters::layerThickness
             else
             {
                 scalar invExpansion = 1.0 / expansionRatio;
-                return finalLayerThickess *
-                    (1.0 - pow(invExpansion, nLayers))
-                  / (1.0 - invExpansion);
+                return finalLayerThickess
+                   *(1.0 - pow(invExpansion, nLayers))
+                   /(1.0 - invExpansion);
             }
         }
         break;
@@ -472,7 +461,7 @@ Foam::scalar Foam::layerParameters::layerExpansionRatio
         {
             return
                 1.0
-              / layerExpansionRatio
+               /layerExpansionRatio
                 (
                     nLayers,
                     totalThickness/finalLayerThickess
@@ -565,8 +554,8 @@ Foam::scalar Foam::layerParameters::finalLayerThicknessRatio
         {
             return
                 pow(expansionRatio, nLayers - 1)
-              * (1.0 - expansionRatio)
-              / (1.0 - pow(expansionRatio, nLayers));
+               *(1.0 - expansionRatio)
+               /(1.0 - pow(expansionRatio, nLayers));
         }
     }
     else
diff --git a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/layerParameters/layerParameters.H b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/layerParameters/layerParameters.H
index 21d52fdd692..52b4855ae26 100644
--- a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/layerParameters/layerParameters.H
+++ b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/layerParameters/layerParameters.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -326,7 +326,6 @@ public:
                 const label nLayers,
                 const scalar expansionRatio
             ) const;
-
 };
 
 
-- 
GitLab


From c40faa99e69d2900707bcf69e3a273a7da522094 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Mon, 23 Nov 2015 16:52:18 +0000
Subject: [PATCH 104/141] fixedMultiPhaseHeatFlux: Added optional relaxation

---
 ...allBoilingWallFunctionFvPatchScalarField.C | 62 +++++++++----------
 ...allBoilingWallFunctionFvPatchScalarField.H |  2 +-
 ...ixedMultiPhaseHeatFluxFvPatchScalarField.C | 31 ++++++----
 ...ixedMultiPhaseHeatFluxFvPatchScalarField.H |  3 +
 4 files changed, 53 insertions(+), 45 deletions(-)

diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C
index 58293c7bac7..a2df2670f5c 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C
@@ -83,10 +83,10 @@ alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField::yPlusTherm
 ) const
 {
 
-    tmp<scalarField> typtf(new scalarField(this->size()));
-    scalarField& yptf = typtf();
+    tmp<scalarField> typsf(new scalarField(this->size()));
+    scalarField& ypsf = typsf();
 
-    forAll(yptf, faceI)
+    forAll(ypsf, faceI)
     {
         scalar ypt = 11.0;
 
@@ -98,11 +98,11 @@ alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField::yPlusTherm
 
             if (yptNew < VSMALL)
             {
-                yptf[faceI] =  0;
+                ypsf[faceI] =  0;
             }
             else if (mag(yptNew - ypt) < tolerance_)
             {
-                yptf[faceI] = yptNew;
+                ypsf[faceI] = yptNew;
             }
             else
             {
@@ -110,10 +110,10 @@ alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField::yPlusTherm
             }
         }
 
-        yptf[faceI] = ypt;
+        ypsf[faceI] = ypt;
     }
 
-    return typtf;
+    return typsf;
 }
 
 
@@ -160,52 +160,52 @@ alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField
 alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField::
 alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField
 (
-    const alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField& ptf,
+    const alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField& psf,
     const fvPatch& p,
     const DimensionedField<scalar, volMesh>& iF,
     const fvPatchFieldMapper& mapper
 )
 :
-    alphatPhaseChangeWallFunctionFvPatchScalarField(ptf, p, iF, mapper),
-    Prt_(ptf.Prt_),
-    Cmu_(ptf.Cmu_),
-    kappa_(ptf.kappa_),
-    E_(ptf.E_),
-    dmdtRelax_(ptf.dmdtRelax_),
-    fixedDmdt_(ptf.fixedDmdt_)
+    alphatPhaseChangeWallFunctionFvPatchScalarField(psf, p, iF, mapper),
+    Prt_(psf.Prt_),
+    Cmu_(psf.Cmu_),
+    kappa_(psf.kappa_),
+    E_(psf.E_),
+    dmdtRelax_(psf.dmdtRelax_),
+    fixedDmdt_(psf.fixedDmdt_)
 {}
 
 
 alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField::
 alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField
 (
-    const alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField& awfpsf
+    const alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField& psf
 )
 :
-    alphatPhaseChangeWallFunctionFvPatchScalarField(awfpsf),
-    Prt_(awfpsf.Prt_),
-    Cmu_(awfpsf.Cmu_),
-    kappa_(awfpsf.kappa_),
-    E_(awfpsf.E_),
-    dmdtRelax_(awfpsf.dmdtRelax_),
-    fixedDmdt_(awfpsf.fixedDmdt_)
+    alphatPhaseChangeWallFunctionFvPatchScalarField(psf),
+    Prt_(psf.Prt_),
+    Cmu_(psf.Cmu_),
+    kappa_(psf.kappa_),
+    E_(psf.E_),
+    dmdtRelax_(psf.dmdtRelax_),
+    fixedDmdt_(psf.fixedDmdt_)
 {}
 
 
 alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField::
 alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField
 (
-    const alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField& awfpsf,
+    const alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField& psf,
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    alphatPhaseChangeWallFunctionFvPatchScalarField(awfpsf, iF),
-    Prt_(awfpsf.Prt_),
-    Cmu_(awfpsf.Cmu_),
-    kappa_(awfpsf.kappa_),
-    E_(awfpsf.E_),
-    dmdtRelax_(awfpsf.dmdtRelax_),
-    fixedDmdt_(awfpsf.fixedDmdt_)
+    alphatPhaseChangeWallFunctionFvPatchScalarField(psf, iF),
+    Prt_(psf.Prt_),
+    Cmu_(psf.Cmu_),
+    kappa_(psf.kappa_),
+    E_(psf.E_),
+    dmdtRelax_(psf.dmdtRelax_),
+    fixedDmdt_(psf.fixedDmdt_)
 {}
 
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.H
index 1d34ff1b08c..01e51e24d84 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.H
@@ -73,7 +73,7 @@ class alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField
         //- E coefficient
         scalar E_;
 
-        //- dmdt relaxationFactor
+        //- dmdt relaxation factor
         scalar dmdtRelax_;
 
         //- Reference dmdt
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.C
index ee5fa39f92b..8f9abe642cd 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.C
@@ -44,7 +44,8 @@ fixedMultiPhaseHeatFluxFvPatchScalarField
 )
 :
     fixedValueFvPatchScalarField(p, iF),
-    q_(p.size(), 0.0)
+    q_(p.size(), 0.0),
+    relax_(1.0)
 {}
 
 
@@ -57,44 +58,48 @@ fixedMultiPhaseHeatFluxFvPatchScalarField
 )
 :
     fixedValueFvPatchScalarField(p, iF, dict),
-    q_("q", dict, p.size())
+    q_("q", dict, p.size()),
+    relax_(dict.lookupOrDefault<scalar>("relax", 1.0))
 {}
 
 
 Foam::fixedMultiPhaseHeatFluxFvPatchScalarField::
 fixedMultiPhaseHeatFluxFvPatchScalarField
 (
-    const fixedMultiPhaseHeatFluxFvPatchScalarField& ptf,
+    const fixedMultiPhaseHeatFluxFvPatchScalarField& psf,
     const fvPatch& p,
     const DimensionedField<scalar, volMesh>& iF,
     const fvPatchFieldMapper& mapper
 )
 :
-    fixedValueFvPatchScalarField(ptf, p, iF, mapper),
-    q_(ptf.q_, mapper)
+    fixedValueFvPatchScalarField(psf, p, iF, mapper),
+    q_(psf.q_, mapper),
+    relax_(psf.relax_)
 {}
 
 
 Foam::fixedMultiPhaseHeatFluxFvPatchScalarField::
 fixedMultiPhaseHeatFluxFvPatchScalarField
 (
-    const fixedMultiPhaseHeatFluxFvPatchScalarField& awfpsf
+    const fixedMultiPhaseHeatFluxFvPatchScalarField& psf
 )
 :
-    fixedValueFvPatchScalarField(awfpsf),
-    q_(awfpsf.q_)
+    fixedValueFvPatchScalarField(psf),
+    q_(psf.q_),
+    relax_(psf.relax_)
 {}
 
 
 Foam::fixedMultiPhaseHeatFluxFvPatchScalarField::
 fixedMultiPhaseHeatFluxFvPatchScalarField
 (
-    const fixedMultiPhaseHeatFluxFvPatchScalarField& awfpsf,
+    const fixedMultiPhaseHeatFluxFvPatchScalarField& psf,
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    fixedValueFvPatchScalarField(awfpsf, iF),
-    q_(awfpsf.q_)
+    fixedValueFvPatchScalarField(psf, iF),
+    q_(psf.q_),
+    relax_(psf.relax_)
 {}
 
 
@@ -165,8 +170,7 @@ void Foam::fixedMultiPhaseHeatFluxFvPatchScalarField::updateCoeffs()
             << gMin(Q) << " - " << gMax(Q) << endl;
     }
 
-    scalar relax(1);
-    operator==((1 - relax)*Tp + relax*(q_ + A)/(B));
+    operator==((1 - relax_)*Tp + relax_*(q_ + A)/(B));
 
     fixedValueFvPatchScalarField::updateCoeffs();
 }
@@ -175,6 +179,7 @@ void Foam::fixedMultiPhaseHeatFluxFvPatchScalarField::updateCoeffs()
 void Foam::fixedMultiPhaseHeatFluxFvPatchScalarField::write(Ostream& os) const
 {
     fvPatchField<scalar>::write(os);
+    os.writeKeyword("relax") << relax_ << token::END_STATEMENT << nl;
     q_.writeEntry("q", os);
     writeEntry("value", os);
 }
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.H
index 0024fd08e79..c3eb42d6913 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.H
@@ -67,6 +67,9 @@ class fixedMultiPhaseHeatFluxFvPatchScalarField
         //- Heat power [W] or flux [W/m2]
         scalarField q_;
 
+        //- Relaxation factor
+        scalar relax_;
+
 
 public:
 
-- 
GitLab


From 0a7ce682d24afec2de58a39b55c8576b8cdce1df Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Tue, 24 Nov 2015 11:09:50 +0000
Subject: [PATCH 105/141] fixedMultiPhaseHeatFlux: Corrected patch kappaEff
 evaluation

---
 .../fixedMultiPhaseHeatFluxFvPatchScalarField.C             | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.C
index 8f9abe642cd..c991a1a3336 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.C
@@ -148,7 +148,11 @@ void Foam::fixedMultiPhaseHeatFluxFvPatchScalarField::updateCoeffs()
 
         const scalarField kappaEff
         (
-            thermo.kappaEff(phase.turbulence().alphat(), patch().index())
+            thermo.kappaEff
+            (
+                phase.turbulence().alphat(patch().index()),
+                patch().index()
+            )
         );
 
         if (debug)
-- 
GitLab


From 6a0df8a47088591f93f946972554d8793af65c74 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Tue, 24 Nov 2015 16:35:11 +0000
Subject: [PATCH 106/141] fvPatchFields: Rationalized the construction of
 DataEntry values

---
 ...lindricalInletVelocityFvPatchVectorField.C | 20 ++---
 .../fixedFluxPressureFvPatchScalarField.C     | 50 ++++++-------
 .../flowRateInletVelocityFvPatchVectorField.C |  6 +-
 .../oscillatingFixedValueFvPatchField.C       | 14 ++--
 ...ureInletOutletVelocityFvPatchVectorField.C |  8 +-
 .../rotatingTotalPressureFvPatchScalarField.C |  8 +-
 .../rotatingWallVelocityFvPatchVectorField.C  |  8 +-
 ...lFlowRateInletVelocityFvPatchVectorField.C | 12 +--
 .../timeVaryingMappedFixedValueFvPatchField.C | 73 ++++++++-----------
 .../uniformFixedGradientFvPatchField.C        | 52 ++++---------
 .../uniformFixedGradientFvPatchField.H        | 10 +--
 .../uniformFixedValueFvPatchField.C           | 42 ++++-------
 .../uniformFixedValueFvPatchField.H           | 10 +--
 .../uniformInletOutletFvPatchField.C          | 56 +++++++-------
 .../uniformInletOutletFvPatchField.H          |  3 +-
 .../uniformJump/uniformJumpFvPatchField.C     |  8 +-
 .../uniformJumpAMIFvPatchField.C              |  8 +-
 .../uniformTotalPressureFvPatchScalarField.C  | 27 +++----
 18 files changed, 171 insertions(+), 244 deletions(-)

diff --git a/src/finiteVolume/fields/fvPatchFields/derived/cylindricalInletVelocity/cylindricalInletVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/cylindricalInletVelocity/cylindricalInletVelocityFvPatchVectorField.C
index 238bb5d21dd..3bdfa9e6e96 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/cylindricalInletVelocity/cylindricalInletVelocityFvPatchVectorField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/cylindricalInletVelocity/cylindricalInletVelocityFvPatchVectorField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -60,9 +60,9 @@ cylindricalInletVelocityFvPatchVectorField
     fixedValueFvPatchField<vector>(ptf, p, iF, mapper),
     centre_(ptf.centre_),
     axis_(ptf.axis_),
-    axialVelocity_(ptf.axialVelocity_().clone().ptr()),
-    radialVelocity_(ptf.radialVelocity_().clone().ptr()),
-    rpm_(ptf.rpm_().clone().ptr())
+    axialVelocity_(ptf.axialVelocity_, false),
+    radialVelocity_(ptf.radialVelocity_, false),
+    rpm_(ptf.rpm_, false)
 {}
 
 
@@ -92,9 +92,9 @@ cylindricalInletVelocityFvPatchVectorField
     fixedValueFvPatchField<vector>(ptf),
     centre_(ptf.centre_),
     axis_(ptf.axis_),
-    axialVelocity_(ptf.axialVelocity_().clone().ptr()),
-    radialVelocity_(ptf.radialVelocity_().clone().ptr()),
-    rpm_(ptf.rpm_().clone().ptr())
+    axialVelocity_(ptf.axialVelocity_, false),
+    radialVelocity_(ptf.radialVelocity_, false),
+    rpm_(ptf.rpm_, false)
 {}
 
 
@@ -108,9 +108,9 @@ cylindricalInletVelocityFvPatchVectorField
     fixedValueFvPatchField<vector>(ptf, iF),
     centre_(ptf.centre_),
     axis_(ptf.axis_),
-    axialVelocity_(ptf.axialVelocity_().clone().ptr()),
-    radialVelocity_(ptf.radialVelocity_().clone().ptr()),
-    rpm_(ptf.rpm_().clone().ptr())
+    axialVelocity_(ptf.axialVelocity_, false),
+    radialVelocity_(ptf.radialVelocity_, false),
+    rpm_(ptf.rpm_, false)
 {}
 
 
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fixedFluxPressure/fixedFluxPressureFvPatchScalarField.C b/src/finiteVolume/fields/fvPatchFields/derived/fixedFluxPressure/fixedFluxPressureFvPatchScalarField.C
index 936e702aa32..e3a9409b25e 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/fixedFluxPressure/fixedFluxPressureFvPatchScalarField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/fixedFluxPressure/fixedFluxPressureFvPatchScalarField.C
@@ -44,57 +44,57 @@ Foam::fixedFluxPressureFvPatchScalarField::fixedFluxPressureFvPatchScalarField
 
 Foam::fixedFluxPressureFvPatchScalarField::fixedFluxPressureFvPatchScalarField
 (
-    const fixedFluxPressureFvPatchScalarField& ptf,
     const fvPatch& p,
     const DimensionedField<scalar, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
+    const dictionary& dict
 )
 :
     fixedGradientFvPatchScalarField(p, iF),
     curTimeIndex_(-1)
 {
-    patchType() = ptf.patchType();
-
-    // Map gradient. Set unmapped values and overwrite with mapped ptf
-    gradient() = 0.0;
-    gradient().map(ptf.gradient(), mapper);
-
-    // Evaluate the value field from the gradient if the internal field is valid
-    if (notNull(iF) && iF.size())
+    if (dict.found("value") && dict.found("gradient"))
     {
-        scalarField::operator=
+        fvPatchField<scalar>::operator=
         (
-            //patchInternalField() + gradient()/patch().deltaCoeffs()
-            // ***HGW Hack to avoid the construction of mesh.deltaCoeffs
-            // which fails for AMI patches for some mapping operations
-            patchInternalField() + gradient()*(patch().nf() & patch().delta())
+            scalarField("value", dict, p.size())
         );
+        gradient() = scalarField("gradient", dict, p.size());
+    }
+    else
+    {
+        fvPatchField<scalar>::operator=(patchInternalField());
+        gradient() = 0.0;
     }
 }
 
 
 Foam::fixedFluxPressureFvPatchScalarField::fixedFluxPressureFvPatchScalarField
 (
+    const fixedFluxPressureFvPatchScalarField& ptf,
     const fvPatch& p,
     const DimensionedField<scalar, volMesh>& iF,
-    const dictionary& dict
+    const fvPatchFieldMapper& mapper
 )
 :
     fixedGradientFvPatchScalarField(p, iF),
     curTimeIndex_(-1)
 {
-    if (dict.found("value") && dict.found("gradient"))
+    patchType() = ptf.patchType();
+
+    // Map gradient. Set unmapped values and overwrite with mapped ptf
+    gradient() = 0.0;
+    gradient().map(ptf.gradient(), mapper);
+
+    // Evaluate the value field from the gradient if the internal field is valid
+    if (notNull(iF) && iF.size())
     {
-        fvPatchField<scalar>::operator=
+        scalarField::operator=
         (
-            scalarField("value", dict, p.size())
+            //patchInternalField() + gradient()/patch().deltaCoeffs()
+            // ***HGW Hack to avoid the construction of mesh.deltaCoeffs
+            // which fails for AMI patches for some mapping operations
+            patchInternalField() + gradient()*(patch().nf() & patch().delta())
         );
-        gradient() = scalarField("gradient", dict, p.size());
-    }
-    else
-    {
-        fvPatchField<scalar>::operator=(patchInternalField());
-        gradient() = 0.0;
     }
 }
 
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/flowRateInletVelocity/flowRateInletVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/flowRateInletVelocity/flowRateInletVelocityFvPatchVectorField.C
index 0838108985c..7dc2d9497ba 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/flowRateInletVelocity/flowRateInletVelocityFvPatchVectorField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/flowRateInletVelocity/flowRateInletVelocityFvPatchVectorField.C
@@ -56,7 +56,7 @@ flowRateInletVelocityFvPatchVectorField
 )
 :
     fixedValueFvPatchField<vector>(ptf, p, iF, mapper),
-    flowRate_(ptf.flowRate_().clone().ptr()),
+    flowRate_(ptf.flowRate_, false),
     volumetric_(ptf.volumetric_),
     rhoName_(ptf.rhoName_),
     rhoInlet_(ptf.rhoInlet_)
@@ -117,7 +117,7 @@ flowRateInletVelocityFvPatchVectorField
 )
 :
     fixedValueFvPatchField<vector>(ptf),
-    flowRate_(ptf.flowRate_().clone().ptr()),
+    flowRate_(ptf.flowRate_, false),
     volumetric_(ptf.volumetric_),
     rhoName_(ptf.rhoName_),
     rhoInlet_(ptf.rhoInlet_)
@@ -132,7 +132,7 @@ flowRateInletVelocityFvPatchVectorField
 )
 :
     fixedValueFvPatchField<vector>(ptf, iF),
-    flowRate_(ptf.flowRate_().clone().ptr()),
+    flowRate_(ptf.flowRate_, false),
     volumetric_(ptf.volumetric_),
     rhoName_(ptf.rhoName_),
     rhoInlet_(ptf.rhoInlet_)
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/oscillatingFixedValue/oscillatingFixedValueFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/oscillatingFixedValue/oscillatingFixedValueFvPatchField.C
index 42d52401d87..715586a3691 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/oscillatingFixedValue/oscillatingFixedValueFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/oscillatingFixedValue/oscillatingFixedValueFvPatchField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -74,8 +74,8 @@ oscillatingFixedValueFvPatchField<Type>::oscillatingFixedValueFvPatchField
     fixedValueFvPatchField<Type>(ptf, p, iF, mapper),
     refValue_(ptf.refValue_, mapper),
     offset_(ptf.offset_),
-    amplitude_(ptf.amplitude_().clone().ptr()),
-    frequency_(ptf.frequency_().clone().ptr()),
+    amplitude_(ptf.amplitude_, false),
+    frequency_(ptf.frequency_, false),
     curTimeIndex_(-1)
 {}
 
@@ -122,8 +122,8 @@ oscillatingFixedValueFvPatchField<Type>::oscillatingFixedValueFvPatchField
     fixedValueFvPatchField<Type>(ptf),
     refValue_(ptf.refValue_),
     offset_(ptf.offset_),
-    amplitude_(ptf.amplitude_().clone().ptr()),
-    frequency_(ptf.frequency_().clone().ptr()),
+    amplitude_(ptf.amplitude_, false),
+    frequency_(ptf.frequency_, false),
     curTimeIndex_(-1)
 {}
 
@@ -138,8 +138,8 @@ oscillatingFixedValueFvPatchField<Type>::oscillatingFixedValueFvPatchField
     fixedValueFvPatchField<Type>(ptf, iF),
     refValue_(ptf.refValue_),
     offset_(ptf.offset_),
-    amplitude_(ptf.amplitude_().clone().ptr()),
-    frequency_(ptf.frequency_().clone().ptr()),
+    amplitude_(ptf.amplitude_, false),
+    frequency_(ptf.frequency_, false),
     curTimeIndex_(-1)
 {}
 
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/rotatingPressureInletOutletVelocity/rotatingPressureInletOutletVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/rotatingPressureInletOutletVelocity/rotatingPressureInletOutletVelocityFvPatchVectorField.C
index 22b36b08447..3a49f4a6800 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/rotatingPressureInletOutletVelocity/rotatingPressureInletOutletVelocityFvPatchVectorField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/rotatingPressureInletOutletVelocity/rotatingPressureInletOutletVelocityFvPatchVectorField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -71,7 +71,7 @@ rotatingPressureInletOutletVelocityFvPatchVectorField
 )
 :
     pressureInletOutletVelocityFvPatchVectorField(ptf, p, iF, mapper),
-    omega_(ptf.omega_().clone().ptr())
+    omega_(ptf.omega_, false)
 {
     calcTangentialVelocity();
 }
@@ -99,7 +99,7 @@ rotatingPressureInletOutletVelocityFvPatchVectorField
 )
 :
     pressureInletOutletVelocityFvPatchVectorField(rppvf),
-    omega_(rppvf.omega_().clone().ptr())
+    omega_(rppvf.omega_, false)
 {
     calcTangentialVelocity();
 }
@@ -113,7 +113,7 @@ rotatingPressureInletOutletVelocityFvPatchVectorField
 )
 :
     pressureInletOutletVelocityFvPatchVectorField(rppvf, iF),
-    omega_(rppvf.omega_().clone().ptr())
+    omega_(rppvf.omega_, false)
 {
     calcTangentialVelocity();
 }
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/rotatingTotalPressure/rotatingTotalPressureFvPatchScalarField.C b/src/finiteVolume/fields/fvPatchFields/derived/rotatingTotalPressure/rotatingTotalPressureFvPatchScalarField.C
index 87a99128610..83647fb7820 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/rotatingTotalPressure/rotatingTotalPressureFvPatchScalarField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/rotatingTotalPressure/rotatingTotalPressureFvPatchScalarField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -53,7 +53,7 @@ rotatingTotalPressureFvPatchScalarField
 )
 :
     totalPressureFvPatchScalarField(ptf, p, iF, mapper),
-    omega_(ptf.omega_().clone().ptr())
+    omega_(ptf.omega_, false)
 {}
 
 
@@ -77,7 +77,7 @@ rotatingTotalPressureFvPatchScalarField
 )
 :
     totalPressureFvPatchScalarField(rtppsf),
-    omega_(rtppsf.omega_().clone().ptr())
+    omega_(rtppsf.omega_, false)
 {}
 
 
@@ -89,7 +89,7 @@ rotatingTotalPressureFvPatchScalarField
 )
 :
     totalPressureFvPatchScalarField(rtppsf, iF),
-    omega_(rtppsf.omega_().clone().ptr())
+    omega_(rtppsf.omega_, false)
 {}
 
 
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/rotatingWallVelocity/rotatingWallVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/rotatingWallVelocity/rotatingWallVelocityFvPatchVectorField.C
index daa6a83903c..82f5d2e28bb 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/rotatingWallVelocity/rotatingWallVelocityFvPatchVectorField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/rotatingWallVelocity/rotatingWallVelocityFvPatchVectorField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -56,7 +56,7 @@ rotatingWallVelocityFvPatchVectorField
     fixedValueFvPatchField<vector>(ptf, p, iF, mapper),
     origin_(ptf.origin_),
     axis_(ptf.axis_),
-    omega_(ptf.omega_().clone().ptr())
+    omega_(ptf.omega_, false)
 {}
 
 
@@ -97,7 +97,7 @@ rotatingWallVelocityFvPatchVectorField
     fixedValueFvPatchField<vector>(rwvpvf),
     origin_(rwvpvf.origin_),
     axis_(rwvpvf.axis_),
-    omega_(rwvpvf.omega_().clone().ptr())
+    omega_(rwvpvf.omega_, false)
 {}
 
 
@@ -111,7 +111,7 @@ rotatingWallVelocityFvPatchVectorField
     fixedValueFvPatchField<vector>(rwvpvf, iF),
     origin_(rwvpvf.origin_),
     axis_(rwvpvf.axis_),
-    omega_(rwvpvf.omega_().clone().ptr())
+    omega_(rwvpvf.omega_, false)
 {}
 
 
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/swirlFlowRateInletVelocity/swirlFlowRateInletVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/swirlFlowRateInletVelocity/swirlFlowRateInletVelocityFvPatchVectorField.C
index e86d92d5dba..a871e91de07 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/swirlFlowRateInletVelocity/swirlFlowRateInletVelocityFvPatchVectorField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/swirlFlowRateInletVelocity/swirlFlowRateInletVelocityFvPatchVectorField.C
@@ -59,8 +59,8 @@ swirlFlowRateInletVelocityFvPatchVectorField
     fixedValueFvPatchField<vector>(ptf, p, iF, mapper),
     phiName_(ptf.phiName_),
     rhoName_(ptf.rhoName_),
-    flowRate_(ptf.flowRate_().clone().ptr()),
-    rpm_(ptf.rpm_().clone().ptr())
+    flowRate_(ptf.flowRate_, false),
+    rpm_(ptf.rpm_, false)
 {}
 
 
@@ -89,8 +89,8 @@ swirlFlowRateInletVelocityFvPatchVectorField
     fixedValueFvPatchField<vector>(ptf),
     phiName_(ptf.phiName_),
     rhoName_(ptf.rhoName_),
-    flowRate_(ptf.flowRate_().clone().ptr()),
-    rpm_(ptf.rpm_().clone().ptr())
+    flowRate_(ptf.flowRate_, false),
+    rpm_(ptf.rpm_, false)
 {}
 
 
@@ -104,8 +104,8 @@ swirlFlowRateInletVelocityFvPatchVectorField
     fixedValueFvPatchField<vector>(ptf, iF),
     phiName_(ptf.phiName_),
     rhoName_(ptf.rhoName_),
-    flowRate_(ptf.flowRate_().clone().ptr()),
-    rpm_(ptf.rpm_().clone().ptr())
+    flowRate_(ptf.flowRate_, false),
+    rpm_(ptf.rpm_, false)
 {}
 
 
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValueFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValueFvPatchField.C
index f52abedfdd0..3e2f43965ba 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValueFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValueFvPatchField.C
@@ -58,38 +58,6 @@ timeVaryingMappedFixedValueFvPatchField
 {}
 
 
-template<class Type>
-timeVaryingMappedFixedValueFvPatchField<Type>::
-timeVaryingMappedFixedValueFvPatchField
-(
-    const timeVaryingMappedFixedValueFvPatchField<Type>& ptf,
-    const fvPatch& p,
-    const DimensionedField<Type, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
-)
-:
-    fixedValueFvPatchField<Type>(ptf, p, iF, mapper),
-    fieldTableName_(ptf.fieldTableName_),
-    setAverage_(ptf.setAverage_),
-    perturb_(ptf.perturb_),
-    mapMethod_(ptf.mapMethod_),
-    mapperPtr_(NULL),
-    sampleTimes_(0),
-    startSampleTime_(-1),
-    startSampledValues_(0),
-    startAverage_(pTraits<Type>::zero),
-    endSampleTime_(-1),
-    endSampledValues_(0),
-    endAverage_(pTraits<Type>::zero),
-    offset_
-    (
-        ptf.offset_.valid()
-      ? ptf.offset_().clone().ptr()
-      : NULL
-    )
-{}
-
-
 template<class Type>
 timeVaryingMappedFixedValueFvPatchField<Type>::
 timeVaryingMappedFixedValueFvPatchField
@@ -152,6 +120,33 @@ timeVaryingMappedFixedValueFvPatchField
 }
 
 
+template<class Type>
+timeVaryingMappedFixedValueFvPatchField<Type>::
+timeVaryingMappedFixedValueFvPatchField
+(
+    const timeVaryingMappedFixedValueFvPatchField<Type>& ptf,
+    const fvPatch& p,
+    const DimensionedField<Type, volMesh>& iF,
+    const fvPatchFieldMapper& mapper
+)
+:
+    fixedValueFvPatchField<Type>(ptf, p, iF, mapper),
+    fieldTableName_(ptf.fieldTableName_),
+    setAverage_(ptf.setAverage_),
+    perturb_(ptf.perturb_),
+    mapMethod_(ptf.mapMethod_),
+    mapperPtr_(NULL),
+    sampleTimes_(0),
+    startSampleTime_(-1),
+    startSampledValues_(0),
+    startAverage_(pTraits<Type>::zero),
+    endSampleTime_(-1),
+    endSampledValues_(0),
+    endAverage_(pTraits<Type>::zero),
+    offset_(ptf.offset_, false)
+{}
+
+
 template<class Type>
 timeVaryingMappedFixedValueFvPatchField<Type>::
 timeVaryingMappedFixedValueFvPatchField
@@ -172,12 +167,7 @@ timeVaryingMappedFixedValueFvPatchField
     endSampleTime_(ptf.endSampleTime_),
     endSampledValues_(ptf.endSampledValues_),
     endAverage_(ptf.endAverage_),
-    offset_
-    (
-        ptf.offset_.valid()
-      ? ptf.offset_().clone().ptr()
-      : NULL
-    )
+    offset_(ptf.offset_, false)
 {}
 
 
@@ -202,12 +192,7 @@ timeVaryingMappedFixedValueFvPatchField
     endSampleTime_(ptf.endSampleTime_),
     endSampledValues_(ptf.endSampledValues_),
     endAverage_(ptf.endAverage_),
-    offset_
-    (
-        ptf.offset_.valid()
-      ? ptf.offset_().clone().ptr()
-      : NULL
-    )
+    offset_(ptf.offset_, false)
 {}
 
 
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedGradient/uniformFixedGradientFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedGradient/uniformFixedGradientFvPatchField.C
index 0a5a113d907..aa7c057a7a0 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedGradient/uniformFixedGradientFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedGradient/uniformFixedGradientFvPatchField.C
@@ -55,44 +55,30 @@ Foam::uniformFixedGradientFvPatchField<Type>::uniformFixedGradientFvPatchField
 template<class Type>
 Foam::uniformFixedGradientFvPatchField<Type>::uniformFixedGradientFvPatchField
 (
-    const uniformFixedGradientFvPatchField<Type>& ptf,
     const fvPatch& p,
     const DimensionedField<Type, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
+    const dictionary& dict
 )
 :
-    fixedGradientFvPatchField<Type>(ptf, p, iF, mapper),
-    uniformGradient_(ptf.uniformGradient_().clone().ptr())
+    fixedGradientFvPatchField<Type>(p, iF),
+    uniformGradient_(DataEntry<Type>::New("uniformGradient", dict))
 {
-    // For safety re-evaluate
-    const scalar t = this->db().time().timeOutputValue();
-    this->gradient() = uniformGradient_->value(t);
+    this->evaluate();
 }
 
 
 template<class Type>
 Foam::uniformFixedGradientFvPatchField<Type>::uniformFixedGradientFvPatchField
 (
+    const uniformFixedGradientFvPatchField<Type>& ptf,
     const fvPatch& p,
     const DimensionedField<Type, volMesh>& iF,
-    const dictionary& dict
+    const fvPatchFieldMapper& mapper
 )
 :
-    fixedGradientFvPatchField<Type>(p, iF),
-    uniformGradient_(DataEntry<Type>::New("uniformGradient", dict))
-{
-    if (dict.found("gradient"))
-    {
-        this->gradient() = Field<Type>("gradient", dict, p.size());
-    }
-    else
-    {
-        const scalar t = this->db().time().timeOutputValue();
-        this->gradient() = uniformGradient_->value(t);
-    }
-
-    fixedGradientFvPatchField<Type>::evaluate();
-}
+    fixedGradientFvPatchField<Type>(ptf, p, iF, mapper),
+    uniformGradient_(ptf.uniformGradient_, false)
+{}
 
 
 template<class Type>
@@ -102,12 +88,7 @@ Foam::uniformFixedGradientFvPatchField<Type>::uniformFixedGradientFvPatchField
 )
 :
     fixedGradientFvPatchField<Type>(ptf),
-    uniformGradient_
-    (
-        ptf.uniformGradient_.valid()
-      ? ptf.uniformGradient_().clone().ptr()
-      : NULL
-    )
+    uniformGradient_(ptf.uniformGradient_, false)
 {}
 
 
@@ -119,19 +100,12 @@ Foam::uniformFixedGradientFvPatchField<Type>::uniformFixedGradientFvPatchField
 )
 :
     fixedGradientFvPatchField<Type>(ptf, iF),
-    uniformGradient_
-    (
-        ptf.uniformGradient_.valid()
-      ? ptf.uniformGradient_().clone().ptr()
-      : NULL
-    )
+    uniformGradient_(ptf.uniformGradient_, false)
 {
-    // For safety re-evaluate
-    const scalar t = this->db().time().timeOutputValue();
-
+    // Evaluate the profile if defined
     if (ptf.uniformGradient_.valid())
     {
-        this->gradient() = uniformGradient_->value(t);
+        this->evaluate();
     }
 }
 
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedGradient/uniformFixedGradientFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedGradient/uniformFixedGradientFvPatchField.H
index 5659297fecc..2ad895b362c 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedGradient/uniformFixedGradientFvPatchField.H
+++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedGradient/uniformFixedGradientFvPatchField.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -164,12 +164,8 @@ public:
 
     // Member functions
 
-
-        // Evaluation functions
-
-            //- Update the coefficients associated with the patch field
-            virtual void updateCoeffs();
-
+        //- Update the coefficients associated with the patch field
+        virtual void updateCoeffs();
 
         //- Write
         virtual void write(Ostream&) const;
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValue/uniformFixedValueFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValue/uniformFixedValueFvPatchField.C
index e5870388908..8d52b8700d7 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValue/uniformFixedValueFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValue/uniformFixedValueFvPatchField.C
@@ -55,34 +55,32 @@ Foam::uniformFixedValueFvPatchField<Type>::uniformFixedValueFvPatchField
 template<class Type>
 Foam::uniformFixedValueFvPatchField<Type>::uniformFixedValueFvPatchField
 (
-    const uniformFixedValueFvPatchField<Type>& ptf,
     const fvPatch& p,
     const DimensionedField<Type, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
+    const dictionary& dict
 )
 :
-    fixedValueFvPatchField<Type>(p, iF),  // bypass mapper
-    uniformValue_(ptf.uniformValue_().clone().ptr())
+    fixedValueFvPatchField<Type>(p, iF),
+    uniformValue_(DataEntry<Type>::New("uniformValue", dict))
 {
-    // Evaluate since value not mapped
-    const scalar t = this->db().time().timeOutputValue();
-    fvPatchField<Type>::operator==(uniformValue_->value(t));
+    this->evaluate();
 }
 
 
 template<class Type>
 Foam::uniformFixedValueFvPatchField<Type>::uniformFixedValueFvPatchField
 (
+    const uniformFixedValueFvPatchField<Type>& ptf,
     const fvPatch& p,
     const DimensionedField<Type, volMesh>& iF,
-    const dictionary& dict
+    const fvPatchFieldMapper& mapper
 )
 :
-    fixedValueFvPatchField<Type>(p, iF),
-    uniformValue_(DataEntry<Type>::New("uniformValue", dict))
+    fixedValueFvPatchField<Type>(p, iF),   // Don't map
+    uniformValue_(ptf.uniformValue_, false)
 {
-    const scalar t = this->db().time().timeOutputValue();
-    fvPatchField<Type>::operator==(uniformValue_->value(t));
+    // Evaluate since value not mapped
+    this->evaluate();
 }
 
 
@@ -93,12 +91,7 @@ Foam::uniformFixedValueFvPatchField<Type>::uniformFixedValueFvPatchField
 )
 :
     fixedValueFvPatchField<Type>(ptf),
-    uniformValue_
-    (
-        ptf.uniformValue_.valid()
-      ? ptf.uniformValue_().clone().ptr()
-      : NULL
-    )
+    uniformValue_(ptf.uniformValue_, false)
 {}
 
 
@@ -110,19 +103,12 @@ Foam::uniformFixedValueFvPatchField<Type>::uniformFixedValueFvPatchField
 )
 :
     fixedValueFvPatchField<Type>(ptf, iF),
-    uniformValue_
-    (
-        ptf.uniformValue_.valid()
-      ? ptf.uniformValue_().clone().ptr()
-      : NULL
-    )
+    uniformValue_(ptf.uniformValue_, false)
 {
-    // For safety re-evaluate
-    const scalar t = this->db().time().timeOutputValue();
-
+    // Evaluate the profile if defined
     if (ptf.uniformValue_.valid())
     {
-        fvPatchField<Type>::operator==(uniformValue_->value(t));
+        this->evaluate();
     }
 }
 
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValue/uniformFixedValueFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValue/uniformFixedValueFvPatchField.H
index 072d02f1b6d..6d77aa88571 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValue/uniformFixedValueFvPatchField.H
+++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValue/uniformFixedValueFvPatchField.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -163,12 +163,8 @@ public:
 
     // Member functions
 
-
-        // Evaluation functions
-
-            //- Update the coefficients associated with the patch field
-            virtual void updateCoeffs();
-
+        //- Update the coefficients associated with the patch field
+        virtual void updateCoeffs();
 
         //- Write
         virtual void write(Ostream&) const;
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchField.C
index 3c4da515c41..54217a529af 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -46,63 +46,61 @@ Foam::uniformInletOutletFvPatchField<Type>::uniformInletOutletFvPatchField
 template<class Type>
 Foam::uniformInletOutletFvPatchField<Type>::uniformInletOutletFvPatchField
 (
-    const uniformInletOutletFvPatchField<Type>& ptf,
     const fvPatch& p,
     const DimensionedField<Type, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
+    const dictionary& dict
 )
 :
     mixedFvPatchField<Type>(p, iF),
-    phiName_(ptf.phiName_),
-    uniformInletValue_(ptf.uniformInletValue_, false)
+    phiName_(dict.lookupOrDefault<word>("phi", "phi")),
+    uniformInletValue_(DataEntry<Type>::New("uniformInletValue", dict))
 {
-    this->patchType() = ptf.patchType();
-
-    // For safety re-evaluate
     const scalar t = this->db().time().timeOutputValue();
     this->refValue() = uniformInletValue_->value(t);
-    this->refGrad() = pTraits<Type>::zero;
-    this->valueFraction() = 0.0;
 
-    // Map value (unmapped get refValue)
-    if (notNull(iF) && iF.size())
+    if (dict.found("value"))
+    {
+        fvPatchField<Type>::operator=
+        (
+            Field<Type>("value", dict, p.size())
+        );
+    }
+    else
     {
         fvPatchField<Type>::operator=(this->refValue());
     }
-    this->map(ptf, mapper);
 
+    this->refGrad() = pTraits<Type>::zero;
+    this->valueFraction() = 0.0;
 }
 
 
 template<class Type>
 Foam::uniformInletOutletFvPatchField<Type>::uniformInletOutletFvPatchField
 (
+    const uniformInletOutletFvPatchField<Type>& ptf,
     const fvPatch& p,
     const DimensionedField<Type, volMesh>& iF,
-    const dictionary& dict
+    const fvPatchFieldMapper& mapper
 )
 :
-    mixedFvPatchField<Type>(p, iF),
-    phiName_(dict.lookupOrDefault<word>("phi", "phi")),
-    uniformInletValue_(DataEntry<Type>::New("uniformInletValue", dict))
+    mixedFvPatchField<Type>(p, iF),  // Don't map
+    phiName_(ptf.phiName_),
+    uniformInletValue_(ptf.uniformInletValue_, false)
 {
+    this->patchType() = ptf.patchType();
+
+    // Evaluate refValue since not mapped
     const scalar t = this->db().time().timeOutputValue();
     this->refValue() = uniformInletValue_->value(t);
 
-    if (dict.found("value"))
-    {
-        fvPatchField<Type>::operator=
-        (
-            Field<Type>("value", dict, p.size())
-        );
-    }
-    else
-    {
-        fvPatchField<Type>::operator=(this->refValue());
-    }
-
     this->refGrad() = pTraits<Type>::zero;
     this->valueFraction() = 0.0;
+
+    // Initialize the patch value to the refValue
+    fvPatchField<Type>::operator=(this->refValue());
+
+    this->map(ptf, mapper);
 }
 
 
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchField.H
index cc9e2d0a9df..2ab8c72ee86 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchField.H
+++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchField.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -193,7 +193,6 @@ public:
     // Member operators
 
         virtual void operator=(const fvPatchField<Type>& pvf);
-
 };
 
 
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformJump/uniformJumpFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/uniformJump/uniformJumpFvPatchField.C
index 250442dad05..046d9bbeb83 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/uniformJump/uniformJumpFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformJump/uniformJumpFvPatchField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -49,7 +49,7 @@ Foam::uniformJumpFvPatchField<Type>::uniformJumpFvPatchField
 )
 :
     fixedJumpFvPatchField<Type>(ptf, p, iF, mapper),
-    jumpTable_(ptf.jumpTable_().clone().ptr())
+    jumpTable_(ptf.jumpTable_, false)
 {}
 
 
@@ -90,7 +90,7 @@ Foam::uniformJumpFvPatchField<Type>::uniformJumpFvPatchField
 )
 :
     fixedJumpFvPatchField<Type>(ptf),
-    jumpTable_(ptf.jumpTable_().clone().ptr())
+    jumpTable_(ptf.jumpTable_, false)
 {}
 
 
@@ -102,7 +102,7 @@ Foam::uniformJumpFvPatchField<Type>::uniformJumpFvPatchField
 )
 :
     fixedJumpFvPatchField<Type>(ptf, iF),
-    jumpTable_(ptf.jumpTable_().clone().ptr())
+    jumpTable_(ptf.jumpTable_, false)
 {}
 
 
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformJumpAMI/uniformJumpAMIFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/uniformJumpAMI/uniformJumpAMIFvPatchField.C
index 0670119ab0c..7b2d55e1eb3 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/uniformJumpAMI/uniformJumpAMIFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformJumpAMI/uniformJumpAMIFvPatchField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -49,7 +49,7 @@ Foam::uniformJumpAMIFvPatchField<Type>::uniformJumpAMIFvPatchField
 )
 :
     fixedJumpAMIFvPatchField<Type>(ptf, p, iF, mapper),
-    jumpTable_(ptf.jumpTable_().clone().ptr())
+    jumpTable_(ptf.jumpTable_, false)
 {}
 
 
@@ -87,7 +87,7 @@ Foam::uniformJumpAMIFvPatchField<Type>::uniformJumpAMIFvPatchField
 )
 :
     fixedJumpAMIFvPatchField<Type>(ptf),
-    jumpTable_(ptf.jumpTable_().clone().ptr())
+    jumpTable_(ptf.jumpTable_, false)
 {}
 
 
@@ -99,7 +99,7 @@ Foam::uniformJumpAMIFvPatchField<Type>::uniformJumpAMIFvPatchField
 )
 :
     fixedJumpAMIFvPatchField<Type>(ptf, iF),
-    jumpTable_(ptf.jumpTable_().clone().ptr())
+    jumpTable_(ptf.jumpTable_, false)
 {}
 
 
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformTotalPressure/uniformTotalPressureFvPatchScalarField.C b/src/finiteVolume/fields/fvPatchFields/derived/uniformTotalPressure/uniformTotalPressureFvPatchScalarField.C
index 5cfd99db24a..52ecf6fe4f1 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/uniformTotalPressure/uniformTotalPressureFvPatchScalarField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformTotalPressure/uniformTotalPressureFvPatchScalarField.C
@@ -73,8 +73,8 @@ uniformTotalPressureFvPatchScalarField
     }
     else
     {
-        scalar p0 = pressure_->value(this->db().time().timeOutputValue());
-        fvPatchField<scalar>::operator=(p0);
+        const scalar t = this->db().time().timeOutputValue();
+        fvPatchScalarField::operator==(pressure_->value(t));
     }
 }
 
@@ -88,15 +88,18 @@ uniformTotalPressureFvPatchScalarField
     const fvPatchFieldMapper& mapper
 )
 :
-    fixedValueFvPatchScalarField(p, iF),  // bypass mapper
+    fixedValueFvPatchScalarField(p, iF),  // Don't map
     UName_(ptf.UName_),
     phiName_(ptf.phiName_),
     rhoName_(ptf.rhoName_),
     psiName_(ptf.psiName_),
     gamma_(ptf.gamma_),
-    pressure_(ptf.pressure_().clone().ptr())
+    pressure_(ptf.pressure_, false)
 {
-    // Evaluate since value not mapped
+    patchType() = ptf.patchType();
+
+    // Set the patch pressure to the current total pressure
+    // This is not ideal but avoids problems with the creation of patch faces
     const scalar t = this->db().time().timeOutputValue();
     fvPatchScalarField::operator==(pressure_->value(t));
 }
@@ -114,12 +117,7 @@ uniformTotalPressureFvPatchScalarField
     rhoName_(ptf.rhoName_),
     psiName_(ptf.psiName_),
     gamma_(ptf.gamma_),
-    pressure_
-    (
-        ptf.pressure_.valid()
-      ? ptf.pressure_().clone().ptr()
-      : NULL
-    )
+    pressure_(ptf.pressure_, false)
 {}
 
 
@@ -136,12 +134,7 @@ uniformTotalPressureFvPatchScalarField
     rhoName_(ptf.rhoName_),
     psiName_(ptf.psiName_),
     gamma_(ptf.gamma_),
-    pressure_
-    (
-        ptf.pressure_.valid()
-      ? ptf.pressure_().clone().ptr()
-      : NULL
-    )
+    pressure_(ptf.pressure_, false)
 {}
 
 
-- 
GitLab


From 7321a5eeb395e0cdd9f1557c7b523f4ae75c752c Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Tue, 24 Nov 2015 16:35:45 +0000
Subject: [PATCH 107/141] fvPatchFields/derived/fixedProfile: New BC which
 applies the specified 1D profile

This is useful when applying an experimentally obtained profile as an
inlet condition:

    Example of the boundary condition specification:
    \verbatim
    myPatch
    {
        type            fixedProfile;
        profile    csvFile;

        profileCoeffs
        {
            nHeaderLine         0;          // Number of header lines
            refColumn           0;          // Reference column index
            componentColumns    (1 2 3);    // Component column indices
            separator           ",";        // Optional (defaults to ",")
            mergeSeparators     no;         // Merge multiple separators
            fileName            "Uprofile.csv";  // name of csv data file
            outOfBounds         clamp;      // Optional out-of-bounds handling
            interpolationScheme linear;     // Optional interpolation scheme
        }
        direction        (0 1 0);
        origin           0;
    }
    \endverbatim

or a simple polynomial profile:

    Example setting a parabolic inlet profile for the PitzDaily case:
    \verbatim
    inlet
    {
        type            fixedProfile;

        profile         polynomial
        (
            ((1 0 0)        (0 0 0))
            ((-6200 0 0)    (2 0 0))
        );
        direction       (0 1 0);
        origin          0.0127;
    }
    \endverbatim

Based on code provided by Hassan Kassem:
http://www.openfoam.org/mantisbt/view.php?id=1922
---
 src/finiteVolume/Make/files                   |   1 +
 .../fixedProfile/fixedProfileFvPatchField.C   | 167 +++++++++++++
 .../fixedProfile/fixedProfileFvPatchField.H   | 230 ++++++++++++++++++
 .../fixedProfile/fixedProfileFvPatchFields.C  |  43 ++++
 .../fixedProfile/fixedProfileFvPatchFields.H  |  49 ++++
 .../fixedProfileFvPatchFieldsFwd.H            |  50 ++++
 6 files changed, 540 insertions(+)
 create mode 100644 src/finiteVolume/fields/fvPatchFields/derived/fixedProfile/fixedProfileFvPatchField.C
 create mode 100644 src/finiteVolume/fields/fvPatchFields/derived/fixedProfile/fixedProfileFvPatchField.H
 create mode 100644 src/finiteVolume/fields/fvPatchFields/derived/fixedProfile/fixedProfileFvPatchFields.C
 create mode 100644 src/finiteVolume/fields/fvPatchFields/derived/fixedProfile/fixedProfileFvPatchFields.H
 create mode 100644 src/finiteVolume/fields/fvPatchFields/derived/fixedProfile/fixedProfileFvPatchFieldsFwd.H

diff --git a/src/finiteVolume/Make/files b/src/finiteVolume/Make/files
index 1b9c242765d..a8eaa086398 100644
--- a/src/finiteVolume/Make/files
+++ b/src/finiteVolume/Make/files
@@ -200,6 +200,7 @@ $(derivedFvPatchFields)/waveSurfacePressure/waveSurfacePressureFvPatchScalarFiel
 $(derivedFvPatchFields)/interstitialInletVelocity/interstitialInletVelocityFvPatchVectorField.C
 $(derivedFvPatchFields)/prghPressure/prghPressureFvPatchScalarField.C
 $(derivedFvPatchFields)/prghTotalPressure/prghTotalPressureFvPatchScalarField.C
+$(derivedFvPatchFields)/fixedProfile/fixedProfileFvPatchFields.C
 
 fvsPatchFields = fields/fvsPatchFields
 $(fvsPatchFields)/fvsPatchField/fvsPatchFields.C
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fixedProfile/fixedProfileFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/fixedProfile/fixedProfileFvPatchField.C
new file mode 100644
index 00000000000..a9db1a70360
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/derived/fixedProfile/fixedProfileFvPatchField.C
@@ -0,0 +1,167 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "fixedProfileFvPatchField.H"
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+template<class Type>
+Foam::fixedProfileFvPatchField<Type>::fixedProfileFvPatchField
+(
+    const fvPatch& p,
+    const DimensionedField<Type, volMesh>& iF
+)
+:
+    fixedValueFvPatchField<Type>(p, iF),
+    profile_(),
+    dir_(pTraits<vector>::zero),
+    origin_(0)
+{}
+
+
+template<class Type>
+Foam::fixedProfileFvPatchField<Type>::fixedProfileFvPatchField
+(
+    const fvPatch& p,
+    const DimensionedField<Type, volMesh>& iF,
+    const Field<Type>& fld
+)
+:
+    fixedValueFvPatchField<Type>(p, iF, fld),
+    profile_(),
+    dir_(pTraits<vector>::zero),
+    origin_(0)
+{}
+
+
+template<class Type>
+Foam::fixedProfileFvPatchField<Type>::fixedProfileFvPatchField
+(
+    const fvPatch& p,
+    const DimensionedField<Type, volMesh>& iF,
+    const dictionary& dict
+)
+:
+    fixedValueFvPatchField<Type>(p, iF),
+    profile_(DataEntry<Type>::New("profile", dict)),
+    dir_(dict.lookup("direction")),
+    origin_(readScalar(dict.lookup("origin")))
+{
+    if (mag(dir_) < SMALL)
+    {
+        FatalErrorInFunction
+            << "magnitude Direction must be greater than zero"
+            << abort(FatalError);
+    }
+
+    // Ensure direction vector is normalized
+    dir_ /= mag(dir_);
+
+    // Evaluate profile
+    this->evaluate();
+}
+
+
+template<class Type>
+Foam::fixedProfileFvPatchField<Type>::fixedProfileFvPatchField
+(
+    const fixedProfileFvPatchField<Type>& ptf,
+    const fvPatch& p,
+    const DimensionedField<Type, volMesh>& iF,
+    const fvPatchFieldMapper& mapper
+)
+:
+    fixedValueFvPatchField<Type>(p, iF),  // Don't map
+    profile_(ptf.profile_, false),
+    dir_(ptf.dir_),
+    origin_(ptf.origin_)
+{
+    // Evaluate profile since value not mapped
+    this->evaluate();
+}
+
+
+template<class Type>
+Foam::fixedProfileFvPatchField<Type>::fixedProfileFvPatchField
+(
+    const fixedProfileFvPatchField<Type>& ptf
+)
+:
+    fixedValueFvPatchField<Type>(ptf),
+    profile_(ptf.profile_, false),
+    dir_(ptf.dir_),
+    origin_(ptf.origin_)
+{}
+
+
+template<class Type>
+Foam::fixedProfileFvPatchField<Type>::fixedProfileFvPatchField
+(
+    const fixedProfileFvPatchField<Type>& ptf,
+    const DimensionedField<Type, volMesh>& iF
+)
+:
+    fixedValueFvPatchField<Type>(ptf, iF),
+    profile_(ptf.profile_, false),
+    dir_(ptf.dir_),
+    origin_(ptf.origin_)
+{
+    // Evaluate the profile if defined
+    if (ptf.profile_.valid())
+    {
+        this->evaluate();
+    }
+}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+template<class Type>
+void Foam::fixedProfileFvPatchField<Type>::updateCoeffs()
+{
+    if (this->updated())
+    {
+        return;
+    }
+
+    const scalarField dirCmpt((dir_ & this->patch().Cf()) - origin_);
+    fvPatchField<Type>::operator==(profile_->value(dirCmpt));
+
+    fixedValueFvPatchField<Type>::updateCoeffs();
+}
+
+
+template<class Type>
+void Foam::fixedProfileFvPatchField<Type>::write(Ostream& os) const
+{
+    fvPatchField<Type>::write(os);
+    profile_->writeData(os);
+    os.writeKeyword("direction") << dir_ << token::END_STATEMENT << nl;
+    os.writeKeyword("origin") << origin_ << token::END_STATEMENT << nl;
+    this->writeEntry("value", os);
+}
+
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fixedProfile/fixedProfileFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/fixedProfile/fixedProfileFvPatchField.H
new file mode 100644
index 00000000000..d644a8e73c6
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/derived/fixedProfile/fixedProfileFvPatchField.H
@@ -0,0 +1,230 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+Class
+    Foam::fixedProfileFvPatchField
+
+Group
+    grpGenericBoundaryConditions
+
+Description
+    This boundary condition provides a fixed value profile condition.
+
+    \heading Patch usage
+
+    \table
+        Property     | Description              | Required | Default value
+        profile      | Profile DataEntry        | yes |
+        direction    | Profile direction        | yes |
+        origin       | Profile origin           | yes |
+    \endtable
+
+    Example of the boundary condition specification:
+    \verbatim
+    myPatch
+    {
+        type            fixedProfile;
+        profile    csvFile;
+
+        profileCoeffs
+        {
+            nHeaderLine         0;          // Number of header lines
+            refColumn           0;          // Reference column index
+            componentColumns    (1 2 3);    // Component column indices
+            separator           ",";        // Optional (defaults to ",")
+            mergeSeparators     no;         // Merge multiple separators
+            fileName            "Uprofile.csv";  // name of csv data file
+            outOfBounds         clamp;      // Optional out-of-bounds handling
+            interpolationScheme linear;     // Optional interpolation scheme
+        }
+        direction        (0 1 0);
+        origin           0;
+    }
+    \endverbatim
+
+    Example setting a parabolic inlet profile for the PitzDaily case:
+    \verbatim
+    inlet
+    {
+        type            fixedProfile;
+
+        profile         polynomial
+        (
+            ((1 0 0)        (0 0 0))
+            ((-6200 0 0)    (2 0 0))
+        );
+        direction       (0 1 0);
+        origin          0.0127;
+    }
+    \endverbatim
+
+Note
+    The profile entry is a DataEntry type.  The example above gives the
+    usage for supplying csv file.
+
+SeeAlso
+    Foam::fixedValueFvPatchField
+    Foam::DataEntry
+    Foam::timeVaryingMappedFixedValueFvPatchField
+
+SourceFiles
+    fixedProfileFvPatchField.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef fixedProfileFvPatchField_H
+#define fixedProfileFvPatchField_H
+
+#include "fixedValueFvPatchFields.H"
+#include "DataEntry.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+/*---------------------------------------------------------------------------*\
+                Class fixedProfileFvPatchField Declaration
+\*---------------------------------------------------------------------------*/
+
+template<class Type>
+class fixedProfileFvPatchField
+:
+    public fixedValueFvPatchField<Type>
+{
+    // Private data
+
+        //- Profile data
+        autoPtr<DataEntry<Type> > profile_;
+
+        //- Profile direction
+        vector dir_;
+
+        //- Profile origin
+        scalar origin_;
+
+
+public:
+
+    //- Runtime type information
+    TypeName("fixedProfile");
+
+
+    // Constructors
+
+        //- Construct from patch and internal field
+        fixedProfileFvPatchField
+        (
+            const fvPatch&,
+            const DimensionedField<Type, volMesh>&
+        );
+
+        //- Construct from patch and internal field and patch field
+        fixedProfileFvPatchField
+        (
+            const fvPatch&,
+            const DimensionedField<Type, volMesh>&,
+            const Field<Type>& fld
+        );
+
+        //- Construct from patch, internal field and dictionary
+        fixedProfileFvPatchField
+        (
+            const fvPatch&,
+            const DimensionedField<Type, volMesh>&,
+            const dictionary&
+        );
+
+        //- Construct by mapping given fixedProfileFvPatchField
+        //  onto a new patch
+        fixedProfileFvPatchField
+        (
+            const fixedProfileFvPatchField<Type>&,
+            const fvPatch&,
+            const DimensionedField<Type, volMesh>&,
+            const fvPatchFieldMapper&
+        );
+
+        //- Construct as copy
+        fixedProfileFvPatchField
+        (
+            const fixedProfileFvPatchField<Type>&
+        );
+
+        //- Construct and return a clone
+        virtual tmp<fvPatchField<Type> > clone() const
+        {
+            return tmp<fvPatchField<Type> >
+            (
+                new fixedProfileFvPatchField<Type>(*this)
+            );
+        }
+
+        //- Construct as copy setting internal field reference
+        fixedProfileFvPatchField
+        (
+            const fixedProfileFvPatchField<Type>&,
+            const DimensionedField<Type, volMesh>&
+        );
+
+        //- Construct and return a clone setting internal field reference
+        virtual tmp<fvPatchField<Type> > clone
+        (
+            const DimensionedField<Type, volMesh>& iF
+        ) const
+        {
+            return tmp<fvPatchField<Type> >
+            (
+                new fixedProfileFvPatchField<Type>(*this, iF)
+            );
+        }
+
+
+    // Member functions
+
+        // Evaluation functions
+
+            //- Update the coefficients associated with the patch field
+            virtual void updateCoeffs();
+
+
+        //- Write
+        virtual void write(Ostream&) const;
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#ifdef NoRepository
+#   include "fixedProfileFvPatchField.C"
+#endif
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fixedProfile/fixedProfileFvPatchFields.C b/src/finiteVolume/fields/fvPatchFields/derived/fixedProfile/fixedProfileFvPatchFields.C
new file mode 100644
index 00000000000..155f369672b
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/derived/fixedProfile/fixedProfileFvPatchFields.C
@@ -0,0 +1,43 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "fixedProfileFvPatchFields.H"
+#include "addToRunTimeSelectionTable.H"
+#include "volFields.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+makePatchFields(fixedProfile);
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fixedProfile/fixedProfileFvPatchFields.H b/src/finiteVolume/fields/fvPatchFields/derived/fixedProfile/fixedProfileFvPatchFields.H
new file mode 100644
index 00000000000..0896b8c760f
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/derived/fixedProfile/fixedProfileFvPatchFields.H
@@ -0,0 +1,49 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef fixedProfileFvPatchFields_H
+#define fixedProfileFvPatchFields_H
+
+#include "fixedProfileFvPatchField.H"
+#include "fieldTypes.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+makePatchTypeFieldTypedefs(fixedProfile);
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fixedProfile/fixedProfileFvPatchFieldsFwd.H b/src/finiteVolume/fields/fvPatchFields/derived/fixedProfile/fixedProfileFvPatchFieldsFwd.H
new file mode 100644
index 00000000000..e324c24dc90
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/derived/fixedProfile/fixedProfileFvPatchFieldsFwd.H
@@ -0,0 +1,50 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef fixedProfileFvPatchFieldsFwd_H
+#define fixedProfileFvPatchFieldsFwd_H
+
+#include "fieldTypes.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+template<class Type> class fixedProfileFvPatchField;
+
+makePatchTypeFieldTypedefs(fixedValue);
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
-- 
GitLab


From d812879fdb609a5aecd01b8192647ebde591c369 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Tue, 24 Nov 2015 22:36:50 +0000
Subject: [PATCH 108/141] TurbulenceModels: updated the mapping of k to R BCs
 Now k BCs which do not have a symmTensor equivalent are converted to
 "calculated"

---
 .../eddyViscosity/eddyViscosity.C             | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.C b/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.C
index 70307f6456d..641f012bee2 100644
--- a/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.C
+++ b/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.C
@@ -84,6 +84,23 @@ Foam::eddyViscosity<BasicTurbulenceModel>::R() const
 {
     tmp<volScalarField> tk(k());
 
+    // Get list of patchField type names from k
+    wordList patchFieldTypes(tk().boundaryField().types());
+
+    // For k patchField types which do not have an equivalent for symmTensor
+    // set to calculated
+    forAll(patchFieldTypes, i)
+    {
+        if
+        (
+           !fvPatchField<symmTensor>::patchConstructorTablePtr_
+                ->found(patchFieldTypes[i])
+        )
+        {
+            patchFieldTypes[i] = calculatedFvPatchField<symmTensor>::typeName;
+        }
+    }
+
     return tmp<volSymmTensorField>
     (
         new volSymmTensorField
@@ -98,7 +115,7 @@ Foam::eddyViscosity<BasicTurbulenceModel>::R() const
                 false
             ),
             ((2.0/3.0)*I)*tk() - (nut_)*dev(twoSymm(fvc::grad(this->U_))),
-            tk().boundaryField().types()
+            patchFieldTypes
         )
     );
 }
-- 
GitLab


From 660b54b728b80cb855a12dd9f9ee3e3a71287807 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Wed, 25 Nov 2015 16:54:14 +0000
Subject: [PATCH 109/141] moveDynamicMesh: Iterate over mesh.update() according
 to the PIMPLE settings Resolves bug-report
 http://www.openfoam.org/mantisbt/view.php?id=1926

---
 .../moveDynamicMesh/moveDynamicMesh.C             | 15 +++++++++++++--
 .../SnakeRiverCanyon/system/fvSolution            |  5 ++++-
 2 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/applications/utilities/mesh/manipulation/moveDynamicMesh/moveDynamicMesh.C b/applications/utilities/mesh/manipulation/moveDynamicMesh/moveDynamicMesh.C
index d2f25bb46f5..2fac9f25c06 100644
--- a/applications/utilities/mesh/manipulation/moveDynamicMesh/moveDynamicMesh.C
+++ b/applications/utilities/mesh/manipulation/moveDynamicMesh/moveDynamicMesh.C
@@ -32,6 +32,7 @@ Description
 #include "argList.H"
 #include "Time.H"
 #include "dynamicFvMesh.H"
+#include "pimpleControl.H"
 #include "vtkSurfaceWriter.H"
 #include "cyclicAMIPolyPatch.H"
 
@@ -129,13 +130,23 @@ int main(int argc, char *argv[])
         Info<< "Writing VTK files with weights of AMI patches." << nl << endl;
     }
 
+    pimpleControl pimple(mesh);
+
+    bool moveMeshOuterCorrectors
+    (
+        pimple.dict().lookupOrDefault<Switch>("moveMeshOuterCorrectors", false)
+    );
+
     while (runTime.loop())
     {
         Info<< "Time = " << runTime.timeName() << endl;
 
-        for (int i = 0; i<2; i++)
+        while (pimple.loop())
         {
-            mesh.update();
+            if (pimple.firstIter() || moveMeshOuterCorrectors)
+            {
+                mesh.update();
+            }
         }
 
         mesh.checkMesh(true);
diff --git a/tutorials/mesh/moveDynamicMesh/SnakeRiverCanyon/system/fvSolution b/tutorials/mesh/moveDynamicMesh/SnakeRiverCanyon/system/fvSolution
index 898ec2420b4..04d9fe6cc65 100644
--- a/tutorials/mesh/moveDynamicMesh/SnakeRiverCanyon/system/fvSolution
+++ b/tutorials/mesh/moveDynamicMesh/SnakeRiverCanyon/system/fvSolution
@@ -33,7 +33,7 @@ solvers
         relTol          0;
     }
 
-    cellDisplacement
+    "cellDisplacement.*"
     {
         solver          GAMG;
         tolerance       1e-08;
@@ -53,5 +53,8 @@ solvers
     }
 }
 
+PIMPLE
+{}
+
 
 // ************************************************************************* //
-- 
GitLab


From 2588d78906c99e4844c134c7fb79d61de5e3fccf Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Thu, 26 Nov 2015 10:54:14 +0000
Subject: [PATCH 110/141] waveDisplacementPointPatchVectorField: Corrected
 "waveLength" -> "waveNumber" Resolves bug-report
 http://www.openfoam.org/mantisbt/view.php?id=1929

---
 .../waveDisplacementPointPatchVectorField.C   | 38 ++++++++-----------
 1 file changed, 16 insertions(+), 22 deletions(-)

diff --git a/src/fvMotionSolver/pointPatchFields/derived/waveDisplacement/waveDisplacementPointPatchVectorField.C b/src/fvMotionSolver/pointPatchFields/derived/waveDisplacement/waveDisplacementPointPatchVectorField.C
index 86956517456..43a5cd92693 100644
--- a/src/fvMotionSolver/pointPatchFields/derived/waveDisplacement/waveDisplacementPointPatchVectorField.C
+++ b/src/fvMotionSolver/pointPatchFields/derived/waveDisplacement/waveDisplacementPointPatchVectorField.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -29,14 +29,9 @@ License
 #include "Time.H"
 #include "polyMesh.H"
 
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-waveDisplacementPointPatchVectorField::
+Foam::waveDisplacementPointPatchVectorField::
 waveDisplacementPointPatchVectorField
 (
     const pointPatch& p,
@@ -50,7 +45,7 @@ waveDisplacementPointPatchVectorField
 {}
 
 
-waveDisplacementPointPatchVectorField::
+Foam::waveDisplacementPointPatchVectorField::
 waveDisplacementPointPatchVectorField
 (
     const pointPatch& p,
@@ -61,7 +56,7 @@ waveDisplacementPointPatchVectorField
     fixedValuePointPatchField<vector>(p, iF, dict),
     amplitude_(dict.lookup("amplitude")),
     omega_(readScalar(dict.lookup("omega"))),
-    waveNumber_(dict.lookupOrDefault<vector>("waveLength", vector::zero))
+    waveNumber_(dict.lookupOrDefault<vector>("waveNumber", vector::zero))
 {
     if (!dict.found("value"))
     {
@@ -70,7 +65,7 @@ waveDisplacementPointPatchVectorField
 }
 
 
-waveDisplacementPointPatchVectorField::
+Foam::waveDisplacementPointPatchVectorField::
 waveDisplacementPointPatchVectorField
 (
     const waveDisplacementPointPatchVectorField& ptf,
@@ -86,7 +81,7 @@ waveDisplacementPointPatchVectorField
 {}
 
 
-waveDisplacementPointPatchVectorField::
+Foam::waveDisplacementPointPatchVectorField::
 waveDisplacementPointPatchVectorField
 (
     const waveDisplacementPointPatchVectorField& ptf,
@@ -102,7 +97,7 @@ waveDisplacementPointPatchVectorField
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-void waveDisplacementPointPatchVectorField::updateCoeffs()
+void Foam::waveDisplacementPointPatchVectorField::updateCoeffs()
 {
     if (this->updated())
     {
@@ -123,7 +118,7 @@ void waveDisplacementPointPatchVectorField::updateCoeffs()
 }
 
 
-void waveDisplacementPointPatchVectorField::write(Ostream& os) const
+void Foam::waveDisplacementPointPatchVectorField::write(Ostream& os) const
 {
     pointPatchField<vector>::write(os);
     os.writeKeyword("amplitude")
@@ -138,14 +133,13 @@ void waveDisplacementPointPatchVectorField::write(Ostream& os) const
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-makePointPatchTypeField
-(
-    pointPatchVectorField,
-    waveDisplacementPointPatchVectorField
-);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
+namespace Foam
+{
+    makePointPatchTypeField
+    (
+        pointPatchVectorField,
+        waveDisplacementPointPatchVectorField
+    );
+}
 
 // ************************************************************************* //
-- 
GitLab


From 2dbf835485134852808cacc8808c170fac0987f6 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 27 Nov 2015 18:51:23 +0000
Subject: [PATCH 111/141] reactingTwoPhaseEulerFoam: Added thermal
 wall-functions with support for wall-boiling Code and tutorial case provided
 by Juho Peltola

---
 .../Make/files                                |    2 +
 ...allBoilingWallFunctionFvPatchScalarField.C |  265 +-
 ...allBoilingWallFunctionFvPatchScalarField.H |   63 +-
 ...ayatillekeWallFunctionFvPatchScalarField.C |  360 +++
 ...ayatillekeWallFunctionFvPatchScalarField.H |  232 ++
 ...allBoilingWallFunctionFvPatchScalarField.C |  385 +++
 ...allBoilingWallFunctionFvPatchScalarField.H |  187 ++
 .../continuousGasKEpsilon.C                   |    3 +-
 .../RAS/wallBoiling/0/T.gas                   |   53 +
 .../RAS/wallBoiling/0/T.liquid                |   55 +
 .../RAS/wallBoiling/0/U.gas                   | 1989 +++++++++++++++
 .../RAS/wallBoiling/0/U.liquid                | 1989 +++++++++++++++
 .../RAS/wallBoiling/0/alpha.gas               |   51 +
 .../RAS/wallBoiling/0/alpha.liquid            | 2038 ++++++++++++++++
 .../RAS/wallBoiling/0/alphat.gas              | 1996 +++++++++++++++
 .../RAS/wallBoiling/0/alphat.liquid           | 2078 ++++++++++++++++
 .../RAS/wallBoiling/0/epsilon.gas             | 2125 ++++++++++++++++
 .../RAS/wallBoiling/0/epsilon.liquid          | 2158 +++++++++++++++++
 .../RAS/wallBoiling/0/k.gas                   | 2119 ++++++++++++++++
 .../RAS/wallBoiling/0/k.liquid                | 2152 ++++++++++++++++
 .../RAS/wallBoiling/0/nut.gas                 | 1965 +++++++++++++++
 .../RAS/wallBoiling/0/nut.liquid              | 2152 ++++++++++++++++
 .../RAS/wallBoiling/0/p                       | 2117 ++++++++++++++++
 .../RAS/wallBoiling/0/p_rgh                   | 2150 ++++++++++++++++
 .../RAS/wallBoiling/0/water.gas               |   51 +
 .../RAS/wallBoiling/0/water.liquid            |   51 +
 .../constant/chemistryProperties.gas          |   41 +
 .../constant/combustionProperties.gas         |   35 +
 .../RAS/wallBoiling/constant/g                |   21 +
 .../RAS/wallBoiling/constant/phaseProperties  |  239 ++
 .../constant/thermophysicalProperties.gas     |   68 +
 .../constant/thermophysicalProperties.liquid  |   67 +
 .../constant/turbulenceProperties.gas         |   28 +
 .../constant/turbulenceProperties.liquid      |   28 +
 .../RAS/wallBoiling/system/blockMeshDict      |   80 +
 .../RAS/wallBoiling/system/controlDict        |   54 +
 .../RAS/wallBoiling/system/fvSchemes          |   76 +
 .../RAS/wallBoiling/system/fvSolution         |  112 +
 38 files changed, 29349 insertions(+), 286 deletions(-)
 mode change 100644 => 100755 applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C
 mode change 100644 => 100755 applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.H
 create mode 100755 applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatPhaseChangeJayatillekeWallFunction/alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.C
 create mode 100755 applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatPhaseChangeJayatillekeWallFunction/alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.H
 create mode 100755 applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C
 create mode 100755 applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.H
 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/T.gas
 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/T.liquid
 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/U.gas
 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/U.liquid
 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/alpha.gas
 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/alpha.liquid
 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/alphat.gas
 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/alphat.liquid
 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/epsilon.gas
 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/epsilon.liquid
 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/k.gas
 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/k.liquid
 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/nut.gas
 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/nut.liquid
 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/p
 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/p_rgh
 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/water.gas
 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/water.liquid
 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/chemistryProperties.gas
 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/combustionProperties.gas
 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/g
 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/phaseProperties
 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/thermophysicalProperties.gas
 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/thermophysicalProperties.liquid
 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/turbulenceProperties.gas
 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/turbulenceProperties.liquid
 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/system/blockMeshDict
 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/system/controlDict
 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/system/fvSchemes
 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/system/fvSolution

diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/Make/files b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/Make/files
index facf0f0f05c..300e1902a96 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/Make/files
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/Make/files
@@ -35,7 +35,9 @@ kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C
 kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.C
 kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.C
 
+derivedFvPatchFields/alphatPhaseChangeJayatillekeWallFunction/alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.C
 derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C
+derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C
 derivedFvPatchFields/copiedFixedValue/copiedFixedValueFvPatchScalarField.C
 derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.C
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C
old mode 100644
new mode 100755
index a2df2670f5c..0b026f4e644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C
@@ -27,14 +27,6 @@ License
 #include "fvPatchFieldMapper.H"
 #include "addToRunTimeSelectionTable.H"
 
-#include "twoPhaseSystem.H"
-#include "ThermalPhaseChangePhaseSystem.H"
-#include "MomentumTransferPhaseSystem.H"
-#include "compressibleTurbulenceModel.H"
-#include "ThermalDiffusivity.H"
-#include "PhaseCompressibleTurbulenceModel.H"
-#include "wallFvPatch.H"
-
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
@@ -42,82 +34,6 @@ namespace Foam
 namespace compressible
 {
 
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-scalar alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField::maxExp_
-    = 50.0;
-scalar alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField::tolerance_
-    = 0.01;
-label alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField::maxIters_
-    = 10;
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-void alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField::checkType()
-{
-    if (!isA<wallFvPatch>(patch()))
-    {
-        FatalErrorInFunction
-            << "Patch type for patch " << patch().name() << " must be wall\n"
-            << "Current patch type is " << patch().type() << nl
-            << exit(FatalError);
-    }
-}
-
-
-tmp<scalarField>
-alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField::Psmooth
-(
-    const scalarField& Prat
-) const
-{
-    return 9.24*(pow(Prat, 0.75) - 1.0)*(1.0 + 0.28*exp(-0.007*Prat));
-}
-
-
-tmp<scalarField>
-alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField::yPlusTherm
-(
-    const scalarField& P,
-    const scalarField& Prat
-) const
-{
-
-    tmp<scalarField> typsf(new scalarField(this->size()));
-    scalarField& ypsf = typsf();
-
-    forAll(ypsf, faceI)
-    {
-        scalar ypt = 11.0;
-
-        for (int i=0; i<maxIters_; i++)
-        {
-            scalar f = ypt - (log(E_*ypt)/kappa_ + P[faceI])/Prat[faceI];
-            scalar df = 1.0 - 1.0/(ypt*kappa_*Prat[faceI]);
-            scalar yptNew = ypt - f/df;
-
-            if (yptNew < VSMALL)
-            {
-                ypsf[faceI] =  0;
-            }
-            else if (mag(yptNew - ypt) < tolerance_)
-            {
-                ypsf[faceI] = yptNew;
-            }
-            else
-            {
-                ypt = yptNew;
-            }
-        }
-
-        ypsf[faceI] = ypt;
-    }
-
-    return typsf;
-}
-
-
-
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField::
@@ -127,13 +43,10 @@ alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    alphatPhaseChangeWallFunctionFvPatchScalarField(p, iF),
-    Prt_(0.85),
-    Cmu_(0.09),
-    kappa_(0.41),
-    E_(9.8),
-    dmdtRelax_(1.0),
-    fixedDmdt_(0.0)
+    alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField(p, iF),
+    relax_(1.0),
+    fixedDmdt_(0.0),
+    L_(0.0)
 {
     checkType();
 }
@@ -147,13 +60,10 @@ alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField
     const dictionary& dict
 )
 :
-    alphatPhaseChangeWallFunctionFvPatchScalarField(p, iF, dict),
-    Prt_(dict.lookupOrDefault<scalar>("Prt", 0.85)),
-    Cmu_(dict.lookupOrDefault<scalar>("Cmu", 0.09)),
-    kappa_(dict.lookupOrDefault<scalar>("kappa", 0.41)),
-    E_(dict.lookupOrDefault<scalar>("E", 9.8)),
-    dmdtRelax_(dict.lookupOrDefault<scalar>("dmdtRelax", 1.0)),
-    fixedDmdt_(dict.lookupOrDefault<scalar>("fixedDmdt", 0.0))
+    alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField(p, iF, dict),
+    relax_(dict.lookupOrDefault<scalar>("relax", 1.0)),
+    fixedDmdt_(dict.lookupOrDefault<scalar>("fixedDmdt", 0.0)),
+    L_(dict.lookupOrDefault<scalar>("L", 0.0))
 {}
 
 
@@ -166,13 +76,15 @@ alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField
     const fvPatchFieldMapper& mapper
 )
 :
-    alphatPhaseChangeWallFunctionFvPatchScalarField(psf, p, iF, mapper),
-    Prt_(psf.Prt_),
-    Cmu_(psf.Cmu_),
-    kappa_(psf.kappa_),
-    E_(psf.E_),
-    dmdtRelax_(psf.dmdtRelax_),
-    fixedDmdt_(psf.fixedDmdt_)
+    alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField
+    (
+        psf,
+        p,
+        iF,
+        mapper
+    ),
+    fixedDmdt_(psf.fixedDmdt_),
+    L_(psf.L_)
 {}
 
 
@@ -182,16 +94,12 @@ alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField
     const alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField& psf
 )
 :
-    alphatPhaseChangeWallFunctionFvPatchScalarField(psf),
-    Prt_(psf.Prt_),
-    Cmu_(psf.Cmu_),
-    kappa_(psf.kappa_),
-    E_(psf.E_),
-    dmdtRelax_(psf.dmdtRelax_),
-    fixedDmdt_(psf.fixedDmdt_)
+    alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField(psf),
+    relax_(psf.relax_),
+    fixedDmdt_(psf.fixedDmdt_),
+    L_(psf.L_)
 {}
 
-
 alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField::
 alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField
 (
@@ -199,13 +107,10 @@ alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField
     const DimensionedField<scalar, volMesh>& iF
 )
 :
-    alphatPhaseChangeWallFunctionFvPatchScalarField(psf, iF),
-    Prt_(psf.Prt_),
-    Cmu_(psf.Cmu_),
-    kappa_(psf.kappa_),
-    E_(psf.E_),
-    dmdtRelax_(psf.dmdtRelax_),
-    fixedDmdt_(psf.fixedDmdt_)
+    alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField(psf, iF),
+    relax_(psf.relax_),
+    fixedDmdt_(psf.fixedDmdt_),
+    L_(psf.L_)
 {}
 
 
@@ -218,117 +123,10 @@ void alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField::updateCoeffs()
         return;
     }
 
-    // Lookup the fluid model
-    const ThermalPhaseChangePhaseSystem
-    <
-        MomentumTransferPhaseSystem<twoPhaseSystem>
-    >& fluid =
-        refCast
-        <
-            const ThermalPhaseChangePhaseSystem
-            <
-                MomentumTransferPhaseSystem<twoPhaseSystem>
-            >
-        >
-        (
-            db().lookupObject<phaseSystem>("phaseProperties")
-        );
-
-    const phaseModel& liquid
-    (
-        fluid.phase1().name() == dimensionedInternalField().group()
-      ? fluid.phase1()
-      : fluid.phase2()
-    );
-
-    const label patchi = patch().index();
-
-    // Retrieve turbulence properties from model
-    const phaseCompressibleTurbulenceModel& turbModel = liquid.turbulence();
-
-    const scalar Cmu25 = pow025(Cmu_);
-
-    const scalarField& y = turbModel.y()[patchi];
-
-    const tmp<scalarField> tmuw = turbModel.mu(patchi);
-    const scalarField& muw = tmuw();
-
-    const tmp<scalarField> talphaw = liquid.thermo().alpha(patchi);
-    const scalarField& alphaw = talphaw();
-
-    scalarField& alphatw = *this;
-
-    const tmp<volScalarField> tk = turbModel.k();
-    const volScalarField& k = tk();
-    const fvPatchScalarField& kw = k.boundaryField()[patchi];
-
-    const fvPatchVectorField& Uw = turbModel.U().boundaryField()[patchi];
-    const scalarField magUp(mag(Uw.patchInternalField() - Uw));
-    const scalarField magGradUw(mag(Uw.snGrad()));
-
-    const fvPatchScalarField& rhow = turbModel.rho().boundaryField()[patchi];
-    const fvPatchScalarField& hew =
-        liquid.thermo().he().boundaryField()[patchi];
-
-    const fvPatchScalarField& Tw =
-        liquid.thermo().T().boundaryField()[patchi];
-
-    scalarField Tp(Tw.patchInternalField());
-
-    // Heat flux [W/m2] - lagging alphatw
-    const scalarField qDot
-    (
-        (alphatw + alphaw)*hew.snGrad()
-    );
-
-    scalarField uTau(Cmu25*sqrt(kw));
-
-    scalarField yPlus(uTau*y/(muw/rhow));
-
-    scalarField Pr(muw/alphaw);
-
-    // Molecular-to-turbulent Prandtl number ratio
-    scalarField Prat(Pr/Prt_);
-
-    // Thermal sublayer thickness
-    scalarField P(this->Psmooth(Prat));
-
-    scalarField yPlusTherm(this->yPlusTherm(P, Prat));
-
-    scalarField alphatConv(this->size(), 0.0);
-
-    // Populate boundary values
-    forAll(alphatw, faceI)
-    {
-        // Evaluate new effective thermal diffusivity
-        scalar alphaEff = 0.0;
-        if (yPlus[faceI] < yPlusTherm[faceI])
-        {
-            scalar A = qDot[faceI]*rhow[faceI]*uTau[faceI]*y[faceI];
-            scalar B = qDot[faceI]*Pr[faceI]*yPlus[faceI];
-            scalar C = Pr[faceI]*0.5*rhow[faceI]*uTau[faceI]*sqr(magUp[faceI]);
-            alphaEff = A/(B + C + VSMALL);
-        }
-        else
-        {
-            scalar A = qDot[faceI]*rhow[faceI]*uTau[faceI]*y[faceI];
-            scalar B =
-                qDot[faceI]*Prt_*(1.0/kappa_*log(E_*yPlus[faceI]) + P[faceI]);
-            scalar magUc =
-                uTau[faceI]/kappa_*log(E_*yPlusTherm[faceI]) - mag(Uw[faceI]);
-            scalar C =
-                0.5*rhow[faceI]*uTau[faceI]
-               *(Prt_*sqr(magUp[faceI]) + (Pr[faceI] - Prt_)*sqr(magUc));
-            alphaEff = A/(B + C + VSMALL);
-        }
-
-        // Update convective heat transfer turbulent thermal diffusivity
-        alphatConv[faceI] = max(0.0, alphaEff - alphaw[faceI]);
-    }
-
-    dmdt_ = (1 - dmdtRelax_)*dmdt_ + dmdtRelax_*fixedDmdt_;
+    dmdt_ = (1 - relax_)*dmdt_ + relax_*fixedDmdt_;
+    mDotL_ = dmdt_*L_;
 
-    operator==(alphatConv);
+    operator==(calcAlphat(*this));
 
     fixedValueFvPatchScalarField::updateCoeffs();
 }
@@ -340,12 +138,9 @@ void alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField::write
 ) const
 {
     fvPatchField<scalar>::write(os);
-    os.writeKeyword("Prt") << Prt_ << token::END_STATEMENT << nl;
-    os.writeKeyword("Cmu") << Cmu_ << token::END_STATEMENT << nl;
-    os.writeKeyword("kappa") << kappa_ << token::END_STATEMENT << nl;
-    os.writeKeyword("E") << E_ << token::END_STATEMENT << nl;
-    os.writeKeyword("dmdtRelax") << dmdtRelax_ << token::END_STATEMENT << nl;
+    os.writeKeyword("relax") << relax_ << token::END_STATEMENT << nl;
     os.writeKeyword("fixedDmdt") << fixedDmdt_ << token::END_STATEMENT << nl;
+    os.writeKeyword("L") << L_ << token::END_STATEMENT << nl;
     dmdt_.writeEntry("dmdt", os);
     writeEntry("value", os);
 }
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.H
old mode 100644
new mode 100755
index 01e51e24d84..4238f774441
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.H
@@ -22,17 +22,19 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::compressible::alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField
+    Foam::compressible::
+        alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField
 
 Group
     grpCmpWallFunctions
 
 Description
-    A simple alphatPhaseChangeWallFunctionFvPatchScalarField with a fixed
-    volumetric phase-change mass flux.
+    A simple alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField with
+    a fixed volumetric phase-change mass flux.
 
 SeeAlso
-    Foam::compressible::alphatPhaseChangeWallFunctionFvPatchScalarField
+    Foam::compressible::
+        alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField
 
 SourceFiles
     alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C
@@ -42,7 +44,7 @@ SourceFiles
 #ifndef compressibleAlphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField_H
 #define compressibleAlphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField_H
 
-#include "alphatPhaseChangeWallFunctionFvPatchScalarField.H"
+#include "alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -57,50 +59,18 @@ namespace compressible
 
 class alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField
 :
-    public alphatPhaseChangeWallFunctionFvPatchScalarField
+    public alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField
 {
     // Private data
 
-        //- Turbulent Prandtl number
-        scalar Prt_;
-
-        //- Cmu coefficient
-        scalar Cmu_;
-
-        //- Von Karman constant
-        scalar kappa_;
-
-        //- E coefficient
-        scalar E_;
-
-        //- dmdt relaxation factor
-        scalar dmdtRelax_;
+        //- dmdt relaxationFactor
+        scalar relax_;
 
-        //- Reference dmdt
+        //- Volumetric phase-change mass flux in near wall cells
         scalar fixedDmdt_;
 
-
-        // Solution parameters
-
-            static scalar maxExp_;
-            static scalar tolerance_;
-            static label maxIters_;
-
-
-    // Private Member Functions
-
-        //- Check the type of the patch
-        void checkType();
-
-        //- 'P' function
-        tmp<scalarField> Psmooth(const scalarField& Prat) const;
-
-        //- Calculate y+ at the edge of the thermal laminar sublayer
-        tmp<scalarField> yPlusTherm
-        (
-            const scalarField& P,
-            const scalarField& Prat
-        ) const;
+        //- Latent heat
+        scalar L_;
 
 
 public:
@@ -181,13 +151,6 @@ public:
 
     // Member functions
 
-        //- Return the rate of phase-change
-        virtual const scalarField& dmdt() const
-        {
-            return dmdt_;
-        }
-
-
         // Evaluation functions
 
             //- Update the coefficients associated with the patch field
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatPhaseChangeJayatillekeWallFunction/alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatPhaseChangeJayatillekeWallFunction/alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.C
new file mode 100755
index 00000000000..0d4a1128c05
--- /dev/null
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatPhaseChangeJayatillekeWallFunction/alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.C
@@ -0,0 +1,360 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.H"
+#include "fvPatchFieldMapper.H"
+#include "addToRunTimeSelectionTable.H"
+
+#include "twoPhaseSystem.H"
+#include "ThermalPhaseChangePhaseSystem.H"
+#include "MomentumTransferPhaseSystem.H"
+#include "compressibleTurbulenceModel.H"
+#include "ThermalDiffusivity.H"
+#include "PhaseCompressibleTurbulenceModel.H"
+#include "wallFvPatch.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace compressible
+{
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+scalar alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField::maxExp_
+    = 50.0;
+scalar alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField::tolerance_
+    = 0.01;
+label alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField::maxIters_
+    = 10;
+
+// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
+
+void alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField::checkType()
+{
+    if (!isA<wallFvPatch>(patch()))
+    {
+        FatalErrorInFunction
+            << "Patch type for patch " << patch().name() << " must be wall\n"
+            << "Current patch type is " << patch().type() << nl
+            << exit(FatalError);
+    }
+}
+
+
+tmp<scalarField>
+alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField::Psmooth
+(
+    const scalarField& Prat
+) const
+{
+    return 9.24*(pow(Prat, 0.75) - 1.0)*(1.0 + 0.28*exp(-0.007*Prat));
+}
+
+
+tmp<scalarField>
+alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField::yPlusTherm
+(
+    const scalarField& P,
+    const scalarField& Prat
+) const
+{
+    tmp<scalarField> typsf(new scalarField(this->size()));
+    scalarField& ypsf = typsf();
+
+    forAll(ypsf, faceI)
+    {
+        scalar ypt = 11.0;
+
+        for (int i=0; i<maxIters_; i++)
+        {
+            scalar f = ypt - (log(E_*ypt)/kappa_ + P[faceI])/Prat[faceI];
+            scalar df = 1 - 1.0/(ypt*kappa_*Prat[faceI]);
+            scalar yptNew = ypt - f/df;
+
+            if (yptNew < VSMALL)
+            {
+                ypsf[faceI] = 0;
+            }
+            else if (mag(yptNew - ypt) < tolerance_)
+            {
+                ypsf[faceI] = yptNew;
+            }
+            else
+            {
+                ypt = yptNew;
+            }
+        }
+
+        ypsf[faceI] = ypt;
+    }
+
+    return typsf;
+}
+
+tmp<scalarField>
+alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField::calcAlphat
+(
+    const scalarField& prevAlphat
+) const
+{
+    // Lookup the fluid model
+    const ThermalPhaseChangePhaseSystem
+    <
+        MomentumTransferPhaseSystem<twoPhaseSystem>
+    >& fluid =
+        refCast
+        <
+            const ThermalPhaseChangePhaseSystem
+            <
+                MomentumTransferPhaseSystem<twoPhaseSystem>
+            >
+        >
+        (
+            db().lookupObject<phaseSystem>("phaseProperties")
+        );
+
+    const phaseModel& liquid
+    (
+        fluid.phase1().name() == dimensionedInternalField().group()
+      ? fluid.phase1()
+      : fluid.phase2()
+    );
+
+    const label patchi = patch().index();
+
+    // Retrieve turbulence properties from model
+    const phaseCompressibleTurbulenceModel& turbModel = liquid.turbulence();
+
+    const scalar Cmu25 = pow025(Cmu_);
+
+    const scalarField& y = turbModel.y()[patchi];
+
+    const tmp<scalarField> tmuw = turbModel.mu(patchi);
+    const scalarField& muw = tmuw();
+
+    const tmp<scalarField> talphaw = liquid.thermo().alpha(patchi);
+    const scalarField& alphaw = talphaw();
+
+    const tmp<volScalarField> tk = turbModel.k();
+    const volScalarField& k = tk();
+    const fvPatchScalarField& kw = k.boundaryField()[patchi];
+
+    const fvPatchVectorField& Uw = turbModel.U().boundaryField()[patchi];
+    const scalarField magUp(mag(Uw.patchInternalField() - Uw));
+    const scalarField magGradUw(mag(Uw.snGrad()));
+
+    const fvPatchScalarField& rhow = turbModel.rho().boundaryField()[patchi];
+    const fvPatchScalarField& hew =
+        liquid.thermo().he().boundaryField()[patchi];
+
+    const fvPatchScalarField& Tw =
+        liquid.thermo().T().boundaryField()[patchi];
+
+    scalarField Tp(Tw.patchInternalField());
+
+    // Heat flux [W/m2] - lagging alphatw
+    const scalarField qDot
+    (
+        (prevAlphat + alphaw)*hew.snGrad()
+    );
+
+    scalarField uTau(Cmu25*sqrt(kw));
+
+    scalarField yPlus(uTau*y/(muw/rhow));
+
+    scalarField Pr(muw/alphaw);
+
+    // Molecular-to-turbulent Prandtl number ratio
+    scalarField Prat(Pr/Prt_);
+
+    // Thermal sublayer thickness
+    scalarField P(this->Psmooth(Prat));
+
+    scalarField yPlusTherm(this->yPlusTherm(P, Prat));
+
+    tmp<scalarField> talphatConv(new scalarField(this->size()));
+    scalarField& alphatConv = talphatConv();
+
+    // Populate boundary values
+    forAll(alphatConv, faceI)
+    {
+        // Evaluate new effective thermal diffusivity
+        scalar alphaEff = 0.0;
+        if (yPlus[faceI] < yPlusTherm[faceI])
+        {
+            scalar A = qDot[faceI]*rhow[faceI]*uTau[faceI]*y[faceI];
+            scalar B = qDot[faceI]*Pr[faceI]*yPlus[faceI];
+            scalar C = Pr[faceI]*0.5*rhow[faceI]*uTau[faceI]*sqr(magUp[faceI]);
+            alphaEff = A/(B + C + VSMALL);
+        }
+        else
+        {
+            scalar A = qDot[faceI]*rhow[faceI]*uTau[faceI]*y[faceI];
+            scalar B =
+                qDot[faceI]*Prt_*(1.0/kappa_*log(E_*yPlus[faceI]) + P[faceI]);
+            scalar magUc =
+                uTau[faceI]/kappa_*log(E_*yPlusTherm[faceI]) - mag(Uw[faceI]);
+            scalar C =
+                0.5*rhow[faceI]*uTau[faceI]
+               *(Prt_*sqr(magUp[faceI]) + (Pr[faceI] - Prt_)*sqr(magUc));
+            alphaEff = A/(B + C + VSMALL);
+        }
+
+        // Update convective heat transfer turbulent thermal diffusivity
+        alphatConv[faceI] = max(0.0, alphaEff - alphaw[faceI]);
+    }
+
+    return talphatConv;
+}
+
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField::
+alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField
+(
+    const fvPatch& p,
+    const DimensionedField<scalar, volMesh>& iF
+)
+:
+    alphatPhaseChangeWallFunctionFvPatchScalarField(p, iF),
+    Prt_(0.85),
+    Cmu_(0.09),
+    kappa_(0.41),
+    E_(9.8)
+{
+    checkType();
+}
+
+
+alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField::
+alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField
+(
+    const fvPatch& p,
+    const DimensionedField<scalar, volMesh>& iF,
+    const dictionary& dict
+)
+:
+    alphatPhaseChangeWallFunctionFvPatchScalarField(p, iF, dict),
+    Prt_(dict.lookupOrDefault<scalar>("Prt", 0.85)),
+    Cmu_(dict.lookupOrDefault<scalar>("Cmu", 0.09)),
+    kappa_(dict.lookupOrDefault<scalar>("kappa", 0.41)),
+    E_(dict.lookupOrDefault<scalar>("E", 9.8))
+{}
+
+
+alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField::
+alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField
+(
+    const alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField& ptf,
+    const fvPatch& p,
+    const DimensionedField<scalar, volMesh>& iF,
+    const fvPatchFieldMapper& mapper
+)
+:
+    alphatPhaseChangeWallFunctionFvPatchScalarField(ptf, p, iF, mapper),
+    Prt_(ptf.Prt_),
+    Cmu_(ptf.Cmu_),
+    kappa_(ptf.kappa_),
+    E_(ptf.E_)
+{}
+
+
+alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField::
+alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField
+(
+    const alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField& awfpsf
+)
+:
+    alphatPhaseChangeWallFunctionFvPatchScalarField(awfpsf),
+    Prt_(awfpsf.Prt_),
+    Cmu_(awfpsf.Cmu_),
+    kappa_(awfpsf.kappa_),
+    E_(awfpsf.E_)
+{}
+
+
+alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField::
+alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField
+(
+    const alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField& awfpsf,
+    const DimensionedField<scalar, volMesh>& iF
+)
+:
+    alphatPhaseChangeWallFunctionFvPatchScalarField(awfpsf, iF),
+    Prt_(awfpsf.Prt_),
+    Cmu_(awfpsf.Cmu_),
+    kappa_(awfpsf.kappa_),
+    E_(awfpsf.E_)
+{}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+void alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField::updateCoeffs()
+{
+    if (updated())
+    {
+        return;
+    }
+
+    operator==(calcAlphat(*this));
+
+    fixedValueFvPatchScalarField::updateCoeffs();
+}
+
+
+void alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField::write
+(
+    Ostream& os
+) const
+{
+    fvPatchField<scalar>::write(os);
+    os.writeKeyword("Prt") << Prt_ << token::END_STATEMENT << nl;
+    os.writeKeyword("Cmu") << Cmu_ << token::END_STATEMENT << nl;
+    os.writeKeyword("kappa") << kappa_ << token::END_STATEMENT << nl;
+    os.writeKeyword("E") << E_ << token::END_STATEMENT << nl;
+    dmdt_.writeEntry("dmdt", os);
+    writeEntry("value", os);
+}
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+makePatchTypeField
+(
+    fvPatchScalarField,
+    alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField
+);
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace compressible
+} // End namespace Foam
+
+// ************************************************************************* //
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatPhaseChangeJayatillekeWallFunction/alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatPhaseChangeJayatillekeWallFunction/alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.H
new file mode 100755
index 00000000000..76bc4e451d4
--- /dev/null
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatPhaseChangeJayatillekeWallFunction/alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.H
@@ -0,0 +1,232 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+Class
+    Foam::compressible::
+        alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField
+
+Group
+    grpCmpWallFunctions
+
+Description
+    This boundary condition provides a thermal wall function for turbulent
+    thermal diffusivity (usually\c alphat) based on the Jayatilleke model for
+    the Eulerian multiphase solvers.
+
+    \heading Patch usage
+
+    \table
+        Property     | Description             | Required    | Default value
+        Prt          | Turbulent Prandtl number | no         | 0.85
+        Cmu          | Model coefficient       | no          | 0.09
+        kappa        | von Karman constant     | no          | 0.41
+        E            | Model coefficient       | no          | 9.8
+    \endtable
+
+    Example of the boundary condition specification:
+    \verbatim
+    myPatch
+    {
+        type            alphatPhaseChangeJayatillekeWallFunction;
+        Prt             0.85;
+        kappa           0.41;
+        E               9.8;
+        value           uniform 0; // optional value entry
+    }
+    \endverbatim
+
+SeeAlso
+    Foam::compressible::alphatPhaseChangeWallFunctionFvPatchScalarField
+
+SourceFiles
+    alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef compressiblealphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField_H
+#define compressiblealphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField_H
+
+#include "alphatPhaseChangeWallFunctionFvPatchScalarField.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace compressible
+{
+
+/*---------------------------------------------------------------------------*\
+   Class alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField Declaration
+\*---------------------------------------------------------------------------*/
+
+class alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField
+:
+    public alphatPhaseChangeWallFunctionFvPatchScalarField
+{
+
+protected:
+
+    // Protected data
+
+        //- Turbulent Prandtl number
+        scalar Prt_;
+
+        //- Cmu coefficient
+        scalar Cmu_;
+
+        //- Von Karman constant
+        scalar kappa_;
+
+        //- E coefficient
+        scalar E_;
+
+        // Solution parameters
+
+            static scalar maxExp_;
+            static scalar tolerance_;
+            static label maxIters_;
+
+
+    // Protected Member Functions
+
+        //- Check the type of the patch
+        void checkType();
+
+        //- 'P' function
+        tmp<scalarField> Psmooth(const scalarField& Prat) const;
+
+        //- Calculate y+ at the edge of the thermal laminar sublayer
+        tmp<scalarField> yPlusTherm
+        (
+            const scalarField& P,
+            const scalarField& Prat
+        ) const;
+
+        //- Update turbulent thermal diffusivity
+        tmp<scalarField> calcAlphat
+        (
+            const scalarField& prevAlphat
+        ) const;
+
+
+public:
+
+    //- Runtime type information
+    TypeName("compressible::alphatPhaseChangeJayatillekeWallFunction");
+
+
+    // Constructors
+
+        //- Construct from patch and internal field
+        alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField
+        (
+            const fvPatch&,
+            const DimensionedField<scalar, volMesh>&
+        );
+
+        //- Construct from patch, internal field and dictionary
+        alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField
+        (
+            const fvPatch&,
+            const DimensionedField<scalar, volMesh>&,
+            const dictionary&
+        );
+
+        //- Construct by mapping given
+        //  alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField
+        //  onto a new patch
+        alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField
+        (
+            const alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField&,
+            const fvPatch&,
+            const DimensionedField<scalar, volMesh>&,
+            const fvPatchFieldMapper&
+        );
+
+        //- Construct as copy
+        alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField
+        (
+            const alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField&
+        );
+
+        //- Construct and return a clone
+        virtual tmp<fvPatchScalarField> clone() const
+        {
+            return tmp<fvPatchScalarField>
+            (
+                new alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField
+                (
+                    *this
+                )
+            );
+        }
+
+        //- Construct as copy setting internal field reference
+        alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField
+        (
+            const alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField&,
+            const DimensionedField<scalar, volMesh>&
+        );
+
+        //- Construct and return a clone setting internal field reference
+        virtual tmp<fvPatchScalarField> clone
+        (
+            const DimensionedField<scalar, volMesh>& iF
+        ) const
+        {
+            return tmp<fvPatchScalarField>
+            (
+                new alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField
+                (
+                    *this,
+                    iF
+                )
+            );
+        }
+
+
+    // Member functions
+
+        // Evaluation functions
+
+            //- Update the coefficients associated with the patch field
+            virtual void updateCoeffs();
+
+
+        // I-O
+
+            //- Write
+            virtual void write(Ostream&) const;
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace compressible
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C
new file mode 100755
index 00000000000..3aa86f35cc9
--- /dev/null
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C
@@ -0,0 +1,385 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "alphatWallBoilingWallFunctionFvPatchScalarField.H"
+#include "fvPatchFieldMapper.H"
+#include "addToRunTimeSelectionTable.H"
+
+#include "twoPhaseSystem.H"
+#include "phaseSystem.H"
+#include "ThermalPhaseChangePhaseSystem.H"
+#include "MomentumTransferPhaseSystem.H"
+#include "compressibleTurbulenceModel.H"
+#include "ThermalDiffusivity.H"
+#include "PhaseCompressibleTurbulenceModel.H"
+#include "saturationModel.H"
+#include "wallFvPatch.H"
+#include "uniformDimensionedFields.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace compressible
+{
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+alphatWallBoilingWallFunctionFvPatchScalarField::
+alphatWallBoilingWallFunctionFvPatchScalarField
+(
+    const fvPatch& p,
+    const DimensionedField<scalar, volMesh>& iF
+)
+:
+    alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField(p, iF),
+    relax_(0.5),
+    AbyV_(p.size(), 0.0),
+    alphatConv_(p.size(), 0.0)
+{
+    AbyV_ = this->patch().magSf();
+    forAll(AbyV_,facei)
+    {
+        label faceCelli = this->patch().faceCells()[facei];
+        AbyV_[facei] /= iF.mesh().V()[faceCelli];
+    }
+}
+
+
+alphatWallBoilingWallFunctionFvPatchScalarField::
+alphatWallBoilingWallFunctionFvPatchScalarField
+(
+    const fvPatch& p,
+    const DimensionedField<scalar, volMesh>& iF,
+    const dictionary& dict
+)
+:
+    alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField(p, iF, dict),
+    relax_(dict.lookupOrDefault<scalar>("relax", 0.5)),
+    AbyV_(p.size(), 0.0),
+    alphatConv_(p.size(), 0.0)
+{
+    if (dict.found("alphatConv"))
+    {
+        alphatConv_ = scalarField("alphatConv", dict, p.size());
+    }
+
+    AbyV_ = this->patch().magSf();
+    forAll(AbyV_,facei)
+    {
+        label faceCelli = this->patch().faceCells()[facei];
+        AbyV_[facei] /= iF.mesh().V()[faceCelli];
+    }
+}
+
+
+alphatWallBoilingWallFunctionFvPatchScalarField::
+alphatWallBoilingWallFunctionFvPatchScalarField
+(
+    const alphatWallBoilingWallFunctionFvPatchScalarField& psf,
+    const fvPatch& p,
+    const DimensionedField<scalar, volMesh>& iF,
+    const fvPatchFieldMapper& mapper
+)
+:
+    alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField
+    (
+        psf,
+        p,
+        iF,
+        mapper
+    ),
+    relax_(psf.relax_),
+    AbyV_(psf.AbyV_),
+    alphatConv_(psf.alphatConv_, mapper)
+{}
+
+
+alphatWallBoilingWallFunctionFvPatchScalarField::
+alphatWallBoilingWallFunctionFvPatchScalarField
+(
+    const alphatWallBoilingWallFunctionFvPatchScalarField& psf
+)
+:
+    alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField(psf),
+    relax_(psf.relax_),
+    AbyV_(psf.AbyV_),
+    alphatConv_(psf.alphatConv_)
+{}
+
+
+alphatWallBoilingWallFunctionFvPatchScalarField::
+alphatWallBoilingWallFunctionFvPatchScalarField
+(
+    const alphatWallBoilingWallFunctionFvPatchScalarField& psf,
+    const DimensionedField<scalar, volMesh>& iF
+)
+:
+    alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField(psf, iF),
+    relax_(psf.relax_),
+    AbyV_(psf.AbyV_),
+    alphatConv_(psf.alphatConv_)
+{}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+void alphatWallBoilingWallFunctionFvPatchScalarField::updateCoeffs()
+{
+    if (updated())
+    {
+        return;
+    }
+
+    // Lookup the fluid model
+    const ThermalPhaseChangePhaseSystem<MomentumTransferPhaseSystem
+    <
+        twoPhaseSystem>
+    >&
+        fluid
+      = refCast
+        <
+            const ThermalPhaseChangePhaseSystem
+            <
+                MomentumTransferPhaseSystem<twoPhaseSystem>
+            >
+        >
+        (
+            db().lookupObject<phaseSystem>("phaseProperties")
+        );
+
+    const phaseModel& liquid
+    (
+        fluid.phase1().name() == dimensionedInternalField().group()
+      ? fluid.phase1()
+      : fluid.phase2()
+    );
+
+    const phaseModel& vapor(fluid.otherPhase(liquid));
+
+    const label patchi = patch().index();
+
+    // Retrieve turbulence properties from model
+    const phaseCompressibleTurbulenceModel& turbModel = liquid.turbulence();
+
+    const tmp<scalarField> tnutw = turbModel.nut(patchi);
+
+    const scalar Cmu25(pow025(Cmu_));
+
+    const scalarField& y = turbModel.y()[patchi];
+
+    const tmp<scalarField> tmuw = turbModel.mu(patchi);
+    const scalarField& muw = tmuw();
+
+    const tmp<scalarField> talphaw = liquid.thermo().alpha(patchi);
+    const scalarField& alphaw = talphaw();
+
+    const tmp<volScalarField> tk = turbModel.k();
+    const volScalarField& k = tk();
+    const fvPatchScalarField& kw = k.boundaryField()[patchi];
+
+    const fvPatchVectorField& Uw = turbModel.U().boundaryField()[patchi];
+    const scalarField magUp(mag(Uw.patchInternalField() - Uw));
+    const scalarField magGradUw(mag(Uw.snGrad()));
+
+    const fvPatchScalarField& rhow = turbModel.rho().boundaryField()[patchi];
+    const fvPatchScalarField& hew =
+        liquid.thermo().he().boundaryField()[patchi];
+
+    const fvPatchScalarField& Tw =
+        liquid.thermo().T().boundaryField()[patchi];
+    const scalarField Tc(Tw.patchInternalField());
+
+    scalarField uTau(Cmu25*sqrt(kw));
+
+    scalarField yPlus(uTau*y/(muw/rhow));
+
+    scalarField Pr(muw/alphaw);
+
+    // Molecular-to-turbulent Prandtl number ratio
+    scalarField Prat(Pr/Prt_);
+
+    // Thermal sublayer thickness
+    scalarField P(this->Psmooth(Prat));
+
+    scalarField yPlusTherm(this->yPlusTherm(P, Prat));
+
+    const scalarField rhoc(rhow.patchInternalField());
+
+    tmp<volScalarField> trhoVapor = vapor.thermo().rho();
+    const volScalarField& rhoVapor = trhoVapor();
+    const fvPatchScalarField& rhoVaporw =
+       rhoVapor.boundaryField()[patchi];
+    const scalarField rhoVaporp(rhoVaporw.patchInternalField());
+
+    tmp<volScalarField> tCp = liquid.thermo().Cp();
+    const volScalarField& Cp = tCp();
+    const fvPatchScalarField& Cpw = Cp.boundaryField()[patchi];
+
+    // Saturation temperature
+    const tmp<volScalarField> tTsat =
+        fluid.saturation().Tsat(liquid.thermo().p());
+    const volScalarField& Tsat = tTsat();
+    const fvPatchScalarField& Tsatw(Tsat.boundaryField()[patchi]);
+    const scalarField Tsatc(Tsatw.patchInternalField());
+
+    // Gravitational acceleration
+    const uniformDimensionedVectorField& g =
+        db().lookupObject<uniformDimensionedVectorField>("g");
+
+    const fvPatchScalarField& pw =
+        liquid.thermo().p().boundaryField()[patchi];
+
+    const scalarField L
+    (
+        vapor.thermo().he(pw,Tsatc,patchi)-hew.patchInternalField()
+    );
+
+    // Liquid temperature at y+=250 is estimated from logarithmic
+    // thermal wall function (Koncar, Krepper & Egorov, 2005)
+    scalarField Tplus_y250(Prt_*(Foam::log(E_*250)/kappa_ + P));
+    scalarField Tplus(Prt_*(Foam::log(E_*yPlus)/kappa_ + P));
+    scalarField Tl(Tw - (Tplus_y250/Tplus)*(Tw - Tc));
+    Tl = max(Tc - 40, min(Tc, Tl));
+
+    // Nucleation site density:
+    // Reformulation of Lemmert & Chawla (Egorov & Menter, 2004)
+    const scalarField N
+    (
+        0.8*9.922e5*Foam::pow(max(0.0, (Tw - Tsatw)/10), 1.805)
+    );
+
+    // Bubble departure diameter:
+    // Tolubinski and Kostanchuk (1970)
+    const scalarField Tsub(max(0.0, Tsatw - Tl));
+    const scalarField Ddep
+    (
+       max(1e-6, min(0.0006*Foam::exp(-Tsub/45), 0.0014))
+    );
+
+    // Bubble departure frequency:
+    // Cole (1960)
+    const scalarField F
+    (
+        sqrt(4*mag(g).value()*(max(0.1, rhoc - rhoVaporp))/(3*Ddep*rhow))
+    );
+
+    // Area fractions:
+
+    // Del Valle & Kenning (1985)
+    const scalarField Ja(rhoc*Cpw*Tsub/(rhoVaporp*L));
+    const scalarField Al(4.8*Foam::exp(-Ja/80));
+
+    // Liquid phase fraction at the wall
+    const scalarField liquidw(liquid.boundaryField()[patchi]);
+
+    // Damp boiling at high void fractions.
+    const scalarField W(min(1.,liquidw/0.2));
+
+    const scalarField A2(W*min(M_PI*sqr(Ddep)*N*Al/4, 1.0));
+    const scalarField A1(max(1e-4, 1 - A2));
+    const scalarField A2E(W*min(M_PI*sqr(Ddep)*N*Al/4, 5.0));
+
+    // Wall evaporation heat flux [kg/s3 = J/m2s]
+    const scalarField Qe((1.0/6.0)*A2E*Ddep*rhoVaporw*F*L);
+
+    // Volumetric mass source in the near wall cell due to the wall boiling
+    dmdt_ = (1 - relax_)*dmdt_ + relax_*Qe*AbyV_/L;
+
+    // Volumetric source in the near wall cell due to the wall boiling
+    mDotL_ = dmdt_*L;
+
+    // Quenching heat transfer coefficient
+    const scalarField hQ
+    (
+        2*(alphaw*Cpw)*F*sqrt((0.8/F)/(M_PI*alphaw/rhow))
+    );
+
+    // Quenching heat flux
+    const scalarField Qq(A2*hQ*max(0.0, Tw - Tl));
+
+    // Convective heat flux
+    alphatConv_ = calcAlphat(alphatConv_);
+    //const scalarField Qc(A1*(alphatConv_ + alphaw)*hew.snGrad());
+
+    // Effective thermal diffusivity that corresponds to the calculated
+    // convective, quenching and evaporative heat fluxes
+
+    operator==
+    (
+        A1*alphatConv_ + (Qq + Qe)/max(liquidw*hew.snGrad(), 1e-16)
+    );
+
+    if(debug)
+    {
+        Info<< "  L: " << gMin(L) << " - " << gMax(L) << endl;
+        Info<< "  Tl: " << gMin(Tl) << " - " << gMax(Tl) << endl;
+        Info<< "  N: " << gMin(N) << " - " << gMax(N) << endl;
+        Info<< "  Ddep: " << gMin(Ddep) << " - " << gMax(Ddep) << endl;
+        Info<< "  F: " << gMin(F) << " - " << gMax(F) << endl;
+        Info<< "  Al: " << gMin(Al) << " - " << gMax(Al) << endl;
+        Info<< "  A1: " << gMin(A1) << " - " << gMax(A1) << endl;
+        Info<< "  A2: " << gMin(A2) << " - " << gMax(A2) << endl;
+        Info<< "  A2E: " << gMin(A2E) << " - " << gMax(A2E) << endl;
+        Info<< "  dmdtW: " << gMin(dmdt_) << " - " << gMax(dmdt_) << endl;
+        const scalarField Qc(A1*(alphatConv_ + alphaw)*hew.snGrad());
+        Info<< "  Qc: " << gMin(Qc) << " - " << gMax(Qc) << endl;
+        Info<< "  Qq: " << gMin(Qq) << " - " << gMax(Qq) << endl;
+        Info<< "  Qe: " << gMin(Qe) << " - " << gMax(Qe) << endl;
+        const scalarField QEff(liquidw*(*this + alphaw)*hew.snGrad());
+        Info<< "  QEff: " << gMin(QEff) << " - " << gMax(QEff) << endl;
+        Info<< "  alphat: " << gMin(*this) << " - " << gMax(*this) << endl;
+        Info<< "  alphatConv: " << gMin(alphatConv_)
+            << " - " << gMax(alphatConv_) << endl;
+    }
+
+    fixedValueFvPatchScalarField::updateCoeffs();
+}
+
+
+void alphatWallBoilingWallFunctionFvPatchScalarField::write(Ostream& os) const
+{
+    fvPatchField<scalar>::write(os);
+    os.writeKeyword("relax") << relax_ << token::END_STATEMENT << nl;
+    dmdt_.writeEntry("dmdt", os);
+    alphatConv_.writeEntry("alphatConv", os);
+    writeEntry("value", os);
+}
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+makePatchTypeField
+(
+    fvPatchScalarField,
+    alphatWallBoilingWallFunctionFvPatchScalarField
+);
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace compressible
+} // End namespace Foam
+
+// ************************************************************************* //
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.H
new file mode 100755
index 00000000000..c469abdae94
--- /dev/null
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.H
@@ -0,0 +1,187 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+Class
+    Foam::compressible::alphatWallBoilingWallFunctionFvPatchScalarField
+
+Group
+    grpCmpWallFunctions
+
+Description
+    A thermal wall function for simulation of subcooled nucleate wall boiling.
+
+    Implements a version of the well-known RPI wall boiling model
+    (Kurul & Podowski, 1991). The model implementation is similar to the model
+    described by Peltola & Pättikangas (2012).
+
+    References:
+    \verbatim
+        "On the modeling of multidimensional effects in boiling channels"
+        Kurul, N., Podowski, M.Z.,
+        ANS Proceedings, National Heat Transfer Conference,
+        Minneapolis, Minnesota, USA, July 28-31, 1991,
+        ISBN: 0-89448-162-1, pp. 30-40
+    \endverbatim
+
+    \verbatim
+        "Development and validation of a boiling model for OpenFOAM
+        multiphase solver"
+        Peltola, J., Pättikangas, T.J.H.,
+        CFD4NRS-4 Conference Proceedings, paper 59,
+        Daejeon, Korea, September 10-12 2012
+    \endverbatim
+
+SeeAlso
+    Foam::fixedValueFvPatchField
+
+SourceFiles
+    alphatWallBoilingWallFunctionFvPatchScalarField.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef compressiblealphatWallBoilingWallFunctionFvPatchScalarField_H
+#define compressiblealphatWallBoilingWallFunctionFvPatchScalarField_H
+
+#include "alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace compressible
+{
+
+/*---------------------------------------------------------------------------*\
+            Class alphatWallBoilingWallFunctionFvPatchScalarField Declaration
+\*---------------------------------------------------------------------------*/
+
+class alphatWallBoilingWallFunctionFvPatchScalarField
+:
+    public alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField
+{
+    // Private data
+
+        //- dmdt relaxationFactor
+        scalar relax_;
+
+        //- Patch face area by cell volume
+        scalarField AbyV_;
+
+        //- Convective turbulent thermal diffusivity
+        scalarField alphatConv_;
+
+
+public:
+
+    //- Runtime type information
+    TypeName("compressible::alphatWallBoilingWallFunction");
+
+
+    // Constructors
+
+        //- Construct from patch and internal field
+        alphatWallBoilingWallFunctionFvPatchScalarField
+        (
+            const fvPatch&,
+            const DimensionedField<scalar, volMesh>&
+        );
+
+        //- Construct from patch, internal field and dictionary
+        alphatWallBoilingWallFunctionFvPatchScalarField
+        (
+            const fvPatch&,
+            const DimensionedField<scalar, volMesh>&,
+            const dictionary&
+        );
+
+        //- Construct by mapping given
+        //  alphatWallBoilingWallFunctionFvPatchScalarField
+        //  onto a new patch
+        alphatWallBoilingWallFunctionFvPatchScalarField
+        (
+            const alphatWallBoilingWallFunctionFvPatchScalarField&,
+            const fvPatch&,
+            const DimensionedField<scalar, volMesh>&,
+            const fvPatchFieldMapper&
+        );
+
+        //- Construct as copy
+        alphatWallBoilingWallFunctionFvPatchScalarField
+        (
+            const alphatWallBoilingWallFunctionFvPatchScalarField&
+        );
+
+        //- Construct and return a clone
+        virtual tmp<fvPatchScalarField> clone() const
+        {
+            return tmp<fvPatchScalarField>
+            (
+                new alphatWallBoilingWallFunctionFvPatchScalarField(*this)
+            );
+        }
+
+        //- Construct as copy setting internal field reference
+        alphatWallBoilingWallFunctionFvPatchScalarField
+        (
+            const alphatWallBoilingWallFunctionFvPatchScalarField&,
+            const DimensionedField<scalar, volMesh>&
+        );
+
+        //- Construct and return a clone setting internal field reference
+        virtual tmp<fvPatchScalarField> clone
+        (
+            const DimensionedField<scalar, volMesh>& iF
+        ) const
+        {
+            return tmp<fvPatchScalarField>
+            (
+                new alphatWallBoilingWallFunctionFvPatchScalarField(*this, iF)
+            );
+        }
+
+
+    // Member functions
+
+        // Evaluation functions
+
+            //- Update the coefficients associated with the patch field
+            virtual void updateCoeffs();
+
+
+        // I-O
+
+            //- Write
+            virtual void write(Ostream&) const;
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace compressible
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/TurbulenceModels/phaseCompressible/RAS/continuousGasKEpsilon/continuousGasKEpsilon.C b/src/TurbulenceModels/phaseCompressible/RAS/continuousGasKEpsilon/continuousGasKEpsilon.C
index 4fe327c91d6..3f4798e515a 100644
--- a/src/TurbulenceModels/phaseCompressible/RAS/continuousGasKEpsilon/continuousGasKEpsilon.C
+++ b/src/TurbulenceModels/phaseCompressible/RAS/continuousGasKEpsilon/continuousGasKEpsilon.C
@@ -89,7 +89,8 @@ continuousGasKEpsilon<BasicTurbulenceModel>::continuousGasKEpsilon
 {
     if (type == typeName)
     {
-        kEpsilon<BasicTurbulenceModel>::correctNut();
+        // Cannot correct nut yet: construction of the phases is not complete
+        // kEpsilon<BasicTurbulenceModel>::correctNut();
         this->printCoeffs(type);
     }
 }
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/T.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/T.gas
new file mode 100644
index 00000000000..0db39ea7294
--- /dev/null
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/T.gas
@@ -0,0 +1,53 @@
+/*--------------------------------*- 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;
+    location    "5";
+    object      T.gas;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 1 0 0 0];
+
+internalField   uniform 373.55;
+
+boundaryField
+{
+    inlet
+    {
+        type            fixedValue;
+        value           uniform 373.55;
+    }
+    outlet
+    {
+        type            inletOutlet;
+        phi             phi.gas;
+        inletValue      uniform 373.55;
+        value           uniform 373.55;
+    }
+    wall1
+    {
+        type            zeroGradient;
+    }
+    wall2
+    {
+        type            copiedFixedValue;
+        sourceFieldName T.liquid;
+        value           uniform 373.55;
+    }
+    defaultFaces
+    {
+        type            empty;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/T.liquid b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/T.liquid
new file mode 100644
index 00000000000..906aadca447
--- /dev/null
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/T.liquid
@@ -0,0 +1,55 @@
+/*--------------------------------*- 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;
+    location    "5";
+    object      T.liquid;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 1 0 0 0];
+
+internalField   uniform 370;
+
+boundaryField
+{
+    inlet
+    {
+        type            fixedValue;
+        value           uniform 370;
+    }
+    outlet
+    {
+        type            inletOutlet;
+        phi             phi.liquid;
+        inletValue      uniform 370;
+        value           uniform 370;
+    }
+    wall1
+    {
+        type            zeroGradient;
+    }
+    wall2
+    {
+        type            fixedMultiPhaseHeatFlux;
+        relax           0.5;
+        q               uniform 100000;
+        phase           "liquid";
+        value           uniform 370;
+    }
+    defaultFaces
+    {
+        type            empty;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/U.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/U.gas
new file mode 100644
index 00000000000..2eddfc721bd
--- /dev/null
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/U.gas
@@ -0,0 +1,1989 @@
+/*--------------------------------*- 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;
+    location    "5";
+    object      U.gas;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 1 -1 0 0 0 0];
+
+internalField   nonuniform List<vector>
+1875
+(
+(-2.07200459e-05 0.798405379 0)
+(-6.16079889e-05 0.901077118 0)
+(-0.000100459607 0.958064777 0)
+(-0.000136061113 0.999098094 0)
+(-0.000167937798 1.03180545 0)
+(-0.000195718176 1.05939051 0)
+(-0.000219145311 1.0833804 0)
+(-0.000238693351 1.10446613 0)
+(-0.000254760555 1.12292773 0)
+(-0.000289321169 1.13511702 0)
+(-0.000356129499 1.13720893 0)
+(-0.00043455057 1.13724099 0)
+(-0.00051260256 1.13724089 0)
+(-0.000591267078 1.13724249 0)
+(-0.000671441851 1.13721196 0)
+(-0.000740385775 1.13512091 0)
+(-0.000776247201 1.12293324 0)
+(-0.000793126098 1.10447489 0)
+(-0.000814089743 1.08339183 0)
+(-0.000839766144 1.05940461 0)
+(-0.00087061186 1.03182252 0)
+(-0.000906260571 0.999118603 0)
+(-0.000951892987 0.958089307 0)
+(-0.00545371801 0.901050215 0)
+(-0.00496443703 0.796967513 0)
+(-1.59927692e-05 0.836006443 0)
+(-4.8237448e-05 0.938677538 0)
+(-8.06008357e-05 0.995664368 0)
+(-0.000112654066 1.03669673 0)
+(-0.000144411391 1.06940302 0)
+(-0.000176010059 1.09698695 0)
+(-0.00020771336 1.12097572 0)
+(-0.000239948238 1.14206068 0)
+(-0.000273196473 1.16052185 0)
+(-0.000308352466 1.1727197 0)
+(-0.00034594518 1.17481678 0)
+(-0.000385286225 1.17484916 0)
+(-0.000425400176 1.17484948 0)
+(-0.000465430703 1.17485183 0)
+(-0.000504503322 1.17482214 0)
+(-0.00054159389 1.17272692 0)
+(-0.000575920589 1.16053155 0)
+(-0.000607916036 1.14207472 0)
+(-0.000638383999 1.12099354 0)
+(-0.00066766836 1.0970085 0)
+(-0.000695991979 1.06942851 0)
+(-0.000723413539 1.03672642 0)
+(-0.000755352851 0.995698457 0)
+(-0.00431068336 0.938646402 0)
+(-0.00392378147 0.833984403 0)
+(-1.63388634e-05 0.83129811 0)
+(-4.93987531e-05 0.933968903 0)
+(-8.2848163e-05 0.990955232 0)
+(-0.000116304626 1.03198709 0)
+(-0.000149786985 1.06469311 0)
+(-0.000183351696 1.09227724 0)
+(-0.000217066716 1.116267 0)
+(-0.000251001991 1.13735412 0)
+(-0.000285143971 1.15581884 0)
+(-0.000319560707 1.16802231 0)
+(-0.000354409443 1.17012433 0)
+(-0.000389617548 1.17015932 0)
+(-0.000424935005 1.17016022 0)
+(-0.000460104732 1.17016119 0)
+(-0.000494864145 1.17012798 0)
+(-0.00052895005 1.16802668 0)
+(-0.000562267409 1.15582425 0)
+(-0.000594944934 1.13736224 0)
+(-0.000627019516 1.11627703 0)
+(-0.00065844434 1.09228877 0)
+(-0.000689258449 1.06470582 0)
+(-0.000719602395 1.03200059 0)
+(-0.000755254769 0.990968857 0)
+(-0.0043387805 0.933949069 0)
+(-0.00395086884 0.830360982 0)
+(-1.63804805e-05 0.831935634 0)
+(-4.95309408e-05 0.934606494 0)
+(-8.30853129e-05 0.991592918 0)
+(-0.000116653677 1.03262493 0)
+(-0.000150233163 1.06533119 0)
+(-0.000183840687 1.09291563 0)
+(-0.000217486879 1.11690579 0)
+(-0.000251175545 1.13799335 0)
+(-0.000284812853 1.15645829 0)
+(-0.000318340403 1.168662 0)
+(-0.00035190634 1.17076436 0)
+(-0.000385588285 1.17079935 0)
+(-0.000419279579 1.17079999 0)
+(-0.000452858757 1.1708004 0)
+(-0.000486203318 1.17076635 0)
+(-0.000519205843 1.16866387 0)
+(-0.000551944017 1.15646032 0)
+(-0.000584565165 1.13799719 0)
+(-0.000617011063 1.11691058 0)
+(-0.000649192207 1.09292097 0)
+(-0.00068112214 1.06533676 0)
+(-0.000712923937 1.03263041 0)
+(-0.000750357403 0.991597789 0)
+(-0.00430455612 0.934572685 0)
+(-0.00391860902 0.831419472 0)
+(-1.63797644e-05 0.832001835 0)
+(-4.95271497e-05 0.934672739 0)
+(-8.30707105e-05 0.991659194 0)
+(-0.000116612268 1.03269126 0)
+(-0.00015013915 1.06539757 0)
+(-0.000183656575 1.09298208 0)
+(-0.000217163048 1.1169723 0)
+(-0.000250650984 1.13805994 0)
+(-0.000283993159 1.15652457 0)
+(-0.000317124716 1.16872828 0)
+(-0.000350252781 1.17083097 0)
+(-0.000383483675 1.17086587 0)
+(-0.000416723232 1.17086628 0)
+(-0.00044989238 1.17086636 0)
+(-0.000482911458 1.17083185 0)
+(-0.000515687547 1.16872848 0)
+(-0.000548331155 1.15652439 0)
+(-0.000581053649 1.13806102 0)
+(-0.000613795419 1.11697382 0)
+(-0.000646437928 1.09298366 0)
+(-0.000678984778 1.06539895 0)
+(-0.000711544071 1.03269216 0)
+(-0.000749832263 0.991659181 0)
+(-0.00430980364 0.934634392 0)
+(-0.00392389766 0.831885787 0)
+(-1.6358385e-05 0.832130287 0)
+(-4.94619094e-05 0.934801223 0)
+(-8.29573326e-05 0.991787679 0)
+(-0.000116442614 1.03281974 0)
+(-0.000149902786 1.06552605 0)
+(-0.000183340974 1.09311054 0)
+(-0.000216752989 1.11710072 0)
+(-0.000250129316 1.13818831 0)
+(-0.000283325451 1.15665234 0)
+(-0.000316282629 1.16885594 0)
+(-0.000349252027 1.17095904 0)
+(-0.000382347586 1.17099386 0)
+(-0.000415468412 1.17099411 0)
+(-0.000448548391 1.170994 0)
+(-0.000481521179 1.17095925 0)
+(-0.000514286513 1.16885514 0)
+(-0.000546961078 1.15665085 0)
+(-0.000579800815 1.13818779 0)
+(-0.000612751585 1.11710036 0)
+(-0.000645674492 1.09310999 0)
+(-0.000678567766 1.06552507 0)
+(-0.000711532534 1.03281811 0)
+(-0.000750266505 0.991784997 0)
+(-0.0042998245 0.934759973 0)
+(-0.00391358678 0.832427341 0)
+(-1.63455687e-05 0.832251917 0)
+(-4.94236668e-05 0.934922877 0)
+(-8.28926702e-05 0.991909321 0)
+(-0.000116349575 1.03294137 0)
+(-0.000149779562 1.06564765 0)
+(-0.000183185214 1.0932321 0)
+(-0.000216561729 1.11722221 0)
+(-0.000249898372 1.13830971 0)
+(-0.000283033923 1.15677297 0)
+(-0.000315916655 1.16897647 0)
+(-0.000348838064 1.17108016 0)
+(-0.000381913271 1.17111493 0)
+(-0.000415027737 1.1711151 0)
+(-0.000448120067 1.17111489 0)
+(-0.000481128089 1.17107999 0)
+(-0.000513936909 1.16897511 0)
+(-0.000546663524 1.15677075 0)
+(-0.000579602661 1.13830829 0)
+(-0.000612705699 1.11722081 0)
+(-0.000645815189 1.09323038 0)
+(-0.000678925126 1.06564539 0)
+(-0.000712132309 1.03293836 0)
+(-0.000751118393 0.991905202 0)
+(-0.00429083552 0.934880167 0)
+(-0.00390410933 0.832952165 0)
+(-1.63458438e-05 0.832374313 0)
+(-4.94246423e-05 0.935045293 0)
+(-8.28940432e-05 0.992031718 0)
+(-0.000116351004 1.03306374 0)
+(-0.000149781317 1.06576999 0)
+(-0.000183187772 1.09335441 0)
+(-0.000216564695 1.11734444 0)
+(-0.000249898724 1.13843181 0)
+(-0.00028301384 1.15689418 0)
+(-0.000315866757 1.16909762 0)
+(-0.000348783991 1.17120205 0)
+(-0.000381879381 1.17123681 0)
+(-0.000415023975 1.17123693 0)
+(-0.000448157523 1.17123667 0)
+(-0.000481218739 1.17120167 0)
+(-0.000514077628 1.16909596 0)
+(-0.000546849035 1.15689156 0)
+(-0.000579862156 1.13842992 0)
+(-0.00061307573 1.11734249 0)
+(-0.000646315321 1.09335207 0)
+(-0.000679570393 1.06576707 0)
+(-0.000712935118 1.03306004 0)
+(-0.000752079987 0.992026868 0)
+(-0.00428253218 0.935001819 0)
+(-0.00389528662 0.833472903 0)
+(-1.63557958e-05 0.832496731 0)
+(-4.94546968e-05 0.935167727 0)
+(-8.29443749e-05 0.992154129 0)
+(-0.000116421473 1.03318613 0)
+(-0.000149871934 1.06589236 0)
+(-0.000183298678 1.09347672 0)
+(-0.00021669539 1.11746666 0)
+(-0.000250045602 1.13855388 0)
+(-0.000283158393 1.15701523 0)
+(-0.000316000186 1.16921865 0)
+(-0.00034893047 1.17132396 0)
+(-0.000382058424 1.17135875 0)
+(-0.000415240628 1.17135885 0)
+(-0.000448418435 1.17135856 0)
+(-0.000481531681 1.17132349 0)
+(-0.000514435191 1.16921685 0)
+(-0.000547239004 1.15701243 0)
+(-0.000580304738 1.13855177 0)
+(-0.00061359969 1.11746446 0)
+(-0.000646934165 1.0934741 0)
+(-0.00068029337 1.06588913 0)
+(-0.000713769228 1.03318211 0)
+(-0.000753023404 0.992148953 0)
+(-0.00427480785 0.935123901 0)
+(-0.00388706453 0.833988553 0)
+(-1.63714424e-05 0.832619311 0)
+(-4.95020357e-05 0.935290317 0)
+(-8.30229947e-05 0.992276694 0)
+(-0.000116530624 1.03330868 0)
+(-0.000150011561 1.06601487 0)
+(-0.000183468375 1.09359919 0)
+(-0.000216893146 1.11758902 0)
+(-0.000250265817 1.13867604 0)
+(-0.000283382419 1.15713625 0)
+(-0.00031621997 1.16933971 0)
+(-0.000349168021 1.17144602 0)
+(-0.000382330387 1.17148086 0)
+(-0.000415550212 1.17148094 0)
+(-0.000448769288 1.17148064 0)
+(-0.00048192792 1.17144551 0)
+(-0.000514867537 1.16933785 0)
+(-0.000547692431 1.15713338 0)
+(-0.000580793955 1.13867385 0)
+(-0.000614149643 1.11758673 0)
+(-0.000647555741 1.09359647 0)
+(-0.000680993353 1.06601154 0)
+(-0.000714552293 1.03330455 0)
+(-0.000753886881 0.992271425 0)
+(-0.00426758403 0.935246374 0)
+(-0.00387939002 0.834499447 0)
+(-1.6389632e-05 0.832742071 0)
+(-4.95566841e-05 0.935413081 0)
+(-8.31134265e-05 0.992399424 0)
+(-0.00011665564 1.03343138 0)
+(-0.000150170578 1.06613754 0)
+(-0.000183660127 1.0937218 0)
+(-0.000217114701 1.11771152 0)
+(-0.000250510586 1.13879829 0)
+(-0.000283631276 1.15725725 0)
+(-0.00031646551 1.1694608 0)
+(-0.000349430865 1.17156822 0)
+(-0.000382624929 1.17160311 0)
+(-0.000415878195 1.17160319 0)
+(-0.000449132863 1.1716029 0)
+(-0.000482329808 1.17156771 0)
+(-0.000515297736 1.16945893 0)
+(-0.000548134036 1.15725438 0)
+(-0.000581257916 1.13879611 0)
+(-0.000614658842 1.11770923 0)
+(-0.00064812025 1.0937191 0)
+(-0.000681618881 1.06613424 0)
+(-0.000715242684 1.03342729 0)
+(-0.000754639675 0.992394201 0)
+(-0.00426080617 0.935369152 0)
+(-0.00387222118 0.835005819 0)
+(-1.64078978e-05 0.832865021 0)
+(-4.96116831e-05 0.935536029 0)
+(-8.3204517e-05 0.992522331 0)
+(-0.000116781371 1.03355426 0)
+(-0.000150329668 1.06626038 0)
+(-0.000183850877 1.09384457 0)
+(-0.00021733338 1.11783415 0)
+(-0.000250749028 1.13892063 0)
+(-0.000283870559 1.15737823 0)
+(-0.000316699691 1.16958191 0)
+(-0.000349679638 1.17169054 0)
+(-0.000382900718 1.1717255 0)
+(-0.000416181723 1.17172559 0)
+(-0.000449465251 1.1717253 0)
+(-0.000482692978 1.17169006 0)
+(-0.000515681565 1.16958007 0)
+(-0.000548521242 1.15737539 0)
+(-0.000581657104 1.1389185 0)
+(-0.000615091011 1.11783193 0)
+(-0.000648595173 1.09384195 0)
+(-0.000682141803 1.06625717 0)
+(-0.00071581708 1.03355027 0)
+(-0.000755263868 0.992517232 0)
+(-0.00425443463 0.935492189 0)
+(-0.00386552589 0.835507924 0)
+(-1.6425129e-05 0.83298816 0)
+(-4.96634179e-05 0.935659159 0)
+(-8.32899073e-05 0.992645413 0)
+(-0.000116898671 1.0336773 0)
+(-0.000150477101 1.06638338 0)
+(-0.000184025906 1.09396749 0)
+(-0.000217531679 1.1179569 0)
+(-0.000250962072 1.13904304 0)
+(-0.000284079949 1.15749917 0)
+(-0.000316900322 1.16970305 0)
+(-0.00034989019 1.17181299 0)
+(-0.000383132356 1.17184802 0)
+(-0.00041643494 1.17184811 0)
+(-0.000449740951 1.17184783 0)
+(-0.000482992317 1.17181253 0)
+(-0.000515994747 1.16970126 0)
+(-0.00054883078 1.1574964 0)
+(-0.000581969357 1.13904099 0)
+(-0.000615425471 1.11795478 0)
+(-0.000648961655 1.09396499 0)
+(-0.000682545809 1.0663803 0)
+(-0.000716261847 1.03367347 0)
+(-0.000755749031 0.992640484 0)
+(-0.00424843018 0.935615452 0)
+(-0.00385926918 0.836006007 0)
+(-1.64403521e-05 0.833111483 0)
+(-4.97091371e-05 0.935782463 0)
+(-8.33649132e-05 0.992768659 0)
+(-0.000117000798 1.03380051 0)
+(-0.000150604386 1.06650653 0)
+(-0.000184175695 1.09409055 0)
+(-0.000217699364 1.11807976 0)
+(-0.000251138336 1.1391655 0)
+(-0.000284246595 1.15762007 0)
+(-0.000317053724 1.16982421 0)
+(-0.000350048813 1.17193554 0)
+(-0.000383305941 1.17197064 0)
+(-0.000416623469 1.17197075 0)
+(-0.000449945076 1.17197048 0)
+(-0.000483212796 1.17193512 0)
+(-0.000516222409 1.16982247 0)
+(-0.000549048042 1.15761737 0)
+(-0.000582180794 1.13916355 0)
+(-0.000615650129 1.11807776 0)
+(-0.000649209481 1.09408818 0)
+(-0.000682821995 1.06650361 0)
+(-0.000716569898 1.03379685 0)
+(-0.000756089712 0.992763931 0)
+(-0.00424276508 0.935738911 0)
+(-0.0038534258 0.836500305 0)
+(-1.64530066e-05 0.833234976 0)
+(-4.97469804e-05 0.93590593 0)
+(-8.34267102e-05 0.992892057 0)
+(-0.000117084469 1.03392385 0)
+(-0.000150707681 1.06662981 0)
+(-0.000184295522 1.09421372 0)
+(-0.000217830292 1.1182027 0)
+(-0.000251270893 1.13928799 0)
+(-0.000284363494 1.15774091 0)
+(-0.00031715204 1.16994538 0)
+(-0.000350146454 1.17205817 0)
+(-0.000383412124 1.17209336 0)
+(-0.000416738024 1.17209347 0)
+(-0.000450068167 1.17209321 0)
+(-0.000483344964 1.1720578 0)
+(-0.000516355237 1.16994369 0)
+(-0.000549164409 1.1577383 0)
+(-0.000582283896 1.13928616 0)
+(-0.000615757784 1.11820083 0)
+(-0.000649331454 1.0942115 0)
+(-0.00068296391 1.06662707 0)
+(-0.000716735497 1.0339204 0)
+(-0.000756280626 0.992887547 0)
+(-0.00423741097 0.935862547 0)
+(-0.0038479699 0.836991042 0)
+(-1.64626706e-05 0.833358624 0)
+(-4.97760367e-05 0.936029543 0)
+(-8.34740809e-05 0.993015592 0)
+(-0.00011714767 1.03404733 0)
+(-0.0001507841 1.06675321 0)
+(-0.000184381571 1.09433699 0)
+(-0.000217920176 1.11832572 0)
+(-0.000251354819 1.1394105 0)
+(-0.000284425096 1.15786168 0)
+(-0.000317189904 1.17006653 0)
+(-0.000350177856 1.17218087 0)
+(-0.00038344538 1.17221614 0)
+(-0.00041677287 1.17221626 0)
+(-0.000450104746 1.17221602 0)
+(-0.000483384039 1.17218055 0)
+(-0.000516388883 1.17006492 0)
+(-0.000549175352 1.15785916 0)
+(-0.000582273836 1.13940878 0)
+(-0.000615743544 1.11832399 0)
+(-0.000649323287 1.09433493 0)
+(-0.00068296792 1.06675065 0)
+(-0.000716755406 1.03404408 0)
+(-0.000756319138 0.993011312 0)
+(-0.00423234341 0.935986336 0)
+(-0.00384287811 0.837478431 0)
+(-1.64691702e-05 0.833482412 0)
+(-4.97958323e-05 0.936153288 0)
+(-8.35058064e-05 0.993139246 0)
+(-0.000117188503 1.03417091 0)
+(-0.000150831175 1.0668767 0)
+(-0.000184431247 1.09446033 0)
+(-0.000217966765 1.11844877 0)
+(-0.000251388405 1.13953299 0)
+(-0.000284429684 1.15798236 0)
+(-0.00031716495 1.17018767 0)
+(-0.000350140201 1.17230362 0)
+(-0.000383402513 1.17233897 0)
+(-0.000416724643 1.17233911 0)
+(-0.00045005112 1.17233887 0)
+(-0.000483325477 1.17230334 0)
+(-0.000516318129 1.17018612 0)
+(-0.000549075776 1.15797993 0)
+(-0.000582146256 1.13953139 0)
+(-0.000615603984 1.11844719 0)
+(-0.000649181955 1.09445845 0)
+(-0.00068283092 1.06687433 0)
+(-0.000716626829 1.03416787 0)
+(-0.000756202989 0.993135203 0)
+(-0.00422754104 0.936110261 0)
+(-0.00383813019 0.837962671 0)
+(-1.64724888e-05 0.833606322 0)
+(-4.98057328e-05 0.936277146 0)
+(-8.35210773e-05 0.993263001 0)
+(-0.000117206427 1.03429458 0)
+(-0.000150848706 1.06700027 0)
+(-0.000184444194 1.09458373 0)
+(-0.000217968552 1.11857185 0)
+(-0.00025136899 1.13965545 0)
+(-0.000284374294 1.15810294 0)
+(-0.000317074218 1.17030878 0)
+(-0.000350030393 1.1724264 0)
+(-0.00038328038 1.17246184 0)
+(-0.000416590272 1.17246198 0)
+(-0.000449904736 1.17246176 0)
+(-0.000483167122 1.17242617 0)
+(-0.000516140996 1.1703073 0)
+(-0.000548863839 1.15810061 0)
+(-0.000581899296 1.13965398 0)
+(-0.000615337101 1.11857041 0)
+(-0.000648905079 1.09458202 0)
+(-0.000682550326 1.0669981 0)
+(-0.000716347061 1.03429176 0)
+(-0.000755929197 0.993259202 0)
+(-0.00422298381 0.9362343 0)
+(-0.00383370756 0.838443951 0)
+(-1.64724373e-05 0.833730336 0)
+(-4.98055369e-05 0.936401099 0)
+(-8.35193928e-05 0.99338684 0)
+(-0.000117200186 1.03441832 0)
+(-0.000150834453 1.0671239 0)
+(-0.000184417759 1.09470716 0)
+(-0.000217923523 1.11869492 0)
+(-0.000251295528 1.13977785 0)
+(-0.000284258465 1.15822339 0)
+(-0.000316916916 1.17042984 0)
+(-0.000349847475 1.17254918 0)
+(-0.000383078364 1.17258471 0)
+(-0.000416368677 1.17258487 0)
+(-0.000449663689 1.17258466 0)
+(-0.000482907112 1.17254901 0)
+(-0.000515855825 1.17042843 0)
+(-0.000548537612 1.15822116 0)
+(-0.000581530915 1.13977651 0)
+(-0.000614940792 1.11869364 0)
+(-0.000648490913 1.09470563 0)
+(-0.000682124942 1.06712192 0)
+(-0.000715914934 1.03441573 0)
+(-0.00075549627 0.993383288 0)
+(-0.00421865158 0.936358436 0)
+(-0.003829591 0.838922445 0)
+(-1.64687945e-05 0.833854435 0)
+(-4.97949501e-05 0.936525128 0)
+(-8.35003583e-05 0.993510741 0)
+(-0.000117169428 1.03454211 0)
+(-0.000150788456 1.06724755 0)
+(-0.000184351802 1.0948306 0)
+(-0.000217831202 1.11881797 0)
+(-0.000251166807 1.13990018 0)
+(-0.000284080031 1.15834372 0)
+(-0.000316691277 1.17055083 0)
+(-0.00034958978 1.17267196 0)
+(-0.000382794159 1.17270758 0)
+(-0.000416057918 1.17270775 0)
+(-0.000449326397 1.17270756 0)
+(-0.000482543728 1.17267183 0)
+(-0.000515460712 1.1705495 0)
+(-0.000548095558 1.15834159 0)
+(-0.000581039743 1.13989897 0)
+(-0.000614413587 1.11881685 0)
+(-0.000647937795 1.09482925 0)
+(-0.000681552602 1.06724578 0)
+(-0.000715328168 1.03453975 0)
+(-0.000754902627 0.993507441 0)
+(-0.00421452763 0.936482649 0)
+(-0.00382576423 0.839398319 0)
+(-1.64617439e-05 0.833978599 0)
+(-4.97738193e-05 0.936649215 0)
+(-8.34638496e-05 0.993634686 0)
+(-0.000117114164 1.03466593 0)
+(-0.000150710316 1.06737122 0)
+(-0.000184246095 1.09495403 0)
+(-0.000217690998 1.11894097 0)
+(-0.000250982227 1.14002241 0)
+(-0.000283839063 1.15846389 0)
+(-0.000316396695 1.17067175 0)
+(-0.000349256414 1.17279471 0)
+(-0.000382427334 1.17283042 0)
+(-0.000415657191 1.1728306 0)
+(-0.00044889184 1.17283042 0)
+(-0.000482075591 1.17279463 0)
+(-0.000514953749 1.17067049 0)
+(-0.000547535263 1.15846186 0)
+(-0.000580423501 1.14002133 0)
+(-0.000613753624 1.11894001 0)
+(-0.000647243875 1.09495286 0)
+(-0.000680831692 1.06736966 0)
+(-0.000714585556 1.0346638 0)
+(-0.00075414639 0.993631641 0)
+(-0.00421059733 0.936606918 0)
+(-0.00382221405 0.839871732 0)
+(-1.64509683e-05 0.834102809 0)
+(-4.9741685e-05 0.936773338 0)
+(-8.34088567e-05 0.993758654 0)
+(-0.000117032968 1.03478975 0)
+(-0.000150599132 1.06749488 0)
+(-0.00018409964 1.09507743 0)
+(-0.00021750219 1.1190639 0)
+(-0.000250741576 1.14014451 0)
+(-0.00028353505 1.1585839 0)
+(-0.000316032605 1.17079257 0)
+(-0.000348846485 1.1729174 0)
+(-0.000381976366 1.17295321 0)
+(-0.000415165212 1.1729534 0)
+(-0.000448358906 1.17295324 0)
+(-0.000481501874 1.17291738 0)
+(-0.000514334611 1.17079138 0)
+(-0.000546856372 1.15858197 0)
+(-0.000579681313 1.14014356 0)
+(-0.00061295991 1.1190631 0)
+(-0.00064640842 1.09507643 0)
+(-0.000679961381 1.06749352 0)
+(-0.000713685606 1.03478786 0)
+(-0.000753225952 0.993755867 0)
+(-0.00420684368 0.936731226 0)
+(-0.00381892399 0.840342832 0)
+(-1.64366021e-05 0.834227045 0)
+(-4.9698844e-05 0.936897479 0)
+(-8.33361402e-05 0.993882624 0)
+(-0.00011692661 1.03491357 0)
+(-0.000150454604 1.0676185 0)
+(-0.000183911645 1.09520076 0)
+(-0.000217264024 1.11918674 0)
+(-0.000250443887 1.14026647 0)
+(-0.000283166962 1.15870372 0)
+(-0.000315598312 1.17091328 0)
+(-0.000348359755 1.17304003 0)
+(-0.000381441146 1.17307593 0)
+(-0.000414581466 1.17307614 0)
+(-0.000447726839 1.17307598 0)
+(-0.000480821615 1.17304006 0)
+(-0.000513601825 1.17091217 0)
+(-0.000546057416 1.15870189 0)
+(-0.000578812208 1.14026566 0)
+(-0.000612031233 1.11918609 0)
+(-0.000645429881 1.09519995 0)
+(-0.000678940145 1.06761736 0)
+(-0.000712627217 1.0349119 0)
+(-0.000752140508 0.993880097 0)
+(-0.00420325469 0.936855551 0)
+(-0.00381588263 0.840811759 0)
+(-1.64183893e-05 0.834351286 0)
+(-4.96446142e-05 0.937021617 0)
+(-8.3244634e-05 0.994006576 0)
+(-0.000116793823 1.03503734 0)
+(-0.000150276078 1.06774207 0)
+(-0.000183682262 1.09532401 0)
+(-0.000216976308 1.11930945 0)
+(-0.000250088453 1.14038827 0)
+(-0.00028273451 1.15882334 0)
+(-0.000315093093 1.17103386 0)
+(-0.000347794709 1.17316256 0)
+(-0.000380820498 1.17319855 0)
+(-0.000413905042 1.17319878 0)
+(-0.000446994505 1.17319864 0)
+(-0.000480033409 1.17316265 0)
+(-0.000512754033 1.17103282 0)
+(-0.000545137258 1.15882162 0)
+(-0.000577815256 1.14038759 0)
+(-0.000610967144 1.11930897 0)
+(-0.000644307788 1.09532339 0)
+(-0.00067776731 1.06774114 0)
+(-0.000711409372 1.03503592 0)
+(-0.000750888699 0.994004311 0)
+(-0.00419981756 0.936979873 0)
+(-0.00381307776 0.841278646 0)
+(-1.63965671e-05 0.83447551 0)
+(-4.95792657e-05 0.93714573 0)
+(-8.31342067e-05 0.994130489 0)
+(-0.000116634653 1.03516106 0)
+(-0.000150063531 1.06786555 0)
+(-0.000183410648 1.09544715 0)
+(-0.000216638734 1.11943203 0)
+(-0.000249675761 1.14050988 0)
+(-0.000282237337 1.15894274 0)
+(-0.000314516475 1.1711543 0)
+(-0.000347151234 1.17328498 0)
+(-0.000380113791 1.17332107 0)
+(-0.000413135251 1.17332131 0)
+(-0.000446161517 1.17332119 0)
+(-0.000479137372 1.17328512 0)
+(-0.000511791365 1.17115333 0)
+(-0.000544095171 1.15894112 0)
+(-0.000576688939 1.14050934 0)
+(-0.000609765755 1.11943171 0)
+(-0.000643040546 1.09544673 0)
+(-0.000676441443 1.06786484 0)
+(-0.000710030436 1.03515988 0)
+(-0.00074946875 0.994128489 0)
+(-0.00419651955 0.937104171 0)
+(-0.00381049759 0.841743619 0)
+(-1.6370808e-05 0.834599697 0)
+(-4.95024525e-05 0.937269798 0)
+(-8.30049477e-05 0.994254341 0)
+(-0.000116448933 1.0352847 0)
+(-0.000149816706 1.06798894 0)
+(-0.000183096882 1.09557017 0)
+(-0.000216250544 1.11955444 0)
+(-0.000249204492 1.14063129 0)
+(-0.000281675006 1.15906191 0)
+(-0.000313868162 1.17127456 0)
+(-0.000346428984 1.17340727 0)
+(-0.000379320753 1.17344346 0)
+(-0.00041227108 1.17344371 0)
+(-0.000445226504 1.1734436 0)
+(-0.000478132029 1.17340747 0)
+(-0.000510712295 1.17127368 0)
+(-0.000542930071 1.1590604 0)
+(-0.0005754326 1.14063089 0)
+(-0.000608426619 1.11955428 0)
+(-0.000641627607 1.09556993 0)
+(-0.000674961749 1.06798844 0)
+(-0.000708490087 1.03528376 0)
+(-0.000747880399 0.994252608 0)
+(-0.00419335 0.937228425 0)
+(-0.00380813183 0.842206797 0)
+(-1.63412796e-05 0.834723825 0)
+(-4.9414176e-05 0.937393799 0)
+(-8.28565842e-05 0.99437811 0)
+(-0.000116236341 1.03540824 0)
+(-0.000149534734 1.0681122 0)
+(-0.000182739797 1.09569303 0)
+(-0.000215811418 1.11967666 0)
+(-0.000248674601 1.14075247 0)
+(-0.000281046831 1.15918083 0)
+(-0.000313147307 1.17139465 0)
+(-0.000345626959 1.17352941 0)
+(-0.000378440628 1.17356569 0)
+(-0.000411312734 1.17356596 0)
+(-0.000444189859 1.17356586 0)
+(-0.000477016934 1.17352966 0)
+(-0.000509516015 1.17139384 0)
+(-0.000541641368 1.15917942 0)
+(-0.00057404605 1.1407522 0)
+(-0.000606949498 1.11967667 0)
+(-0.000640068317 1.09569299 0)
+(-0.000673327692 1.06811192 0)
+(-0.000706787185 1.03540754 0)
+(-0.000746122413 0.994376646 0)
+(-0.00419029871 0.937352612 0)
+(-0.00380597054 0.842668293 0)
+(-1.63078139e-05 0.834847872 0)
+(-4.93141069e-05 0.937517712 0)
+(-8.26886068e-05 0.994501775 0)
+(-0.000115996456 1.03553165 0)
+(-0.000149217897 1.06823531 0)
+(-0.000182340122 1.09581572 0)
+(-0.000215321587 1.11979867 0)
+(-0.000248086238 1.1408734 0)
+(-0.000280353082 1.15929948 0)
+(-0.000312354014 1.17151453 0)
+(-0.000344745048 1.17365137 0)
+(-0.000377472759 1.17368775 0)
+(-0.000410259088 1.17368803 0)
+(-0.000443050456 1.17368795 0)
+(-0.000475791792 1.17365167 0)
+(-0.000508202331 1.1715138 0)
+(-0.000540228258 1.15929818 0)
+(-0.000572527675 1.14087327 0)
+(-0.000605332906 1.11979885 0)
+(-0.000638361977 1.09581587 0)
+(-0.000671538525 1.06823525 0)
+(-0.000704921539 1.03553119 0)
+(-0.000744194614 0.994500582 0)
+(-0.00418735584 0.937476712 0)
+(-0.0038040043 0.843128218 0)
+(-1.62702247e-05 0.834971815 0)
+(-4.92020455e-05 0.937641514 0)
+(-8.25009454e-05 0.994625314 0)
+(-0.000115729006 1.03565491 0)
+(-0.000148865483 1.06835826 0)
+(-0.000181896527 1.0959382 0)
+(-0.000214779733 1.11992045 0)
+(-0.000247438503 1.14099406 0)
+(-0.000279593184 1.15941785 0)
+(-0.000311487664 1.17163419 0)
+(-0.000343782899 1.17377313 0)
+(-0.000376417174 1.17380962 0)
+(-0.000409109898 1.17380991 0)
+(-0.000441807649 1.17380984 0)
+(-0.000474455603 1.17377349 0)
+(-0.000506770434 1.17163354 0)
+(-0.000538690041 1.15941666 0)
+(-0.00057087731 1.14099407 0)
+(-0.000603576516 1.11992079 0)
+(-0.000636507515 1.09593855 0)
+(-0.000669593336 1.06835842 0)
+(-0.000702891882 1.03565471 0)
+(-0.00074209562 0.994624393 0)
+(-0.00418451266 0.937600701 0)
+(-0.00380222489 0.843586671 0)
+(-1.62286482e-05 0.835095631 0)
+(-4.90780364e-05 0.937765183 0)
+(-8.22933879e-05 0.994748704 0)
+(-0.000115433553 1.03577801 0)
+(-0.00014847691 1.06848101 0)
+(-0.000181409069 1.09606047 0)
+(-0.000214186342 1.12004197 0)
+(-0.000246731094 1.14111443 0)
+(-0.000278766427 1.15953591 0)
+(-0.000310547734 1.17175361 0)
+(-0.000342739477 1.17389468 0)
+(-0.00037527271 1.17393126 0)
+(-0.000407864611 1.17393157 0)
+(-0.000440461431 1.17393152 0)
+(-0.000473008302 1.17389509 0)
+(-0.000505219789 1.17175304 0)
+(-0.000537026189 1.15953483 0)
+(-0.000569094251 1.14111458 0)
+(-0.000601679786 1.12004248 0)
+(-0.00063450509 1.09606101 0)
+(-0.000667492172 1.06848139 0)
+(-0.000700697985 1.03577805 0)
+(-0.000739824912 0.994748058 0)
+(-0.00418176018 0.93772456 0)
+(-0.00380062375 0.844043753 0)
+(-1.61831787e-05 0.835219297 0)
+(-4.89420821e-05 0.937888697 0)
+(-8.20657699e-05 0.994871923 0)
+(-0.000115110291 1.03590091 0)
+(-0.000148052603 1.06860354 0)
+(-0.000180877635 1.09618249 0)
+(-0.000213540943 1.12016321 0)
+(-0.000245964198 1.14123449 0)
+(-0.000277873057 1.15965366 0)
+(-0.000309533948 1.17187277 0)
+(-0.000341615004 1.17401598 0)
+(-0.00037403953 1.17405267 0)
+(-0.000406522331 1.17405299 0)
+(-0.000439010383 1.17405295 0)
+(-0.000471448687 1.17401646 0)
+(-0.000503549526 1.17187228 0)
+(-0.000535235742 1.15965268 0)
+(-0.000567177363 1.14123479 0)
+(-0.000599641658 1.1201639 0)
+(-0.0006323531 1.09618323 0)
+(-0.000665233371 1.06860414 0)
+(-0.000698338912 1.0359012 0)
+(-0.000737381652 0.994871552 0)
+(-0.00417909079 0.937848264 0)
+(-0.00379919376 0.844499558 0)
+(-1.61332719e-05 0.83534279 0)
+(-4.87934182e-05 0.938012032 0)
+(-8.18177732e-05 0.994994947 0)
+(-0.000114758625 1.0360236 0)
+(-0.000147591889 1.06872583 0)
+(-0.000180301631 1.09630424 0)
+(-0.000212842794 1.12028415 0)
+(-0.000245137029 1.14135421 0)
+(-0.000276912369 1.15977107 0)
+(-0.000308446111 1.17199165 0)
+(-0.000340408804 1.17413703 0)
+(-0.000372716733 1.17417382 0)
+(-0.000405083268 1.17417416 0)
+(-0.000437454774 1.17417413 0)
+(-0.000469776458 1.17413756 0)
+(-0.000501759076 1.17199124 0)
+(-0.00053331829 1.1597702 0)
+(-0.000565126585 1.14135466 0)
+(-0.000597461747 1.12028501 0)
+(-0.000630051291 1.09630518 0)
+(-0.000662816538 1.06872666 0)
+(-0.000695813536 1.03602415 0)
+(-0.000734765263 0.994994854 0)
+(-0.00417649659 0.937971791 0)
+(-0.00379792693 0.844954173 0)
+(-1.6079591e-05 0.835466086 0)
+(-4.86328377e-05 0.938135165 0)
+(-8.1549338e-05 0.995117756 0)
+(-0.000114378371 1.03614605 0)
+(-0.000147094419 1.06884786 0)
+(-0.000179681002 1.0964257 0)
+(-0.000212092339 1.12040478 0)
+(-0.000244249825 1.14147359 0)
+(-0.000275884606 1.15988812 0)
+(-0.00030728388 1.17211023 0)
+(-0.000339120455 1.1742578 0)
+(-0.000371304026 1.17429469 0)
+(-0.000403546193 1.17429504 0)
+(-0.000435793521 1.17429503 0)
+(-0.000467991104 1.17425838 0)
+(-0.000499847746 1.1721099 0)
+(-0.000531272486 1.15988737 0)
+(-0.00056294041 1.14147418 0)
+(-0.000595138991 1.12040581 0)
+(-0.000627598768 1.09642684 0)
+(-0.00066024116 1.06884892 0)
+(-0.000693121353 1.03614685 0)
+(-0.000731973988 0.995117942 0)
+(-0.00417396915 0.938095118 0)
+(-0.00379681622 0.845407682 0)
+(-1.60214283e-05 0.83558916 0)
+(-4.84594696e-05 0.938258072 0)
+(-8.12600961e-05 0.995240323 0)
+(-0.000113969116 1.03626824 0)
+(-0.00014655995 1.0689696 0)
+(-0.000179015245 1.09654685 0)
+(-0.000211288589 1.12052505 0)
+(-0.000243301606 1.1415926 0)
+(-0.000274788682 1.1600048 0)
+(-0.000306046458 1.17222849 0)
+(-0.000337749433 1.17437826 0)
+(-0.000369800812 1.17441526 0)
+(-0.000401910788 1.17441562 0)
+(-0.000434026106 1.17441563 0)
+(-0.000466091659 1.1743789 0)
+(-0.000497814841 1.17222824 0)
+(-0.000529098405 1.16000416 0)
+(-0.000560618635 1.14159333 0)
+(-0.000592672823 1.12052626 0)
+(-0.000624994711 1.09654819 0)
+(-0.00065750576 1.06897089 0)
+(-0.000690261112 1.03626929 0)
+(-0.000729007365 0.995240791 0)
+(-0.00417150305 0.938218221 0)
+(-0.00379585618 0.845860171 0)
+(-1.59591934e-05 0.835711989 0)
+(-4.82736009e-05 0.938380729 0)
+(-8.09500006e-05 0.995362626 0)
+(-0.000113530827 1.03639014 0)
+(-0.000145988195 1.06909103 0)
+(-0.000178304234 1.09666766 0)
+(-0.000210431646 1.12064496 0)
+(-0.000242292348 1.14171121 0)
+(-0.000273624491 1.1601211 0)
+(-0.000304733666 1.17234641 0)
+(-0.000336295483 1.1744984 0)
+(-0.000368206896 1.1745355 0)
+(-0.000400177073 1.17453588 0)
+(-0.000432152474 1.1745359 0)
+(-0.000464078013 1.1744991 0)
+(-0.000495660006 1.17234624 0)
+(-0.000526794775 1.16012056 0)
+(-0.000558160034 1.14171208 0)
+(-0.000590062052 1.12064634 0)
+(-0.000622238183 1.0966692 0)
+(-0.000654609969 1.06909255 0)
+(-0.000687232205 1.03639145 0)
+(-0.00072586441 0.995363378 0)
+(-0.00416909105 0.938341078 0)
+(-0.00379504022 0.846311719 0)
+(-1.58925986e-05 0.835834547 0)
+(-4.8074987e-05 0.938503113 0)
+(-8.06191333e-05 0.995484643 0)
+(-0.000113063806 1.03651174 0)
+(-0.000145379544 1.06921213 0)
+(-0.000177547739 1.0967881 0)
+(-0.000209521135 1.12076448 0)
+(-0.00024122207 1.14182941 0)
+(-0.000272392203 1.16023698 0)
+(-0.000303345526 1.17246397 0)
+(-0.000334758321 1.17461819 0)
+(-0.000366521969 1.17465539 0)
+(-0.00039834411 1.17465578 0)
+(-0.000430171464 1.17465582 0)
+(-0.000461949251 1.17461895 0)
+(-0.000493382243 1.17246388 0)
+(-0.000524361092 1.16023656 0)
+(-0.000555564373 1.14183043 0)
+(-0.000587306615 1.12076604 0)
+(-0.000619328868 1.09678985 0)
+(-0.000651553314 1.06921388 0)
+(-0.000684034239 1.0365133 0)
+(-0.000722544659 0.995485679 0)
+(-0.00416672733 0.938463662 0)
+(-0.00379436264 0.846762404 0)
+(-1.58216924e-05 0.83595681 0)
+(-4.78634803e-05 0.9386252 0)
+(-8.0266833e-05 0.995606348 0)
+(-0.000112566951 1.036633 0)
+(-0.000144733042 1.06933287 0)
+(-0.000176745786 1.09690817 0)
+(-0.000208557425 1.12088359 0)
+(-0.000240090948 1.14194718 0)
+(-0.000271091725 1.16035244 0)
+(-0.000301881712 1.17258115 0)
+(-0.000333137609 1.17473761 0)
+(-0.000364745397 1.17477492 0)
+(-0.000396411989 1.17477532 0)
+(-0.000428083791 1.17477537 0)
+(-0.000459705684 1.17473843 0)
+(-0.000490981931 1.17258115 0)
+(-0.000521797669 1.16035212 0)
+(-0.000552831366 1.14194834 0)
+(-0.00058440602 1.12088532 0)
+(-0.000616266334 1.09691012 0)
+(-0.0006483349 1.06933485 0)
+(-0.000680666356 1.03663482 0)
+(-0.000719047346 0.995607669 0)
+(-0.00416440679 0.93858595 0)
+(-0.00379381891 0.847212296 0)
+(-1.57464035e-05 0.836078751 0)
+(-4.7639011e-05 0.938746965 0)
+(-7.98933614e-05 0.99572772 0)
+(-0.000112040934 1.03675391 0)
+(-0.000144049122 1.06945324 0)
+(-0.000175898079 1.09702783 0)
+(-0.000207539982 1.12100227 0)
+(-0.000238898294 1.1420645 0)
+(-0.000269722467 1.16046745 0)
+(-0.000300341928 1.17269793 0)
+(-0.000331433385 1.17485664 0)
+(-0.000362877561 1.17489405 0)
+(-0.000394380461 1.17489447 0)
+(-0.000425888597 1.17489454 0)
+(-0.000457346746 1.17485751 0)
+(-0.000488458349 1.17269801 0)
+(-0.000519103536 1.16046725 0)
+(-0.000549960772 1.14206581 0)
+(-0.000581360333 1.12100418 0)
+(-0.000613050907 1.09702998 0)
+(-0.000644955599 1.06945545 0)
+(-0.000677128902 1.03675599 0)
+(-0.000715372315 0.995729325 0)
+(-0.0041621212 0.938707917 0)
+(-0.00379340082 0.847661461 0)
+(-1.56667972e-05 0.836200346 0)
+(-4.74015783e-05 0.938868382 0)
+(-7.9498464e-05 0.995848733 0)
+(-0.000111485039 1.03687444 0)
+(-0.000143327177 1.0695732 0)
+(-0.00017500447 1.09714706 0)
+(-0.000206468735 1.12112049 0)
+(-0.000237644423 1.14218134 0)
+(-0.000268284955 1.160582 0)
+(-0.000298726744 1.17281429 0)
+(-0.000329645798 1.17497525 0)
+(-0.00036091813 1.17501277 0)
+(-0.000392249617 1.17501321 0)
+(-0.000423586321 1.17501329 0)
+(-0.000454872939 1.17497619 0)
+(-0.000485812346 1.17281445 0)
+(-0.000516279488 1.16058191 0)
+(-0.000546952628 1.14218279 0)
+(-0.0005781691 1.12112257 0)
+(-0.000609681631 1.09714941 0)
+(-0.000641414436 1.06957564 0)
+(-0.000673422079 1.03687678 0)
+(-0.00071152083 0.995850622 0)
+(-0.00415986942 0.938829539 0)
+(-0.00379310648 0.848109973 0)
+(-1.55829355e-05 0.836321569 0)
+(-4.71514383e-05 0.938989429 0)
+(-7.90823079e-05 0.995969364 0)
+(-0.000110899699 1.03699456 0)
+(-0.00014256784 1.06969273 0)
+(-0.000174065254 1.09726584 0)
+(-0.00020534408 1.12123824 0)
+(-0.000236329428 1.14229769 0)
+(-0.000266778693 1.16069607 0)
+(-0.000297035142 1.1729302 0)
+(-0.00032777411 1.17509343 0)
+(-0.000358867177 1.17513106 0)
+(-0.000390019268 1.17513151 0)
+(-0.000421176573 1.1751316 0)
+(-0.000452283572 1.17509443 0)
+(-0.000483042644 1.17293044 0)
+(-0.000513324559 1.16069609 0)
+(-0.000543806628 1.14229929 0)
+(-0.000574832878 1.1212405 0)
+(-0.000606159896 1.0972684 0)
+(-0.000637712668 1.06969541 0)
+(-0.000669546108 1.03699716 0)
+(-0.00070749229 0.995971539 0)
+(-0.00415764634 0.938950791 0)
+(-0.00379293112 0.848557897 0)
+(-1.54945435e-05 0.836442394 0)
+(-4.68880338e-05 0.939110079 0)
+(-7.86446464e-05 0.996089588 0)
+(-0.00011028448 1.03711427 0)
+(-0.000141770248 1.06981182 0)
+(-0.000173080034 1.09738414 0)
+(-0.000204165461 1.12135549 0)
+(-0.000234952882 1.14241353 0)
+(-0.000265203853 1.16080963 0)
+(-0.000295267728 1.17304565 0)
+(-0.000325819025 1.17521116 0)
+(-0.000356724798 1.17524889 0)
+(-0.000387689546 1.17524935 0)
+(-0.000418659351 1.17524946 0)
+(-0.000449579098 1.17521221 0)
+(-0.000480150527 1.17304597 0)
+(-0.000510239892 1.16080976 0)
+(-0.000540523678 1.14241527 0)
+(-0.000571351702 1.12135792 0)
+(-0.000602485076 1.09738691 0)
+(-0.000633850064 1.06981472 0)
+(-0.00066550147 1.03711713 0)
+(-0.000703287192 0.996092049 0)
+(-0.00415544475 0.939071648 0)
+(-0.00379286754 0.849005291 0)
+(-1.54018389e-05 0.836562795 0)
+(-4.66115638e-05 0.939230308 0)
+(-7.8185228e-05 0.996209382 0)
+(-0.000109639339 1.03723352 0)
+(-0.000140934774 1.06993044 0)
+(-0.000172048717 1.09750195 0)
+(-0.000202932869 1.12147222 0)
+(-0.000233514775 1.14252883 0)
+(-0.000263560199 1.16092268 0)
+(-0.000293424176 1.17316061 0)
+(-0.000323779865 1.1753284 0)
+(-0.000354490352 1.17536624 0)
+(-0.000385260071 1.17536671 0)
+(-0.000416034987 1.17536684 0)
+(-0.000446759544 1.17532951 0)
+(-0.000477135421 1.17316102 0)
+(-0.000507024938 1.16092292 0)
+(-0.000537102842 1.14253072 0)
+(-0.000567725245 1.12147483 0)
+(-0.000598657679 1.09750492 0)
+(-0.000629826838 1.06993357 0)
+(-0.000661287739 1.03723664 0)
+(-0.000698905546 0.996212129 0)
+(-0.00415326377 0.939192087 0)
+(-0.00379291441 0.849452221 0)
+(-1.53045489e-05 0.836682746 0)
+(-4.63216695e-05 0.93935009 0)
+(-7.77040844e-05 0.996328722 0)
+(-0.000108964188 1.0373523 0)
+(-0.000140061148 1.07004856 0)
+(-0.000170971569 1.09761924 0)
+(-0.000201646989 1.12158841 0)
+(-0.000232015873 1.14264359 0)
+(-0.000261848384 1.16103519 0)
+(-0.000291504966 1.17327507 0)
+(-0.000321657175 1.17544515 0)
+(-0.000352164518 1.17548309 0)
+(-0.000382731351 1.17548358 0)
+(-0.000413303396 1.17548372 0)
+(-0.000443824831 1.17544631 0)
+(-0.000473997235 1.17327556 0)
+(-0.000503679127 1.16103554 0)
+(-0.000533544191 1.14264562 0)
+(-0.000563953551 1.1215912 0)
+(-0.000594676624 1.09762242 0)
+(-0.000625641935 1.07005193 0)
+(-0.0006569047 1.03735568 0)
+(-0.000694346839 0.996331756 0)
+(-0.00415109701 0.93931208 0)
+(-0.00379306598 0.849898746 0)
+(-1.52028875e-05 0.836802221 0)
+(-4.60186629e-05 0.939469401 0)
+(-7.72012934e-05 0.996447584 0)
+(-0.000108259258 1.03747059 0)
+(-0.000139149682 1.07016616 0)
+(-0.000169848399 1.097736 0)
+(-0.000200307065 1.12170404 0)
+(-0.000230455547 1.14275776 0)
+(-0.000260067918 1.16114714 0)
+(-0.000289509653 1.173389 0)
+(-0.000319450834 1.17556137 0)
+(-0.000349747338 1.17559942 0)
+(-0.000380103146 1.17559992 0)
+(-0.000410464197 1.17560007 0)
+(-0.000440774823 1.17556259 0)
+(-0.000470736023 1.17338958 0)
+(-0.000500202867 1.16114761 0)
+(-0.000529847385 1.14275995 0)
+(-0.000560036008 1.121707 0)
+(-0.000590542387 1.09773938 0)
+(-0.000621295846 1.07016977 0)
+(-0.000652352043 1.03747423 0)
+(-0.000689610606 0.996450903 0)
+(-0.00414894078 0.939431604 0)
+(-0.0037933187 0.850344919 0)
+(-1.50968375e-05 0.836921193 0)
+(-4.57025246e-05 0.939588214 0)
+(-7.66766552e-05 0.996565944 0)
+(-0.000107524125 1.03758836 0)
+(-0.000138199993 1.07028323 0)
+(-0.000168679191 1.09785219 0)
+(-0.000198913546 1.12181909 0)
+(-0.000228833952 1.14287135 0)
+(-0.000258218865 1.16125851 0)
+(-0.000287438364 1.17350239 0)
+(-0.000317160589 1.17567704 0)
+(-0.000347238179 1.1757152 0)
+(-0.000377375352 1.17571571 0)
+(-0.000407517909 1.17571589 0)
+(-0.00043760953 1.17567833 0)
+(-0.000467351654 1.17350304 0)
+(-0.000496596254 1.16125909 0)
+(-0.000526013251 1.14287368 0)
+(-0.000555973583 1.12182223 0)
+(-0.000586255084 1.09785577 0)
+(-0.000616788614 1.07028707 0)
+(-0.00064763008 1.03759226 0)
+(-0.000684697396 0.996569548 0)
+(-0.00414679178 0.939550634 0)
+(-0.00379366888 0.850790798 0)
+(-1.49861882e-05 0.837039635 0)
+(-4.53729412e-05 0.939706504 0)
+(-7.61301023e-05 0.996683775 0)
+(-0.000106758682 1.03770559 0)
+(-0.000137211753 1.07039974 0)
+(-0.000167463595 1.0979678 0)
+(-0.000197466051 1.12193354 0)
+(-0.000227151112 1.14298433 0)
+(-0.000256301376 1.16136929 0)
+(-0.000285291086 1.1736152 0)
+(-0.000314786494 1.17579216 0)
+(-0.000344637539 1.17583041 0)
+(-0.000374548461 1.17583094 0)
+(-0.000404464448 1.17583113 0)
+(-0.000434329346 1.1757935 0)
+(-0.000463844715 1.17361594 0)
+(-0.000492859288 1.16136998 0)
+(-0.000522041272 1.1429868 0)
+(-0.000551765978 1.12193685 0)
+(-0.000581815211 1.09797158 0)
+(-0.000612120938 1.0704038 0)
+(-0.000642739433 1.03770975 0)
+(-0.000679607469 0.996687666 0)
+(-0.00414464623 0.939669141 0)
+(-0.00379411282 0.851236437 0)
+(-1.48710905e-05 0.837157521 0)
+(-4.50300131e-05 0.939824246 0)
+(-7.55617916e-05 0.996801056 0)
+(-0.000105963517 1.03782225 0)
+(-0.000136186084 1.07051566 0)
+(-0.00016620269 1.0980828 0)
+(-0.000195965312 1.12204737 0)
+(-0.000225407491 1.14309667 0)
+(-0.000254315899 1.16147945 0)
+(-0.000283068586 1.17372743 0)
+(-0.000312329664 1.17590668 0)
+(-0.000341946117 1.17594504 0)
+(-0.000371622408 1.17594559 0)
+(-0.000401304041 1.17594579 0)
+(-0.000430934565 1.17590808 0)
+(-0.000460215481 1.17372825 0)
+(-0.000488992906 1.16148026 0)
+(-0.00051793271 1.14309928 0)
+(-0.000547413993 1.12205085 0)
+(-0.000577223131 1.09808679 0)
+(-0.000607293309 1.07051996 0)
+(-0.000637680736 1.03782667 0)
+(-0.000674341722 0.996805231 0)
+(-0.00414250136 0.939787102 0)
+(-0.00379464713 0.851681892 0)
+(-1.47516726e-05 0.837274824 0)
+(-4.46743231e-05 0.939941415 0)
+(-7.49722297e-05 0.996917762 0)
+(-0.000105138407 1.03793833 0)
+(-0.000135122181 1.07063098 0)
+(-0.000164895898 1.09819718 0)
+(-0.00019441131 1.12216055 0)
+(-0.000223603244 1.14320836 0)
+(-0.000252262279 1.16158898 0)
+(-0.000280770399 1.17383904 0)
+(-0.000309789447 1.17602059 0)
+(-0.000339163843 1.17605906 0)
+(-0.000368598065 1.17605962 0)
+(-0.000398037463 1.17605984 0)
+(-0.00042742571 1.17602205 0)
+(-0.000456464389 1.17383995 0)
+(-0.000484997073 1.1615899 0)
+(-0.000513687414 1.14321112 0)
+(-0.000542918263 1.1221642 0)
+(-0.000572479816 1.09820137 0)
+(-0.000602306311 1.0706355 0)
+(-0.000632454831 1.037943 0)
+(-0.000668901213 0.99692222 0)
+(-0.00414035493 0.939904489 0)
+(-0.0037952692 0.852127211 0)
+(-1.46277864e-05 0.837391519 0)
+(-4.43050591e-05 0.940057984 0)
+(-7.43602988e-05 0.997033868 0)
+(-0.000104283103 1.0380538 0)
+(-0.000134020355 1.07074567 0)
+(-0.000163543456 1.09831091 0)
+(-0.000192804173 1.12227307 0)
+(-0.000221738474 1.14331938 0)
+(-0.000250141175 1.16169786 0)
+(-0.00027839753 1.17395003 0)
+(-0.000307166807 1.17613387 0)
+(-0.000336291106 1.17617245 0)
+(-0.000365475696 1.17617302 0)
+(-0.000394665414 1.17617325 0)
+(-0.00042380352 1.17613539 0)
+(-0.000452592245 1.17395101 0)
+(-0.000480872734 1.16169888 0)
+(-0.000509306383 1.14332228 0)
+(-0.000538279198 1.12227689 0)
+(-0.000567585434 1.09831531 0)
+(-0.000597160946 1.07075042 0)
+(-0.000627062603 1.03805872 0)
+(-0.000663286417 0.997038607 0)
+(-0.00413820162 0.940021279 0)
+(-0.00379597332 0.852572439 0)
+(-1.44993314e-05 0.837507577 0)
+(-4.39225774e-05 0.940173928 0)
+(-7.37270042e-05 0.99714935 0)
+(-0.000103398196 1.03816863 0)
+(-0.000132880812 1.07085971 0)
+(-0.000162145283 1.09842398 0)
+(-0.000191143617 1.1223849 0)
+(-0.000219813296 1.14342971 0)
+(-0.000247952923 1.16180607 0)
+(-0.000275950075 1.17406036 0)
+(-0.000304461809 1.1762465 0)
+(-0.000333328602 1.17628518 0)
+(-0.000362255538 1.17628577 0)
+(-0.00039118742 1.17628602 0)
+(-0.000420067734 1.17624808 0)
+(-0.000448598993 1.17406143 0)
+(-0.000476620275 1.1618072 0)
+(-0.000504790273 1.14343276 0)
+(-0.000533497939 1.1223889 0)
+(-0.000562541472 1.09842857 0)
+(-0.000591858003 1.07086469 0)
+(-0.000621504936 1.03817381 0)
+(-0.000657498805 0.997154369 0)
+(-0.00413604177 0.940137447 0)
+(-0.0037967591 0.853017634 0)
+(-1.43666328e-05 0.837622974 0)
+(-4.35272484e-05 0.940289222 0)
+(-7.307217e-05 0.997264184 0)
+(-0.000102483275 1.0382828 0)
+(-0.000131703436 1.07097307 0)
+(-0.000160702044 1.09853636 0)
+(-0.000189430988 1.12249603 0)
+(-0.000217828743 1.14353934 0)
+(-0.000245697488 1.16191358 0)
+(-0.000273428112 1.17417002 0)
+(-0.000301675022 1.17635846 0)
+(-0.000330276317 1.17639724 0)
+(-0.000358938072 1.17639785 0)
+(-0.000387605099 1.17639811 0)
+(-0.000416220041 1.17636009 0)
+(-0.000444485908 1.17417117 0)
+(-0.000472240374 1.16191482 0)
+(-0.000500139455 1.14354252 0)
+(-0.000528574639 1.1225002 0)
+(-0.000557348017 1.09854115 0)
+(-0.00058639797 1.07097828 0)
+(-0.000615782037 1.03828824 0)
+(-0.000651537972 0.997269482 0)
+(-0.00413387154 0.940252966 0)
+(-0.00379762299 0.853462847 0)
+(-1.42294679e-05 0.837737682 0)
+(-4.31186806e-05 0.940403841 0)
+(-7.23956392e-05 0.997378345 0)
+(-0.000101538869 1.0383963 0)
+(-0.000130488846 1.07108575 0)
+(-0.000159213641 1.09864802 0)
+(-0.000187665439 1.12260644 0)
+(-0.000215783888 1.14364823 0)
+(-0.000243375218 1.16202039 0)
+(-0.000270832359 1.17427899 0)
+(-0.000298806603 1.17646972 0)
+(-0.000327134901 1.17650861 0)
+(-0.000355523848 1.17650923 0)
+(-0.000383917884 1.1765095 0)
+(-0.000412259716 1.17647141 0)
+(-0.000440253007 1.17428022 0)
+(-0.000467733656 1.16202174 0)
+(-0.00049535487 1.14365155 0)
+(-0.000523510659 1.12261078 0)
+(-0.000552006554 1.09865301 0)
+(-0.000580782012 1.07109118 0)
+(-0.000609895303 1.03840198 0)
+(-0.000645405895 0.997383921 0)
+(-0.00413168799 0.940367811 0)
+(-0.00379856095 0.853908117 0)
+(-1.40879672e-05 0.837851675 0)
+(-4.26970755e-05 0.940517759 0)
+(-7.16979173e-05 0.997491811 0)
+(-0.000100565047 1.03850909 0)
+(-0.000129236826 1.07119771 0)
+(-0.000157680617 1.09875896 0)
+(-0.00018584807 1.12271611 0)
+(-0.000213680355 1.14375638 0)
+(-0.000240987115 1.16212646 0)
+(-0.000268163138 1.17438725 0)
+(-0.000295857237 1.17658027 0)
+(-0.000323904925 1.17661926 0)
+(-0.000352013439 1.17661989 0)
+(-0.000380126988 1.17662018 0)
+(-0.00040818811 1.17658201 0)
+(-0.000435901103 1.17438856 0)
+(-0.000463100544 1.16212792 0)
+(-0.000490436865 1.14375984 0)
+(-0.000518305799 1.12272062 0)
+(-0.00054651676 1.09876414 0)
+(-0.000575010647 1.07120336 0)
+(-0.000603845467 1.03851503 0)
+(-0.000639102957 0.997497663 0)
+(-0.00412948882 0.940481957 0)
+(-0.00379957053 0.854353491 0)
+(-1.39421346e-05 0.837964928 0)
+(-4.22626661e-05 0.94063095 0)
+(-7.09787541e-05 0.997604556 0)
+(-9.95617868e-05 1.03862116 0)
+(-0.000127947902 1.07130893 0)
+(-0.000156102812 1.09886915 0)
+(-0.000183978415 1.12282501 0)
+(-0.000211517287 1.14386377 0)
+(-0.000238532645 1.1622318 0)
+(-0.000265420604 1.17449477 0)
+(-0.000292827175 1.17669008 0)
+(-0.000320586857 1.17672917 0)
+(-0.000348407429 1.17672982 0)
+(-0.000376232849 1.17673012 0)
+(-0.000404005769 1.17669188 0)
+(-0.000431431167 1.17449616 0)
+(-0.000458342206 1.16223336 0)
+(-0.000485386715 1.14386737 0)
+(-0.000512961908 1.12282969 0)
+(-0.000540880754 1.09887452 0)
+(-0.000569085413 1.07131481 0)
+(-0.000597634118 1.03862735 0)
+(-0.000632631026 0.997610682 0)
+(-0.00412727217 0.940595378 0)
+(-0.00380064901 0.85479902 0)
+(-1.37920241e-05 0.838077415 0)
+(-4.18154126e-05 0.940743389 0)
+(-7.02385351e-05 0.997716557 0)
+(-9.85291893e-05 1.03873249 0)
+(-0.000126621418 1.0714194 0)
+(-0.000154480224 1.09897856 0)
+(-0.000182057144 1.12293314 0)
+(-0.000209295533 1.14397037 0)
+(-0.000236012323 1.16233636 0)
+(-0.000262605221 1.17460154 0)
+(-0.000289716765 1.17679913 0)
+(-0.000317180645 1.17683833 0)
+(-0.000344705785 1.17683898 0)
+(-0.000372235936 1.1768393 0)
+(-0.000399713173 1.17680098 0)
+(-0.000426843428 1.17460301 0)
+(-0.000453459214 1.16233804 0)
+(-0.00048020504 1.14397411 0)
+(-0.000507479747 1.12293798 0)
+(-0.000535099545 1.09898414 0)
+(-0.000563007536 1.0714255 0)
+(-0.000591262372 1.03873892 0)
+(-0.000625991421 0.997722956 0)
+(-0.0041250364 0.94070805 0)
+(-0.00380179386 0.855244747 0)
+(-1.36376335e-05 0.838189109 0)
+(-4.13553332e-05 0.940855052 0)
+(-6.94769699e-05 0.99782779 0)
+(-9.74672345e-05 1.03884304 0)
+(-0.000125258073 1.07152909 0)
+(-0.000152813139 1.09908719 0)
+(-0.000180083915 1.12304046 0)
+(-0.000207014993 1.14407617 0)
+(-0.000233426417 1.16244015 0)
+(-0.000259716818 1.17470753 0)
+(-0.000286526014 1.1769074 0)
+(-0.000313686916 1.1769467 0)
+(-0.000340909123 1.17694737 0)
+(-0.000368136487 1.17694771 0)
+(-0.000395310844 1.17690931 0)
+(-0.000422138692 1.17470908 0)
+(-0.000448452129 1.16244193 0)
+(-0.000474892577 1.14408005 0)
+(-0.00050185963 1.12304547 0)
+(-0.000529173051 1.09909296 0)
+(-0.00055677715 1.07153541 0)
+(-0.000584730622 1.03884972 0)
+(-0.000619184389 0.997834462 0)
+(-0.00412277807 0.94081995 0)
+(-0.00380300165 0.855690724 0)
+(-1.34787229e-05 0.838299985 0)
+(-4.08820145e-05 0.940965913 0)
+(-6.86939359e-05 0.997938229 0)
+(-9.63758261e-05 1.0389528 0)
+(-0.000123857422 1.07163797 0)
+(-0.00015110117 1.099195 0)
+(-0.000178058524 1.12314696 0)
+(-0.000204674964 1.14418115 0)
+(-0.000230774049 1.16254313 0)
+(-0.000256755223 1.17481273 0)
+(-0.000283254798 1.17701487 0)
+(-0.000310105348 1.17705428 0)
+(-0.000337017561 1.17705496 0)
+(-0.000363934725 1.17705531 0)
+(-0.000390798492 1.17701684 0)
+(-0.000417316998 1.17481437 0)
+(-0.000443321451 1.16254502 0)
+(-0.00046944978 1.14418517 0)
+(-0.000496102567 1.12315214 0)
+(-0.000523102946 1.09920097 0)
+(-0.000550396306 1.07164452 0)
+(-0.00057804123 1.03895972 0)
+(-0.000612212753 0.997945178 0)
+(-0.00412049682 0.940931054 0)
+(-0.00380427046 0.856136995 0)
+(-1.33155563e-05 0.838410015 0)
+(-4.03957437e-05 0.941075946 0)
+(-6.78892576e-05 0.998047852 0)
+(-9.52544202e-05 1.03906174 0)
+(-0.000122418924 1.07174603 0)
+(-0.000149343847 1.09930198 0)
+(-0.000175980426 1.12325263 0)
+(-0.000202275437 1.14428529 0)
+(-0.000228055352 1.16264529 0)
+(-0.00025371995 1.17491712 0)
+(-0.000279902344 1.17712152 0)
+(-0.00030643486 1.17716104 0)
+(-0.00033302952 1.17716173 0)
+(-0.000359629512 1.1771621 0)
+(-0.000386176103 1.17712355 0)
+(-0.000412378052 1.17491884 0)
+(-0.000438066575 1.1626473 0)
+(-0.000463876494 1.14428945 0)
+(-0.000490208634 1.12325798 0)
+(-0.000516889342 1.09930815 0)
+(-0.000543864887 1.07175281 0)
+(-0.000571194072 1.03906892 0)
+(-0.000605076414 0.99805508 0)
+(-0.00411818754 0.941041338 0)
+(-0.00380559528 0.856583606 0)
+(-1.31478297e-05 0.838519172 0)
+(-3.9895767e-05 0.941185122 0)
+(-6.70619206e-05 0.998156631 0)
+(-9.41016529e-05 1.03916984 0)
+(-0.000120940631 1.07185325 0)
+(-0.000147538738 1.09940811 0)
+(-0.00017384684 1.12335743 0)
+(-0.000199812836 1.14438857 0)
+(-0.000225266365 1.16274662 0)
+(-0.000250607412 1.17502068 0)
+(-0.000276465746 1.17722734 0)
+(-0.000302673499 1.17726695 0)
+(-0.000328943595 1.17726767 0)
+(-0.000355219097 1.17726805 0)
+(-0.00038144115 1.17722942 0)
+(-0.000407319799 1.17502248 0)
+(-0.000432686325 1.16274874 0)
+(-0.000458171872 1.14439288 0)
+(-0.000484177483 1.12336296 0)
+(-0.000510532317 1.09941449 0)
+(-0.000537183662 1.07186026 0)
+(-0.000564190714 1.03917729 0)
+(-0.000597777488 0.998164149 0)
+(-0.00411584978 0.941150782 0)
+(-0.00380697445 0.857030618 0)
+(-1.29754324e-05 0.838627428 0)
+(-3.93819169e-05 0.941293415 0)
+(-6.62115022e-05 0.998264539 0)
+(-9.29168856e-05 1.03927707 0)
+(-0.000119421737 1.0719596 0)
+(-0.000145684574 1.09951336 0)
+(-0.000171656414 1.12346135 0)
+(-0.000197285904 1.14449097 0)
+(-0.000222405606 1.16284708 0)
+(-0.000247415491 1.17512338 0)
+(-0.000272941572 1.17733229 0)
+(-0.000298816706 1.17737201 0)
+(-0.00032475502 1.17737274 0)
+(-0.000350698982 1.17737314 0)
+(-0.000376589815 1.17733444 0)
+(-0.000402138617 1.17512528 0)
+(-0.000427176614 1.16284933 0)
+(-0.000452332011 1.14449545 0)
+(-0.000478005423 1.12346708 0)
+(-0.000504028801 1.09951996 0)
+(-0.000530350501 1.07196687 0)
+(-0.000557029229 1.0392848 0)
+(-0.000590314927 0.998272367 0)
+(-0.00411347906 0.941259366 0)
+(-0.00380840361 0.857478094 0)
+(-1.2797528e-05 0.838734749 0)
+(-3.88514887e-05 0.941400792 0)
+(-6.53337035e-05 0.998371545 0)
+(-9.16944982e-05 1.03938341 0)
+(-0.000117855431 1.07206505 0)
+(-0.000143773909 1.09961771 0)
+(-0.000169400694 1.12356437 0)
+(-0.000194685243 1.14459248 0)
+(-0.000219463005 1.16294667 0)
+(-0.000244134016 1.1752252 0)
+(-0.000269320926 1.17743635 0)
+(-0.000294856193 1.17747618 0)
+(-0.000320455674 1.17747693 0)
+(-0.000346061856 1.17747735 0)
+(-0.000371615136 1.17743859 0)
+(-0.000396828192 1.17522721 0)
+(-0.000421532971 1.16294906 0)
+(-0.000446353415 1.14459713 0)
+(-0.000471689844 1.12357032 0)
+(-0.000497377099 1.09962457 0)
+(-0.000523364165 1.0720726 0)
+(-0.000549710027 1.03939146 0)
+(-0.000582689973 0.99837972 0)
+(-0.00411106947 0.941367078 0)
+(-0.00380987636 0.857926099 0)
+(-1.26138682e-05 0.838841098 0)
+(-3.8303712e-05 0.941507215 0)
+(-6.44268137e-05 0.998477613 0)
+(-9.04311917e-05 1.03948882 0)
+(-0.000116236907 1.07216957 0)
+(-0.000141800102 1.09972113 0)
+(-0.000167071413 1.12366645 0)
+(-0.000192001466 1.14469305 0)
+(-0.000216428483 1.16304535 0)
+(-0.000240751814 1.17532613 0)
+(-0.000265590676 1.17753952 0)
+(-0.000290778281 1.17757946 0)
+(-0.00031603154 1.17758023 0)
+(-0.000341292689 1.17758067 0)
+(-0.000366501975 1.17754184 0)
+(-0.000391373539 1.17532827 0)
+(-0.000415739875 1.16304792 0)
+(-0.000440221315 1.14469793 0)
+(-0.000465217431 1.12367267 0)
+(-0.000490565587 1.0997283 0)
+(-0.000516215487 1.07217747 0)
+(-0.000542225719 1.03949725 0)
+(-0.00057489782 0.9984862 0)
+(-0.00410861163 0.941473909 0)
+(-0.00381138476 0.858374732 0)
+(-1.24220636e-05 0.838946424 0)
+(-3.77313161e-05 0.941612635 0)
+(-6.34790725e-05 0.998582694 0)
+(-8.91116782e-05 1.03959325 0)
+(-0.000114547675 1.07227311 0)
+(-0.000139742272 1.09982357 0)
+(-0.00016464577 1.12376756 0)
+(-0.000189209775 1.14479266 0)
+(-0.000213275408 1.16314309 0)
+(-0.000237241402 1.17542612 0)
+(-0.000261723571 1.17764175 0)
+(-0.000286555706 1.17768181 0)
+(-0.000311456097 1.17768261 0)
+(-0.000336366523 1.17768308 0)
+(-0.000361227177 1.1776442 0)
+(-0.000385753867 1.17542845 0)
+(-0.000409779639 1.16314591 0)
+(-0.000433920777 1.14479785 0)
+(-0.000458575724 1.12377414 0)
+(-0.000483584397 1.09983114 0)
+(-0.000508896785 1.07228147 0)
+(-0.000534571244 1.03960217 0)
+(-0.000566935818 0.998591811 0)
+(-0.00410609586 0.941579862 0)
+(-0.00381292001 0.858824136 0)
+(-1.22206236e-05 0.839050661 0)
+(-3.71295591e-05 0.941716986 0)
+(-6.24819932e-05 0.998686726 0)
+(-8.77232513e-05 1.03969664 0)
+(-0.000112770622 1.07237563 0)
+(-0.000137578556 1.09992499 0)
+(-0.000162097354 1.12386766 0)
+(-0.000186279585 1.14489128 0)
+(-0.00020996941 1.16323987 0)
+(-0.00023356516 1.17552515 0)
+(-0.00025767901 1.17774302 0)
+(-0.000282145423 1.17778321 0)
+(-0.00030668431 1.17778406 0)
+(-0.000331237535 1.17778457 0)
+(-0.000355744507 1.17774564 0)
+(-0.000379922754 1.17552774 0)
+(-0.00040360672 1.16324303 0)
+(-0.000427408823 1.14489688 0)
+(-0.000451725608 1.12387473 0)
+(-0.000476398805 1.09993313 0)
+(-0.000501379052 1.07238462 0)
+(-0.000526723979 1.03970625 0)
+(-0.000558788198 0.998696574 0)
+(-0.00410349556 0.941684961 0)
+(-0.00381446158 0.859274508 0)
+(-1.20033211e-05 0.839153709 0)
+(-3.64800757e-05 0.941820169 0)
+(-6.14054318e-05 0.998789613 0)
+(-8.62249795e-05 1.03979891 0)
+(-0.00011085527 1.07247704 0)
+(-0.000135249986 1.10002531 0)
+(-0.000159359765 1.12396667 0)
+(-0.000183138766 1.14498882 0)
+(-0.000206434143 1.16333562 0)
+(-0.000229643832 1.17562318 0)
+(-0.000253376609 1.17784329 0)
+(-0.000277467667 1.17788363 0)
+(-0.00030163821 1.17788455 0)
+(-0.000325829665 1.17788513 0)
+(-0.000349981762 1.17784618 0)
+(-0.000373813453 1.17562616 0)
+(-0.00039716054 1.16333929 0)
+(-0.000420631222 1.14499508 0)
+(-0.000444619676 1.1239745 0)
+(-0.000468969135 1.10003431 0)
+(-0.000493630015 1.07248697 0)
+(-0.00051865936 1.03980954 0)
+(-0.000550438291 0.998800544 0)
+(-0.00410077709 0.94178926 0)
+(-0.0038159822 0.859726167 0)
+(-1.1764555e-05 0.839255416 0)
+(-3.57650457e-05 0.941922033 0)
+(-6.02186868e-05 0.998891207 0)
+(-8.45728384e-05 1.03989991 0)
+(-0.000108743898 1.07257719 0)
+(-0.000132685701 1.1001244 0)
+(-0.000156349748 1.12406448 0)
+(-0.000179691944 1.14508521 0)
+(-0.000202562846 1.16343025 0)
+(-0.000225360797 1.17572012 0)
+(-0.000248691722 1.17794251 0)
+(-0.000272391313 1.17798304 0)
+(-0.000296182318 1.17798407 0)
+(-0.000320006154 1.17798476 0)
+(-0.000343802102 1.17794583 0)
+(-0.000367291486 1.17572374 0)
+(-0.000390312039 1.16343476 0)
+(-0.000413467121 1.14509248 0)
+(-0.000437147695 1.1240735 0)
+(-0.000461198279 1.10013475 0)
+(-0.000485568226 1.07258861 0)
+(-0.000510312981 1.03991214 0)
+(-0.000541840076 0.998903828 0)
+(-0.00409787169 0.941892876 0)
+(-0.00381743144 0.860179642 0)
+(-1.14886921e-05 0.839355535 0)
+(-3.49378301e-05 0.942022336 0)
+(-5.88443554e-05 0.998991275 0)
+(-8.26601822e-05 1.03999941 0)
+(-0.000106303089 1.0726759 0)
+(-0.000129727926 1.10022208 0)
+(-0.000152887965 1.12416093 0)
+(-0.000175741556 1.14518028 0)
+(-0.000198143155 1.16352365 0)
+(-0.000220493201 1.17581588 0)
+(-0.000243395324 1.17804059 0)
+(-0.000266684746 1.17808139 0)
+(-0.000290085922 1.17808259 0)
+(-0.00031354019 1.17808346 0)
+(-0.000336986411 1.17804462 0)
+(-0.000360148752 1.17582054 0)
+(-0.000382867012 1.16352953 0)
+(-0.000405739374 1.14518922 0)
+(-0.000429152493 1.12417189 0)
+(-0.000452950459 1.10023463 0)
+(-0.000477081278 1.07268972 0)
+(-0.00050159772 1.04001423 0)
+(-0.000532932388 0.99900663 0)
+(-0.00409467446 0.941996018 0)
+(-0.00381872832 0.860635816 0)
+(-1.11574191e-05 0.839453668 0)
+(-3.39410334e-05 0.942120685 0)
+(-5.7184142e-05 0.999089432 0)
+(-8.03486153e-05 1.04009706 0)
+(-0.000103354861 1.0727728 0)
+(-0.000126160174 1.10031803 0)
+(-0.000148721121 1.12425571 0)
+(-0.000170999933 1.14527379 0)
+(-0.000192856796 1.1636156 0)
+(-0.000214696178 1.17591029 0)
+(-0.00023712032 1.17813742 0)
+(-0.000259963838 1.17817859 0)
+(-0.000282952872 1.17818008 0)
+(-0.000306029693 1.17818124 0)
+(-0.000329133371 1.17814261 0)
+(-0.000351991536 1.17591668 0)
+(-0.000374448059 1.16362375 0)
+(-0.000397094962 1.14528551 0)
+(-0.000420312259 1.12426992 0)
+(-0.000443942211 1.10033422 0)
+(-0.000467929434 1.07279063 0)
+(-0.000492322524 1.04011619 0)
+(-0.000523576911 0.99910932 0)
+(-0.00409097995 0.942099076 0)
+(-0.00381972308 0.861096198 0)
+(-1.07317392e-05 0.839549162 0)
+(-3.26574325e-05 0.942216431 0)
+(-5.50431486e-05 0.99918505 0)
+(-7.73674332e-05 1.04019225 0)
+(-9.95562443e-05 1.07286733 0)
+(-0.000121571823 1.1004117 0)
+(-0.000143376088 1.12434835 0)
+(-0.00016493796 1.1453653 0)
+(-0.00018612629 1.16370572 0)
+(-0.000207352583 1.17600304 0)
+(-0.000229219651 1.17823276 0)
+(-0.000251561658 1.17827449 0)
+(-0.00027410661 1.17827647 0)
+(-0.000296797892 1.17827814 0)
+(-0.000319575652 1.17823992 0)
+(-0.000342173381 1.17601234 0)
+(-0.000364441702 1.16371771 0)
+(-0.000386965161 1.14538171 0)
+(-0.000410112866 1.12436803 0)
+(-0.000433722836 1.10043406 0)
+(-0.000457734432 1.07289191 0)
+(-0.00048218904 1.04021862 0)
+(-0.000513559759 0.999212561 0)
+(-0.00408644424 0.942202744 0)
+(-0.00382015726 0.861563431 0)
+(-1.0161217e-05 0.839640959 0)
+(-3.0931923e-05 0.942308531 0)
+(-5.21571486e-05 0.999277104 0)
+(-7.33436173e-05 1.04028398 0)
+(-9.44269558e-05 1.07295854 0)
+(-0.000115376839 1.10050223 0)
+(-0.00013616385 1.12443804 0)
+(-0.000156767106 1.14545408 0)
+(-0.000177066711 1.16379339 0)
+(-0.000197491339 1.17609359 0)
+(-0.00021865101 1.17832618 0)
+(-0.000240375507 1.17836879 0)
+(-0.000262396149 1.17837161 0)
+(-0.000284662604 1.17837412 0)
+(-0.000307119742 1.17833667 0)
+(-0.000329511413 1.17610784 0)
+(-0.000351698266 1.16381188 0)
+(-0.000374258597 1.14547844 0)
+(-0.000397548743 1.12446698 0)
+(-0.000421397939 1.10053503 0)
+(-0.000445734733 1.07299459 0)
+(-0.000470586556 1.04032265 0)
+(-0.000502436186 0.999317561 0)
+(-0.00408039973 0.942308295 0)
+(-0.00381954246 0.862042174 0)
+(-9.36108537e-06 0.839727374 0)
+(-2.85062589e-05 0.942395315 0)
+(-4.80906553e-05 0.999363953 0)
+(-6.766457e-05 1.04037066 0)
+(-8.71776648e-05 1.0730449 0)
+(-0.00010661267 1.10058813 0)
+(-0.000125953965 1.12452338 0)
+(-0.000145193721 1.14553885 0)
+(-0.000164227005 1.16387742 0)
+(-0.00018351618 1.17618094 0)
+(-0.000203688966 1.17841687 0)
+(-0.000224567101 1.17846087 0)
+(-0.000245889099 1.17846507 0)
+(-0.000267619394 1.17846902 0)
+(-0.000289717383 1.17843297 0)
+(-0.000311949492 1.17620354 0)
+(-0.000334196086 1.16390689 0)
+(-0.000357035966 1.14557665 0)
+(-0.000380813828 1.12456805 0)
+(-0.000405343329 1.1006387 0)
+(-0.00043053481 1.07310049 0)
+(-0.000456391869 1.04043034 0)
+(-0.000489386807 0.999426555 0)
+(-0.0040715684 0.942418111 0)
+(-0.0038169316 0.862541495 0)
+(-8.23629049e-06 0.839805898 0)
+(-2.50815923e-05 0.942474259 0)
+(-4.2323804e-05 0.999443086 0)
+(-5.9581926e-05 1.04044981 0)
+(-7.68223091e-05 1.07312395 0)
+(-9.40444842e-05 1.10066703 0)
+(-0.00011125046 1.12460209 0)
+(-0.000128453983 1.14561742 0)
+(-0.000145583959 1.16395578 0)
+(-0.000163137792 1.17626321 0)
+(-0.00018175518 1.17850313 0)
+(-0.000201266409 1.17854928 0)
+(-0.000221437532 1.17855571 0)
+(-0.000242263015 1.17856206 0)
+(-0.000263735112 1.17852845 0)
+(-0.000285684449 1.17629957 0)
+(-0.000308064062 1.16400348 0)
+(-0.000331458964 1.14567767 0)
+(-0.000356199427 1.12467317 0)
+(-0.000382108007 1.10074766 0)
+(-0.000409084545 1.07321281 0)
+(-0.000437095811 1.04054547 0)
+(-0.000472559647 0.999543771 0)
+(-0.00405718152 0.942536761 0)
+(-0.00381030562 0.863074815 0)
+(-6.64264715e-06 0.839872835 0)
+(-2.02355226e-05 0.942541681 0)
+(-3.41691811e-05 0.999510824 0)
+(-4.81431971e-05 1.04051773 0)
+(-6.21331829e-05 1.073192 0)
+(-7.61422937e-05 1.10073522 0)
+(-9.01826739e-05 1.12467043 0)
+(-0.000104296698 1.14568612 0)
+(-0.000118461015 1.1640249 0)
+(-0.000133218709 1.17633679 0)
+(-0.000149229313 1.17858141 0)
+(-0.000166334024 1.17863068 0)
+(-0.000184335365 1.17864047 0)
+(-0.000203288776 1.17865053 0)
+(-0.000223260436 1.1786209 0)
+(-0.000244205618 1.17639449 0)
+(-0.000266237604 1.16410117 0)
+(-0.000290022466 1.14578208 0)
+(-0.00031595847 1.12478429 0)
+(-0.000343999698 1.10086552 0)
+(-0.000374160467 1.07333713 0)
+(-0.000406454224 1.04067571 0)
+(-0.000447217796 0.999678996 0)
+(-0.00403033592 0.94267588 0)
+(-0.003794689 0.86371258 0)
+(-4.54216259e-06 0.839923835 0)
+(-1.38366636e-05 0.942593286 0)
+(-2.33649566e-05 0.99956284 0)
+(-3.29143099e-05 1.04057001 0)
+(-4.245319e-05 1.07324449 0)
+(-5.19712427e-05 1.10078791 0)
+(-6.1476771e-05 1.12472343 0)
+(-7.09983732e-05 1.14573964 0)
+(-8.04983553e-05 1.16407909 0)
+(-9.0676762e-05 1.17639604 0)
+(-0.000102309606 1.17864611 0)
+(-0.000115143877 1.17869929 0)
+(-0.00012896216 1.17871349 0)
+(-0.000143898645 1.17872863 0)
+(-0.000160123504 1.17870475 0)
+(-0.000177707114 1.17648287 0)
+(-0.000196909339 1.16419496 0)
+(-0.000218695765 1.14588611 0)
+(-0.000243828914 1.12489933 0)
+(-0.000272641127 1.1009924 0)
+(-0.000305693392 1.07347649 0)
+(-0.000343740987 1.04082774 0)
+(-0.000393988302 0.999843221 0)
+(-0.00396984124 0.942851868 0)
+(-0.00375791546 0.864323852 0)
+(-1.81935273e-06 0.839952852 0)
+(-5.5367566e-06 0.942622763 0)
+(-9.32350916e-06 0.999592511 0)
+(-1.30645218e-05 1.04059968 0)
+(-1.67172205e-05 1.07327403 0)
+(-2.02507623e-05 1.10081724 0)
+(-2.36289036e-05 1.12475252 0)
+(-2.68232649e-05 1.14576853 0)
+(-2.97687325e-05 1.16410773 0)
+(-3.31339419e-05 1.17642954 0)
+(-3.76182983e-05 1.1786847 0)
+(-4.29375529e-05 1.17874124 0)
+(-4.89090693e-05 1.17875947 0)
+(-5.57134847e-05 1.17877956 0)
+(-6.35971561e-05 1.17876171 0)
+(-7.26759562e-05 1.17654508 0)
+(-8.323067e-05 1.16426412 0)
+(-9.65458339e-05 1.14596937 0)
+(-0.00011404687 1.12499965 0)
+(-0.000136961917 1.10111401 0)
+(-0.00016722845 1.07362507 0)
+(-0.000207856064 1.04101109 0)
+(-0.000269356572 1.00007221 0)
+(-0.00372315467 0.943144241 0)
+(-0.00356940992 0.866332146 0)
+)
+;
+
+boundaryField
+{
+    inlet
+    {
+        type            fixedValue;
+        value           nonuniform List<vector>
+25
+(
+(-4.60189677e-09 0.755456613 0)
+(-1.47587203e-08 0.858128651 0)
+(-2.64999003e-08 0.915116569 0)
+(-3.93587271e-08 0.956150227 0)
+(-5.31566889e-08 0.988858187 0)
+(-6.72937353e-08 1.01644433 0)
+(-8.00868045e-08 1.040436 0)
+(-9.25824699e-08 1.0615243 0)
+(-7.55567409e-08 1.07998962 0)
+(-2.38476164e-08 1.09217578 0)
+(4.79245648e-09 1.09426728 0)
+(3.60564309e-09 1.09430161 0)
+(-3.00982411e-11 1.0943018 0)
+(-3.66293544e-09 1.09430161 0)
+(-4.8368792e-09 1.09426724 0)
+(2.38985692e-08 1.09217496 0)
+(7.56902928e-08 1.07998866 0)
+(9.26355318e-08 1.06152443 0)
+(8.00265591e-08 1.04043643 0)
+(6.71951884e-08 1.01644477 0)
+(5.30665119e-08 0.988858534 0)
+(3.92930509e-08 0.956150446 0)
+(2.64590407e-08 0.915116673 0)
+(1.47368762e-08 0.858128676 0)
+(4.59480307e-09 0.755456597 0)
+)
+;
+    }
+    outlet
+    {
+        type            pressureInletOutletVelocity;
+        phi             phi.gas;
+        value           nonuniform List<vector>
+25
+(
+(-1.81935273e-06 0.839952852 0)
+(-5.5367566e-06 0.942622763 0)
+(-9.32350916e-06 0.999592511 0)
+(-1.30645218e-05 1.04059968 0)
+(-1.67172205e-05 1.07327403 0)
+(-2.02507623e-05 1.10081724 0)
+(-2.36289036e-05 1.12475252 0)
+(-2.68232649e-05 1.14576853 0)
+(-2.97687325e-05 1.16410773 0)
+(-3.31339419e-05 1.17642954 0)
+(-3.76182983e-05 1.1786847 0)
+(-4.29375529e-05 1.17874124 0)
+(-4.89090693e-05 1.17875947 0)
+(-5.57134847e-05 1.17877956 0)
+(-6.35971561e-05 1.17876171 0)
+(-7.26759562e-05 1.17654508 0)
+(-8.323067e-05 1.16426412 0)
+(-9.65458339e-05 1.14596937 0)
+(-0.00011404687 1.12499965 0)
+(-0.000136961917 1.10111401 0)
+(-0.00016722845 1.07362507 0)
+(-0.000207856064 1.04101109 0)
+(-0.000269356572 1.00007221 0)
+(-0.00372315467 0.943144241 0)
+(-0.00356940992 0.866332146 0)
+)
+;
+    }
+    wall1
+    {
+        type            fixedValue;
+        value           uniform (0 0 0);
+    }
+    wall2
+    {
+        type            fixedValue;
+        value           uniform (0 0 0);
+    }
+    defaultFaces
+    {
+        type            empty;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/U.liquid b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/U.liquid
new file mode 100644
index 00000000000..41ee729104e
--- /dev/null
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/U.liquid
@@ -0,0 +1,1989 @@
+/*--------------------------------*- 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;
+    location    "5";
+    object      U.liquid;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 1 -1 0 0 0 0];
+
+internalField   nonuniform List<vector>
+1875
+(
+(-8.16162354e-06 0.755492887 0)
+(-2.43594806e-05 0.858164368 0)
+(-4.02824185e-05 0.915151621 0)
+(-5.58902387e-05 0.956184543 0)
+(-7.11523962e-05 0.988891703 0)
+(-8.60406985e-05 1.01647698 0)
+(-0.000100536643 1.04046777 0)
+(-0.000114681431 1.06155539 0)
+(-0.000128545545 1.08002014 0)
+(-0.000144066614 1.09221424 0)
+(-0.000162388753 1.09431025 0)
+(-0.000181689971 1.09434442 0)
+(-0.000200945016 1.09434457 0)
+(-0.000220246125 1.09434462 0)
+(-0.000239683289 1.09431061 0)
+(-0.000258198276 1.09221388 0)
+(-0.000273910992 1.08001958 0)
+(-0.000287995441 1.06155611 0)
+(-0.000302455446 1.04046902 0)
+(-0.000317377156 1.0164785 0)
+(-0.00033281234 0.988893404 0)
+(-0.000348747247 0.956186398 0)
+(-0.000365138708 0.915153572 0)
+(-0.000381693555 0.858165992 0)
+(-0.000194973061 0.755495669 0)
+(-8.22220542e-06 0.755565704 0)
+(-2.46552481e-05 0.858236577 0)
+(-4.10578185e-05 0.915223081 0)
+(-5.74205426e-05 0.956255175 0)
+(-7.37467331e-05 0.988961464 0)
+(-9.00515707e-05 1.01654586 0)
+(-0.000106365381 1.04053583 0)
+(-0.000122740763 1.06162298 0)
+(-0.000139248834 1.08008754 0)
+(-0.00015600482 1.09229029 0)
+(-0.000173064132 1.09439145 0)
+(-0.000190332593 1.09442575 0)
+(-0.000207686401 1.09442594 0)
+(-0.000225027701 1.09442611 0)
+(-0.000242256784 1.09439209 0)
+(-0.00025924428 1.09229019 0)
+(-0.000275885853 1.08008706 0)
+(-0.000292225552 1.06162384 0)
+(-0.000308367369 1.04053729 0)
+(-0.000324366617 1.01654765 0)
+(-0.000340252332 0.988963456 0)
+(-0.000356020944 0.95625725 0)
+(-0.00037163987 0.915224988 0)
+(-0.000386932841 0.85823727 0)
+(-0.000197229759 0.755568445 0)
+(-8.24326136e-06 0.755638884 0)
+(-2.47320287e-05 0.858309716 0)
+(-4.12231165e-05 0.915296135 0)
+(-5.7715637e-05 0.956328143 0)
+(-7.42125538e-05 0.989034376 0)
+(-9.07198976e-05 1.01661878 0)
+(-0.000107246362 1.04060887 0)
+(-0.000123802063 1.06169631 0)
+(-0.000140381906 1.08016128 0)
+(-0.000156992888 1.09236486 0)
+(-0.000173661658 1.09446679 0)
+(-0.00019037303 1.09450144 0)
+(-0.000207090449 1.09450168 0)
+(-0.000223788882 1.09450165 0)
+(-0.000240442579 1.09446714 0)
+(-0.000257013343 1.09236429 0)
+(-0.000273483623 1.08016013 0)
+(-0.000289876952 1.06169626 0)
+(-0.000306196782 1.04060915 0)
+(-0.000322434469 1.01661907 0)
+(-0.000338596637 0.989034473 0)
+(-0.000354688902 0.956327837 0)
+(-0.000370717133 0.915295055 0)
+(-0.000386572895 0.858306665 0)
+(-0.000197214927 0.755637505 0)
+(-8.26498873e-06 0.755712254 0)
+(-2.4798754e-05 0.858383113 0)
+(-4.13376351e-05 0.915369539 0)
+(-5.78795182e-05 0.95640156 0)
+(-7.44255068e-05 0.989107817 0)
+(-9.09764484e-05 1.01669226 0)
+(-0.000107531711 1.04068241 0)
+(-0.000124093126 1.06176995 0)
+(-0.000140631835 1.08023483 0)
+(-0.000157141468 1.09243851 0)
+(-0.000173677339 1.09454071 0)
+(-0.000190241909 1.09457541 0)
+(-0.000206801411 1.09457561 0)
+(-0.000223346398 1.09457547 0)
+(-0.000239867563 1.09454076 0)
+(-0.000256330862 1.09243748 0)
+(-0.000272738478 1.08023306 0)
+(-0.00028914597 1.06176911 0)
+(-0.000305547296 1.04068173 0)
+(-0.000321914102 1.0166914 0)
+(-0.000338249471 0.989106574 0)
+(-0.000354555155 0.956399727 0)
+(-0.000370835107 0.915366757 0)
+(-0.000386979455 0.85837821 0)
+(-0.000197494825 0.755708943 0)
+(-8.28210392e-06 0.755785796 0)
+(-2.48500137e-05 0.858456689 0)
+(-4.14220929e-05 0.915443122 0)
+(-5.79953078e-05 0.956475154 0)
+(-7.45691506e-05 0.989181421 0)
+(-9.11424741e-05 1.01676588 0)
+(-0.000107713202 1.04075602 0)
+(-0.000124280557 1.06184357 0)
+(-0.000140791634 1.08030809 0)
+(-0.00015724006 1.09251173 0)
+(-0.000173729102 1.09461427 0)
+(-0.000190266353 1.09464897 0)
+(-0.000206799249 1.09464913 0)
+(-0.000223322796 1.09464893 0)
+(-0.000239831897 1.09461411 0)
+(-0.000256274142 1.09251038 0)
+(-0.000272657947 1.0803059 0)
+(-0.000289087042 1.06184221 0)
+(-0.000305555593 1.04075471 0)
+(-0.000322012113 1.0167643 0)
+(-0.000338457214 0.989179371 0)
+(-0.000354890204 0.956472435 0)
+(-0.000371312128 0.915439391 0)
+(-0.000387609529 0.858450784 0)
+(-0.000197849278 0.755781465 0)
+(-8.29934701e-06 0.755859492 0)
+(-2.49012191e-05 0.858530415 0)
+(-4.15058752e-05 0.915516849 0)
+(-5.81092903e-05 0.95654888 0)
+(-7.47108552e-05 0.989255142 0)
+(-9.1309327e-05 1.01683959 0)
+(-0.000107901371 1.0408297 0)
+(-0.000124483589 1.06191722 0)
+(-0.000140987413 1.08038117 0)
+(-0.000157411258 1.09258474 0)
+(-0.000173891797 1.09468779 0)
+(-0.000190437407 1.09472249 0)
+(-0.000206981643 1.09472262 0)
+(-0.000223520007 1.09472238 0)
+(-0.000240048411 1.09468749 0)
+(-0.000256500542 1.0925832 0)
+(-0.000272884849 1.08037872 0)
+(-0.000289339238 1.06191554 0)
+(-0.000305862673 1.04082802 0)
+(-0.000322386704 1.01683758 0)
+(-0.000338908877 0.989252614 0)
+(-0.000355427248 0.956545643 0)
+(-0.000371941698 0.915512567 0)
+(-0.000388337456 0.858523935 0)
+(-0.000198238477 0.755854577 0)
+(-8.31802678e-06 0.755933347 0)
+(-2.49570358e-05 0.858604297 0)
+(-4.15978184e-05 0.915590724 0)
+(-5.82363094e-05 0.956622746 0)
+(-7.48720951e-05 0.989328997 0)
+(-9.15032559e-05 1.01691342 0)
+(-0.00010812541 1.04090349 0)
+(-0.000124732299 1.06199095 0)
+(-0.000141239685 1.08045417 0)
+(-0.000157651789 1.09265768 0)
+(-0.000174138213 1.09476137 0)
+(-0.000190706689 1.09479608 0)
+(-0.000207276173 1.0947962 0)
+(-0.000223842227 1.09479593 0)
+(-0.000240400467 1.09476099 0)
+(-0.00025686974 1.09265602 0)
+(-0.00027325807 1.08045155 0)
+(-0.000289735636 1.06198907 0)
+(-0.000306306962 1.04090157 0)
+(-0.000322888246 1.01691115 0)
+(-0.000339473775 0.989326184 0)
+(-0.000356059793 0.956619203 0)
+(-0.000372644993 0.915586116 0)
+(-0.000389114086 0.858597476 0)
+(-0.000198645416 0.755928088 0)
+(-8.33935578e-06 0.75600738 0)
+(-2.50203218e-05 0.858678353 0)
+(-4.17016683e-05 0.915664766 0)
+(-5.837972e-05 0.956696777 0)
+(-7.50542836e-05 0.989403012 0)
+(-9.17231206e-05 1.01698741 0)
+(-0.000108380285 1.04097741 0)
+(-0.000125015525 1.06206477 0)
+(-0.000141531175 1.08052712 0)
+(-0.00015793917 1.0927306 0)
+(-0.000174438776 1.09483505 0)
+(-0.000191036651 1.0948698 0)
+(-0.000207638195 1.0948699 0)
+(-0.000224237659 1.09486963 0)
+(-0.000240829304 1.09483462 0)
+(-0.000257318335 1.09272886 0)
+(-0.000273711608 1.08052441 0)
+(-0.000290209177 1.06206277 0)
+(-0.000306823149 1.04097536 0)
+(-0.000323455452 1.01698498 0)
+(-0.000340096167 0.989400027 0)
+(-0.000356740024 0.956693049 0)
+(-0.000373385073 0.915659961 0)
+(-0.000389916113 0.858671321 0)
+(-0.000199062231 0.75600191 0)
+(-8.36256027e-06 0.75608161 0)
+(-2.50892094e-05 0.858752601 0)
+(-4.18151568e-05 0.915738996 0)
+(-5.85368045e-05 0.956770991 0)
+(-7.52536902e-05 0.989477205 0)
+(-9.19632506e-05 1.01706156 0)
+(-0.000108658429 1.04105149 0)
+(-0.000125324926 1.0621387 0)
+(-0.00014185174 1.08060004 0)
+(-0.000158259985 1.09280353 0)
+(-0.000174777468 1.09490887 0)
+(-0.000191407103 1.09494366 0)
+(-0.0002080412 1.09494376 0)
+(-0.000224674179 1.09494347 0)
+(-0.00024130012 1.09490841 0)
+(-0.000257810764 1.09280174 0)
+(-0.000274209532 1.08059727 0)
+(-0.000290724945 1.06213663 0)
+(-0.000307377798 1.04104935 0)
+(-0.00032405721 1.01705904 0)
+(-0.000340749057 0.989474112 0)
+(-0.000357446294 0.956767146 0)
+(-0.000374146484 0.915734065 0)
+(-0.000390734156 0.858745435 0)
+(-0.000199485592 0.756076006 0)
+(-8.3872544e-06 0.756156054 0)
+(-2.51627398e-05 0.858827055 0)
+(-4.19359115e-05 0.915813426 0)
+(-5.87033898e-05 0.956845401 0)
+(-7.54651028e-05 0.989551588 0)
+(-9.22177966e-05 1.0171359 0)
+(-0.000108952441 1.04112573 0)
+(-0.000125650466 1.06221274 0)
+(-0.000142189607 1.08067295 0)
+(-0.00015860105 1.09287648 0)
+(-0.000175138735 1.09498283 0)
+(-0.000191801556 1.09501767 0)
+(-0.000208469824 1.09501776 0)
+(-0.000225137275 1.09501747 0)
+(-0.000241797444 1.09498235 0)
+(-0.000258330369 1.09287466 0)
+(-0.000274735394 1.08067014 0)
+(-0.000291267129 1.06221063 0)
+(-0.000307956409 1.04112354 0)
+(-0.000324680535 1.01713331 0)
+(-0.000341421201 0.989548426 0)
+(-0.000358169434 0.956841479 0)
+(-0.000374922163 0.915808411 0)
+(-0.000391564191 0.858819799 0)
+(-0.000199914445 0.75615036 0)
+(-8.41314402e-06 0.756230722 0)
+(-2.52395082e-05 0.858901728 0)
+(-4.20617507e-05 0.915888066 0)
+(-5.8876695e-05 0.956920017 0)
+(-7.56846524e-05 0.989626171 0)
+(-9.24814623e-05 1.01721042 0)
+(-0.000109256223 1.04120013 0)
+(-0.000125986248 1.06228691 0)
+(-0.000142538482 1.08074586 0)
+(-0.000158955144 1.09294948 0)
+(-0.000175514752 1.09505693 0)
+(-0.000192211566 1.09509183 0)
+(-0.000208914619 1.09509192 0)
+(-0.000225617088 1.09509163 0)
+(-0.000242312147 1.09505644 0)
+(-0.000258868577 1.09294763 0)
+(-0.000275280571 1.08074302 0)
+(-0.000291827298 1.06228477 0)
+(-0.000308551084 1.04119791 0)
+(-0.000325318526 1.0172078 0)
+(-0.000342106812 0.98962296 0)
+(-0.000358905078 0.95691604 0)
+(-0.000375709311 0.915882992 0)
+(-0.000392404282 0.858894405 0)
+(-0.000200347924 0.756224963 0)
+(-8.43964101e-06 0.756305624 0)
+(-2.53182438e-05 0.858976627 0)
+(-4.21910321e-05 0.915962923 0)
+(-5.90548441e-05 0.956994843 0)
+(-7.59100193e-05 0.989700959 0)
+(-9.27518396e-05 1.01728514 0)
+(-0.000109567207 1.04127471 0)
+(-0.000126328627 1.06236119 0)
+(-0.000142894027 1.08081877 0)
+(-0.000159317896 1.09302252 0)
+(-0.000175901299 1.09513119 0)
+(-0.000192632801 1.09516614 0)
+(-0.000209370928 1.09516623 0)
+(-0.000226108467 1.09516594 0)
+(-0.000242838546 1.09513069 0)
+(-0.000259419223 1.09302066 0)
+(-0.000275839282 1.08081591 0)
+(-0.000292400771 1.06235903 0)
+(-0.000309157776 1.04127245 0)
+(-0.000325967534 1.01728248 0)
+(-0.000342802564 0.989697712 0)
+(-0.0003596501 0.956990826 0)
+(-0.000376505171 0.915957804 0)
+(-0.000393252834 0.858969251 0)
+(-0.000200785687 0.756299813 0)
+(-8.46687798e-06 0.756380764 0)
+(-2.53990344e-05 0.859051757 0)
+(-4.23235276e-05 0.916038003 0)
+(-5.9237212e-05 0.957069885 0)
+(-7.61402809e-05 0.989775954 0)
+(-9.30271073e-05 1.01736005 0)
+(-0.000109882696 1.04134944 0)
+(-0.00012667521 1.06243558 0)
+(-0.000143254341 1.08089169 0)
+(-0.000159686936 1.09309563 0)
+(-0.000176295076 1.0952056 0)
+(-0.000193061522 1.09524062 0)
+(-0.000209835191 1.0952407 0)
+(-0.000226608503 1.0952404 0)
+(-0.000243374059 1.09520509 0)
+(-0.000259980139 1.09309376 0)
+(-0.000276409594 1.08088882 0)
+(-0.000292985515 1.0624334 0)
+(-0.00030977431 1.04134717 0)
+(-0.000326625294 1.01735737 0)
+(-0.000343506628 0.989772677 0)
+(-0.000360403123 0.957065834 0)
+(-0.000377309221 0.916032845 0)
+(-0.000394109747 0.859044336 0)
+(-0.000201227541 0.756374912 0)
+(-8.4946528e-06 0.756456148 0)
+(-2.5481431e-05 0.859127123 0)
+(-4.2458331e-05 0.91611331 0)
+(-5.94222049e-05 0.957145145 0)
+(-7.63734029e-05 0.989851157 0)
+(-9.33055292e-05 1.01743516 0)
+(-0.000110201533 1.04142435 0)
+(-0.000127024754 1.06251008 0)
+(-0.000143617586 1.08096462 0)
+(-0.000160060462 1.09316881 0)
+(-0.000176695003 1.09528016 0)
+(-0.000193496958 1.09531525 0)
+(-0.000210306405 1.09531533 0)
+(-0.000227115741 1.09531503 0)
+(-0.000243917007 1.09527965 0)
+(-0.000260549465 1.09316693 0)
+(-0.000276989278 1.08096174 0)
+(-0.000293579216 1.06250789 0)
+(-0.000310399251 1.04142206 0)
+(-0.000327291219 1.01743245 0)
+(-0.000344218454 0.989847854 0)
+(-0.000361163874 0.957141065 0)
+(-0.000378121164 0.916108118 0)
+(-0.000394974898 0.859119662 0)
+(-0.000201673685 0.756450258 0)
+(-8.52284997e-06 0.756531782 0)
+(-2.5564911e-05 0.859202729 0)
+(-4.25948495e-05 0.916188845 0)
+(-5.96096787e-05 0.957220626 0)
+(-7.66095757e-05 0.98992657 0)
+(-9.3587224e-05 1.01751045 0)
+(-0.00011052317 1.04149942 0)
+(-0.000127376632 1.06258468 0)
+(-0.000143983648 1.08103757 0)
+(-0.000160437942 1.09324208 0)
+(-0.000177099678 1.09535488 0)
+(-0.000193937687 1.09539004 0)
+(-0.000210783411 1.09539012 0)
+(-0.000227628883 1.09538982 0)
+(-0.000244465925 1.09535437 0)
+(-0.000261125662 1.09324018 0)
+(-0.000277577344 1.08103467 0)
+(-0.000294181783 1.06258248 0)
+(-0.000311032443 1.04149711 0)
+(-0.000327964623 1.01750773 0)
+(-0.000344937517 0.989923244 0)
+(-0.00036193197 0.957216519 0)
+(-0.000378940558 0.916183623 0)
+(-0.000395847765 0.85919523 0)
+(-0.000202123793 0.756525855 0)
+(-8.55133793e-06 0.756607667 0)
+(-2.56494377e-05 0.859278578 0)
+(-4.27333431e-05 0.916264613 0)
+(-5.97997164e-05 0.95729633 0)
+(-7.68485688e-05 0.990002194 0)
+(-9.38714843e-05 1.01758594 0)
+(-0.000110846751 1.04157464 0)
+(-0.000127729608 1.0626594 0)
+(-0.000144350973 1.08111054 0)
+(-0.000160818375 1.09331543 0)
+(-0.000177508541 1.09542976 0)
+(-0.000194383051 1.09546499 0)
+(-0.000211265455 1.09546507 0)
+(-0.0002281476 1.09546477 0)
+(-0.000245021322 1.09542924 0)
+(-0.000261709713 1.09331351 0)
+(-0.000278174427 1.08110763 0)
+(-0.000294793168 1.06265718 0)
+(-0.000311673372 1.04157232 0)
+(-0.000328645215 1.0175832 0)
+(-0.000345663753 0.989998846 0)
+(-0.000362707229 0.957292197 0)
+(-0.000379767267 0.916259362 0)
+(-0.000396728412 0.859271043 0)
+(-0.0002025779 0.756601706 0)
+(-8.58015674e-06 0.756683807 0)
+(-2.57351406e-05 0.859354674 0)
+(-4.2873519e-05 0.916340617 0)
+(-5.99915681e-05 0.957372258 0)
+(-7.7089263e-05 0.990078028 0)
+(-9.41573911e-05 1.01766162 0)
+(-0.00011117217 1.04165003 0)
+(-0.000128084601 1.06273421 0)
+(-0.000144720797 1.08118354 0)
+(-0.0001612025 1.09338887 0)
+(-0.000177922006 1.09550481 0)
+(-0.000194833251 1.0955401 0)
+(-0.00021175263 1.09554018 0)
+(-0.000228671605 1.09553988 0)
+(-0.000245581976 1.09550428 0)
+(-0.000262299658 1.09338695 0)
+(-0.000278778646 1.08118061 0)
+(-0.000295412217 1.06273199 0)
+(-0.000312321828 1.0416477 0)
+(-0.000329333168 1.01765886 0)
+(-0.000346397201 0.99007466 0)
+(-0.000363489938 0.957368099 0)
+(-0.00038060207 0.916335336 0)
+(-0.00039761769 0.859347104 0)
+(-0.000203036465 0.756677812 0)
+(-8.6093761e-06 0.756760205 0)
+(-2.58216888e-05 0.859431019 0)
+(-4.30151408e-05 0.916416857 0)
+(-6.01856321e-05 0.957448411 0)
+(-7.73328e-05 0.990154075 0)
+(-9.44461794e-05 1.0177375 0)
+(-0.000111499577 1.04172557 0)
+(-0.000128440566 1.06280913 0)
+(-0.000145091805 1.08125656 0)
+(-0.000161589205 1.09346242 0)
+(-0.000178338982 1.09558001 0)
+(-0.000195287239 1.09561538 0)
+(-0.000212244129 1.09561546 0)
+(-0.00022920076 1.09561516 0)
+(-0.000246148238 1.09557948 0)
+(-0.000262896067 1.09346048 0)
+(-0.000279390758 1.08125363 0)
+(-0.000296039699 1.0628069 0)
+(-0.000312978374 1.04172323 0)
+(-0.00033002854 1.01773472 0)
+(-0.000347137578 0.990150686 0)
+(-0.00036427958 0.957444228 0)
+(-0.000381444118 0.916411548 0)
+(-0.000398514625 0.859423413 0)
+(-0.000203498907 0.756754177 0)
+(-8.63890968e-06 0.756836864 0)
+(-2.59091795e-05 0.859507616 0)
+(-4.31581617e-05 0.916493337 0)
+(-6.03811897e-05 0.95752479 0)
+(-7.75775175e-05 0.990230333 0)
+(-9.47358902e-05 1.01781356 0)
+(-0.000111827869 1.04180127 0)
+(-0.00012879767 1.06288415 0)
+(-0.000145464984 1.08132963 0)
+(-0.00016197925 1.09353607 0)
+(-0.000178760165 1.09565538 0)
+(-0.000195746164 1.09569083 0)
+(-0.00021274068 1.09569091 0)
+(-0.000229734971 1.09569061 0)
+(-0.000246720103 1.09565485 0)
+(-0.000263499198 1.09353412 0)
+(-0.000280010749 1.08132668 0)
+(-0.000296675449 1.0628819 0)
+(-0.000313642802 1.04179891 0)
+(-0.00033073156 1.01781076 0)
+(-0.00034788574 0.990226923 0)
+(-0.000365077043 0.957520583 0)
+(-0.000382293924 0.916487999 0)
+(-0.000399419816 0.859499974 0)
+(-0.000203965775 0.756830802 0)
+(-8.66860344e-06 0.756913786 0)
+(-2.59974964e-05 0.859584468 0)
+(-4.33024845e-05 0.916570059 0)
+(-6.05783182e-05 0.957601397 0)
+(-7.78240451e-05 0.990306802 0)
+(-9.50271294e-05 1.0178898 0)
+(-0.000112157423 1.04187712 0)
+(-0.00012915561 1.06295926 0)
+(-0.000145839125 1.08140274 0)
+(-0.000162371935 1.09360984 0)
+(-0.000179185062 1.09573092 0)
+(-0.000196208921 1.09576645 0)
+(-0.000213241626 1.09576652 0)
+(-0.000230274086 1.09576622 0)
+(-0.000247297371 1.09573038 0)
+(-0.000264108785 1.09360788 0)
+(-0.00028063882 1.08139977 0)
+(-0.000297319852 1.06295701 0)
+(-0.000314315397 1.04187475 0)
+(-0.000331442289 1.017887 0)
+(-0.000348641179 0.990303371 0)
+(-0.000365881682 0.957597166 0)
+(-0.000383151649 0.916564692 0)
+(-0.000400333665 0.859576791 0)
+(-0.000204436985 0.756907691 0)
+(-8.69869861e-06 0.756990974 0)
+(-2.60866827e-05 0.859661577 0)
+(-4.34483435e-05 0.916647024 0)
+(-6.07775228e-05 0.957678232 0)
+(-7.80725463e-05 0.990383481 0)
+(-9.53202651e-05 1.01796624 0)
+(-0.000112488291 1.04195312 0)
+(-0.000129514471 1.06303448 0)
+(-0.000146215066 1.08147589 0)
+(-0.000162767539 1.09368373 0)
+(-0.000179613802 1.09580663 0)
+(-0.000196676259 1.09584224 0)
+(-0.00021374742 1.09584231 0)
+(-0.000230818351 1.09584201 0)
+(-0.00024787993 1.09580608 0)
+(-0.000264724163 1.09368176 0)
+(-0.000281273844 1.08147292 0)
+(-0.000297972061 1.06303222 0)
+(-0.000314995832 1.04195074 0)
+(-0.000332160493 1.01796341 0)
+(-0.000349404043 0.99038003 0)
+(-0.000366694228 0.957673977 0)
+(-0.000384017456 0.916641628 0)
+(-0.000401255604 0.859653864 0)
+(-0.000204912368 0.756984844 0)
+(-8.72888995e-06 0.75706843 0)
+(-2.61763116e-05 0.859738945 0)
+(-4.35947664e-05 0.916724234 0)
+(-6.0977489e-05 0.957755297 0)
+(-7.83224172e-05 0.990460371 0)
+(-9.56147962e-05 1.01804286 0)
+(-0.000112820393 1.04202927 0)
+(-0.000129874787 1.0631098 0)
+(-0.000146593125 1.0815491 0)
+(-0.000163166344 1.09375774 0)
+(-0.000180046289 1.09588251 0)
+(-0.000197147477 1.0959182 0)
+(-0.000214257697 1.09591827 0)
+(-0.00023136767 1.09591796 0)
+(-0.000248468092 1.09588196 0)
+(-0.000265346264 1.09375576 0)
+(-0.000281916788 1.08154611 0)
+(-0.000298632525 1.06310753 0)
+(-0.000315684486 1.04202687 0)
+(-0.000332886894 1.01804002 0)
+(-0.000350174957 0.9904569 0)
+(-0.000367514545 0.957751017 0)
+(-0.000384891091 0.916718809 0)
+(-0.000402186087 0.859731196 0)
+(-0.000205392198 0.757062266 0)
+(-8.75939513e-06 0.757146156 0)
+(-2.62669074e-05 0.859816575 0)
+(-4.37428645e-05 0.916801691 0)
+(-6.11793925e-05 0.957832593 0)
+(-7.8573692e-05 0.990537473 0)
+(-9.59102052e-05 1.01811967 0)
+(-0.000113153327 1.04210557 0)
+(-0.00013023605 1.06318522 0)
+(-0.000146972797 1.08162237 0)
+(-0.000163568312 1.09383189 0)
+(-0.000180483114 1.09595856 0)
+(-0.000197623356 1.09599433 0)
+(-0.000214772839 1.0959944 0)
+(-0.000231922264 1.09599409 0)
+(-0.000249061966 1.095958 0)
+(-0.000265974747 1.0938299 0)
+(-0.000282567347 1.08161937 0)
+(-0.000299301445 1.06318294 0)
+(-0.00031638133 1.04210316 0)
+(-0.000333621172 1.01811681 0)
+(-0.000350953748 0.99053398 0)
+(-0.000368343071 0.957828287 0)
+(-0.00038577347 0.916796236 0)
+(-0.000403125544 0.859808789 0)
+(-0.000205876576 0.757139958 0)
+(-8.78995185e-06 0.757224153 0)
+(-2.63578145e-05 0.859894468 0)
+(-4.38916649e-05 0.916879396 0)
+(-6.13821503e-05 0.957910118 0)
+(-7.88260757e-05 0.990614784 0)
+(-9.62071341e-05 1.01819666 0)
+(-0.000113487355 1.04218202 0)
+(-0.000130597993 1.06326074 0)
+(-0.000147354323 1.08169571 0)
+(-0.00016397333 1.09390618 0)
+(-0.00018092344 1.09603478 0)
+(-0.000198103471 1.09607064 0)
+(-0.000215292753 1.09607071 0)
+(-0.000232481794 1.0960704 0)
+(-0.000249660896 1.09603423 0)
+(-0.00026660906 1.09390417 0)
+(-0.000283225354 1.08169269 0)
+(-0.000299979031 1.06325845 0)
+(-0.000317087156 1.0421796 0)
+(-0.000334364102 1.01819378 0)
+(-0.000351740924 0.990611271 0)
+(-0.000369179933 0.957905789 0)
+(-0.000386664342 0.916873912 0)
+(-0.000404074 0.859886646 0)
+(-0.000206365577 0.75721792 0)
+(-8.82084923e-06 0.757302423 0)
+(-2.64494097e-05 0.859972627 0)
+(-4.404117e-05 0.916957352 0)
+(-6.1585978e-05 0.957987875 0)
+(-7.90797208e-05 0.990692305 0)
+(-9.65049757e-05 1.01827383 0)
+(-0.000113822605 1.04225861 0)
+(-0.00013096168 1.06333637 0)
+(-0.000147737888 1.08176911 0)
+(-0.000164381428 1.0939806 0)
+(-0.000181367672 1.09611119 0)
+(-0.000198587777 1.09614712 0)
+(-0.000215817482 1.09614719 0)
+(-0.000233046784 1.09614689 0)
+(-0.000250265998 1.09611062 0)
+(-0.000267250366 1.09397858 0)
+(-0.0002838911 1.08176609 0)
+(-0.000300664757 1.06333407 0)
+(-0.000317801107 1.04225618 0)
+(-0.000335115245 1.01827094 0)
+(-0.000352536365 0.990688773 0)
+(-0.000370024925 0.957983521 0)
+(-0.000387563534 0.916951838 0)
+(-0.000405031099 0.859964767 0)
+(-0.000206858931 0.757296155 0)
+(-8.85176879e-06 0.757380968 0)
+(-2.65414081e-05 0.860051052 0)
+(-4.41916181e-05 0.917035558 0)
+(-6.17909431e-05 0.958065865 0)
+(-7.93347016e-05 0.990770037 0)
+(-9.68041973e-05 1.01835118 0)
+(-0.000114158635 1.04233536 0)
+(-0.000131326077 1.0634121 0)
+(-0.000148123489 1.0818426 0)
+(-0.000164792917 1.09405517 0)
+(-0.000181816134 1.09618777 0)
+(-0.000199076635 1.09622379 0)
+(-0.000216346566 1.09622386 0)
+(-0.000233616409 1.09622355 0)
+(-0.000250876473 1.0961872 0)
+(-0.000267897921 1.09405314 0)
+(-0.000284564312 1.08183956 0)
+(-0.000301358766 1.06340979 0)
+(-0.000318523566 1.04233291 0)
+(-0.000335874925 1.01834827 0)
+(-0.000353340199 0.990766484 0)
+(-0.000370878702 0.958061485 0)
+(-0.000388471783 0.917030014 0)
+(-0.000405997404 0.860043155 0)
+(-0.00020735706 0.757374665 0)
+(-8.88292035e-06 0.757459789 0)
+(-2.66339399e-05 0.860129745 0)
+(-4.43429215e-05 0.917114017 0)
+(-6.19969176e-05 0.958144088 0)
+(-7.95903075e-05 0.99084798 0)
+(-9.71037764e-05 1.01842872 0)
+(-0.000114495367 1.04241225 0)
+(-0.000131691494 1.06348794 0)
+(-0.000148510808 1.08191617 0)
+(-0.000165207325 1.0941299 0)
+(-0.000182268289 1.09626453 0)
+(-0.000199569904 1.09630064 0)
+(-0.000216880961 1.09630071 0)
+(-0.000234191784 1.0963004 0)
+(-0.000251492491 1.09626396 0)
+(-0.000268551533 1.09412785 0)
+(-0.00028524516 1.08191311 0)
+(-0.000302061809 1.06348561 0)
+(-0.000319255251 1.04240978 0)
+(-0.000336643366 1.0184258 0)
+(-0.000354152684 0.990844405 0)
+(-0.000371740846 0.958139682 0)
+(-0.000389388594 0.917108443 0)
+(-0.000406972925 0.860121811 0)
+(-0.000207859867 0.75745345 0)
+(-8.91415135e-06 0.757538887 0)
+(-2.67267097e-05 0.860208707 0)
+(-4.4494616e-05 0.91719273 0)
+(-6.22035889e-05 0.958222544 0)
+(-7.98470762e-05 0.990926132 0)
+(-9.74048531e-05 1.01850644 0)
+(-0.00011483351 1.04248928 0)
+(-0.00013205852 1.06356388 0)
+(-0.00014890055 1.08198983 0)
+(-0.000165625208 1.09420478 0)
+(-0.000182724448 1.09634147 0)
+(-0.00020006734 1.09637767 0)
+(-0.000217420004 1.09637774 0)
+(-0.000234772418 1.09637742 0)
+(-0.000252114535 1.0963409 0)
+(-0.000269211817 1.09420272 0)
+(-0.000285933566 1.08198676 0)
+(-0.000302772922 1.06356155 0)
+(-0.00031999541 1.04248681 0)
+(-0.000337420781 1.0185035 0)
+(-0.00035497413 0.990922536 0)
+(-0.000372612322 0.958218113 0)
+(-0.000390314996 0.917187125 0)
+(-0.000407957815 0.860200736 0)
+(-0.000208367301 0.757532512 0)
+(-8.94529811e-06 0.757618262 0)
+(-2.68195792e-05 0.86028794 0)
+(-4.46467675e-05 0.917271697 0)
+(-6.24109008e-05 0.958301234 0)
+(-8.01045008e-05 0.991004495 0)
+(-9.77062316e-05 1.01858434 0)
+(-0.000115171884 1.04256647 0)
+(-0.000132426518 1.06363994 0)
+(-0.000149292538 1.08206358 0)
+(-0.000166046445 1.09427981 0)
+(-0.000183184875 1.0964186 0)
+(-0.000200569632 1.09645488 0)
+(-0.000217964025 1.09645495 0)
+(-0.000235358163 1.09645464 0)
+(-0.000252742144 1.09641802 0)
+(-0.000269878617 1.09427775 0)
+(-0.00028662962 1.0820605 0)
+(-0.000303492801 1.0636376 0)
+(-0.000320744565 1.04256398 0)
+(-0.000338206893 1.01858138 0)
+(-0.000355804446 0.991000878 0)
+(-0.0003734928 0.958296778 0)
+(-0.000391250676 0.917266063 0)
+(-0.000408952589 0.860279931 0)
+(-0.000208879829 0.757611852 0)
+(-8.97651328e-06 0.757697915 0)
+(-2.69126577e-05 0.860367445 0)
+(-4.47992689e-05 0.91735092 0)
+(-6.26185173e-05 0.95838016 0)
+(-8.03621487e-05 0.991083069 0)
+(-9.80082398e-05 1.01866243 0)
+(-0.000115511308 1.0426438 0)
+(-0.000132795509 1.06371612 0)
+(-0.00014968636 1.08213744 0)
+(-0.00016647085 1.09435502 0)
+(-0.000183648868 1.09649592 0)
+(-0.000201075991 1.09653229 0)
+(-0.000218513079 1.09653235 0)
+(-0.000235949751 1.09653204 0)
+(-0.00025337595 1.09649533 0)
+(-0.000270552035 1.09435294 0)
+(-0.000287333458 1.08213435 0)
+(-0.000304221465 1.06371376 0)
+(-0.000321502964 1.0426413 0)
+(-0.000339002719 1.01865945 0)
+(-0.000356644495 0.99107943 0)
+(-0.000374382742 0.958375678 0)
+(-0.000392195747 0.917345256 0)
+(-0.00040995685 0.860359397 0)
+(-0.000209397166 0.757691468 0)
+(-9.00795101e-06 0.757777846 0)
+(-2.70060776e-05 0.860447222 0)
+(-4.49520952e-05 0.917430399 0)
+(-6.28268128e-05 0.95845932 0)
+(-8.06206849e-05 0.991161853 0)
+(-9.8311042e-05 1.01874069 0)
+(-0.000115851642 1.04272128 0)
+(-0.000133166085 1.06379241 0)
+(-0.000150082702 1.08221141 0)
+(-0.00016689859 1.09443039 0)
+(-0.000184117174 1.09657342 0)
+(-0.000201587139 1.09660988 0)
+(-0.000219066727 1.09660995 0)
+(-0.000236546218 1.09660963 0)
+(-0.000254015365 1.09657283 0)
+(-0.000271231936 1.09442829 0)
+(-0.000288044839 1.0822083 0)
+(-0.00030495851 1.06379004 0)
+(-0.00032227032 1.04271877 0)
+(-0.000339807493 1.0187377 0)
+(-0.000357493589 0.991158193 0)
+(-0.000375282311 0.958454812 0)
+(-0.000393150508 0.917424704 0)
+(-0.000410970669 0.860439136 0)
+(-0.000209919286 0.757771362 0)
+(-9.03901406e-06 0.757858055 0)
+(-2.7099035e-05 0.860527271 0)
+(-4.51050172e-05 0.917510136 0)
+(-6.3035391e-05 0.958538717 0)
+(-8.08796723e-05 0.991240848 0)
+(-9.86142703e-05 1.01881914 0)
+(-0.000116192357 1.04279892 0)
+(-0.000133537671 1.06386881 0)
+(-0.000150481179 1.08228549 0)
+(-0.000167329904 1.09450593 0)
+(-0.000184589585 1.09665112 0)
+(-0.00020210272 1.09668767 0)
+(-0.000219625832 1.09668773 0)
+(-0.000237148521 1.09668741 0)
+(-0.000254660707 1.09665052 0)
+(-0.000271918412 1.09450382 0)
+(-0.000288764184 1.08228236 0)
+(-0.000305704776 1.06386644 0)
+(-0.000323047134 1.04279639 0)
+(-0.0003406218 1.01881613 0)
+(-0.000358352132 0.991237167 0)
+(-0.000376191238 0.958534184 0)
+(-0.000394115387 0.91750441 0)
+(-0.000411995039 0.860519147 0)
+(-0.000210446578 0.757851535 0)
+(-9.07045578e-06 0.757938541 0)
+(-2.71924774e-05 0.860607594 0)
+(-4.52580796e-05 0.917590132 0)
+(-6.32441409e-05 0.95861835 0)
+(-8.11388683e-05 0.991320055 0)
+(-9.89180899e-05 1.01889777 0)
+(-0.000116534252 1.0428767 0)
+(-0.00013391094 1.06394535 0)
+(-0.000150882468 1.08235969 0)
+(-0.00016776487 1.09458164 0)
+(-0.000185066128 1.09672901 0)
+(-0.000202622912 1.09676564 0)
+(-0.000220189681 1.09676571 0)
+(-0.000237756197 1.09676539 0)
+(-0.000255312208 1.09672841 0)
+(-0.000272611509 1.09457952 0)
+(-0.000289490814 1.08235655 0)
+(-0.000306459455 1.06394296 0)
+(-0.000323833207 1.04287416 0)
+(-0.000341445811 1.01889475 0)
+(-0.000359220821 0.991316353 0)
+(-0.000377110271 0.958613791 0)
+(-0.000395089847 0.917584374 0)
+(-0.000413029117 0.86059943 0)
+(-0.000210978961 0.757931984 0)
+(-9.10154751e-06 0.758019306 0)
+(-2.72855374e-05 0.86068819 0)
+(-4.54110298e-05 0.917670386 0)
+(-6.34528583e-05 0.95869822 0)
+(-8.13982862e-05 0.991399474 0)
+(-9.92222235e-05 1.01897659 0)
+(-0.000116876538 1.04295464 0)
+(-0.000134285168 1.06402201 0)
+(-0.000151285797 1.08243402 0)
+(-0.000168203089 1.09465754 0)
+(-0.000185546738 1.09680709 0)
+(-0.000203147607 1.09684382 0)
+(-0.000220758457 1.09684388 0)
+(-0.000238369212 1.09684356 0)
+(-0.000255969431 1.09680648 0)
+(-0.000273311209 1.09465541 0)
+(-0.000290225652 1.08243086 0)
+(-0.000307223303 1.06401961 0)
+(-0.000324628923 1.04295209 0)
+(-0.000342279614 1.01897355 0)
+(-0.0003600991 0.991395752 0)
+(-0.00037803918 0.958693636 0)
+(-0.000396074622 0.917664597 0)
+(-0.000414073447 0.860679988 0)
+(-0.000211516329 0.758012711 0)
+(-9.13273863e-06 0.758100347 0)
+(-2.73785735e-05 0.860769059 0)
+(-4.55638635e-05 0.917750898 0)
+(-6.36615376e-05 0.958778328 0)
+(-8.16577187e-05 0.991479107 0)
+(-9.95267448e-05 1.01905559 0)
+(-0.000117219596 1.04303274 0)
+(-0.000134660593 1.0640988 0)
+(-0.000151691316 1.08250847 0)
+(-0.000168644663 1.09473361 0)
+(-0.000186031478 1.09688537 0)
+(-0.000203677016 1.09692219 0)
+(-0.00022133271 1.09692225 0)
+(-0.000238988161 1.09692193 0)
+(-0.000256632938 1.09688476 0)
+(-0.000274017791 1.09473147 0)
+(-0.000290968028 1.08250531 0)
+(-0.000307995668 1.06409638 0)
+(-0.000325433709 1.04303017 0)
+(-0.000343122974 1.01905253 0)
+(-0.000360987383 0.991475362 0)
+(-0.000378978185 0.958773718 0)
+(-0.000397069576 0.917745079 0)
+(-0.000415128001 0.860760818 0)
+(-0.000212058855 0.758093715 0)
+(-9.16374498e-06 0.758181664 0)
+(-2.74714026e-05 0.860850201 0)
+(-4.57168338e-05 0.91783167 0)
+(-6.38707459e-05 0.958858674 0)
+(-8.19177974e-05 0.991558953 0)
+(-9.98315699e-05 1.01913478 0)
+(-0.00011756315 1.04311099 0)
+(-0.000135037397 1.06417573 0)
+(-0.000152099462 1.08258307 0)
+(-0.000169089948 1.09480988 0)
+(-0.000186520478 1.09696385 0)
+(-0.000204211244 1.09700076 0)
+(-0.000221911831 1.09700082 0)
+(-0.000239612156 1.09700049 0)
+(-0.000257302116 1.09696324 0)
+(-0.000274730614 1.09480772 0)
+(-0.000291717876 1.08257989 0)
+(-0.000308776882 1.0641733 0)
+(-0.00032624817 1.04310841 0)
+(-0.000343976319 1.0191317 0)
+(-0.000361885988 0.991555186 0)
+(-0.000379927709 0.958854038 0)
+(-0.0003980751 0.91782582 0)
+(-0.000416193186 0.860841921 0)
+(-0.000212606626 0.758174995 0)
+(-9.1946296e-06 0.758263257 0)
+(-2.75638777e-05 0.860931617 0)
+(-4.586922e-05 0.917912702 0)
+(-6.40792726e-05 0.95893926 0)
+(-8.21775369e-05 0.991639013 0)
+(-0.000100136858 1.01921416 0)
+(-0.000117907816 1.04318941 0)
+(-0.000135416031 1.06425279 0)
+(-0.000152510401 1.08265781 0)
+(-0.000169538839 1.09488633 0)
+(-0.000187013529 1.09704253 0)
+(-0.000204749766 1.09707953 0)
+(-0.000222496148 1.09707959 0)
+(-0.000240242268 1.09707926 0)
+(-0.000257977699 1.09704191 0)
+(-0.000275450555 1.09488416 0)
+(-0.000292476017 1.08265462 0)
+(-0.000309567106 1.06425035 0)
+(-0.000327072178 1.04318681 0)
+(-0.000344839531 1.01921106 0)
+(-0.000362794375 0.991635226 0)
+(-0.000380887381 0.958934597 0)
+(-0.000399091097 0.917906821 0)
+(-0.000417268807 0.860923297 0)
+(-0.000213159647 0.75825655 0)
+(-9.22532416e-06 0.758345124 0)
+(-2.76559622e-05 0.861013305 0)
+(-4.60213831e-05 0.917993995 0)
+(-6.42879602e-05 0.959020086 0)
+(-8.24375441e-05 0.991719289 0)
+(-0.000100442411 1.01929372 0)
+(-0.000118253107 1.04326798 0)
+(-0.000135795817 1.06433 0)
+(-0.000152923524 1.08273271 0)
+(-0.000169991063 1.09496298 0)
+(-0.000187510817 1.09712142 0)
+(-0.000205293233 1.09715851 0)
+(-0.000223085634 1.09715856 0)
+(-0.000240877769 1.09715824 0)
+(-0.000258659187 1.09712079 0)
+(-0.000276176873 1.0949608 0)
+(-0.000293241473 1.08272949 0)
+(-0.00031036621 1.06432754 0)
+(-0.000327906068 1.04326537 0)
+(-0.000345713305 1.01929061 0)
+(-0.000363713729 0.99171548 0)
+(-0.000381857647 0.959015396 0)
+(-0.000400117331 0.917988081 0)
+(-0.000418354769 0.861004946 0)
+(-0.000213717898 0.75833838 0)
+(-9.25588523e-06 0.758427262 0)
+(-2.77476468e-05 0.861095266 0)
+(-4.61730531e-05 0.918075549 0)
+(-6.44960452e-05 0.959101152 0)
+(-8.2697138e-05 0.991799781 0)
+(-0.000100748032 1.01937348 0)
+(-0.000118598926 1.04334672 0)
+(-0.000136177112 1.06440735 0)
+(-0.00015333952 1.08280775 0)
+(-0.000170447404 1.09503982 0)
+(-0.000188012635 1.09720051 0)
+(-0.000205841328 1.09723769 0)
+(-0.000223680367 1.09723774 0)
+(-0.000241519146 1.09723742 0)
+(-0.000259347219 1.09719988 0)
+(-0.00027691065 1.09503763 0)
+(-0.000294015259 1.08280453 0)
+(-0.000311174265 1.06440488 0)
+(-0.000328749178 1.0433441 0)
+(-0.000346596314 1.01937035 0)
+(-0.000364642727 0.99179595 0)
+(-0.000382838551 0.959096436 0)
+(-0.000401155016 0.918069603 0)
+(-0.000419452004 0.861086868 0)
+(-0.000214281574 0.758420482 0)
+(-9.28640715e-06 0.758509673 0)
+(-2.78392347e-05 0.861177498 0)
+(-4.63244357e-05 0.918157363 0)
+(-6.4704039e-05 0.95918246 0)
+(-8.29570726e-05 0.991880492 0)
+(-0.000101054152 1.01945343 0)
+(-0.00011894581 1.04342563 0)
+(-0.000136560103 1.06448485 0)
+(-0.000153757886 1.08288296 0)
+(-0.000170906747 1.09511686 0)
+(-0.000188518168 1.09727981 0)
+(-0.000206394129 1.09731708 0)
+(-0.000224280249 1.09731713 0)
+(-0.000242166101 1.0973168 0)
+(-0.000260041068 1.09727917 0)
+(-0.000277650432 1.09511466 0)
+(-0.000294796195 1.08287972 0)
+(-0.000311990857 1.06448237 0)
+(-0.000329602128 1.04342299 0)
+(-0.000347490121 1.01945028 0)
+(-0.000365582692 0.991876639 0)
+(-0.00038383013 0.959177718 0)
+(-0.000402203232 0.918151386 0)
+(-0.000420560067 0.86116906 0)
+(-0.00021485077 0.758502855 0)
+(-9.31658662e-06 0.758592353 0)
+(-2.79301354e-05 0.861260002 0)
+(-4.64752931e-05 0.918239439 0)
+(-6.49114953e-05 0.95926401 0)
+(-8.32164406e-05 0.991961421 0)
+(-0.000101360331 1.01953357 0)
+(-0.000119293188 1.04350471 0)
+(-0.000136944364 1.06456251 0)
+(-0.000154178826 1.08295834 0)
+(-0.000171369811 1.09519411 0)
+(-0.000189028249 1.09735932 0)
+(-0.000206951834 1.09739668 0)
+(-0.000224885423 1.09739673 0)
+(-0.000242818577 1.0973964 0)
+(-0.000260741188 1.09735867 0)
+(-0.000278397615 1.09519189 0)
+(-0.00029558559 1.08295508 0)
+(-0.000312817057 1.06456002 0)
+(-0.000330465018 1.04350205 0)
+(-0.000348394034 1.0195304 0)
+(-0.000366533395 0.991957546 0)
+(-0.000384833048 0.959259242 0)
+(-0.000403262725 0.91823343 0)
+(-0.000421678855 0.861251525 0)
+(-0.000215425235 0.758585496 0)
+(-9.34666619e-06 0.7586753 0)
+(-2.80205854e-05 0.861342777 0)
+(-4.6625388e-05 0.918321775 0)
+(-6.51184135e-05 0.959345803 0)
+(-8.34756885e-05 0.992042571 0)
+(-0.000101666497 1.01961391 0)
+(-0.000119641004 1.04358396 0)
+(-0.000137329845 1.06464032 0)
+(-0.000154602099 1.08303389 0)
+(-0.000171836269 1.09527156 0)
+(-0.000189542189 1.09743904 0)
+(-0.000207513792 1.09747649 0)
+(-0.000225495542 1.09747654 0)
+(-0.000243477007 1.09747621 0)
+(-0.000261447748 1.09743839 0)
+(-0.000279151742 1.09526933 0)
+(-0.000296382964 1.08303061 0)
+(-0.000313651903 1.06463782 0)
+(-0.000331337504 1.04358129 0)
+(-0.000349308626 1.01961072 0)
+(-0.000367495019 0.992038674 0)
+(-0.000385846617 0.959341008 0)
+(-0.000404333069 0.918315735 0)
+(-0.000422808806 0.861334259 0)
+(-0.000216005223 0.758668406 0)
+(-9.3763513e-06 0.758758514 0)
+(-2.81101938e-05 0.86142582 0)
+(-4.67747138e-05 0.918404374 0)
+(-6.53246388e-05 0.959427841 0)
+(-8.37344831e-05 0.992123943 0)
+(-0.00010197296 1.01969444 0)
+(-0.00011999008 1.04366339 0)
+(-0.00013771746 1.0647183 0)
+(-0.00015502847 1.08310961 0)
+(-0.000172306666 1.09534922 0)
+(-0.00019006058 1.09751897 0)
+(-0.000208080742 1.09755652 0)
+(-0.00022611123 1.09755657 0)
+(-0.000244141443 1.09755624 0)
+(-0.000262160768 1.09751832 0)
+(-0.000279912786 1.09534698 0)
+(-0.000297187891 1.08310632 0)
+(-0.0003144958 1.06471578 0)
+(-0.000332220028 1.0436607 0)
+(-0.000350233205 1.01969124 0)
+(-0.000368467043 0.992120024 0)
+(-0.000386871469 0.959423019 0)
+(-0.00040541489 0.918398301 0)
+(-0.000423949742 0.861417262 0)
+(-0.000216590578 0.758751581 0)
+(-9.40585791e-06 0.75884199 0)
+(-2.81992821e-05 0.861509131 0)
+(-4.69233873e-05 0.918487234 0)
+(-6.55304669e-05 0.959510123 0)
+(-8.39931797e-05 0.992205539 0)
+(-0.000102279487 1.01977518 0)
+(-0.000120339561 1.04374299 0)
+(-0.000138106484 1.06479645 0)
+(-0.000155457398 1.08318552 0)
+(-0.00017278056 1.0954271 0)
+(-0.000190583374 1.09759913 0)
+(-0.000208652831 1.09763676 0)
+(-0.00022673229 1.09763681 0)
+(-0.00024481149 1.09763648 0)
+(-0.000262880145 1.09759847 0)
+(-0.000280680934 1.09542485 0)
+(-0.000298000882 1.08318222 0)
+(-0.000315348393 1.06479391 0)
+(-0.000333111994 1.04374029 0)
+(-0.00035116842 1.01977196 0)
+(-0.000369450206 0.992201597 0)
+(-0.000387907469 0.959505275 0)
+(-0.000406507844 0.918481129 0)
+(-0.000425101919 0.861500533 0)
+(-0.000217181619 0.75883502 0)
+(-9.43517799e-06 0.758925728 0)
+(-2.82878229e-05 0.861592709 0)
+(-4.7071172e-05 0.918570356 0)
+(-6.57354284e-05 0.959592651 0)
+(-8.42513847e-05 0.992287361 0)
+(-0.000102586087 1.01985612 0)
+(-0.000120689894 1.04382278 0)
+(-0.000138497017 1.06487477 0)
+(-0.000155888867 1.08326161 0)
+(-0.000173258017 1.09550519 0)
+(-0.000191110215 1.0976795 0)
+(-0.000209229259 1.09771723 0)
+(-0.000227358465 1.09771727 0)
+(-0.000245487574 1.09771694 0)
+(-0.000263605787 1.09767884 0)
+(-0.000281455925 1.09550293 0)
+(-0.000298821999 1.0832583 0)
+(-0.000316210594 1.06487222 0)
+(-0.000334014409 1.04382007 0)
+(-0.00035211428 1.01985288 0)
+(-0.000370444364 0.992283396 0)
+(-0.000388954773 0.959587777 0)
+(-0.000407612388 0.918564218 0)
+(-0.000426265616 0.861584071 0)
+(-0.00021777827 0.75891872 0)
+(-9.46409259e-06 0.759009725 0)
+(-2.83754982e-05 0.861676553 0)
+(-4.7217987e-05 0.918653738 0)
+(-6.59393241e-05 0.959675427 0)
+(-8.45085824e-05 0.992369408 0)
+(-0.000102892205 1.01993726 0)
+(-0.000121040563 1.04390276 0)
+(-0.000138889014 1.06495326 0)
+(-0.000156322926 1.0833379 0)
+(-0.000173738816 1.09558351 0)
+(-0.000191640913 1.0977601 0)
+(-0.000209810361 1.09779791 0)
+(-0.000227990137 1.09779796 0)
+(-0.000246169479 1.09779763 0)
+(-0.000264337928 1.09775943 0)
+(-0.000282238124 1.09558123 0)
+(-0.000299650888 1.08333457 0)
+(-0.000317081455 1.0649507 0)
+(-0.000334926639 1.04390003 0)
+(-0.000353071057 1.019934 0)
+(-0.000371450032 0.992365422 0)
+(-0.000390013852 0.959670525 0)
+(-0.000408728652 0.918647569 0)
+(-0.000427440621 0.861667875 0)
+(-0.000218380467 0.759002679 0)
+(-9.49270694e-06 0.759093977 0)
+(-2.84622781e-05 0.86176066 0)
+(-4.73638324e-05 0.918737382 0)
+(-6.61426965e-05 0.959758451 0)
+(-8.47659321e-05 0.992451684 0)
+(-0.000103198906 1.02001861 0)
+(-0.000121392162 1.04398292 0)
+(-0.000139282702 1.06503193 0)
+(-0.000156759815 1.08341439 0)
+(-0.000174223607 1.09566204 0)
+(-0.000192176469 1.09784092 0)
+(-0.000210396562 1.09787882 0)
+(-0.000228626821 1.09787887 0)
+(-0.000246856978 1.09787853 0)
+(-0.000265076405 1.09784024 0)
+(-0.000283027386 1.09565975 0)
+(-0.000300488115 1.08341104 0)
+(-0.000317961812 1.06502936 0)
+(-0.000335848871 1.04398018 0)
+(-0.000354038342 1.02001534 0)
+(-0.000372466839 0.992447676 0)
+(-0.000391084316 0.959753521 0)
+(-0.000409856325 0.918731181 0)
+(-0.000428627002 0.861751942 0)
+(-0.000218988295 0.759086893 0)
+(-9.52118544e-06 0.759178484 0)
+(-2.85488501e-05 0.861845031 0)
+(-4.75093049e-05 0.918821287 0)
+(-6.63452717e-05 0.959841722 0)
+(-8.50224403e-05 0.992534192 0)
+(-0.00010350539 1.02010018 0)
+(-0.000121744487 1.04406328 0)
+(-0.000139678054 1.06511079 0)
+(-0.000157199131 1.08349107 0)
+(-0.000174711552 1.0957408 0)
+(-0.000192715821 1.09792196 0)
+(-0.00021098747 1.09795996 0)
+(-0.000229269103 1.09796001 0)
+(-0.000247550466 1.09795967 0)
+(-0.000265821269 1.09792128 0)
+(-0.000283823603 1.0957385 0)
+(-0.000301333034 1.08348771 0)
+(-0.000318850912 1.0651082 0)
+(-0.000336781198 1.04406052 0)
+(-0.000355016553 1.02009688 0)
+(-0.000373494732 0.992530161 0)
+(-0.000392166367 0.959836766 0)
+(-0.000410995909 0.918815054 0)
+(-0.000429824939 0.861836272 0)
+(-0.000219601813 0.759171361 0)
+(-9.54933134e-06 0.759263241 0)
+(-2.86342429e-05 0.861929662 0)
+(-4.76530582e-05 0.918905453 0)
+(-6.65465692e-05 0.959925244 0)
+(-8.52782531e-05 0.992616932 0)
+(-0.000103811776 1.02018195 0)
+(-0.000122097525 1.04414384 0)
+(-0.000140074972 1.06518984 0)
+(-0.000157641245 1.08356797 0)
+(-0.000175203358 1.0958198 0)
+(-0.000193259587 1.09800324 0)
+(-0.000211583028 1.09804133 0)
+(-0.000229916795 1.09804138 0)
+(-0.000248250296 1.09804104 0)
+(-0.000266572932 1.09800256 0)
+(-0.000284627146 1.09581748 0)
+(-0.000302186048 1.08356459 0)
+(-0.000319749087 1.06518724 0)
+(-0.000337723226 1.04414106 0)
+(-0.000356005023 1.02017864 0)
+(-0.000374533891 0.992612878 0)
+(-0.000393259969 0.959920261 0)
+(-0.00041214676 0.918899188 0)
+(-0.000431033944 0.861920863 0)
+(-0.000220220759 0.759256081 0)
+(-9.57701166e-06 0.759348247 0)
+(-2.87187637e-05 0.862014552 0)
+(-4.77960851e-05 0.918989878 0)
+(-6.67471804e-05 0.960009016 0)
+(-8.55334846e-05 0.992699907 0)
+(-0.000104117716 1.02026395 0)
+(-0.000122450579 1.04422459 0)
+(-0.000140473176 1.06526909 0)
+(-0.000158086221 1.08364508 0)
+(-0.000175698885 1.09589902 0)
+(-0.000193807573 1.09808475 0)
+(-0.000212183647 1.09812293 0)
+(-0.000230569714 1.09812298 0)
+(-0.000248955332 1.09812263 0)
+(-0.00026733038 1.09808406 0)
+(-0.000285437306 1.09589669 0)
+(-0.000303046988 1.08364168 0)
+(-0.000320656495 1.06526647 0)
+(-0.000338675628 1.0442218 0)
+(-0.000357004705 1.02026062 0)
+(-0.000375584455 0.99269583 0)
+(-0.000394365346 0.960004006 0)
+(-0.000413309769 0.918983581 0)
+(-0.000432255018 0.862005713 0)
+(-0.000220845682 0.759341049 0)
+(-9.60457117e-06 0.759433499 0)
+(-2.88027771e-05 0.862099701 0)
+(-4.79380884e-05 0.919074564 0)
+(-6.69464425e-05 0.960093039 0)
+(-8.5787723e-05 0.992783117 0)
+(-0.000104423705 1.02034616 0)
+(-0.000122804961 1.04430555 0)
+(-0.000140873593 1.06534853 0)
+(-0.000158533697 1.0837224 0)
+(-0.000176197724 1.09597848 0)
+(-0.000194359819 1.09816649 0)
+(-0.000212788763 1.09820476 0)
+(-0.000231227868 1.09820481 0)
+(-0.000249666885 1.09820447 0)
+(-0.000268095033 1.0981658 0)
+(-0.000286254956 1.09597614 0)
+(-0.000303915973 1.08371899 0)
+(-0.000321572873 1.0653459 0)
+(-0.00033963789 1.04430275 0)
+(-0.000358015063 1.02034281 0)
+(-0.000376646432 0.992779019 0)
+(-0.00039548231 0.960088003 0)
+(-0.000414484144 0.919068234 0)
+(-0.000433487143 0.862090821 0)
+(-0.000221476037 0.759426263 0)
+(-9.63174078e-06 0.759518994 0)
+(-2.88857845e-05 0.862185105 0)
+(-4.80788038e-05 0.919159508 0)
+(-6.71448292e-05 0.960177315 0)
+(-8.60415373e-05 0.992866566 0)
+(-0.000104729421 1.0204286 0)
+(-0.000123159374 1.04438673 0)
+(-0.000141274768 1.06542818 0)
+(-0.00015898359 1.08379995 0)
+(-0.000176700238 1.09605818 0)
+(-0.0001949161 1.09824847 0)
+(-0.000213398607 1.09828684 0)
+(-0.000231891277 1.09828688 0)
+(-0.000250383687 1.09828653 0)
+(-0.000268865377 1.09824777 0)
+(-0.000287079358 1.09605583 0)
+(-0.000304792929 1.08379653 0)
+(-0.000322498472 1.06542553 0)
+(-0.00034061067 1.0443839 0)
+(-0.00035903679 1.02042523 0)
+(-0.000377720003 0.992862446 0)
+(-0.000396611122 0.960172252 0)
+(-0.000415670639 0.919153147 0)
+(-0.000434731167 0.862176185 0)
+(-0.000222112203 0.75951172 0)
+(-9.65861522e-06 0.759604729 0)
+(-2.89679165e-05 0.862270762 0)
+(-4.82186216e-05 0.919244711 0)
+(-6.73421796e-05 0.960261843 0)
+(-8.62943758e-05 0.992950255 0)
+(-0.000105035093 1.02051126 0)
+(-0.000123514726 1.04446811 0)
+(-0.00014167816 1.06550804 0)
+(-0.000159436602 1.08387773 0)
+(-0.000177206316 1.09613812 0)
+(-0.000195476584 1.09833069 0)
+(-0.000214013142 1.09836915 0)
+(-0.000232559871 1.09836919 0)
+(-0.00025110634 1.09836884 0)
+(-0.000269642105 1.09832999 0)
+(-0.000287910548 1.09613576 0)
+(-0.000305677433 1.08387429 0)
+(-0.000323432701 1.06550537 0)
+(-0.000341592744 1.04446527 0)
+(-0.000360068535 1.02050787 0)
+(-0.000378804729 0.992946113 0)
+(-0.000397751637 0.960256754 0)
+(-0.000416868821 0.919238319 0)
+(-0.000435986639 0.862261804 0)
+(-0.000222753981 0.759597418 0)
+(-9.68518933e-06 0.759690701 0)
+(-2.90493273e-05 0.862356672 0)
+(-4.83571319e-05 0.919330173 0)
+(-6.75383176e-05 0.960346624 0)
+(-8.65466285e-05 0.993034187 0)
+(-0.000105340327 1.02059414 0)
+(-0.000123870128 1.04454971 0)
+(-0.00014208238 1.06558811 0)
+(-0.000159891651 1.08395573 0)
+(-0.000177715556 1.09621831 0)
+(-0.000196040952 1.09841315 0)
+(-0.000214632268 1.0984517 0)
+(-0.000233233605 1.09845174 0)
+(-0.000251834536 1.09845139 0)
+(-0.000270424966 1.09841244 0)
+(-0.000288748662 1.09621593 0)
+(-0.000306569715 1.08395228 0)
+(-0.000324375803 1.06558543 0)
+(-0.00034258483 1.04454685 0)
+(-0.000361111135 1.02059074 0)
+(-0.000379900672 0.993030023 0)
+(-0.000398903733 0.96034151 0)
+(-0.000418078579 0.91932375 0)
+(-0.000437253294 0.862347674 0)
+(-0.000223401291 0.759683355 0)
+(-9.71148121e-06 0.759776908 0)
+(-2.91298998e-05 0.862442831 0)
+(-4.84946217e-05 0.919415891 0)
+(-6.77331403e-05 0.96043166 0)
+(-8.67973138e-05 0.993118362 0)
+(-0.000105644786 1.02067726 0)
+(-0.000124225934 1.04463152 0)
+(-0.00014248791 1.0656684 0)
+(-0.000160348817 1.08403398 0)
+(-0.000178227933 1.09629874 0)
+(-0.000196608978 1.09849586 0)
+(-0.000215255238 1.09853449 0)
+(-0.000233911706 1.09853453 0)
+(-0.000252567956 1.09853418 0)
+(-0.00027121355 1.09849514 0)
+(-0.000289592975 1.09629636 0)
+(-0.000307469352 1.08403051 0)
+(-0.000325327395 1.06566571 0)
+(-0.000343586687 1.04462866 0)
+(-0.000362164596 1.02067384 0)
+(-0.000381008048 0.993114178 0)
+(-0.000400067506 0.960426522 0)
+(-0.000419300277 0.919409439 0)
+(-0.000438532013 0.862433797 0)
+(-0.000224054584 0.759769528 0)
+(-9.7374743e-06 0.759863348 0)
+(-2.92095839e-05 0.862529238 0)
+(-4.86306448e-05 0.919501866 0)
+(-6.79264292e-05 0.96051695 0)
+(-8.70469152e-05 0.993202782 0)
+(-0.000105948464 1.02076062 0)
+(-0.000124581443 1.04471357 0)
+(-0.000142894297 1.06574891 0)
+(-0.000160807986 1.08411246 0)
+(-0.000178742766 1.09637943 0)
+(-0.000197180055 1.09857881 0)
+(-0.000215882012 1.09861753 0)
+(-0.000234594031 1.09861757 0)
+(-0.000253306041 1.09861722 0)
+(-0.000272007609 1.09857809 0)
+(-0.00029044347 1.09637704 0)
+(-0.000308375974 1.08410898 0)
+(-0.000326287191 1.06574621 0)
+(-0.00034459749 1.04471069 0)
+(-0.000363227579 1.02075718 0)
+(-0.000382125654 0.993198581 0)
+(-0.000401241983 0.96051179 0)
+(-0.000420532738 0.919495387 0)
+(-0.000439821286 0.86252017 0)
+(-0.000224713086 0.759855935 0)
+(-9.76287488e-06 0.759950016 0)
+(-2.92878429e-05 0.862615891 0)
+(-4.87649552e-05 0.919588094 0)
+(-6.81179587e-05 0.960602493 0)
+(-8.72948037e-05 0.993287449 0)
+(-0.000106250731 1.0208442 0)
+(-0.000124936106 1.04479584 0)
+(-0.000143300315 1.06582965 0)
+(-0.000161267644 1.0841912 0)
+(-0.00017925928 1.09646037 0)
+(-0.000197753507 1.09866201 0)
+(-0.000216511737 1.09870082 0)
+(-0.000235280131 1.09870086 0)
+(-0.000254048278 1.09870051 0)
+(-0.00027280589 1.09866129 0)
+(-0.000291299105 1.09645797 0)
+(-0.00030928898 1.08418771 0)
+(-0.000327254427 1.06582694 0)
+(-0.000345616919 1.04479295 0)
+(-0.000364300338 1.02084076 0)
+(-0.000383254004 0.993283233 0)
+(-0.000402427832 0.960597315 0)
+(-0.000421776877 0.919581593 0)
+(-0.000441122054 0.862606791 0)
+(-0.000225377207 0.759942575 0)
+(-9.78793409e-06 0.760036909 0)
+(-2.93649112e-05 0.862702785 0)
+(-4.88972411e-05 0.919674576 0)
+(-6.83069753e-05 0.960688291 0)
+(-8.75401957e-05 0.993372363 0)
+(-0.00010655086 1.02092803 0)
+(-0.000125289169 1.04487834 0)
+(-0.000143705832 1.06591062 0)
+(-0.00016172782 1.08427018 0)
+(-0.000179776743 1.09654157 0)
+(-0.000198328061 1.09874546 0)
+(-0.000217142581 1.09878436 0)
+(-0.000235967545 1.0987844 0)
+(-0.000254792712 1.09878405 0)
+(-0.000273607657 1.09874473 0)
+(-0.0002921588 1.09653916 0)
+(-0.000310206794 1.08426668 0)
+(-0.000328227881 1.0659079 0)
+(-0.000346643921 1.04487544 0)
+(-0.000365381784 1.02092458 0)
+(-0.000384391715 0.993368139 0)
+(-0.000403623594 0.960683102 0)
+(-0.000423031309 0.91966806 0)
+(-0.000442433475 0.862693662 0)
+(-0.000226046786 0.760029448 0)
+(-9.81232255e-06 0.760124021 0)
+(-2.94399789e-05 0.862789915 0)
+(-4.90264128e-05 0.919761306 0)
+(-6.84920105e-05 0.960774339 0)
+(-8.77810023e-05 0.993457524 0)
+(-0.000106846233 1.0210121 0)
+(-0.000125637563 1.04496107 0)
+(-0.000144106832 1.06599182 0)
+(-0.000162183987 1.08434942 0)
+(-0.000180291023 1.09662302 0)
+(-0.000198900424 1.09882916 0)
+(-0.000217772311 1.09886816 0)
+(-0.000236654543 1.0988682 0)
+(-0.000255537056 1.09886785 0)
+(-0.000274409577 1.09882844 0)
+(-0.000293019583 1.09662062 0)
+(-0.000311127323 1.08434592 0)
+(-0.000329205706 1.06598911 0)
+(-0.000347676969 1.04495818 0)
+(-0.000366470603 1.02100865 0)
+(-0.00038553795 0.993453303 0)
+(-0.000404829028 0.960769151 0)
+(-0.000424296062 0.919754786 0)
+(-0.00044375536 0.862780782 0)
+(-0.000226721589 0.760116553 0)
+(-9.83594794e-06 0.760211347 0)
+(-2.95129435e-05 0.862877277 0)
+(-4.91521855e-05 0.919848281 0)
+(-6.86726063e-05 0.960860636 0)
+(-8.80166056e-05 0.99354293 0)
+(-0.00010713576 1.0210964 0)
+(-0.000125980121 1.04504404 0)
+(-0.000144502329 1.06607326 0)
+(-0.000162635012 1.08442891 0)
+(-0.000180800229 1.09670474 0)
+(-0.000199467126 1.09891311 0)
+(-0.000218396122 1.09895221 0)
+(-0.000237336013 1.09895225 0)
+(-0.000256276405 1.0989519 0)
+(-0.000275207388 1.0989124 0)
+(-0.000293877218 1.09670234 0)
+(-0.000312045577 1.08442542 0)
+(-0.000330182847 1.06607056 0)
+(-0.000348711067 1.04504117 0)
+(-0.00036756232 1.02109297 0)
+(-0.000386689039 0.99353873 0)
+(-0.000406040504 0.960855469 0)
+(-0.000425568271 0.919841779 0)
+(-0.000445086321 0.862868156 0)
+(-0.000227401252 0.760203894 0)
+(-9.8579238e-06 0.760298875 0)
+(-2.95809788e-05 0.86296486 0)
+(-4.92701377e-05 0.919935491 0)
+(-6.88430831e-05 0.960947174 0)
+(-8.82402569e-05 0.993628574 0)
+(-0.000107412196 1.02118094 0)
+(-0.000126308686 1.04512724 0)
+(-0.000144883197 1.06615493 0)
+(-0.00016307102 1.08450866 0)
+(-0.000181294419 1.09678672 0)
+(-0.000200019558 1.09899732 0)
+(-0.000219005999 1.09903651 0)
+(-0.000238004014 1.09903656 0)
+(-0.000257003544 1.09903621 0)
+(-0.00027599415 1.09899663 0)
+(-0.000294725367 1.09678434 0)
+(-0.00031295702 1.0845052 0)
+(-0.000331155601 1.06615228 0)
+(-0.00034974311 1.04512441 0)
+(-0.000368654365 1.02117756 0)
+(-0.000387842485 0.993624429 0)
+(-0.000407256813 0.960942062 0)
+(-0.00042684718 0.919929044 0)
+(-0.000446425375 0.862955789 0)
+(-0.000228085397 0.760291477 0)
+(-9.87812237e-06 0.760386591 0)
+(-2.96437225e-05 0.863052649 0)
+(-4.93792503e-05 0.920022922 0)
+(-6.90010542e-05 0.961033942 0)
+(-8.84481887e-05 0.993714448 0)
+(-0.000107669999 1.0212657 0)
+(-0.000126616166 1.04521066 0)
+(-0.00014524135 1.06623684 0)
+(-0.000163483374 1.08458866 0)
+(-0.000181763897 1.09686896 0)
+(-0.000200545979 1.09908179 0)
+(-0.00021958955 1.09912107 0)
+(-0.000238645711 1.09912113 0)
+(-0.000257704434 1.09912079 0)
+(-0.000276755452 1.09908113 0)
+(-0.000295549408 1.09686662 0)
+(-0.00031384606 1.08458526 0)
+(-0.000332108773 1.06623426 0)
+(-0.000350759088 1.04520793 0)
+(-0.000369734174 1.02126243 0)
+(-0.000388987974 0.993710414 0)
+(-0.000408469187 0.961028946 0)
+(-0.000428126391 0.920016594 0)
+(-0.000447768959 0.863043694 0)
+(-0.000228772754 0.760379314 0)
+(-9.89413637e-06 0.760474468 0)
+(-2.96939598e-05 0.863140619 0)
+(-4.94680178e-05 0.920110551 0)
+(-6.91317502e-05 0.961120916 0)
+(-8.86227589e-05 0.993800533 0)
+(-0.00010788949 1.02135068 0)
+(-0.000126881304 1.0452943 0)
+(-0.000145553822 1.06631897 0)
+(-0.000163847473 1.08466891 0)
+(-0.000182183333 1.09695144 0)
+(-0.000201021383 1.0991665 0)
+(-0.000220121798 1.09920589 0)
+(-0.000239236843 1.09920596 0)
+(-0.000258356328 1.09920564 0)
+(-0.000277470311 1.0991659 0)
+(-0.00029633071 1.0969492 0)
+(-0.000314697065 1.08466563 0)
+(-0.000333029115 1.06631654 0)
+(-0.00035174771 1.04529174 0)
+(-0.000370792459 1.02134759 0)
+(-0.000390117689 0.993796709 0)
+(-0.000409671671 0.961116141 0)
+(-0.000429401604 0.920104453 0)
+(-0.000449114495 0.863131893 0)
+(-0.000229462638 0.760467429 0)
+(-9.90471484e-06 0.760562463 0)
+(-2.97278116e-05 0.863228726 0)
+(-4.95295946e-05 0.920198336 0)
+(-6.92248358e-05 0.961208059 0)
+(-8.8749877e-05 0.993886794 0)
+(-0.000108052423 1.02143584 0)
+(-0.000127081808 1.04537813 0)
+(-0.000145794549 1.0664013 0)
+(-0.000164133771 1.08474939 0)
+(-0.000182520055 1.09703417 0)
+(-0.000201410029 1.09925145 0)
+(-0.000220564336 1.09929096 0)
+(-0.000239736795 1.09929106 0)
+(-0.00025891761 1.09929077 0)
+(-0.000278096329 1.09925096 0)
+(-0.000297026129 1.0970321 0)
+(-0.000315467116 1.08474633 0)
+(-0.00033387562 1.06639913 0)
+(-0.000352671145 1.04537587 0)
+(-0.000371795087 1.0214331 0)
+(-0.000391202547 0.993883349 0)
+(-0.000410840901 0.961203689 0)
+(-0.00043065566 0.92019266 0)
+(-0.000450451314 0.863220428 0)
+(-0.000230151283 0.760555861 0)
+(-9.90370794e-06 0.7606505 0)
+(-2.97274195e-05 0.863316896 0)
+(-4.95350845e-05 0.920286208 0)
+(-6.92414211e-05 0.961295305 0)
+(-8.87819509e-05 0.993973172 0)
+(-0.000108103566 1.02152112 0)
+(-0.000127155851 1.04546209 0)
+(-0.000145896811 1.0664838 0)
+(-0.000164272158 1.08483008 0)
+(-0.000182701685 1.09711712 0)
+(-0.00020163884 1.09933663 0)
+(-0.000220845037 1.09937627 0)
+(-0.000240075388 1.09937642 0)
+(-0.000259319983 1.09937618 0)
+(-0.000278569011 1.09933634 0)
+(-0.000297576493 1.09711533 0)
+(-0.000316102723 1.08482739 0)
+(-0.000334600324 1.0664821 0)
+(-0.000353487246 1.04546038 0)
+(-0.000372706458 1.021519 0)
+(-0.000392213056 0.993970401 0)
+(-0.000411953741 0.961291655 0)
+(-0.000431872022 0.920281284 0)
+(-0.000451769548 0.863309369 0)
+(-0.000230835447 0.760644685 0)
+(-9.88595473e-06 0.760738454 0)
+(-2.96766956e-05 0.863405007 0)
+(-4.94572825e-05 0.920374045 0)
+(-6.91427868e-05 0.961382543 0)
+(-8.86682808e-05 0.994059562 0)
+(-0.000107980676 1.02160644 0)
+(-0.000127030252 1.04554612 0)
+(-0.000145776552 1.06656638 0)
+(-0.000164168189 1.0849109 0)
+(-0.000182624455 1.09720023 0)
+(-0.000201596033 1.099422 0)
+(-0.000220845426 1.09946181 0)
+(-0.000240129512 1.09946205 0)
+(-0.0002594387 1.0994619 0)
+(-0.000278763022 1.09942206 0)
+(-0.000297858027 1.09719896 0)
+(-0.000316484431 1.08490889 0)
+(-0.000335090577 1.06656551 0)
+(-0.000354092384 1.04554537 0)
+(-0.000373434372 1.0216054 0)
+(-0.000393070881 0.994057972 0)
+(-0.00041294697 0.961380158 0)
+(-0.00043300398 0.920370449 0)
+(-0.000453040333 0.863398844 0)
+(-0.000231505372 0.760734029 0)
+(-9.83591733e-06 0.760826107 0)
+(-2.95301323e-05 0.863492842 0)
+(-4.92218675e-05 0.920461642 0)
+(-6.88274009e-05 0.961469573 0)
+(-8.82826714e-05 0.99414578 0)
+(-0.000107535392 1.02169162 0)
+(-0.000126537293 1.04563005 0)
+(-0.000145249993 1.06664893 0)
+(-0.000163625303 1.08499176 0)
+(-0.000182082847 1.09728343 0)
+(-0.000201070887 1.0995075 0)
+(-0.000220352981 1.09954756 0)
+(-0.000239688211 1.09954795 0)
+(-0.000259067135 1.09954795 0)
+(-0.000278479644 1.09950817 0)
+(-0.000297682761 1.09728306 0)
+(-0.000316437076 1.08499093 0)
+(-0.000335186452 1.06664949 0)
+(-0.000354344263 1.04563098 0)
+(-0.000373855255 1.02169247 0)
+(-0.000393672939 0.994146255 0)
+(-0.000413739869 0.9614694 0)
+(-0.000433993971 0.920460368 0)
+(-0.000454229652 0.863489072 0)
+(-0.000232149829 0.760824117 0)
+(-9.73564481e-06 0.760913091 0)
+(-2.92326537e-05 0.863580041 0)
+(-4.87362198e-05 0.920548645 0)
+(-6.81661401e-05 0.961556061 0)
+(-8.74601044e-05 0.99423151 0)
+(-0.000106567832 1.02177638 0)
+(-0.000125443793 1.04571364 0)
+(-0.000144052875 1.06673122 0)
+(-0.000162351532 1.08507247 0)
+(-0.000180760292 1.09736658 0)
+(-0.000199725584 1.09959304 0)
+(-0.000219013229 1.09963344 0)
+(-0.00023838507 1.0996341 0)
+(-0.000257832881 1.09963436 0)
+(-0.000277346971 1.09959476 0)
+(-0.00029668556 1.09736776 0)
+(-0.000315609821 1.08507368 0)
+(-0.000334558431 1.06673428 0)
+(-0.00035394104 1.04571748 0)
+(-0.000373701774 1.02178051 0)
+(-0.000393791417 0.99423558 0)
+(-0.000414148751 0.961559739 0)
+(-0.000434706772 0.920551417 0)
+(-0.000455254071 0.863580444 0)
+(-0.00023274052 0.760915347 0)
+(-9.54535617e-06 0.760998785 0)
+(-2.86669576e-05 0.863665986 0)
+(-4.7808607e-05 0.920634456 0)
+(-6.68951252e-05 0.961641434 0)
+(-8.58683985e-05 0.994316214 0)
+(-0.00010468256 1.02186022 0)
+(-0.000123296722 1.04579642 0)
+(-0.000141681478 1.06681285 0)
+(-0.000159800118 1.08515269 0)
+(-0.00017807462 1.09744939 0)
+(-0.000196950933 1.09967841 0)
+(-0.000216199761 1.09971934 0)
+(-0.000235586799 1.09972046 0)
+(-0.000255104857 1.09972119 0)
+(-0.000274745184 1.09968196 0)
+(-0.000294268126 1.09745328 0)
+(-0.000313435869 1.08515746 0)
+(-0.000332680882 1.06682026 0)
+(-0.000352406615 1.04580532 0)
+(-0.000372554993 1.02187004 0)
+(-0.000393072824 0.994326526 0)
+(-0.000413892677 0.961651802 0)
+(-0.000434938898 0.920644261 0)
+(-0.000455990863 0.863673652 0)
+(-0.000233236574 0.761008426 0)
+(-9.2127241e-06 0.761082154 0)
+(-2.76754138e-05 0.863749658 0)
+(-4.61753867e-05 0.92071808 0)
+(-6.46460689e-05 0.96172473 0)
+(-8.30369917e-05 0.994398981 0)
+(-0.000101309026 1.02194228 0)
+(-0.000119428991 1.04587763 0)
+(-0.000137376453 1.06689313 0)
+(-0.00015512366 1.08523182 0)
+(-0.000173099326 1.09753137 0)
+(-0.000191753709 1.09976323 0)
+(-0.000210863254 1.09980501 0)
+(-0.000230200682 1.09980691 0)
+(-0.000249764165 1.09980844 0)
+(-0.000269548489 1.09976993 0)
+(-0.000289317808 1.09753994 0)
+(-0.00030883529 1.08524273 0)
+(-0.000328527994 1.06690804 0)
+(-0.000348793469 1.04589528 0)
+(-0.000369568919 1.02196197 0)
+(-0.000390792701 0.994420117 0)
+(-0.000412385604 0.961746712 0)
+(-0.000434258794 0.920740104 0)
+(-0.000456175767 0.863769953 0)
+(-0.00023354891 0.761104635 0)
+(-8.64560388e-06 0.761161524 0)
+(-2.59832213e-05 0.8638294 0)
+(-4.33821172e-05 0.920797889 0)
+(-6.07871098e-05 0.961804369 0)
+(-7.81591307e-05 0.994478288 0)
+(-9.54714305e-05 1.02202112 0)
+(-0.000112703359 1.0459559 0)
+(-0.00012984566 1.06697081 0)
+(-0.000146882352 1.08530873 0)
+(-0.00016425954 1.09761158 0)
+(-0.0001824416 1.09984674 0)
+(-0.000201213667 1.09988986 0)
+(-0.000220360034 1.09989309 0)
+(-0.000239891152 1.099896 0)
+(-0.000259813079 1.09985884 0)
+(-0.00027989833 1.09762817 0)
+(-0.000299912507 1.0853302 0)
+(-0.000320284239 1.06699864 0)
+(-0.000341410757 1.04598865 0)
+(-0.000363220094 1.02205786 0)
+(-0.000385636189 0.994518175 0)
+(-0.000408560878 0.96184651 0)
+(-0.000431879946 0.92084116 0)
+(-0.000455326381 0.863871685 0)
+(-0.000233515029 0.761206376 0)
+(-7.73751539e-06 0.761234338 0)
+(-2.32626358e-05 0.863902643 0)
+(-3.88675049e-05 0.92087133 0)
+(-5.45156054e-05 0.961877831 0)
+(-7.01829435e-05 0.994551668 0)
+(-8.58611424e-05 1.02209437 0)
+(-0.000101547692 1.04602896 0)
+(-0.000117252459 1.06704374 0)
+(-0.000132986098 1.08538145 0)
+(-0.000149208149 1.09768819 0)
+(-0.000166394454 1.09992732 0)
+(-0.000184363961 1.09997257 0)
+(-0.00020293476 1.09997801 0)
+(-0.000222142651 1.09998326 0)
+(-0.000242019347 1.09994846 0)
+(-0.00026237279 1.09771827 0)
+(-0.00028300444 1.08542075 0)
+(-0.00030434868 1.06709349 0)
+(-0.000326802523 1.04608748 0)
+(-0.000350301715 1.0221604 0)
+(-0.000374759124 0.994623964 0)
+(-0.000400050098 0.961955013 0)
+(-0.000426017367 0.920951707 0)
+(-0.000452329812 0.863983464 0)
+(-0.000232755932 0.761318456 0)
+(-6.32053283e-06 0.761296819 0)
+(-1.90244639e-05 0.863965625 0)
+(-3.18381564e-05 0.920934652 0)
+(-4.47336033e-05 0.961941369 0)
+(-5.7696611e-05 0.994615376 0)
+(-7.07272865e-05 1.02215826 0)
+(-8.38377049e-05 1.04609306 0)
+(-9.70707761e-05 1.06710825 0)
+(-0.000110477699 1.08544645 0)
+(-0.000124524368 1.09775772 0)
+(-0.000139701004 1.10000163 0)
+(-0.000155886335 1.10005007 0)
+(-0.000172958769 1.10005893 0)
+(-0.000191013707 1.10006795 0)
+(-0.00021015127 1.10003717 0)
+(-0.000230267415 1.09780943 0)
+(-0.000251266163 1.08551461 0)
+(-0.000273641504 1.06719394 0)
+(-0.000297843877 1.0461944 0)
+(-0.000323895993 1.02227371 0)
+(-0.000351772068 0.994743247 0)
+(-0.000381353568 0.962079607 0)
+(-0.000412423894 0.921080614 0)
+(-0.000444509707 0.864115282 0)
+(-0.000230360978 0.761451406 0)
+(-4.33583866e-06 0.76134418 0)
+(-1.3081145e-05 0.864013593 0)
+(-2.19463445e-05 0.920983034 0)
+(-3.08843128e-05 0.961990024 0)
+(-3.98669995e-05 0.994664257 0)
+(-4.88846542e-05 1.02220737 0)
+(-5.79527824e-05 1.04614252 0)
+(-6.7109327e-05 1.0671583 0)
+(-7.63946005e-05 1.08549726 0)
+(-8.63781067e-05 1.09781372 0)
+(-9.76618049e-05 1.10006324 0)
+(-0.000110119552 1.10011576 0)
+(-0.000123653578 1.10012926 0)
+(-0.000138450753 1.10014363 0)
+(-0.000154732211 1.10011891 0)
+(-0.000172510024 1.09789611 0)
+(-0.000191840729 1.08560718 0)
+(-0.000213545375 1.06729728 0)
+(-0.000238458906 1.04630935 0)
+(-0.000266944421 1.02240115 0)
+(-0.000299373953 0.994883829 0)
+(-0.000336050593 0.962233506 0)
+(-0.000377102168 0.921247257 0)
+(-0.000422173078 0.864292732 0)
+(-0.000222811426 0.761635468 0)
+(-1.76761613e-06 0.761371307 0)
+(-5.33310267e-06 0.864041182 0)
+(-8.92743679e-06 0.921010822 0)
+(-1.24963885e-05 0.962017823 0)
+(-1.60004861e-05 0.994691955 0)
+(-1.94087877e-05 1.0222349 0)
+(-2.26876727e-05 1.04616987 0)
+(-2.58124427e-05 1.06718553 0)
+(-2.87555754e-05 1.08552437 0)
+(-3.21065515e-05 1.09784587 0)
+(-3.64820549e-05 1.10010068 0)
+(-4.16801534e-05 1.10015679 0)
+(-4.75689068e-05 1.10017456 0)
+(-5.43362556e-05 1.10019417 0)
+(-6.22389053e-05 1.10017585 0)
+(-7.13632155e-05 1.09795873 0)
+(-8.18995544e-05 1.0856773 0)
+(-9.50602258e-05 1.06738212 0)
+(-0.000112323121 1.04641196 0)
+(-0.00013497953 1.02252584 0)
+(-0.000164929301 0.995036384 0)
+(-0.000204946521 0.962421813 0)
+(-0.00025911209 0.921482138 0)
+(-0.000333327289 0.864589158 0)
+(-0.000188157744 0.762014 0)
+)
+;
+
+boundaryField
+{
+    inlet
+    {
+        type            fixedValue;
+        value           nonuniform List<vector>
+25
+(
+(-4.60189422e-09 0.755456613 0)
+(-1.47587101e-08 0.858128651 0)
+(-2.64998953e-08 0.915116569 0)
+(-3.93587246e-08 0.956150227 0)
+(-5.31566785e-08 0.988858187 0)
+(-6.72937327e-08 1.01644433 0)
+(-8.00868124e-08 1.040436 0)
+(-9.25824754e-08 1.0615243 0)
+(-7.55567466e-08 1.07998962 0)
+(-2.38476194e-08 1.09217578 0)
+(4.79245631e-09 1.09426728 0)
+(3.60563521e-09 1.09430161 0)
+(-3.0103456e-11 1.0943018 0)
+(-3.66293544e-09 1.09430161 0)
+(-4.83687405e-09 1.09426724 0)
+(2.3898577e-08 1.09217496 0)
+(7.56902956e-08 1.07998866 0)
+(9.26355268e-08 1.06152443 0)
+(8.00265515e-08 1.04043643 0)
+(6.71951781e-08 1.01644477 0)
+(5.30664989e-08 0.988858534 0)
+(3.92930458e-08 0.956150446 0)
+(2.64590434e-08 0.915116673 0)
+(1.47368814e-08 0.858128676 0)
+(4.59480563e-09 0.755456597 0)
+)
+;
+    }
+    outlet
+    {
+        type            pressureInletOutletVelocity;
+        phi             phi.liquid;
+        value           nonuniform List<vector>
+25
+(
+(-1.76761613e-06 0.761371307 0)
+(-5.33310267e-06 0.864041182 0)
+(-8.92743679e-06 0.921010822 0)
+(-1.24963885e-05 0.962017823 0)
+(-1.60004861e-05 0.994691955 0)
+(-1.94087877e-05 1.0222349 0)
+(-2.26876727e-05 1.04616987 0)
+(-2.58124427e-05 1.06718553 0)
+(-2.87555754e-05 1.08552437 0)
+(-3.21065515e-05 1.09784587 0)
+(-3.64820549e-05 1.10010068 0)
+(-4.16801534e-05 1.10015679 0)
+(-4.75689068e-05 1.10017456 0)
+(-5.43362556e-05 1.10019417 0)
+(-6.22389053e-05 1.10017585 0)
+(-7.13632155e-05 1.09795873 0)
+(-8.18995544e-05 1.0856773 0)
+(-9.50602258e-05 1.06738212 0)
+(-0.000112323121 1.04641196 0)
+(-0.00013497953 1.02252584 0)
+(-0.000164929301 0.995036384 0)
+(-0.000204946521 0.962421813 0)
+(-0.00025911209 0.921482138 0)
+(-0.000333327289 0.864589158 0)
+(-0.000188157744 0.762014 0)
+)
+;
+    }
+    wall1
+    {
+        type            fixedValue;
+        value           uniform (0 0 0);
+    }
+    wall2
+    {
+        type            fixedValue;
+        value           uniform (0 0 0);
+    }
+    defaultFaces
+    {
+        type            empty;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/alpha.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/alpha.gas
new file mode 100644
index 00000000000..51a1c9b4b15
--- /dev/null
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/alpha.gas
@@ -0,0 +1,51 @@
+/*--------------------------------*- 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;
+    location    "5";
+    object      alpha.gas;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    inlet
+    {
+        type            fixedValue;
+        value           uniform 0;
+    }
+    outlet
+    {
+        type            inletOutlet;
+        phi             phi.gas;
+        inletValue      uniform 0;
+        value           uniform 0;
+    }
+    wall1
+    {
+        type            zeroGradient;
+    }
+    wall2
+    {
+        type            zeroGradient;
+    }
+    defaultFaces
+    {
+        type            empty;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/alpha.liquid b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/alpha.liquid
new file mode 100644
index 00000000000..1876d99c0ed
--- /dev/null
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/alpha.liquid
@@ -0,0 +1,2038 @@
+/*--------------------------------*- 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;
+    location    "5";
+    object      alpha.liquid;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 0 0 0 0];
+
+internalField   nonuniform List<scalar>
+1875
+(
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999949
+0.999938287
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.999937231
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.99993711
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.999936975
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.99993684
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.999936705
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.999936569
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.999936432
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.999936295
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.999936157
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.999936018
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.999935878
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999963
+0.999935738
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999963
+0.999935597
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999963
+0.999935455
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999963
+0.999935312
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999963
+0.999935169
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999963
+0.999935025
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999963
+0.99993488
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999963
+0.999934734
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999963
+0.999934587
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999963
+0.99993444
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999963
+0.999934292
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999963
+0.999934143
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999963
+0.999933993
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999963
+0.999933843
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999963
+0.999933691
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999963
+0.999933539
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999963
+0.999933386
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999963
+0.999933232
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999963
+0.999933077
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999963
+0.999932922
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999963
+0.999932765
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999963
+0.999932608
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999963
+0.99993245
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999963
+0.99993229
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999963
+0.99993213
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999963
+0.99993197
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.999931808
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.999931645
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.999931482
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.999931317
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.999931152
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.999930985
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.999930818
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.99993065
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.999930481
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.999930311
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.99993014
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.999929968
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.999929795
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.999929621
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.999929446
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.999929271
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.999929094
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.999928916
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.999928738
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.999928558
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.999928377
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.999928196
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999961
+0.999928013
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999961
+0.999927829
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999961
+0.999927645
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999961
+0.999927459
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999961
+0.999927272
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999961
+0.999927085
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999961
+0.999926896
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999961
+0.999926706
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999961
+0.999926516
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999961
+0.999926324
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999961
+0.999926131
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999961
+0.999925937
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999961
+0.999925716
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999962
+0.999925475
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999965
+0.999925447
+)
+;
+
+boundaryField
+{
+    inlet
+    {
+        type            calculated;
+        value           uniform 1;
+    }
+    outlet
+    {
+        type            calculated;
+        value           nonuniform List<scalar>
+25
+(
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0.999999965
+0.999925447
+)
+;
+    }
+    wall1
+    {
+        type            calculated;
+        value           uniform 1;
+    }
+    wall2
+    {
+        type            calculated;
+        value           nonuniform List<scalar>
+75
+(
+0.999938287
+0.999937231
+0.99993711
+0.999936975
+0.99993684
+0.999936705
+0.999936569
+0.999936432
+0.999936295
+0.999936157
+0.999936018
+0.999935878
+0.999935738
+0.999935597
+0.999935455
+0.999935312
+0.999935169
+0.999935025
+0.99993488
+0.999934734
+0.999934587
+0.99993444
+0.999934292
+0.999934143
+0.999933993
+0.999933843
+0.999933691
+0.999933539
+0.999933386
+0.999933232
+0.999933077
+0.999932922
+0.999932765
+0.999932608
+0.99993245
+0.99993229
+0.99993213
+0.99993197
+0.999931808
+0.999931645
+0.999931482
+0.999931317
+0.999931152
+0.999930985
+0.999930818
+0.99993065
+0.999930481
+0.999930311
+0.99993014
+0.999929968
+0.999929795
+0.999929621
+0.999929446
+0.999929271
+0.999929094
+0.999928916
+0.999928738
+0.999928558
+0.999928377
+0.999928196
+0.999928013
+0.999927829
+0.999927645
+0.999927459
+0.999927272
+0.999927085
+0.999926896
+0.999926706
+0.999926516
+0.999926324
+0.999926131
+0.999925937
+0.999925716
+0.999925475
+0.999925447
+)
+;
+    }
+    defaultFaces
+    {
+        type            empty;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/alphat.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/alphat.gas
new file mode 100644
index 00000000000..03e38e98a1d
--- /dev/null
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/alphat.gas
@@ -0,0 +1,1996 @@
+/*--------------------------------*- 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;
+    location    "5";
+    object      alphat.gas;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -1 -1 0 0 0 0];
+
+internalField   nonuniform List<scalar>
+1875
+(
+3.28970404e-05
+7.47455994e-05
+0.000100960341
+0.000115723925
+0.000119293672
+0.000112626917
+9.68161763e-05
+7.28064561e-05
+4.06095467e-05
+7.99274239e-06
+5.79803079e-07
+4.76668732e-07
+4.7633382e-07
+4.76673332e-07
+5.80190819e-07
+7.99904855e-06
+4.06184772e-05
+7.28114304e-05
+9.68195079e-05
+0.000112629634
+0.000119296061
+0.000115725716
+0.000100960665
+7.47362552e-05
+3.27323e-05
+3.28277161e-05
+7.45887374e-05
+0.000100749542
+0.000115483835
+0.000119048295
+0.000112398157
+9.66235093e-05
+7.2667097e-05
+4.05430166e-05
+7.9858249e-06
+5.78913196e-07
+4.75663289e-07
+4.75328143e-07
+4.7566789e-07
+5.79307113e-07
+7.99214243e-06
+4.05517894e-05
+7.26716932e-05
+9.66263036e-05
+0.000112400222
+0.000119049971
+0.000115484906
+0.000100749208
+7.45796321e-05
+3.2662318e-05
+3.2758329e-05
+7.44318572e-05
+0.00010053887
+0.000115244133
+0.000118803663
+0.000112170579
+9.64325241e-05
+7.25299402e-05
+4.04795314e-05
+7.98062062e-06
+5.78081766e-07
+4.74656299e-07
+4.74320733e-07
+4.74660898e-07
+5.78482334e-07
+7.98697111e-06
+4.04883161e-05
+7.25344987e-05
+9.6435247e-05
+0.000112172552
+0.000118805235
+0.000115245099
+0.000100538443
+7.44226577e-05
+3.25929085e-05
+3.26888751e-05
+7.42748691e-05
+0.000100328051
+0.000115004258
+0.000118558846
+0.000111942811
+9.6241345e-05
+7.23925816e-05
+4.04157718e-05
+7.97536006e-06
+5.77249565e-07
+4.73648208e-07
+4.73312219e-07
+4.73652818e-07
+5.77656399e-07
+7.98174682e-06
+4.04245795e-05
+7.23971252e-05
+9.62440309e-05
+0.000111944735
+0.000118560364
+0.000115005172
+0.000100327577
+7.42656607e-05
+3.25234222e-05
+3.26193547e-05
+7.41177712e-05
+0.000100117079
+0.000114764203
+0.00011831383
+0.000111714832
+9.60499422e-05
+7.22549729e-05
+4.03516952e-05
+7.97001509e-06
+5.76415717e-07
+4.72639087e-07
+4.72302679e-07
+4.72643722e-07
+5.76828352e-07
+7.97643865e-06
+4.03605294e-05
+7.22595113e-05
+9.60526048e-05
+0.000111716726
+0.000118315317
+0.000114765087
+0.000100116581
+7.41085404e-05
+3.24538802e-05
+3.25497681e-05
+7.39605644e-05
+9.99059567e-05
+0.000114523969
+0.000118068621
+0.00011148665
+9.58583249e-05
+7.21171212e-05
+4.02873285e-05
+7.96459529e-06
+5.75580499e-07
+4.71628958e-07
+4.71292147e-07
+4.71633621e-07
+5.75998496e-07
+7.97105544e-06
+4.02961914e-05
+7.21216595e-05
+9.58609736e-05
+0.000111488524
+0.000118070089
+0.000114524837
+9.99054452e-05
+7.39513315e-05
+3.23842769e-05
+3.24801163e-05
+7.38032466e-05
+9.9694682e-05
+0.000114283557
+0.000117823217
+0.000111258263
+9.56664911e-05
+7.1979025e-05
+4.02226883e-05
+7.95910563e-06
+5.74744101e-07
+4.70617835e-07
+4.70280615e-07
+4.70622531e-07
+5.7516706e-07
+7.96560166e-06
+4.02315806e-05
+7.19835663e-05
+9.56691296e-05
+0.000111260125
+0.000117824673
+0.000114284415
+9.96941635e-05
+7.37940163e-05
+3.2314611e-05
+3.24103997e-05
+7.36458157e-05
+9.94832535e-05
+0.000114042961
+0.000117577613
+0.000111029665
+9.54744308e-05
+7.18406726e-05
+4.01577768e-05
+7.95354401e-06
+5.7390643e-07
+4.6960572e-07
+4.69268092e-07
+4.69610444e-07
+5.74333999e-07
+7.960075e-06
+4.01666984e-05
+7.18452189e-05
+9.54770614e-05
+0.000111031518
+0.000117579062
+0.000114043813
+9.94827315e-05
+7.36365894e-05
+3.22448818e-05
+3.23406185e-05
+7.34882689e-05
+9.92716675e-05
+0.000113802176
+0.0001173318
+0.000110800843
+9.5282127e-05
+7.17020524e-05
+4.00925882e-05
+7.94790393e-06
+5.73067234e-07
+4.68592614e-07
+4.68254579e-07
+4.68597362e-07
+5.73499091e-07
+7.95446879e-06
+4.01015387e-05
+7.17066044e-05
+9.52847515e-05
+0.000110802689
+0.000117333242
+0.000113803024
+9.92711426e-05
+7.34790473e-05
+3.21750887e-05
+3.22707728e-05
+7.33306037e-05
+9.90599195e-05
+0.000113561197
+0.00011708577
+0.000110571785
+9.50895613e-05
+7.15631454e-05
+4.00271136e-05
+7.94217804e-06
+5.72226208e-07
+4.67578508e-07
+4.67240067e-07
+4.67583285e-07
+5.72662073e-07
+7.94877566e-06
+4.00360924e-05
+7.15677034e-05
+9.50921824e-05
+0.000110573624
+0.000117087206
+0.000113562041
+9.90593928e-05
+7.33213863e-05
+3.21052317e-05
+3.22008629e-05
+7.31728172e-05
+9.8848008e-05
+0.000113320018
+0.000116839514
+0.000110342479
+9.48967224e-05
+7.1423942e-05
+3.99613478e-05
+7.93636051e-06
+5.71383109e-07
+4.66563412e-07
+4.66224571e-07
+4.66568213e-07
+5.7182272e-07
+7.94298963e-06
+3.99703536e-05
+7.14285045e-05
+9.48993378e-05
+0.000110344311
+0.000116840944
+0.000113320858
+9.88474783e-05
+7.31636035e-05
+3.20353105e-05
+3.21308886e-05
+7.30149074e-05
+9.86359289e-05
+0.000113078636
+0.000116593027
+0.000110112916
+9.47035956e-05
+7.12844344e-05
+3.98952881e-05
+7.93044767e-06
+5.70537752e-07
+4.6554732e-07
+4.65208081e-07
+4.65552145e-07
+5.70980877e-07
+7.9371071e-06
+3.99043203e-05
+7.12890009e-05
+9.47062073e-05
+0.000110114742
+0.000116594452
+0.000113079471
+9.8635397e-05
+7.30056961e-05
+3.19653251e-05
+3.206085e-05
+7.28568713e-05
+9.84236808e-05
+0.000112837046
+0.000116346302
+0.000109883088
+9.45101738e-05
+7.1144616e-05
+3.98289357e-05
+7.92443758e-06
+5.69690024e-07
+4.64530233e-07
+4.641906e-07
+4.64535079e-07
+5.70136455e-07
+7.93112617e-06
+3.98379929e-05
+7.11491863e-05
+9.45127809e-05
+0.000109884906
+0.000116347719
+0.000112837876
+9.84231448e-05
+7.28476619e-05
+3.18952753e-05
+3.19907471e-05
+7.26987066e-05
+9.82112594e-05
+0.000112595245
+0.000116099333
+0.000109652984
+9.43164477e-05
+7.10044827e-05
+3.97622926e-05
+7.91832949e-06
+5.68839832e-07
+4.63512155e-07
+4.63172126e-07
+4.63517018e-07
+5.69289386e-07
+7.92504606e-06
+3.97713736e-05
+7.10090573e-05
+9.43190489e-05
+0.000109654796
+0.000116100744
+0.000112596069
+9.82107184e-05
+7.26894979e-05
+3.18251611e-05
+3.19205799e-05
+7.25404109e-05
+9.79986628e-05
+0.000112353228
+0.000115852115
+0.000109422601
+9.41224104e-05
+7.08640327e-05
+3.96953614e-05
+7.91212312e-06
+5.6798712e-07
+4.62493082e-07
+4.62152664e-07
+4.62497962e-07
+5.68439624e-07
+7.91886653e-06
+3.9704465e-05
+7.08686097e-05
+9.41250053e-05
+0.000109424404
+0.000115853517
+0.000112354045
+9.79981163e-05
+7.25312012e-05
+3.17549825e-05
+3.18503483e-05
+7.23819822e-05
+9.77858864e-05
+0.000112110992
+0.00011560464
+0.000109191928
+9.3928055e-05
+7.07232646e-05
+3.96281446e-05
+7.90581826e-06
+5.67131829e-07
+4.61473015e-07
+4.61132215e-07
+4.61477917e-07
+5.67587138e-07
+7.91258747e-06
+3.96372696e-05
+7.07278448e-05
+9.39306445e-05
+0.000109193722
+0.000115606033
+0.000112111801
+9.77853334e-05
+7.23727701e-05
+3.16847393e-05
+3.17800524e-05
+7.22234176e-05
+9.7572928e-05
+0.000111868531
+0.000115356902
+0.000108960957
+9.37333744e-05
+7.05821756e-05
+3.95606438e-05
+7.89941459e-06
+5.66273895e-07
+4.60451968e-07
+4.60110778e-07
+4.60456876e-07
+5.66731877e-07
+7.90620853e-06
+3.95697892e-05
+7.05867568e-05
+9.37359574e-05
+0.000108962743
+0.000115358286
+0.00011186933
+9.75723663e-05
+7.22142025e-05
+3.16144318e-05
+3.17096922e-05
+7.20647145e-05
+9.73597831e-05
+0.00011162584
+0.000115108896
+0.000108729682
+9.35383624e-05
+7.04407624e-05
+3.94928608e-05
+7.89291158e-06
+5.65413258e-07
+4.59429923e-07
+4.59088358e-07
+4.59434849e-07
+5.65873782e-07
+7.89972922e-06
+3.95020251e-05
+7.04453453e-05
+9.35409393e-05
+0.000108731459
+0.000115110269
+0.000111626628
+9.73592126e-05
+7.20554945e-05
+3.15440597e-05
+3.16392677e-05
+7.19058702e-05
+9.71464479e-05
+0.000111382913
+0.000114860613
+0.000108498095
+9.33430133e-05
+7.02990252e-05
+3.94247959e-05
+7.8863086e-06
+5.6454985e-07
+4.584069e-07
+4.58064953e-07
+4.58411835e-07
+5.65012802e-07
+7.89314896e-06
+3.94339784e-05
+7.03036091e-05
+9.3345583e-05
+0.000108499861
+0.000114861975
+0.000111383691
+9.71458674e-05
+7.18966451e-05
+3.14736232e-05
+3.15687791e-05
+7.17468834e-05
+9.69329184e-05
+0.000111139746
+0.000114612046
+0.000108266187
+9.31473226e-05
+7.01569615e-05
+3.93564506e-05
+7.87960493e-06
+5.63683595e-07
+4.57382888e-07
+4.57040573e-07
+4.57387839e-07
+5.64148875e-07
+7.88646702e-06
+3.93656494e-05
+7.01615457e-05
+9.31498848e-05
+0.000108267942
+0.000114613396
+0.000111140511
+9.69323266e-05
+7.17376512e-05
+3.14031224e-05
+3.14982263e-05
+7.15877505e-05
+9.67191908e-05
+0.000110896333
+0.000114363189
+0.000108033953
+9.29512855e-05
+7.00145702e-05
+3.92878247e-05
+7.87279991e-06
+5.62814435e-07
+4.56357903e-07
+4.56015223e-07
+4.56362861e-07
+5.63281946e-07
+7.87968279e-06
+3.92970392e-05
+7.00191537e-05
+9.29538396e-05
+0.000108035696
+0.000114364527
+0.000110897085
+9.67185864e-05
+7.15785101e-05
+3.13325572e-05
+3.14276096e-05
+7.14284697e-05
+9.65052607e-05
+0.000110652667
+0.000114114037
+0.000107801386
+9.27548961e-05
+6.98718501e-05
+3.9218919e-05
+7.86589287e-06
+5.61942301e-07
+4.55331945e-07
+4.54988897e-07
+4.55336903e-07
+5.6241195e-07
+7.87279559e-06
+3.92281478e-05
+6.98764311e-05
+9.2757443e-05
+0.000107803117
+0.00011411536
+0.000110653404
+9.65046429e-05
+7.14192204e-05
+3.12619279e-05
+3.13569292e-05
+7.12690393e-05
+9.62911242e-05
+0.000110408744
+0.00011386458
+0.000107568479
+9.25581532e-05
+6.97288001e-05
+3.91497342e-05
+7.85888331e-06
+5.61067141e-07
+4.54305013e-07
+4.53961611e-07
+4.54309977e-07
+5.61538847e-07
+7.865805e-06
+3.91589762e-05
+6.97333802e-05
+9.25606901e-05
+0.000107570198
+0.000113865887
+0.000110409465
+9.62904911e-05
+7.12597793e-05
+3.11912346e-05
+3.1286185e-05
+7.11094561e-05
+9.6076777e-05
+0.000110164558
+0.000113614814
+0.000107335227
+9.23610528e-05
+6.95854214e-05
+3.90802715e-05
+7.85177085e-06
+5.60188905e-07
+4.53277114e-07
+4.52933362e-07
+4.53282088e-07
+5.60662588e-07
+7.8587106e-06
+3.90895255e-05
+6.95899986e-05
+9.23635805e-05
+0.000107336932
+0.000113616105
+0.000110165263
+9.60761282e-05
+7.11001848e-05
+3.11204774e-05
+3.12153774e-05
+7.09497183e-05
+9.58622149e-05
+0.000109920104
+0.000113364732
+0.000107101625
+9.21635924e-05
+6.9441713e-05
+3.90105314e-05
+7.84455531e-06
+5.59307551e-07
+4.52248262e-07
+4.51904158e-07
+4.52253233e-07
+5.59783138e-07
+7.85151224e-06
+3.90197964e-05
+6.94462879e-05
+9.21661107e-05
+0.000107103317
+0.000113366007
+0.000109920791
+9.58615491e-05
+7.09404341e-05
+3.10496564e-05
+3.11445066e-05
+7.07898232e-05
+9.56474334e-05
+0.000109675376
+0.00011311433
+0.00010686767
+9.19657712e-05
+6.92976772e-05
+3.89405161e-05
+7.83723653e-06
+5.5842304e-07
+4.51218446e-07
+4.50874001e-07
+4.51223426e-07
+5.58900464e-07
+7.8442098e-06
+3.89497907e-05
+6.93022491e-05
+9.1968279e-05
+0.000106869347
+0.000113115586
+0.000109676043
+9.56467497e-05
+7.07805252e-05
+3.09787721e-05
+3.10735727e-05
+7.06297697e-05
+9.54324294e-05
+0.000109430368
+0.0001128636
+0.000106633357
+9.17675876e-05
+6.91533132e-05
+3.88702261e-05
+7.82981457e-06
+5.57535347e-07
+4.50187689e-07
+4.4984291e-07
+4.50192671e-07
+5.5801454e-07
+7.83680338e-06
+3.88795094e-05
+6.91578812e-05
+9.1770084e-05
+0.000106635017
+0.000112864838
+0.000109431016
+9.54317263e-05
+7.06204566e-05
+3.09078245e-05
+3.10025762e-05
+7.04695546e-05
+9.52171983e-05
+0.000109185078
+0.000112612541
+0.000106398682
+9.15690396e-05
+6.90086239e-05
+3.87996633e-05
+7.82228948e-06
+5.56644443e-07
+4.49155991e-07
+4.48810877e-07
+4.49160974e-07
+5.57125345e-07
+7.82929304e-06
+3.88089542e-05
+6.90131875e-05
+9.15715254e-05
+0.000106400326
+0.000112613759
+0.000109185704
+9.52164743e-05
+7.04602255e-05
+3.08368139e-05
+3.09315172e-05
+7.0309177e-05
+9.50017357e-05
+0.000108939497
+0.000112361144
+0.000106163643
+9.13701284e-05
+6.88636102e-05
+3.87288294e-05
+7.81466136e-06
+5.55750307e-07
+4.48123355e-07
+4.4777792e-07
+4.48128344e-07
+5.56232861e-07
+7.8216789e-06
+3.87381268e-05
+6.88681683e-05
+9.13726019e-05
+0.000106165269
+0.000112362342
+0.000108940101
+9.50009898e-05
+7.02998299e-05
+3.07657407e-05
+3.08603961e-05
+7.01486339e-05
+9.47860379e-05
+0.000108693622
+0.000112109408
+0.000105928236
+9.1170854e-05
+6.87182731e-05
+3.86577257e-05
+7.80693035e-06
+5.54852915e-07
+4.47089797e-07
+4.4674404e-07
+4.47094781e-07
+5.55337063e-07
+7.81396107e-06
+3.86670287e-05
+6.87228251e-05
+9.11733138e-05
+0.000105929844
+0.000112110583
+0.000108694202
+9.47852692e-05
+7.01392682e-05
+3.06946051e-05
+3.07892131e-05
+6.99879235e-05
+9.45701009e-05
+0.000108447449
+0.000111857325
+0.000105692459
+9.09712143e-05
+6.85726148e-05
+3.85863533e-05
+7.79909644e-06
+5.53952247e-07
+4.46055322e-07
+4.45709255e-07
+4.46060304e-07
+5.54437935e-07
+7.80613963e-06
+3.8595661e-05
+6.85771598e-05
+9.09736607e-05
+0.000105694048
+0.000111858478
+0.000108448004
+9.45693083e-05
+6.99785384e-05
+3.06234074e-05
+3.07179689e-05
+6.98270438e-05
+9.43539214e-05
+0.000108200973
+0.000111604895
+0.000105456309
+9.077121e-05
+6.84266359e-05
+3.85147136e-05
+7.7911596e-06
+5.53048272e-07
+4.45019939e-07
+4.4467356e-07
+4.45024919e-07
+5.53535456e-07
+7.79821452e-06
+3.85240248e-05
+6.84311746e-05
+9.07736423e-05
+0.000105457878
+0.000111606023
+0.000108201501
+9.43531028e-05
+6.98176381e-05
+3.05521481e-05
+3.06466635e-05
+6.96659937e-05
+9.41374948e-05
+0.000107954189
+0.000111352112
+0.000105219786
+9.05708422e-05
+6.82803384e-05
+3.84428073e-05
+7.78311959e-06
+5.52140972e-07
+4.43983652e-07
+4.4363698e-07
+4.43988636e-07
+5.52629599e-07
+7.79018556e-06
+3.84521209e-05
+6.828487e-05
+9.05732607e-05
+0.000105221334
+0.000111353215
+0.000107954689
+9.41366497e-05
+6.96565655e-05
+3.04808274e-05
+3.05752975e-05
+6.95047716e-05
+9.39208188e-05
+0.000107707092
+0.000111098973
+0.000104982886
+9.03701108e-05
+6.81337234e-05
+3.83706353e-05
+7.77497621e-06
+5.51230312e-07
+4.42946481e-07
+4.42599509e-07
+4.42951456e-07
+5.51720339e-07
+7.78205255e-06
+3.83799505e-05
+6.81382471e-05
+9.03725131e-05
+0.000104984412
+0.00011110005
+0.000107707565
+9.39199459e-05
+6.94953202e-05
+3.04094459e-05
+3.05038714e-05
+6.93433753e-05
+9.37038892e-05
+0.000107459681
+0.000110845475
+0.000104745609
+9.01690165e-05
+6.79867923e-05
+3.82981977e-05
+7.76672907e-06
+5.50316261e-07
+4.41908429e-07
+4.41561172e-07
+4.41913397e-07
+5.5080764e-07
+7.77381506e-06
+3.83075137e-05
+6.79913074e-05
+9.01714017e-05
+0.000104747113
+0.000110846524
+0.000107460124
+9.37029872e-05
+6.93338997e-05
+3.03380039e-05
+3.04323858e-05
+6.91818043e-05
+9.34867035e-05
+0.000107211951
+0.000110591615
+0.000104507954
+8.99675585e-05
+6.78395474e-05
+3.82254953e-05
+7.75837777e-06
+5.49398785e-07
+4.4086951e-07
+4.40521969e-07
+4.40874475e-07
+5.49891476e-07
+7.76547281e-06
+3.82348109e-05
+6.78440518e-05
+8.99699274e-05
+0.000104509434
+0.000110592637
+0.000107212363
+9.34857719e-05
+6.91723028e-05
+3.02665021e-05
+3.0360841e-05
+6.9020057e-05
+9.32692599e-05
+0.0001069639
+0.000110337393
+0.00010426992
+8.97657388e-05
+6.76919879e-05
+3.81525285e-05
+7.74992183e-06
+5.48477854e-07
+4.39829734e-07
+4.39481918e-07
+4.39834687e-07
+5.48971811e-07
+7.7570253e-06
+3.81618429e-05
+6.76964835e-05
+8.97680902e-05
+0.000104271376
+0.000110338383
+0.000106964278
+9.32682966e-05
+6.90105292e-05
+3.01949409e-05
+3.02892376e-05
+6.88581335e-05
+9.30515556e-05
+0.000106715524
+0.000110082805
+0.000104031507
+8.95635591e-05
+6.75441181e-05
+3.80792976e-05
+7.74136092e-06
+5.47553428e-07
+4.38789112e-07
+4.3844103e-07
+4.38794059e-07
+5.4804862e-07
+7.74847216e-06
+3.808861e-05
+6.75486028e-05
+8.95658927e-05
+0.000104032937
+0.000110083764
+0.000106715868
+9.30505591e-05
+6.88485777e-05
+3.01233208e-05
+3.02175765e-05
+6.86960322e-05
+9.28335886e-05
+0.000106466822
+0.00010982785
+0.000103792715
+8.93610206e-05
+6.73959367e-05
+3.80058034e-05
+7.73269466e-06
+5.46625492e-07
+4.37747658e-07
+4.37399315e-07
+4.377526e-07
+5.47121871e-07
+7.73981303e-06
+3.80151129e-05
+6.74004111e-05
+8.93633349e-05
+0.000103794119
+0.000109828778
+0.000106467132
+9.28325579e-05
+6.86864478e-05
+3.00516426e-05
+3.0145858e-05
+6.85337546e-05
+9.26153577e-05
+0.000106217792
+0.000109572528
+0.000103553546
+8.91581247e-05
+6.72474484e-05
+3.79320465e-05
+7.72392278e-06
+5.4569401e-07
+4.36705383e-07
+4.36356792e-07
+4.36710316e-07
+5.46191541e-07
+7.73104773e-06
+3.79413522e-05
+6.72519103e-05
+8.91604196e-05
+0.000103554922
+0.000109573423
+0.000106218066
+9.26142916e-05
+6.85241396e-05
+2.99799069e-05
+3.00740829e-05
+6.83712988e-05
+9.23968622e-05
+0.000105968434
+0.00010931684
+0.000103313999
+8.89548728e-05
+6.70986549e-05
+3.78580279e-05
+7.71504511e-06
+5.44758966e-07
+4.35662309e-07
+4.35313468e-07
+4.35667228e-07
+5.45257614e-07
+7.72217602e-06
+3.7867329e-05
+6.71031038e-05
+8.89571475e-05
+0.000103315347
+0.000109317701
+0.000105968669
+9.23957597e-05
+6.83616531e-05
+2.99081142e-05
+3.0002252e-05
+6.82086663e-05
+9.21781017e-05
+0.000105718746
+0.000109060784
+0.000103074078
+8.87512696e-05
+6.69495566e-05
+3.77837488e-05
+7.70606158e-06
+5.43820347e-07
+4.34618436e-07
+4.34269358e-07
+4.34623347e-07
+5.44320074e-07
+7.71319792e-06
+3.77930443e-05
+6.69539928e-05
+8.87535226e-05
+0.000103075397
+0.000109061609
+0.000105718943
+9.2176961e-05
+6.81989883e-05
+2.98362654e-05
+2.9930366e-05
+6.80458579e-05
+9.19590754e-05
+0.00010546873
+0.000108804364
+0.000102833784
+8.85473174e-05
+6.6800158e-05
+3.77092102e-05
+7.69697223e-06
+5.42878137e-07
+4.33573788e-07
+4.33224478e-07
+4.33578691e-07
+5.43378907e-07
+7.70411342e-06
+3.77184995e-05
+6.68045797e-05
+8.8549548e-05
+0.000102835073
+0.000108805152
+0.000105468887
+9.19578953e-05
+6.80361458e-05
+2.97643612e-05
+2.98584257e-05
+6.78828739e-05
+9.17397843e-05
+0.000105218384
+0.000108547578
+0.00010259312
+8.83430178e-05
+6.66504603e-05
+3.76344137e-05
+7.68777717e-06
+5.41932334e-07
+4.32528381e-07
+4.3217885e-07
+4.32533272e-07
+5.42434111e-07
+7.69492264e-06
+3.7643696e-05
+6.66548678e-05
+8.8345225e-05
+0.000102594377
+0.000108548329
+0.0001052185
+9.17385632e-05
+6.78731273e-05
+2.96924024e-05
+2.9786432e-05
+6.7719716e-05
+9.15202282e-05
+0.000104967712
+0.00010829043
+0.000102352087
+8.81383738e-05
+6.65004675e-05
+3.75593607e-05
+7.67847651e-06
+5.40982926e-07
+4.31482228e-07
+4.31132475e-07
+4.31487103e-07
+5.4148568e-07
+7.68562573e-06
+3.7568635e-05
+6.65048602e-05
+8.8140558e-05
+0.000102353313
+0.000108291142
+0.000104967784
+9.15189656e-05
+6.77099332e-05
+2.962039e-05
+2.97143858e-05
+6.75563849e-05
+9.13004094e-05
+0.000104716712
+0.000108032923
+0.000102110691
+8.79333912e-05
+6.63501823e-05
+3.74840528e-05
+7.66907038e-06
+5.40029915e-07
+4.30435339e-07
+4.30085382e-07
+4.30440204e-07
+5.40533615e-07
+7.67622285e-06
+3.74933183e-05
+6.63545594e-05
+8.79355505e-05
+0.000102111883
+0.000108033593
+0.000104716739
+9.12991034e-05
+6.75465655e-05
+2.95483247e-05
+2.96422881e-05
+6.73928837e-05
+9.10803289e-05
+0.000104465388
+0.000107775056
+0.000101868933
+8.77280712e-05
+6.61996072e-05
+3.74084912e-05
+7.65955893e-06
+5.39073293e-07
+4.29387737e-07
+4.29037583e-07
+4.29392584e-07
+5.39577903e-07
+7.66671413e-06
+3.74177476e-05
+6.62039682e-05
+8.77302058e-05
+0.00010187009
+0.000107775686
+0.00010446537
+9.1078978e-05
+6.73830254e-05
+2.94762075e-05
+2.95701397e-05
+6.72292129e-05
+9.08599883e-05
+0.000104213742
+0.000107516836
+0.000101626817
+8.75224179e-05
+6.60487448e-05
+3.73326773e-05
+7.64994219e-06
+5.38113055e-07
+4.28339445e-07
+4.27989095e-07
+4.28344273e-07
+5.38618549e-07
+7.65709961e-06
+3.73419235e-05
+6.60530887e-05
+8.75245276e-05
+0.000101627939
+0.000107517421
+0.000104213676
+9.08585916e-05
+6.72193155e-05
+2.94040395e-05
+2.94979418e-05
+6.70653759e-05
+9.06393906e-05
+0.000103961776
+0.000107258264
+0.000101384348
+8.73164369e-05
+6.58975981e-05
+3.72566126e-05
+7.64022022e-06
+5.37149197e-07
+4.27290468e-07
+4.26939934e-07
+4.27295282e-07
+5.37655536e-07
+7.64737938e-06
+3.72658479e-05
+6.59019244e-05
+8.73185197e-05
+0.000101385434
+0.000107258805
+0.000103961661
+9.06379466e-05
+6.70554375e-05
+2.93318216e-05
+2.94256954e-05
+6.69013749e-05
+9.04185382e-05
+0.000103709493
+0.000106999345
+0.00010114153
+8.71101292e-05
+6.57461699e-05
+3.71802977e-05
+7.63039283e-06
+5.36181707e-07
+4.26240832e-07
+4.25890123e-07
+4.26245628e-07
+5.36688867e-07
+7.63755329e-06
+3.71895216e-05
+6.57504791e-05
+8.71121844e-05
+0.000101142578
+0.000106999841
+0.000103709329
+9.04170455e-05
+6.68913946e-05
+2.92595549e-05
+2.93534017e-05
+6.67372131e-05
+9.01974346e-05
+0.000103456898
+0.000106740083
+0.000100898366
+8.69035015e-05
+6.55944638e-05
+3.71037342e-05
+7.62045994e-06
+5.35210571e-07
+4.25190552e-07
+4.24839674e-07
+4.25195334e-07
+5.35718518e-07
+7.62762122e-06
+3.71129457e-05
+6.55987539e-05
+8.69055283e-05
+0.000100899377
+0.000106740531
+0.000103456682
+9.01958917e-05
+6.67271896e-05
+2.91872406e-05
+2.92810618e-05
+6.65728926e-05
+8.99760833e-05
+0.000103203994
+0.000106480481
+0.000100654862
+8.66965571e-05
+6.54424822e-05
+3.70269225e-05
+7.6104212e-06
+5.34235771e-07
+4.2413965e-07
+4.23788612e-07
+4.24144411e-07
+5.34744486e-07
+7.61758285e-06
+3.70361212e-05
+6.54467526e-05
+8.66985551e-05
+0.000100655834
+0.000106480881
+0.000103203726
+8.99744889e-05
+6.65628249e-05
+2.91148798e-05
+2.92086771e-05
+6.6408418e-05
+8.97544878e-05
+0.000102950785
+0.000106220545
+0.000100411024
+8.64892988e-05
+6.5290226e-05
+3.69498635e-05
+7.60027633e-06
+5.33257292e-07
+4.23088144e-07
+4.22736954e-07
+4.23092883e-07
+5.3376674e-07
+7.60743795e-06
+3.69590487e-05
+6.52944772e-05
+8.64912678e-05
+0.000100411954
+0.000106220897
+0.000102950463
+8.97528409e-05
+6.63983051e-05
+2.90424739e-05
+2.91362486e-05
+6.62437931e-05
+8.95326533e-05
+0.000102697277
+0.00010596028
+0.000100166854
+8.62817328e-05
+6.51377016e-05
+3.68725581e-05
+7.59002489e-06
+5.32275112e-07
+4.22036057e-07
+4.21684718e-07
+4.22040778e-07
+5.32785263e-07
+7.59718602e-06
+3.6881729e-05
+6.51419317e-05
+8.6283671e-05
+0.000100167743
+0.000105960581
+0.000102696899
+8.95309522e-05
+6.62336333e-05
+2.89700239e-05
+2.90637778e-05
+6.60790206e-05
+8.93105848e-05
+0.000102443475
+0.000105699692
+9.992236e-05
+8.60738626e-05
+6.49849095e-05
+3.67950065e-05
+7.57966642e-06
+5.31289206e-07
+4.20983405e-07
+4.20631935e-07
+4.20988105e-07
+5.31800035e-07
+7.58682664e-06
+3.68041626e-05
+6.49891178e-05
+8.60757691e-05
+9.99232069e-05
+0.000105699942
+0.000102443041
+8.93088277e-05
+6.60688134e-05
+2.88975313e-05
+2.8991266e-05
+6.59141052e-05
+8.90882863e-05
+0.000102189385
+0.000105438787
+9.96775469e-05
+8.58656932e-05
+6.48318533e-05
+3.67172097e-05
+7.5692004e-06
+5.3029955e-07
+4.1993021e-07
+4.19578616e-07
+4.19934892e-07
+5.3081103e-07
+7.57635928e-06
+3.67263504e-05
+6.48360403e-05
+8.58675688e-05
+9.96783502e-05
+0.000105438983
+0.000102188892
+8.90864728e-05
+6.59038492e-05
+2.88249975e-05
+2.89187148e-05
+6.5749052e-05
+8.88657644e-05
+0.000101935012
+0.000105177571
+9.94324207e-05
+8.56572304e-05
+6.46785349e-05
+3.66391682e-05
+7.55862633e-06
+5.29306117e-07
+4.18876498e-07
+4.18524785e-07
+4.18881152e-07
+5.2981822e-07
+7.56578348e-06
+3.66482928e-05
+6.46827002e-05
+8.56590718e-05
+9.94331797e-05
+0.000105177713
+0.000101934459
+8.88638932e-05
+6.5738746e-05
+2.8752424e-05
+2.88461254e-05
+6.55838649e-05
+8.86430253e-05
+0.000101680364
+0.000104916051
+9.91869882e-05
+8.54484777e-05
+6.45249599e-05
+3.65608827e-05
+7.54794358e-06
+5.28308883e-07
+4.1782229e-07
+4.17470467e-07
+4.17826919e-07
+5.28821581e-07
+7.55509862e-06
+3.65699905e-05
+6.45291014e-05
+8.5450286e-05
+9.91877011e-05
+0.000104916138
+0.000101679751
+8.86410941e-05
+6.55735078e-05
+2.86798119e-05
+2.87734995e-05
+6.54185492e-05
+8.8420075e-05
+0.000101425447
+0.000104654234
+9.89412549e-05
+8.52394414e-05
+6.43711298e-05
+3.64823542e-05
+7.53715175e-06
+5.27307822e-07
+4.16767605e-07
+4.16415679e-07
+4.1677221e-07
+5.27821089e-07
+7.54430424e-06
+3.64914448e-05
+6.4375248e-05
+8.52412144e-05
+9.89419213e-05
+0.000104654264
+0.000101424772
+8.84180831e-05
+6.54081399e-05
+2.86071631e-05
+2.87008386e-05
+6.525311e-05
+8.81969205e-05
+0.00010117027
+0.000104392129
+9.86952292e-05
+8.50301252e-05
+6.42170491e-05
+3.6403583e-05
+7.52625019e-06
+5.26302906e-07
+4.1571247e-07
+4.15360453e-07
+4.15717054e-07
+5.26816711e-07
+7.53339975e-06
+3.64126556e-05
+6.42211422e-05
+8.50318652e-05
+9.86958478e-05
+0.000104392101
+0.000101169531
+8.81948663e-05
+6.52426471e-05
+2.8534479e-05
+2.86281445e-05
+6.50875519e-05
+8.79735684e-05
+0.00010091484
+0.000104129742
+9.84489171e-05
+8.4820538e-05
+6.40627192e-05
+3.63245704e-05
+7.51523846e-06
+5.2529411e-07
+4.14656903e-07
+4.14304808e-07
+4.1466146e-07
+5.25808418e-07
+7.52238459e-06
+3.63336243e-05
+6.40667888e-05
+8.48222411e-05
+9.84494875e-05
+0.000104129655
+0.000100914036
+8.7971451e-05
+6.50770351e-05
+2.84617614e-05
+2.85554185e-05
+6.49218819e-05
+8.77500272e-05
+0.000100659165
+0.000103867082
+9.82023266e-05
+8.46106842e-05
+6.3908146e-05
+3.62453171e-05
+7.50411603e-06
+5.24281412e-07
+4.13600937e-07
+4.13248771e-07
+4.13605467e-07
+5.24796188e-07
+7.51125828e-06
+3.62543516e-05
+6.39121901e-05
+8.46123492e-05
+9.82028478e-05
+0.000103866934
+0.000100658294
+8.7747845e-05
+6.49113094e-05
+2.83890116e-05
+2.84826625e-05
+6.47561042e-05
+8.75263035e-05
+0.000100403254
+0.000103604158
+9.79554662e-05
+8.44005688e-05
+6.37533338e-05
+3.61658245e-05
+7.49288245e-06
+5.23264786e-07
+4.12544585e-07
+4.12192363e-07
+4.12549093e-07
+5.23779984e-07
+7.50002024e-06
+3.61748387e-05
+6.37573513e-05
+8.44021968e-05
+9.7955936e-05
+0.000103603948
+0.000100402316
+8.75240555e-05
+6.47454755e-05
+2.83162316e-05
+2.84098782e-05
+6.45902254e-05
+8.73024063e-05
+0.000100147116
+0.000103340978
+9.77083436e-05
+8.41902001e-05
+6.35982857e-05
+3.60860936e-05
+7.48153732e-06
+5.22244207e-07
+4.11487888e-07
+4.11135608e-07
+4.1149236e-07
+5.22759769e-07
+7.48866987e-06
+3.60950864e-05
+6.36022741e-05
+8.41917893e-05
+9.77087609e-05
+0.000103340705
+0.000100146108
+8.73000907e-05
+6.45795391e-05
+2.8243423e-05
+2.83370675e-05
+6.44242511e-05
+8.70783432e-05
+9.9890761e-05
+0.000103077553
+9.7460967e-05
+8.39795845e-05
+6.34430058e-05
+3.60061265e-05
+7.47008025e-06
+5.21219661e-07
+4.10430856e-07
+4.10078536e-07
+4.10435302e-07
+5.21735501e-07
+7.47720652e-06
+3.60150955e-05
+6.34469644e-05
+8.39811316e-05
+9.74613298e-05
+0.000103077214
+9.98896828e-05
+8.70759594e-05
+6.44135069e-05
+2.81705878e-05
+2.82642321e-05
+6.42581882e-05
+8.68541236e-05
+9.96341981e-05
+0.000102813891
+9.72133449e-05
+8.37687278e-05
+6.32874987e-05
+3.59259242e-05
+7.45851089e-06
+5.20191122e-07
+4.09373521e-07
+4.09021173e-07
+4.09377932e-07
+5.20707109e-07
+7.4656293e-06
+3.59348669e-05
+6.32914259e-05
+8.37702318e-05
+9.72136521e-05
+0.000102813486
+9.96330474e-05
+8.685167e-05
+6.4247385e-05
+2.80977275e-05
+2.81913739e-05
+6.40920419e-05
+8.66297557e-05
+9.93774376e-05
+0.000102550004
+9.69654882e-05
+8.35576403e-05
+6.31317713e-05
+3.58454896e-05
+7.44682913e-06
+5.19158575e-07
+4.08315914e-07
+4.07963537e-07
+4.08320283e-07
+5.1967451e-07
+7.45393726e-06
+3.58544018e-05
+6.31356616e-05
+8.35590959e-05
+9.69657351e-05
+0.000102549529
+9.93762127e-05
+8.66272314e-05
+6.40811795e-05
+2.80248441e-05
+2.81184947e-05
+6.39258197e-05
+8.64052495e-05
+9.912049e-05
+0.000102285901
+9.67174046e-05
+8.33463269e-05
+6.29758278e-05
+3.57648251e-05
+7.43503481e-06
+5.18122009e-07
+4.07258052e-07
+4.06905669e-07
+4.07262381e-07
+5.18637537e-07
+7.4421286e-06
+3.57736992e-05
+6.29796742e-05
+8.33477299e-05
+9.67175876e-05
+0.000102285355
+9.91191889e-05
+8.64026533e-05
+6.39148979e-05
+2.79519396e-05
+2.80455967e-05
+6.37595269e-05
+8.61806136e-05
+9.88633665e-05
+0.000102021596
+9.64691072e-05
+8.31347997e-05
+6.2819678e-05
+3.56839356e-05
+7.42312837e-06
+5.1708141e-07
+4.06199971e-07
+4.05847581e-07
+4.06204243e-07
+5.17595963e-07
+7.43020105e-06
+3.56927596e-05
+6.28234685e-05
+8.31361406e-05
+9.64692193e-05
+0.000102020971
+9.88619868e-05
+8.61779452e-05
+6.37485473e-05
+2.7879016e-05
+2.79726814e-05
+6.35931712e-05
+8.59558583e-05
+9.86060783e-05
+0.000101757098
+9.62206068e-05
+8.29230689e-05
+6.26633281e-05
+3.56028259e-05
+7.41111026e-06
+5.16036782e-07
+4.05141696e-07
+4.04789316e-07
+4.05145885e-07
+5.16549355e-07
+7.41815022e-06
+3.56115791e-05
+6.26670432e-05
+8.29243307e-05
+9.6220636e-05
+0.00010175639
+9.8604618e-05
+8.59531187e-05
+6.35821377e-05
+2.78060752e-05
+2.78997509e-05
+6.34267577e-05
+8.57309928e-05
+9.83486379e-05
+0.000101492423
+9.59719168e-05
+8.27111453e-05
+6.25067913e-05
+3.55215065e-05
+7.39898246e-06
+5.14988155e-07
+4.04083255e-07
+4.03730891e-07
+4.04087334e-07
+5.1549701e-07
+7.40596961e-06
+3.55301543e-05
+6.25103977e-05
+8.27123037e-05
+9.5971845e-05
+0.00010149162
+9.83470939e-05
+8.57281848e-05
+6.34156782e-05
+2.77331196e-05
+2.7826807e-05
+6.32602935e-05
+8.55060269e-05
+9.80910565e-05
+0.000101227582
+9.57230501e-05
+8.24990435e-05
+6.23500796e-05
+3.54399848e-05
+7.38674621e-06
+5.1393555e-07
+4.03024683e-07
+4.02672341e-07
+4.03028592e-07
+5.14437606e-07
+7.39364509e-06
+3.54484674e-05
+6.235352e-05
+8.2500054e-05
+9.57228486e-05
+0.000101226668
+9.80894259e-05
+8.55031595e-05
+6.32491861e-05
+2.76601519e-05
+2.77538511e-05
+6.30937814e-05
+8.52809663e-05
+9.78333419e-05
+0.000100962584
+9.54740196e-05
+8.22867819e-05
+6.21932152e-05
+3.5358276e-05
+7.37440434e-06
+5.12879034e-07
+4.01966005e-07
+4.01613704e-07
+4.0196965e-07
+5.13368891e-07
+7.38115276e-06
+3.53664931e-05
+6.2196396e-05
+8.22875704e-05
+9.54736368e-05
+0.000100961535
+9.78316247e-05
+8.527806e-05
+6.30826852e-05
+2.75871766e-05
+2.76808845e-05
+6.29272352e-05
+8.50558236e-05
+9.75754993e-05
+0.000100697427
+9.5224813e-05
+8.20743419e-05
+6.20361888e-05
+3.52764015e-05
+7.36196497e-06
+5.11818762e-07
+4.00907268e-07
+4.00555014e-07
+4.00910501e-07
+5.12287263e-07
+7.36845598e-06
+3.52841899e-05
+6.2038955e-05
+8.20747847e-05
+9.52241581e-05
+0.000100696192
+9.75736927e-05
+8.50529257e-05
+6.29162553e-05
+2.75142012e-05
+2.76079083e-05
+6.27606524e-05
+8.48305973e-05
+9.73175296e-05
+0.000100432105
+9.49754131e-05
+8.18616896e-05
+6.18789477e-05
+3.51943299e-05
+7.34942441e-06
+5.10754778e-07
+3.99848483e-07
+3.99496289e-07
+3.99851086e-07
+5.11187842e-07
+7.35549444e-06
+3.52014985e-05
+6.18811646e-05
+8.18617332e-05
+9.49745331e-05
+0.000100430849
+9.73159371e-05
+8.48281616e-05
+6.27505194e-05
+2.74412453e-05
+)
+;
+
+boundaryField
+{
+    inlet
+    {
+        type            calculated;
+        value           nonuniform List<scalar>
+25
+(
+6.06722125e-07
+6.06722197e-07
+6.0672234e-07
+6.06722546e-07
+6.06722805e-07
+6.06723108e-07
+6.06723444e-07
+6.06723801e-07
+6.06724171e-07
+6.06724546e-07
+6.06725027e-07
+6.06725677e-07
+6.06726494e-07
+6.06727478e-07
+6.06728632e-07
+6.06729961e-07
+6.06731402e-07
+6.06732848e-07
+6.06734309e-07
+6.06735796e-07
+6.06737321e-07
+6.06738899e-07
+6.0674054e-07
+6.06742256e-07
+6.06743938e-07
+)
+;
+    }
+    outlet
+    {
+        type            calculated;
+        value           nonuniform List<scalar>
+25
+(
+2.75713964e-05
+6.26776504e-05
+8.47184073e-05
+9.71888251e-05
+0.000100299281
+9.4849805e-05
+8.17534242e-05
+6.17971099e-05
+3.51477834e-05
+7.33970433e-06
+5.10079268e-07
+3.99319651e-07
+3.98967919e-07
+3.99322242e-07
+5.10511738e-07
+7.34576588e-06
+3.51549398e-05
+6.17993177e-05
+8.17534581e-05
+9.48489128e-05
+0.00010029801
+9.71872163e-05
+8.47159563e-05
+6.26675137e-05
+2.7404942e-05
+)
+;
+    }
+    wall1
+    {
+        type            compressible::alphatPhaseChangeJayatillekeWallFunction;
+        Prt             0.85;
+        Cmu             0.09;
+        kappa           0.41;
+        E               9.8;
+        value           uniform 0;
+    }
+    wall2
+    {
+        type            compressible::alphatPhaseChangeJayatillekeWallFunction;
+        Prt             0.85;
+        Cmu             0.09;
+        kappa           0.41;
+        E               9.8;
+        value           uniform 0;
+    }
+    defaultFaces
+    {
+        type            empty;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/alphat.liquid b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/alphat.liquid
new file mode 100644
index 00000000000..c04002047ea
--- /dev/null
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/alphat.liquid
@@ -0,0 +1,2078 @@
+/*--------------------------------*- 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;
+    location    "5";
+    object      alphat.liquid;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -1 -1 0 0 0 0];
+
+internalField   nonuniform List<scalar>
+1875
+(
+0.0439193299
+0.0997894082
+0.13478747
+0.154497593
+0.159263326
+0.150362782
+0.12925455
+0.0972002875
+0.0542157578
+0.0106707007
+0.000774064757
+0.000636374804
+0.000635926823
+0.000636379054
+0.000774577802
+0.0106790243
+0.0542270337
+0.0972054776
+0.129256681
+0.150363262
+0.159262702
+0.154495816
+0.134783858
+0.0997813485
+0.0439191015
+0.0439193692
+0.0997903706
+0.134790215
+0.154502799
+0.159271531
+0.150374411
+0.129269862
+0.0972191851
+0.0542412719
+0.0106839828
+0.000774508841
+0.000636373429
+0.000635924183
+0.000636377758
+0.000775031399
+0.0106923427
+0.0542523862
+0.0972239406
+0.129271379
+0.150374162
+0.159270133
+0.154500269
+0.13478594
+0.099781772
+0.0439198055
+0.043919415
+0.0997915151
+0.134793413
+0.154508847
+0.159281073
+0.150387961
+0.129287745
+0.0972413137
+0.0542710964
+0.0106996447
+0.000775035306
+0.000636371815
+0.000635921073
+0.000636376205
+0.000775568024
+0.0107080694
+0.0542822696
+0.0972460727
+0.12928924
+0.150387684
+0.159279651
+0.154506298
+0.134789123
+0.0997828992
+0.0439197832
+0.0439194647
+0.0997927318
+0.134796712
+0.15451502
+0.15929075
+0.150401638
+0.129305726
+0.0972634807
+0.0543008015
+0.0107153222
+0.000775564772
+0.000636370203
+0.000635917949
+0.000636374655
+0.000776107127
+0.0107238151
+0.0543120411
+0.0972682562
+0.129307216
+0.150401352
+0.159289318
+0.154512463
+0.134792414
+0.0997840998
+0.0439198522
+0.0439195191
+0.09979402
+0.134800109
+0.154521309
+0.159300544
+0.150415415
+0.129323763
+0.0972856173
+0.0543303249
+0.0107309763
+0.00077609598
+0.000636368591
+0.000635914819
+0.000636373106
+0.000776647348
+0.0107395378
+0.0543416306
+0.0972904103
+0.129325248
+0.150415117
+0.159299101
+0.154518742
+0.134795801
+0.0997853714
+0.0439199151
+0.0439195791
+0.0997953813
+0.134803608
+0.154527715
+0.159310461
+0.1504293
+0.129341866
+0.0973077294
+0.0543596999
+0.0107466194
+0.000776629274
+0.000636366974
+0.000635911691
+0.000636371546
+0.00077718908
+0.010755249
+0.0543710716
+0.0973125401
+0.129343347
+0.150428989
+0.159309007
+0.154525139
+0.134799289
+0.0997867132
+0.0439199852
+0.0439196452
+0.0997968122
+0.134807204
+0.154534239
+0.1593205
+0.15044329
+0.129360031
+0.0973298144
+0.0543889472
+0.0107622581
+0.000777164918
+0.00063636536
+0.000635908551
+0.000636369994
+0.000777732646
+0.0107709549
+0.0544003845
+0.0973346429
+0.129361506
+0.15044297
+0.159319034
+0.154531652
+0.134802874
+0.0997881253
+0.043920061
+0.0439197177
+0.0997983094
+0.134810896
+0.154540873
+0.15933065
+0.150457375
+0.129378243
+0.0973518552
+0.0544180691
+0.0107778896
+0.000777702798
+0.000636363751
+0.000635905406
+0.000636368434
+0.000778277997
+0.0107866524
+0.0544295712
+0.0973567021
+0.129379713
+0.150457045
+0.159329174
+0.154538276
+0.134806554
+0.0997896028
+0.0439201434
+0.0439197969
+0.0997998696
+0.134814679
+0.154547609
+0.159340902
+0.15047154
+0.12939648
+0.0973738353
+0.0544470564
+0.010793505
+0.00077824259
+0.000636362148
+0.000635902261
+0.000636366876
+0.000778824854
+0.0108023327
+0.0544586226
+0.0973787008
+0.129397945
+0.1504712
+0.159339414
+0.154545001
+0.134810324
+0.0997911432
+0.0439202323
+0.0439198829
+0.0998014894
+0.134818546
+0.154554441
+0.159351243
+0.150485767
+0.129414717
+0.0973957291
+0.0544758968
+0.0108090943
+0.000778783894
+0.000636360538
+0.000635899103
+0.000636365315
+0.000779372872
+0.0108179856
+0.0544875263
+0.0974006133
+0.129416181
+0.150485416
+0.159349746
+0.154551822
+0.13481418
+0.0997927426
+0.043920328
+0.0439199757
+0.0998031646
+0.134822497
+0.154561363
+0.159361665
+0.150500041
+0.129432938
+0.0974175226
+0.0545045821
+0.0108246496
+0.000779326395
+0.000636358936
+0.000635895953
+0.000636363758
+0.00077992176
+0.0108336031
+0.0545162736
+0.0974224236
+0.129434397
+0.15049968
+0.159360155
+0.154558733
+0.134818117
+0.0997943978
+0.0439204305
+0.0439200755
+0.0998048932
+0.134826525
+0.154568369
+0.159372157
+0.150514348
+0.129451123
+0.0974392047
+0.0545331078
+0.0108401657
+0.000779869848
+0.000636357333
+0.000635892798
+0.000636362198
+0.000780471314
+0.01084918
+0.0545448609
+0.0974441223
+0.129452581
+0.150513979
+0.159370638
+0.154565728
+0.134822134
+0.0997961059
+0.04392054
+0.0439201821
+0.0998066715
+0.13483063
+0.154575453
+0.159382713
+0.150528678
+0.129469262
+0.0974607656
+0.0545614748
+0.0108556397
+0.000780414108
+0.000636355734
+0.000635889642
+0.00063636064
+0.000781021418
+0.0108647136
+0.0545732879
+0.0974656996
+0.129470718
+0.1505283
+0.159381183
+0.154572803
+0.134826226
+0.099797864
+0.0439206562
+0.0439202956
+0.0998084957
+0.134834806
+0.154582612
+0.159393324
+0.15054302
+0.129487342
+0.0974821989
+0.0545896848
+0.0108710704
+0.000780959058
+0.000636354139
+0.000635886483
+0.000636359081
+0.000781571989
+0.0108802027
+0.0546015569
+0.0974871509
+0.129488796
+0.150542634
+0.159391785
+0.154579951
+0.134830389
+0.099799668
+0.0439207793
+0.0439204158
+0.0998103634
+0.134839049
+0.15458984
+0.159403982
+0.150557362
+0.129505353
+0.0975035014
+0.0546177402
+0.0108864573
+0.000781504622
+0.000636352542
+0.000635883322
+0.000636357522
+0.000782122966
+0.0108956466
+0.0546296702
+0.0975084694
+0.129506804
+0.150556969
+0.159402433
+0.154587168
+0.13483462
+0.0998015148
+0.0439209092
+0.0439205427
+0.0998122715
+0.134843355
+0.15459713
+0.159414679
+0.150571695
+0.129523285
+0.0975246698
+0.0546456438
+0.0109017999
+0.00078205073
+0.000636350945
+0.000635880164
+0.000636355969
+0.000782674312
+0.010911045
+0.0546576304
+0.0975296551
+0.129524735
+0.150571293
+0.15941312
+0.154594448
+0.134838915
+0.0998034015
+0.0439210456
+0.0439206761
+0.0998142155
+0.13484772
+0.154604476
+0.159425403
+0.150586005
+0.129541127
+0.0975456992
+0.0546733967
+0.0109170974
+0.000782597294
+0.000636349362
+0.000635877001
+0.000636354409
+0.000783225958
+0.0109263973
+0.054685439
+0.0975507
+0.129542576
+0.150585597
+0.159423837
+0.154601784
+0.134843266
+0.0998053249
+0.0439211886
+0.0439208159
+0.0998161922
+0.134852137
+0.15461187
+0.159436148
+0.150600282
+0.129558868
+0.0975665839
+0.0547009998
+0.0109323488
+0.000783144235
+0.000636347767
+0.000635873839
+0.000636352854
+0.000783777825
+0.0109417023
+0.0547130965
+0.0975716016
+0.129560318
+0.150599869
+0.159434572
+0.154609168
+0.134847671
+0.09980728
+0.043921338
+0.0439209619
+0.0998181972
+0.1348566
+0.154619304
+0.159446901
+0.150614516
+0.129576501
+0.0975873224
+0.0547284532
+0.010947553
+0.000783691457
+0.000636346181
+0.000635870669
+0.000636351298
+0.000784329841
+0.0109569591
+0.0547406037
+0.0975923567
+0.129577951
+0.150614095
+0.159445317
+0.154616592
+0.134852122
+0.0998092647
+0.0439214936
+0.0439211141
+0.0998202278
+0.134861105
+0.15462677
+0.159457651
+0.150628691
+0.129594017
+0.0976079102
+0.0547557571
+0.0109627088
+0.000784238858
+0.000636344588
+0.000635867504
+0.000636349745
+0.000784881923
+0.0109721664
+0.0547679594
+0.0976129607
+0.129595467
+0.150628265
+0.159456059
+0.154624049
+0.134856614
+0.0998112739
+0.0439216552
+0.0439212721
+0.099822279
+0.134865643
+0.154634258
+0.159468388
+0.150642799
+0.129611407
+0.0976283438
+0.0547829101
+0.0109778148
+0.000784786353
+0.000636343002
+0.000635864342
+0.000636348187
+0.000785433985
+0.0109873229
+0.0547951639
+0.09763341
+0.129612858
+0.150642368
+0.159466789
+0.154631529
+0.13486114
+0.0998133036
+0.0439218228
+0.0439214358
+0.0998243473
+0.134870209
+0.154641761
+0.159479102
+0.150656829
+0.129628662
+0.0976486198
+0.0548099122
+0.0109928699
+0.000785333846
+0.000636341419
+0.000635861172
+0.000636346626
+0.00078598594
+0.0110024273
+0.0548222161
+0.0976536998
+0.129630116
+0.150656392
+0.159477496
+0.154639023
+0.134865694
+0.0998153512
+0.0439219961
+0.043921605
+0.099826429
+0.134874795
+0.154649269
+0.159489781
+0.150670769
+0.129645778
+0.0976687342
+0.0548367628
+0.0110078729
+0.000785881255
+0.000636339831
+0.000635858008
+0.000636345066
+0.000786537722
+0.0110174788
+0.0548491158
+0.0976738312
+0.129647231
+0.150670329
+0.159488167
+0.154646521
+0.134870268
+0.0998174112
+0.0439221749
+0.0439217795
+0.0998285194
+0.134879394
+0.154656772
+0.159500415
+0.150684611
+0.129662746
+0.0976886876
+0.0548634622
+0.0110228229
+0.000786428508
+0.00063633824
+0.00063585484
+0.000636343512
+0.000787089259
+0.0110324763
+0.054875863
+0.0976937994
+0.129664202
+0.150684167
+0.159498794
+0.154654015
+0.134874856
+0.0998194807
+0.043922359
+0.043921959
+0.0998306143
+0.134884
+0.15466426
+0.159510992
+0.150698345
+0.129679562
+0.0977084759
+0.0548900095
+0.0110377193
+0.000786975535
+0.000636336659
+0.000635851669
+0.000636341949
+0.00078764049
+0.0110474193
+0.0549024574
+0.097713604
+0.12968102
+0.150697897
+0.159509367
+0.154661496
+0.134879449
+0.099821554
+0.0439225481
+0.0439221433
+0.0998327086
+0.134888603
+0.154671725
+0.159521505
+0.150711962
+0.12969622
+0.0977280998
+0.054916406
+0.0110525614
+0.000787522278
+0.000636335065
+0.000635848494
+0.00063634039
+0.000788191366
+0.0110623071
+0.0549288996
+0.0977332441
+0.129697681
+0.150711512
+0.159519873
+0.154668952
+0.134884041
+0.0998236272
+0.0439227421
+0.0439223322
+0.0998347993
+0.134893197
+0.154679156
+0.15953194
+0.150725453
+0.129712717
+0.0977475563
+0.0549426513
+0.0110673489
+0.000788068685
+0.000636333477
+0.000635845326
+0.000636338829
+0.000788741831
+0.0110771394
+0.0549551897
+0.0977527162
+0.12971418
+0.150725
+0.159530303
+0.154676376
+0.134888624
+0.0998256964
+0.0439229407
+0.0439225254
+0.0998368805
+0.134897774
+0.154686544
+0.159542291
+0.150738811
+0.129729045
+0.0977668468
+0.0549687459
+0.0110820815
+0.000788614709
+0.000636331888
+0.000635842151
+0.000636337269
+0.000789291852
+0.0110919158
+0.0549813284
+0.0977720221
+0.129730513
+0.150738356
+0.159540648
+0.154683756
+0.13489319
+0.0998277567
+0.0439231436
+0.0439227226
+0.0998389491
+0.134902326
+0.154693878
+0.159552543
+0.150752028
+0.129745204
+0.0977859693
+0.0549946904
+0.0110967587
+0.000789160305
+0.000636330293
+0.000635838978
+0.000636335708
+0.000789841384
+0.0111066361
+0.0550073158
+0.0977911596
+0.129746675
+0.15075157
+0.159550897
+0.154691084
+0.13489773
+0.0998298031
+0.0439233505
+0.0439229234
+0.0998409987
+0.134906843
+0.154701149
+0.159562692
+0.150765096
+0.12976119
+0.0978049234
+0.0550204852
+0.0111113802
+0.000789705427
+0.000636328701
+0.000635835802
+0.000636334138
+0.000790390384
+0.0111213
+0.0550331527
+0.0978101284
+0.129762664
+0.150764636
+0.159561039
+0.154698347
+0.134902236
+0.0998318313
+0.0439235611
+0.0439231276
+0.0998430253
+0.134911319
+0.154708346
+0.159572722
+0.150778007
+0.129776997
+0.0978237087
+0.0550461296
+0.0111259457
+0.00079025003
+0.000636327107
+0.00063583263
+0.00063633257
+0.000790938808
+0.0111359069
+0.0550588385
+0.0978289283
+0.129778474
+0.150777546
+0.159571066
+0.154705537
+0.134906702
+0.099833837
+0.0439237751
+0.0439233347
+0.0998450236
+0.134915745
+0.15471546
+0.159582629
+0.150790755
+0.129792622
+0.0978423232
+0.0550716237
+0.0111404544
+0.000790794055
+0.000636325513
+0.00063582945
+0.000636331003
+0.000791486613
+0.0111504563
+0.0550843727
+0.0978475587
+0.129794103
+0.150790292
+0.159580968
+0.154712645
+0.134911116
+0.0998358141
+0.0439239921
+0.0439235446
+0.0998469893
+0.134920111
+0.15472248
+0.159592399
+0.150803332
+0.129808062
+0.0978607666
+0.0550969665
+0.0111549055
+0.000791337458
+0.000636323908
+0.000635826277
+0.000636329434
+0.000792033741
+0.0111649474
+0.0551097548
+0.0978660178
+0.129809549
+0.150802867
+0.159590735
+0.154719658
+0.134915471
+0.0998377579
+0.0439242119
+0.0439237568
+0.0998489184
+0.13492441
+0.154729396
+0.159602025
+0.150815731
+0.129823313
+0.0978790372
+0.0551221568
+0.0111692981
+0.000791880169
+0.000636322312
+0.000635823094
+0.000636327857
+0.000792580137
+0.0111793794
+0.0551349837
+0.0978843039
+0.129824803
+0.150815265
+0.159600358
+0.154726569
+0.13491976
+0.0998396654
+0.043924434
+0.0439239709
+0.0998508045
+0.134928634
+0.154736199
+0.159611498
+0.150827945
+0.129838372
+0.0978971335
+0.0551471931
+0.0111836312
+0.000792422124
+0.000636320706
+0.000635819918
+0.000636326275
+0.000793125728
+0.011193751
+0.0551600579
+0.0979024153
+0.129839866
+0.15082748
+0.159609827
+0.154733366
+0.134923974
+0.0998415304
+0.043924658
+0.0439241865
+0.0998526441
+0.134932774
+0.154742879
+0.159620808
+0.150839969
+0.129853233
+0.0979150554
+0.0551720738
+0.0111979035
+0.000792963253
+0.000636319102
+0.000635816734
+0.000636324701
+0.000793670457
+0.0112080611
+0.0551849753
+0.0979203503
+0.129854732
+0.150839503
+0.159619135
+0.154740041
+0.134928105
+0.0998433481
+0.0439248838
+0.0439244035
+0.0998544326
+0.134936823
+0.154749429
+0.159629949
+0.150851797
+0.129867895
+0.097932798
+0.0551967971
+0.0112121136
+0.000793503488
+0.000636317494
+0.000635813553
+0.000636323111
+0.000794214245
+0.0112223085
+0.0552097349
+0.0979381093
+0.129869399
+0.150851331
+0.159628271
+0.154746584
+0.134932144
+0.0998451156
+0.0439251108
+0.0439246212
+0.0998561664
+0.134940774
+0.154755836
+0.159638911
+0.15086342
+0.129882355
+0.0979503634
+0.0552213613
+0.0112262605
+0.000794042744
+0.00063631588
+0.00063581037
+0.000636321524
+0.00079475703
+0.0112364919
+0.0552343345
+0.0979556891
+0.129883864
+0.150862955
+0.15963723
+0.154752985
+0.134936085
+0.0998468276
+0.0439253387
+0.0439248395
+0.0998578402
+0.134944619
+0.154762095
+0.159647686
+0.150874838
+0.129896609
+0.0979677463
+0.0552457645
+0.0112403428
+0.000794580976
+0.000636314265
+0.000635807185
+0.000636319938
+0.000795298743
+0.0112506101
+0.0552587725
+0.0979730879
+0.129898124
+0.150874372
+0.159646004
+0.15475924
+0.13493992
+0.0998484805
+0.0439255672
+0.0439250579
+0.0998594523
+0.134948352
+0.154768197
+0.159656269
+0.150886041
+0.129910654
+0.0979849489
+0.0552700053
+0.0112543595
+0.000795118099
+0.000636312641
+0.000635804004
+0.000636318341
+0.000795839317
+0.0112646621
+0.0552830472
+0.0979903043
+0.129912175
+0.150885576
+0.159654584
+0.154765337
+0.134943642
+0.0998500706
+0.0439257958
+0.043925276
+0.0998609972
+0.134951965
+0.154774135
+0.159664653
+0.150897027
+0.129924488
+0.0980019695
+0.0552940822
+0.0112683096
+0.000795654067
+0.000636311026
+0.00063580082
+0.000636316745
+0.000796378703
+0.0112786468
+0.0553071575
+0.0980073385
+0.129926015
+0.150896563
+0.159662967
+0.15477127
+0.134947247
+0.0998515948
+0.0439260243
+0.0439254935
+0.0998624729
+0.134955454
+0.154779903
+0.15967283
+0.150907794
+0.129938111
+0.0980188046
+0.0553179941
+0.0112821922
+0.000796188821
+0.000636309394
+0.00063579763
+0.000636315142
+0.000796916842
+0.0112925635
+0.0553311017
+0.0980241886
+0.129939642
+0.150907331
+0.159671143
+0.154777032
+0.134950726
+0.0998530491
+0.0439262522
+0.04392571
+0.0998638764
+0.134958812
+0.154785492
+0.159680798
+0.150918335
+0.12995152
+0.0980354561
+0.0553417397
+0.0112960066
+0.000796722313
+0.000636307764
+0.00063579444
+0.000636313541
+0.000797453685
+0.0113064114
+0.0553548793
+0.0980408532
+0.129953057
+0.150917873
+0.159679109
+0.154782618
+0.134954074
+0.0998544305
+0.0439264792
+0.0439259253
+0.0998652049
+0.134962035
+0.154790897
+0.15968855
+0.150928649
+0.129964713
+0.0980519207
+0.0553653182
+0.0113097521
+0.000797254501
+0.000636306131
+0.000635791258
+0.000636311935
+0.000797989192
+0.0113201898
+0.0553784891
+0.0980573324
+0.129966254
+0.150928187
+0.159686859
+0.154788019
+0.134957287
+0.0998557377
+0.0439267049
+0.0439261388
+0.0998664561
+0.134965116
+0.154796115
+0.159696081
+0.150938732
+0.129977687
+0.0980682001
+0.0553887285
+0.011323428
+0.000797785333
+0.000636304496
+0.000635788063
+0.000636310322
+0.000798523318
+0.011333898
+0.05540193
+0.0980736262
+0.129979235
+0.150938272
+0.159694389
+0.154793232
+0.13496036
+0.0998569671
+0.0439269291
+0.0439263504
+0.0998676272
+0.134968053
+0.154801138
+0.159703388
+0.150948582
+0.129990443
+0.098084293
+0.0554119701
+0.0113370338
+0.000798314775
+0.000636302848
+0.000635784873
+0.000636308703
+0.000799056026
+0.0113475356
+0.0554252013
+0.0980897333
+0.129991996
+0.150948123
+0.159701695
+0.15479825
+0.134963287
+0.0998581172
+0.0439271513
+0.0439265596
+0.0998687176
+0.134970841
+0.154805961
+0.159710465
+0.150958195
+0.130002979
+0.0981001979
+0.0554350411
+0.0113505686
+0.000798842777
+0.000636301198
+0.000635781685
+0.000636307073
+0.000799587263
+0.0113611017
+0.0554483022
+0.0981056521
+0.130004539
+0.150957738
+0.159708771
+0.15480307
+0.134966066
+0.099859185
+0.0439273713
+0.0439267662
+0.0998697243
+0.134973476
+0.154810582
+0.159717311
+0.15096757
+0.130015293
+0.0981159137
+0.0554579405
+0.0113640317
+0.000799369289
+0.00063629955
+0.000635778492
+0.000636305446
+0.000800116989
+0.0113745955
+0.0554712304
+0.0981213816
+0.13001686
+0.150967114
+0.159715615
+0.154807686
+0.134968692
+0.0998601703
+0.0439275887
+0.0439269699
+0.0998706472
+0.134975956
+0.154814995
+0.159723921
+0.150976705
+0.130027385
+0.0981314391
+0.0554806669
+0.0113774221
+0.000799894267
+0.000636297891
+0.000635775297
+0.000636303813
+0.000800645144
+0.0113880163
+0.0554939849
+0.0981369205
+0.130028958
+0.150976251
+0.159722224
+0.154812094
+0.134971162
+0.0998610706
+0.0439278032
+0.0439271703
+0.0998714844
+0.134978277
+0.154819197
+0.159730292
+0.150985597
+0.130039251
+0.0981467733
+0.0555032179
+0.0113907388
+0.000800417647
+0.000636296227
+0.000635772104
+0.000636302173
+0.000801171684
+0.0114013628
+0.0555165638
+0.0981522698
+0.130040831
+0.150985146
+0.159728595
+0.154816294
+0.134973474
+0.0998618856
+0.0439280146
+0.0439273672
+0.0998722361
+0.134980437
+0.154823186
+0.159736423
+0.150994245
+0.130050894
+0.0981619156
+0.0555255919
+0.0114039805
+0.000800939365
+0.000636294557
+0.000635768904
+0.000636300532
+0.000801696532
+0.0114146338
+0.0555389648
+0.0981674253
+0.130052479
+0.150993796
+0.159734723
+0.154820278
+0.134975625
+0.099862615
+0.0439282226
+0.0439275604
+0.0998729002
+0.134982435
+0.15482696
+0.15974231
+0.151002647
+0.13006231
+0.0981768636
+0.0555477859
+0.0114171457
+0.000801459346
+0.00063629288
+0.000635765705
+0.000636298877
+0.000802219631
+0.0114278279
+0.0555611857
+0.0981823862
+0.130063902
+0.151002201
+0.159740609
+0.154824048
+0.134977613
+0.0998632567
+0.0439284268
+0.0439277496
+0.0998734783
+0.134984268
+0.154830514
+0.159747951
+0.151010802
+0.130073496
+0.0981916133
+0.0555697977
+0.0114302329
+0.000801977522
+0.000636291198
+0.000635762503
+0.000636297216
+0.000802740893
+0.0114409436
+0.0555832237
+0.0981971502
+0.130075096
+0.151010357
+0.159746251
+0.154827599
+0.134979437
+0.0998638126
+0.0439286272
+0.0439279345
+0.0998739702
+0.134985936
+0.154833849
+0.159753344
+0.151018708
+0.130084454
+0.0982061676
+0.0555916242
+0.0114432405
+0.000802493807
+0.000636289511
+0.000635759294
+0.000636295557
+0.000803260236
+0.0114539792
+0.0556050759
+0.0982117172
+0.13008606
+0.151018266
+0.159751644
+0.154830929
+0.134981096
+0.0998642813
+0.0439288234
+0.043928115
+0.0998743751
+0.134987438
+0.154836962
+0.159758491
+0.151026365
+0.130095181
+0.0982205211
+0.0556132621
+0.0114561665
+0.000803008115
+0.000636287816
+0.000635756096
+0.000636293885
+0.000803777584
+0.0114669328
+0.0556267391
+0.098226083
+0.130096793
+0.151025925
+0.15975679
+0.154834039
+0.134982588
+0.0998646639
+0.0439290153
+0.043928291
+0.0998746942
+0.134988774
+0.154839854
+0.159763388
+0.151033771
+0.130105675
+0.0982346733
+0.0556347085
+0.0114690092
+0.000803520349
+0.000636286108
+0.00063575289
+0.000636292207
+0.000804292838
+0.0114798026
+0.0556482104
+0.0982402491
+0.130107296
+0.151033334
+0.159761686
+0.154836926
+0.134983915
+0.09986496
+0.0439292027
+0.0439284622
+0.0998749292
+0.134989945
+0.154842523
+0.159768036
+0.151040926
+0.130115938
+0.0982486201
+0.05565596
+0.0114817664
+0.000804030422
+0.0006362844
+0.000635749682
+0.000636290515
+0.000804805904
+0.0114925866
+0.0556694862
+0.0982542098
+0.130117564
+0.151040492
+0.159766332
+0.154839591
+0.134985077
+0.0998651718
+0.0439293854
+0.0439286285
+0.09987508
+0.134990951
+0.15484497
+0.159772433
+0.151047831
+0.130125966
+0.0982623632
+0.0556770133
+0.0114944361
+0.000804538233
+0.000636282684
+0.000635746471
+0.000636288821
+0.000805316686
+0.0115052827
+0.0556905634
+0.0982679646
+0.130127599
+0.151047398
+0.15977073
+0.154842035
+0.134986072
+0.0998652993
+0.0439295633
+0.0439287898
+0.099875149
+0.134991793
+0.154847197
+0.159776582
+0.151054482
+0.13013576
+0.0982758983
+0.0556978653
+0.0115070164
+0.000805043687
+0.00063628096
+0.000635743256
+0.00063628712
+0.000805825089
+0.0115178889
+0.0557114389
+0.0982815128
+0.130137398
+0.151054052
+0.159774878
+0.154844257
+0.134986905
+0.0998653449
+0.0439297363
+0.0439289459
+0.0998751375
+0.134992473
+0.154849203
+0.159780484
+0.151060884
+0.130145317
+0.0982892248
+0.0557185123
+0.0115195051
+0.000805546676
+0.000636279228
+0.000635740044
+0.000636285417
+0.000806330997
+0.0115304031
+0.0557321088
+0.0982948507
+0.130146965
+0.151060456
+0.159778778
+0.154846259
+0.134987575
+0.0998653095
+0.0439299043
+0.0439290969
+0.0998750464
+0.134992992
+0.15485099
+0.159784137
+0.151067035
+0.13015464
+0.0983023384
+0.055738951
+0.0115319001
+0.000806047103
+0.000636277484
+0.000635736831
+0.000636283694
+0.000806834309
+0.0115428231
+0.0557525698
+0.0983079787
+0.130156293
+0.15106661
+0.159782431
+0.154848043
+0.134988085
+0.0998651953
+0.0439300671
+0.0439292426
+0.0998748796
+0.134993355
+0.154852562
+0.159787544
+0.151072936
+0.130163727
+0.0983152404
+0.0557591783
+0.0115441992
+0.000806544866
+0.000636275737
+0.000635733618
+0.000636281971
+0.000807334921
+0.0115551467
+0.0557728187
+0.0983208931
+0.130165385
+0.151072514
+0.159785837
+0.154849609
+0.134988437
+0.0998650044
+0.0439302248
+0.043929383
+0.0998746376
+0.134993561
+0.154853919
+0.159790708
+0.151078589
+0.130172577
+0.0983279296
+0.0557791911
+0.0115564005
+0.000807039857
+0.000636273973
+0.000635730404
+0.000636280236
+0.000807832707
+0.0115673717
+0.0557928522
+0.0983335936
+0.130174243
+0.151078168
+0.159789001
+0.154850962
+0.134988633
+0.0998647389
+0.0439303774
+0.043929518
+0.0998743235
+0.134993616
+0.154855064
+0.15979363
+0.151083995
+0.130181192
+0.098340404
+0.0557989858
+0.0115685018
+0.00080753197
+0.000636272213
+0.000635727186
+0.000636278489
+0.000808327543
+0.0115794957
+0.0558126665
+0.0983460764
+0.130182864
+0.151083576
+0.159791922
+0.154852103
+0.134988678
+0.0998644008
+0.0439305246
+0.0439296476
+0.0998739394
+0.134993522
+0.154856003
+0.159796315
+0.151089156
+0.130189573
+0.0983526616
+0.055818561
+0.011580501
+0.000808021109
+0.000636270435
+0.000635723968
+0.000636276738
+0.000808819291
+0.0115915163
+0.0558322581
+0.0983583423
+0.130191247
+0.151088737
+0.159794603
+0.154853038
+0.134988575
+0.0998639938
+0.0439306668
+0.0439297718
+0.0998734885
+0.134993283
+0.154856737
+0.159798763
+0.151094073
+0.130197718
+0.0983647015
+0.0558379125
+0.0115923961
+0.000808507165
+0.000636268648
+0.000635720753
+0.000636274966
+0.000809307769
+0.0116034305
+0.0558516227
+0.0983703889
+0.130199394
+0.151093654
+0.159797049
+0.154853767
+0.134988326
+0.0998635201
+0.0439308037
+0.0439298906
+0.0998729727
+0.134992902
+0.154857271
+0.159800979
+0.151098751
+0.130205633
+0.0983765269
+0.0558570401
+0.0116041855
+0.000808990035
+0.000636266856
+0.000635717525
+0.00063627318
+0.000809792766
+0.0116152354
+0.055870757
+0.0983822136
+0.130207304
+0.151098328
+0.159799262
+0.154854296
+0.134987937
+0.0998629827
+0.0439309356
+0.0439300038
+0.099872396
+0.134992385
+0.154857609
+0.159802967
+0.151103191
+0.130213315
+0.0983881357
+0.0558759414
+0.0116158673
+0.000809469626
+0.000636265049
+0.000635714309
+0.000636271382
+0.000810273948
+0.0116269264
+0.0558896542
+0.0983938117
+0.130214978
+0.15110276
+0.159801245
+0.154854629
+0.134987413
+0.0998623862
+0.0439310625
+0.0439301115
+0.0998717594
+0.134991735
+0.154857756
+0.159804734
+0.151107401
+0.130220773
+0.0983995349
+0.0558946192
+0.0116274406
+0.000809945836
+0.000636263234
+0.000635711079
+0.000636269552
+0.000810750871
+0.0116384986
+0.0559083097
+0.0984051835
+0.130222414
+0.151106954
+0.159803002
+0.154854772
+0.134986759
+0.0998617342
+0.0439311848
+0.0439302134
+0.099871067
+0.134990956
+0.154857718
+0.159806283
+0.151111384
+0.130228011
+0.098410726
+0.0559130749
+0.0116389043
+0.00081041859
+0.000636261412
+0.000635707862
+0.000636267678
+0.000811222771
+0.0116499431
+0.0559267115
+0.098416318
+0.130229606
+0.151110907
+0.159804536
+0.154854732
+0.134985982
+0.0998610346
+0.043931303
+0.0439303092
+0.0998703198
+0.134990054
+0.154857501
+0.159807623
+0.15111515
+0.130235035
+0.0984217202
+0.0559313194
+0.01165026
+0.000810887847
+0.000636259575
+0.000635704632
+0.000636265749
+0.000811688443
+0.0116612481
+0.0559448483
+0.0984272055
+0.130236551
+0.151114618
+0.15980585
+0.154854513
+0.134985092
+0.0998602944
+0.0439314178
+0.0439303986
+0.0998695211
+0.134989032
+0.154857111
+0.159808761
+0.151118706
+0.130241857
+0.0984325284
+0.0559493587
+0.0116615079
+0.000811353555
+0.000636257734
+0.000635701403
+0.000636263726
+0.000812145693
+0.0116723893
+0.0559626863
+0.0984378187
+0.130243227
+0.15111808
+0.159806944
+0.154854125
+0.134984103
+0.0998595313
+0.0439315308
+0.0439304809
+0.0998686682
+0.13498789
+0.154856548
+0.159809698
+0.151122059
+0.130248494
+0.0984431765
+0.0559672104
+0.0116726508
+0.000811815722
+0.000636255873
+0.000635698177
+0.000636261531
+0.000812590811
+0.0116833264
+0.0559801776
+0.0984481244
+0.130249604
+0.151121263
+0.159807804
+0.154853571
+0.134983035
+0.0998587733
+0.0439316472
+0.0439305551
+0.0998677759
+0.134986637
+0.154855808
+0.159810416
+0.151125179
+0.130254908
+0.0984536409
+0.0559849033
+0.0116836996
+0.0008122745
+0.000636254008
+0.000635694943
+0.000636259086
+0.000813017896
+0.0116939982
+0.0559972462
+0.0984579931
+0.130255551
+0.15112406
+0.159808362
+0.154852838
+0.134981939
+0.099858128
+0.0439317705
+0.0439306217
+0.0998668369
+0.134985267
+0.154854888
+0.159810904
+0.151128033
+0.130261039
+0.0984638351
+0.0560023846
+0.0116946475
+0.000812729908
+0.000636252135
+0.000635691705
+0.000636256263
+0.00081341898
+0.0117043057
+0.0560137871
+0.098467353
+0.130261093
+0.151126611
+0.159808879
+0.154852325
+0.134981363
+0.0998583094
+0.0439319638
+)
+;
+
+boundaryField
+{
+    inlet
+    {
+        type            calculated;
+        value           nonuniform List<scalar>
+25
+(
+0.0439194645
+0.099792728
+0.134796701
+0.154515
+0.159290719
+0.150401594
+0.129305668
+0.0972634083
+0.054300703
+0.0107152702
+0.000775563016
+0.000636370209
+0.00063591796
+0.000636374658
+0.00077610525
+0.0107237613
+0.0543119398
+0.0972681814
+0.129307156
+0.150401307
+0.159289287
+0.154512446
+0.134792408
+0.0997841046
+0.0439186172
+)
+;
+    }
+    outlet
+    {
+        type            calculated;
+        value           nonuniform List<scalar>
+25
+(
+0.0439306217
+0.0998668369
+0.134985267
+0.154854888
+0.159810904
+0.151128033
+0.130261039
+0.0984638351
+0.0560023846
+0.0116946475
+0.000812729908
+0.000636252135
+0.000635691705
+0.000636256263
+0.00081341898
+0.0117043057
+0.0560137871
+0.098467353
+0.130261093
+0.151126611
+0.159808879
+0.154852325
+0.134981363
+0.0998583094
+0.0439319638
+)
+;
+    }
+    wall1
+    {
+        type            compressible::alphatPhaseChangeJayatillekeWallFunction;
+        Prt             0.85;
+        Cmu             0.09;
+        kappa           0.41;
+        E               9.8;
+
+        value           nonuniform List<scalar>
+75
+(
+0.00506074943
+0.00506075362
+0.00506075851
+0.00506076381
+0.00506076963
+0.00506077603
+0.00506078309
+0.00506079083
+0.00506079928
+0.00506080847
+0.00506081838
+0.00506082903
+0.00506084043
+0.00506085255
+0.00506086539
+0.00506087894
+0.00506089319
+0.00506090813
+0.00506092372
+0.00506093997
+0.00506095685
+0.00506097434
+0.00506099242
+0.00506101106
+0.00506103024
+0.00506104993
+0.00506107011
+0.00506109075
+0.00506111181
+0.00506113327
+0.00506115508
+0.00506117721
+0.00506119963
+0.0050612223
+0.00506124517
+0.00506126821
+0.00506129139
+0.00506131465
+0.00506133797
+0.0050613613
+0.0050613846
+0.00506140784
+0.00506143097
+0.00506145396
+0.00506147678
+0.00506149938
+0.00506152174
+0.00506154381
+0.00506156557
+0.00506158697
+0.00506160801
+0.00506162864
+0.00506164885
+0.00506166861
+0.0050616879
+0.00506170669
+0.00506172498
+0.00506174274
+0.00506175997
+0.00506177665
+0.00506179278
+0.00506180834
+0.00506182334
+0.00506183776
+0.0050618516
+0.00506186487
+0.00506187755
+0.00506188964
+0.00506190114
+0.00506191203
+0.00506192226
+0.00506193181
+0.0050619406
+0.00506194852
+0.00506195564
+)
+;
+    }
+    wall2
+    {
+        type            compressible::alphatWallBoilingWallFunction;
+        Prt             0.85;
+        Cmu             0.09;
+        kappa           0.41;
+        E               9.8;
+        relax       0.001;
+        dmdt            uniform 0;
+        value           uniform 0.01;
+    }
+    defaultFaces
+    {
+        type            empty;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/epsilon.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/epsilon.gas
new file mode 100644
index 00000000000..be9600ba416
--- /dev/null
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/epsilon.gas
@@ -0,0 +1,2125 @@
+/*--------------------------------*- 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;
+    location    "5";
+    object      epsilon.gas;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 2 -3 0 0 0 0];
+
+internalField   nonuniform List<scalar>
+1875
+(
+0.0419653487
+0.0166405358
+0.00900207344
+0.005683038
+0.00380594589
+0.00255249533
+0.00162012472
+0.000886859793
+0.000304605708
+3.0915414e-05
+6.71918179e-07
+3.20714194e-07
+3.20043739e-07
+3.20726797e-07
+6.73305006e-07
+3.09349773e-05
+0.000304649669
+0.000886891149
+0.00162018133
+0.00255259503
+0.00380611021
+0.00568331982
+0.00900266053
+0.0166436526
+0.0412932979
+0.0419654611
+0.0166405729
+0.00900213286
+0.00568312127
+0.00380605591
+0.00255263535
+0.00162029714
+0.000887055327
+0.000304796843
+3.09603236e-05
+6.72865031e-07
+3.20684035e-07
+3.20011544e-07
+3.2069672e-07
+6.74247547e-07
+3.09795062e-05
+0.000304836927
+0.000887075749
+0.00162033422
+0.00255270456
+0.00380617519
+0.00568333671
+0.00900261669
+0.0166433192
+0.0412946744
+0.0419655923
+0.0166406294
+0.00900220696
+0.00568321909
+0.00380618301
+0.00255279676
+0.00162049631
+0.000887282427
+0.000305017818
+3.10130221e-05
+6.73985809e-07
+3.20648389e-07
+3.19973494e-07
+3.20661053e-07
+6.75359597e-07
+3.10320002e-05
+0.000305057356
+0.000887302372
+0.00162053294
+0.00255286542
+0.00380630151
+0.00568343343
+0.00900268938
+0.0166433822
+0.0412931691
+0.0419657345
+0.0166407085
+0.00900229636
+0.00568332742
+0.00380631734
+0.00255296286
+0.00162069785
+0.00088750996
+0.000305236521
+3.10656132e-05
+6.75110969e-07
+3.20612648e-07
+3.19935334e-07
+3.20625325e-07
+6.76481143e-07
+3.10844531e-05
+0.000305275709
+0.000887529772
+0.00162073462
+0.0025530318
+0.00380643624
+0.0056835423
+0.00900277974
+0.0166434609
+0.041291993
+0.0419658904
+0.0166408076
+0.00900240005
+0.00568344579
+0.00380645859
+0.00255313329
+0.00162090137
+0.000887737056
+0.000305452579
+3.11179752e-05
+6.76237718e-07
+3.20576898e-07
+3.19897156e-07
+3.20589606e-07
+6.7760707e-07
+3.11367139e-05
+0.00030549148
+0.000887756758
+0.00162093827
+0.00255320253
+0.00380657788
+0.00568366122
+0.00900288445
+0.0166435668
+0.0412907793
+0.0419660621
+0.0166409246
+0.0090025172
+0.0056835739
+0.00380660666
+0.00255330811
+0.00162110694
+0.000887963559
+0.0003056663
+3.11701565e-05
+6.77365951e-07
+3.20541095e-07
+3.19858921e-07
+3.20553846e-07
+6.7873619e-07
+3.11888214e-05
+0.000305704959
+0.000887983162
+0.00162114396
+0.00255337762
+0.00380672632
+0.00568378985
+0.0090030026
+0.0166436878
+0.0412895822
+0.0419662513
+0.0166410579
+0.00900264693
+0.0056837113
+0.00380676134
+0.00255348717
+0.00162131442
+0.00088818924
+0.000305877902
+3.12221844e-05
+6.7849642e-07
+3.20505222e-07
+3.19820609e-07
+3.20518022e-07
+6.79868791e-07
+3.12407973e-05
+0.000305916355
+0.000888208747
+0.00162135157
+0.00255355695
+0.00380688137
+0.00568392776
+0.00900313335
+0.0166438253
+0.0412883945
+0.0419664589
+0.0166412061
+0.00900278836
+0.00568385749
+0.00380692231
+0.00255367021
+0.00162152353
+0.000888413763
+0.000306087469
+3.12740556e-05
+6.79628744e-07
+3.20469282e-07
+3.19782221e-07
+3.20482137e-07
+6.81004194e-07
+3.12926352e-05
+0.000306125746
+0.000888433176
+0.0016215608
+0.00255374023
+0.00380704267
+0.00568407445
+0.00900327577
+0.016643978
+0.0412872181
+0.0419666856
+0.0166413681
+0.0090029406
+0.00568401194
+0.00380708916
+0.00255385689
+0.00162173389
+0.000888636741
+0.00030629499
+3.13257463e-05
+6.80762109e-07
+3.20433291e-07
+3.19743772e-07
+3.20446204e-07
+6.8214137e-07
+3.1344309e-05
+0.000306333119
+0.000888656065
+0.00162177127
+0.00255392715
+0.00380720985
+0.00568422938
+0.009003429
+0.0166441443
+0.0412860534
+0.0419669319
+0.0166415426
+0.00900310289
+0.0056841741
+0.00380726151
+0.00255404684
+0.00162194509
+0.000888857809
+0.000306500435
+3.13772288e-05
+6.81895634e-07
+3.20397266e-07
+3.19705286e-07
+3.20410241e-07
+6.83279298e-07
+3.13957891e-05
+0.000306538441
+0.000888877045
+0.00162198256
+0.00255411732
+0.00380738251
+0.005684392
+0.00900359225
+0.0166443235
+0.0412849008
+0.0419671978
+0.0166417288
+0.00900327445
+0.00568434348
+0.00380743896
+0.0025542397
+0.00162215675
+0.000889076664
+0.000306703794
+3.14284822e-05
+6.83028595e-07
+3.20361222e-07
+3.19666776e-07
+3.20374262e-07
+6.84417151e-07
+3.14470531e-05
+0.0003067417
+0.000889095813
+0.00162219432
+0.00255431038
+0.00380756026
+0.00568456183
+0.00900376479
+0.0166445144
+0.0412837604
+0.0419674835
+0.0166419258
+0.00900345465
+0.00568451959
+0.00380762115
+0.00255443512
+0.00162236851
+0.000889293068
+0.000306905089
+3.14794945e-05
+6.84160494e-07
+3.20325168e-07
+3.19628254e-07
+3.20338273e-07
+6.85554343e-07
+3.14980876e-05
+0.000306942915
+0.000889312134
+0.00162240616
+0.00255450601
+0.00380774272
+0.00568473838
+0.00900394595
+0.0166447163
+0.0412826323
+0.0419677891
+0.0166421329
+0.00900364284
+0.00568470198
+0.0038078077
+0.00255463275
+0.00162258005
+0.000889506842
+0.000307104361
+3.15302619e-05
+6.85291023e-07
+3.20289106e-07
+3.19589721e-07
+3.20302278e-07
+6.86690504e-07
+3.15488876e-05
+0.000307142128
+0.000889525826
+0.00162261778
+0.00255470383
+0.00380792955
+0.00568492119
+0.00900413508
+0.0166449283
+0.0412815163
+0.0419681141
+0.0166423493
+0.00900383839
+0.00568489015
+0.00380799822
+0.00255483227
+0.00162279107
+0.000889717845
+0.000307301666
+3.15807852e-05
+6.86420002e-07
+3.20253035e-07
+3.1955118e-07
+3.20266277e-07
+6.878254e-07
+3.15994528e-05
+0.000307339392
+0.000889736752
+0.00162282887
+0.00255490354
+0.00380812034
+0.00568510979
+0.00900433158
+0.0166451498
+0.0412804123
+0.0419684586
+0.0166425744
+0.00900404069
+0.00568508364
+0.00380819233
+0.00255503331
+0.00162300124
+0.000889925965
+0.00030749706
+3.16310672e-05
+6.87547314e-07
+3.20216954e-07
+3.19512629e-07
+3.20230267e-07
+6.88958867e-07
+3.16497849e-05
+0.000307534764
+0.000889944798
+0.00162303912
+0.00255510476
+0.00380831472
+0.00568530369
+0.00900453483
+0.0166453801
+0.04127932
+0.0419688221
+0.0166428074
+0.00900424914
+0.00568528194
+0.0038083896
+0.0025552355
+0.0016232103
+0.000890131107
+0.000307690595
+3.1681111e-05
+6.88672861e-07
+3.20180863e-07
+3.19474067e-07
+3.20194247e-07
+6.90090779e-07
+3.16998861e-05
+0.000307728292
+0.000890149869
+0.00162324825
+0.00255530714
+0.00380851226
+0.00568550241
+0.00900474423
+0.0166456184
+0.041278239
+0.0419692042
+0.0166430477
+0.00900446312
+0.00568548454
+0.0038085896
+0.00255543847
+0.00162341796
+0.00089033319
+0.000307882317
+3.17309187e-05
+6.89796545e-07
+3.20144759e-07
+3.19435493e-07
+3.20158216e-07
+6.91220997e-07
+3.17497576e-05
+0.00030792002
+0.000890351884
+0.00162345596
+0.00255551027
+0.00380871251
+0.00568570543
+0.00900495916
+0.0166458639
+0.0412771691
+0.0419696049
+0.0166432945
+0.00900468203
+0.00568569093
+0.00380879187
+0.00255564181
+0.00162362392
+0.000890532143
+0.00030807226
+3.17804915e-05
+6.90918254e-07
+3.20108642e-07
+3.19396907e-07
+3.20122173e-07
+6.92349389e-07
+3.17993998e-05
+0.000308109987
+0.000890550773
+0.00162366198
+0.0025557138
+0.00380891505
+0.00568591223
+0.00900517902
+0.0166461163
+0.0412761096
+0.0419700232
+0.0166435474
+0.00900490525
+0.00568590055
+0.00380899594
+0.00255584514
+0.0016238279
+0.000890727907
+0.000308260459
+3.18298295e-05
+6.92037871e-07
+3.20072514e-07
+3.19358312e-07
+3.2008612e-07
+6.93475813e-07
+3.1848812e-05
+0.000308298219
+0.000890746477
+0.00162386604
+0.0025559173
+0.00380911939
+0.00568612229
+0.0090054032
+0.0166463746
+0.0412750601
+0.0419704591
+0.0166438054
+0.00900513215
+0.00568611288
+0.00380920137
+0.00255604807
+0.00162402966
+0.000890920435
+0.000308446939
+3.18789325e-05
+6.93155274e-07
+3.20036374e-07
+3.19319707e-07
+3.20050055e-07
+6.9460013e-07
+3.18979936e-05
+0.000308484745
+0.000890938949
+0.00162406786
+0.00255612039
+0.00380932507
+0.00568633505
+0.00900563108
+0.0166466384
+0.0412740201
+0.0419709118
+0.0166440681
+0.00900536211
+0.00568632735
+0.00380940764
+0.00255625019
+0.00162422893
+0.000891109688
+0.000308631726
+3.19277999e-05
+6.94270346e-07
+3.20000225e-07
+3.19281095e-07
+3.20013982e-07
+6.95722204e-07
+3.19469431e-05
+0.000308669588
+0.000891128151
+0.00162426719
+0.00255632269
+0.00380953161
+0.00568654995
+0.00900586202
+0.0166469069
+0.0412729893
+0.0419713809
+0.0166443347
+0.0090055945
+0.0056865434
+0.00380961428
+0.00255645112
+0.0016244255
+0.000891295641
+0.000308814845
+3.19764314e-05
+6.95382983e-07
+3.19964067e-07
+3.19242476e-07
+3.199779e-07
+6.96841916e-07
+3.19956601e-05
+0.000308852773
+0.000891314056
+0.00162446381
+0.0025565238
+0.00380973853
+0.00568676645
+0.00900609542
+0.0166471793
+0.0412719668
+0.0419718657
+0.0166446046
+0.00900582869
+0.00568676048
+0.00380982081
+0.00255665049
+0.00162461912
+0.000891478278
+0.000308996319
+3.2024827e-05
+6.96493092e-07
+3.19927902e-07
+3.19203853e-07
+3.19941812e-07
+6.97959164e-07
+3.20441436e-05
+0.000309034322
+0.000891496649
+0.00162465751
+0.00255672334
+0.00380994534
+0.00568698397
+0.00900633062
+0.0166474552
+0.041270952
+0.0419723657
+0.0166448771
+0.00900606403
+0.00568697799
+0.00381002675
+0.00255684792
+0.00162480962
+0.000891657593
+0.000309176173
+3.20729868e-05
+6.97600597e-07
+3.19891727e-07
+3.19165225e-07
+3.19905715e-07
+6.99073855e-07
+3.20923937e-05
+0.000309214261
+0.000891675925
+0.00162484807
+0.00255692095
+0.00381015155
+0.00568720196
+0.009006567
+0.0166477336
+0.0412699444
+0.0419728802
+0.0166451514
+0.00900629988
+0.00568719538
+0.00381023162
+0.00255704307
+0.0016249968
+0.000891833587
+0.000309354434
+3.21209118e-05
+6.98705438e-07
+3.19855546e-07
+3.19126593e-07
+3.19869612e-07
+7.00185927e-07
+3.2140411e-05
+0.000309392612
+0.000891851884
+0.0016250353
+0.00255711627
+0.00381035671
+0.00568741982
+0.0090068039
+0.0166480141
+0.0412689431
+0.0419734084
+0.0166454271
+0.0090065356
+0.00568741207
+0.00381043493
+0.00255723558
+0.00162518048
+0.00089200627
+0.000309531124
+3.21686031e-05
+6.99807567e-07
+3.19819356e-07
+3.19087956e-07
+3.198335e-07
+7.01295323e-07
+3.21881961e-05
+0.000309569401
+0.000892024535
+0.00162521905
+0.00255730896
+0.00381056033
+0.00568763699
+0.00900704068
+0.016648296
+0.0412679477
+0.0419739497
+0.0166457031
+0.00900677053
+0.00568762748
+0.00381063624
+0.00255742512
+0.00162536052
+0.000892175654
+0.000309706271
+3.22160623e-05
+7.00906952e-07
+3.19783156e-07
+3.19049313e-07
+3.1979738e-07
+7.02401996e-07
+3.22357503e-05
+0.000309744653
+0.000892193893
+0.00162539915
+0.00255749869
+0.00381076194
+0.00568785291
+0.00900727669
+0.0166485784
+0.0412669571
+0.0419745034
+0.0166459791
+0.009007004
+0.00568784104
+0.00381083506
+0.00255761137
+0.00162553676
+0.00089234176
+0.0003098799
+3.22632908e-05
+7.02003564e-07
+3.19746947e-07
+3.19010665e-07
+3.19761249e-07
+7.03505921e-07
+3.22830747e-05
+0.000309918392
+0.000892359974
+0.00162557545
+0.00255768512
+0.00381096108
+0.00568806698
+0.00900751128
+0.0166488607
+0.0412659706
+0.0419750684
+0.016646254
+0.00900723537
+0.00568805218
+0.00381103096
+0.00255779404
+0.00162570907
+0.000892504604
+0.000310052035
+3.23102903e-05
+7.03097379e-07
+3.19710726e-07
+3.18972008e-07
+3.19725108e-07
+7.04607064e-07
+3.2330171e-05
+0.000310090642
+0.000892522799
+0.00162574782
+0.00255786797
+0.00381115728
+0.00568827864
+0.00900774378
+0.0166491423
+0.0412649874
+0.0419756439
+0.0166465274
+0.00900746397
+0.00568826031
+0.00381122345
+0.00255797279
+0.00162587731
+0.000892664211
+0.000310222695
+3.23570618e-05
+7.0418837e-07
+3.19674492e-07
+3.18933344e-07
+3.19688953e-07
+7.05705395e-07
+3.237704e-05
+0.000310261422
+0.00089268239
+0.00162591613
+0.00255804692
+0.00381135011
+0.00568848731
+0.00900797353
+0.0166494223
+0.0412640063
+0.041976229
+0.0166467985
+0.00900768913
+0.00568846487
+0.00381141212
+0.00255814736
+0.00162604138
+0.000892820599
+0.000310391899
+3.24036062e-05
+7.05276502e-07
+3.19638245e-07
+3.18894671e-07
+3.19652787e-07
+7.06800875e-07
+3.24236821e-05
+0.00031043075
+0.000892838765
+0.00162608027
+0.00255822168
+0.00381153911
+0.00568869244
+0.00900819987
+0.0166497
+0.0412630267
+0.0419768227
+0.0166470665
+0.0090079102
+0.00568866529
+0.00381159651
+0.00255831745
+0.00162620116
+0.000892973789
+0.000310559663
+3.24499234e-05
+7.06361729e-07
+3.19601984e-07
+3.18855987e-07
+3.19616606e-07
+7.07893455e-07
+3.24700974e-05
+0.000310598642
+0.000892991947
+0.00162624012
+0.00255839197
+0.00381172384
+0.00568889342
+0.00900842214
+0.0166499748
+0.0412620473
+0.0419774241
+0.0166473307
+0.00900812653
+0.00568886101
+0.00381177619
+0.0025584828
+0.00162635655
+0.0008931238
+0.000310725997
+3.24960131e-05
+7.07443992e-07
+3.19565709e-07
+3.18817294e-07
+3.19580411e-07
+7.08983076e-07
+3.25162852e-05
+0.000310765107
+0.000893141952
+0.00162639558
+0.00255855752
+0.00381190388
+0.00568908972
+0.0090086397
+0.016650246
+0.0412610673
+0.0419780322
+0.0166475903
+0.00900833747
+0.00568905149
+0.00381195077
+0.00255864315
+0.00162650743
+0.000893270647
+0.000310890909
+3.25418737e-05
+7.08523221e-07
+3.19529419e-07
+3.18778591e-07
+3.19544202e-07
+7.10069658e-07
+3.2562244e-05
+0.000310930153
+0.000893288799
+0.00162654654
+0.00255871808
+0.0038120788
+0.00568928079
+0.00900885188
+0.0166505127
+0.0412600856
+0.0419786458
+0.0166478448
+0.00900854241
+0.00568923617
+0.00381211981
+0.00255879826
+0.00162665374
+0.000893414347
+0.000311054405
+3.25875035e-05
+7.09599331e-07
+3.19493115e-07
+3.18739879e-07
+3.19507981e-07
+7.11153122e-07
+3.26079719e-05
+0.000311093784
+0.000893432501
+0.00162669292
+0.00255887339
+0.00381224821
+0.00568946609
+0.00900905809
+0.0166507742
+0.0412591009
+0.0419792639
+0.0166480934
+0.00900874074
+0.00568941457
+0.00381228295
+0.00255894788
+0.00162679538
+0.000893554915
+0.000311216487
+3.26329001e-05
+7.10672229e-07
+3.19456799e-07
+3.18701161e-07
+3.19471746e-07
+7.12233365e-07
+3.26534663e-05
+0.000311256005
+0.000893573074
+0.00162683463
+0.00255902321
+0.00381241172
+0.00568964511
+0.00900925772
+0.0166510302
+0.0412581125
+0.0419798857
+0.0166483356
+0.00900893189
+0.00568958618
+0.0038124398
+0.00255909178
+0.00162693227
+0.000893692361
+0.000311377155
+3.26780611e-05
+7.11741815e-07
+3.19420471e-07
+3.18662434e-07
+3.194355e-07
+7.13310293e-07
+3.26987246e-05
+0.000311416813
+0.00089371053
+0.0016269716
+0.00255916733
+0.00381256896
+0.00568981737
+0.00900945018
+0.0166512796
+0.0412571191
+0.0419805098
+0.0166485706
+0.00900911532
+0.00568975054
+0.00381259002
+0.00255922977
+0.00162706434
+0.000893826703
+0.000311536411
+3.27229835e-05
+7.12807993e-07
+3.19384131e-07
+3.18623703e-07
+3.19399242e-07
+7.14383803e-07
+3.27437441e-05
+0.00031157621
+0.000893844884
+0.00162710375
+0.00255930553
+0.00381271956
+0.00568998238
+0.00900963495
+0.0166515221
+0.0412561197
+0.0419811354
+0.0166487981
+0.00900929053
+0.0056899072
+0.00381273328
+0.00255936165
+0.00162719153
+0.000893957954
+0.000311694253
+3.27676647e-05
+7.13870664e-07
+3.1934778e-07
+3.18584966e-07
+3.19362973e-07
+7.15453799e-07
+3.27885221e-05
+0.000311734195
+0.00089397615
+0.00162723102
+0.00255943764
+0.0038128632
+0.0056901397
+0.00900981152
+0.0166517571
+0.041255113
+0.0419817613
+0.0166490174
+0.00900945705
+0.00569005576
+0.00381286925
+0.00255948725
+0.00162731379
+0.000894086126
+0.000311850682
+3.28121026e-05
+7.14929738e-07
+3.1931142e-07
+3.18546226e-07
+3.19326695e-07
+7.16520184e-07
+3.28330559e-05
+0.000311890767
+0.000894104343
+0.00162735336
+0.00255956345
+0.00381299958
+0.00569028893
+0.00900997942
+0.0166519839
+0.0412540982
+0.0419823865
+0.0166492282
+0.00900961445
+0.00569019583
+0.00381299768
+0.0025596064
+0.00162743107
+0.000894211238
+0.000312005699
+3.28562946e-05
+7.15985132e-07
+3.19275049e-07
+3.1850748e-07
+3.19290407e-07
+7.1758288e-07
+3.28773436e-05
+0.000312045928
+0.000894229477
+0.00162747072
+0.00255968282
+0.00381312841
+0.00569042969
+0.00901013822
+0.0166522023
+0.0412530742
+0.0419830099
+0.0166494298
+0.00900976233
+0.00569032707
+0.00381311829
+0.00255971895
+0.00162754332
+0.000894333303
+0.000312159303
+3.29002394e-05
+7.17036773e-07
+3.19238667e-07
+3.18468731e-07
+3.19254108e-07
+7.18641811e-07
+3.29213831e-05
+0.000312199678
+0.000894351568
+0.00162758306
+0.0025597956
+0.00381324944
+0.00569056163
+0.00901028752
+0.0166524117
+0.0412520397
+0.0419836305
+0.016649622
+0.00900990036
+0.00569044916
+0.00381323085
+0.00255982478
+0.00162765052
+0.000894452337
+0.000312311497
+3.2943935e-05
+7.18084591e-07
+3.19202273e-07
+3.18429977e-07
+3.19217797e-07
+7.19696908e-07
+3.2965173e-05
+0.000312352017
+0.000894470632
+0.00162769034
+0.00255990165
+0.0038133624
+0.00569068443
+0.00901042698
+0.0166526118
+0.0412509939
+0.0419842474
+0.0166498045
+0.00901002821
+0.00569056182
+0.00381333514
+0.00255992377
+0.00162775263
+0.000894568357
+0.000312462282
+3.29873802e-05
+7.19128525e-07
+3.19165867e-07
+3.18391216e-07
+3.19181474e-07
+7.2074811e-07
+3.30087117e-05
+0.000312502946
+0.000894586684
+0.00162779255
+0.00256000087
+0.0038134671
+0.00569079781
+0.00901055629
+0.0166528021
+0.0412499356
+0.0419848596
+0.0166499769
+0.00901014562
+0.0056906648
+0.00381343096
+0.00256001581
+0.00162784965
+0.000894681378
+0.000312611657
+3.30305735e-05
+7.20168516e-07
+3.19129446e-07
+3.18352448e-07
+3.19145137e-07
+7.21795354e-07
+3.30519979e-05
+0.000312652467
+0.000894699741
+0.00162788965
+0.00256009313
+0.00381356335
+0.00569090152
+0.00901067518
+0.0166529825
+0.041248864
+0.0419854659
+0.016650139
+0.00901025235
+0.00569075787
+0.00381351816
+0.00256010082
+0.00162794154
+0.000894791415
+0.000312759622
+3.30735134e-05
+7.21204501e-07
+3.1909301e-07
+3.18313671e-07
+3.19108784e-07
+7.22838582e-07
+3.309503e-05
+0.000312800578
+0.000894809817
+0.00162798164
+0.00256017837
+0.00381365097
+0.00569099532
+0.0090107834
+0.0166531526
+0.0412477777
+0.0419860657
+0.0166502905
+0.00901034823
+0.00569084085
+0.00381359658
+0.00256017871
+0.00162802831
+0.000894898481
+0.000312906175
+3.31161981e-05
+7.22236414e-07
+3.19056555e-07
+3.18274882e-07
+3.19072414e-07
+7.23877725e-07
+3.31378062e-05
+0.000312947276
+0.000894916925
+0.0016280685
+0.0025602565
+0.00381372983
+0.00569107904
+0.00901088077
+0.0166533123
+0.0412466761
+0.0419866579
+0.0166504314
+0.00901043308
+0.00569091357
+0.0038136661
+0.00256024944
+0.00162810994
+0.000895002587
+0.000313051311
+3.31586255e-05
+7.23264179e-07
+3.1902008e-07
+3.18236082e-07
+3.19036023e-07
+7.24912707e-07
+3.31803244e-05
+0.000313092559
+0.000895021076
+0.00162815023
+0.00256032745
+0.00381379978
+0.00569115251
+0.00901096713
+0.0166534614
+0.0412455581
+0.0419872417
+0.0166505614
+0.0090105068
+0.00569097591
+0.00381372661
+0.00256031294
+0.00162818644
+0.000895103743
+0.000313195025
+3.32007929e-05
+7.24287712e-07
+3.18983585e-07
+3.18197269e-07
+3.18999613e-07
+7.25943447e-07
+3.32225818e-05
+0.000313236419
+0.00089512228
+0.00162822681
+0.00256039119
+0.00381386073
+0.00569121561
+0.00901104237
+0.0166535998
+0.0412444229
+0.0419878161
+0.0166506805
+0.00901056931
+0.00569102778
+0.00381377805
+0.00256036917
+0.00162825778
+0.000895201958
+0.000313337309
+3.32426969e-05
+7.25306912e-07
+3.18947068e-07
+3.1815844e-07
+3.18963179e-07
+7.2696984e-07
+3.32645752e-05
+0.000313378847
+0.000895220546
+0.00162829827
+0.00256044766
+0.00381391259
+0.00569126823
+0.00901110643
+0.0166537273
+0.0412432696
+0.0419883805
+0.0166507887
+0.00901062059
+0.00569106912
+0.00381382033
+0.00256041811
+0.00162832399
+0.000895297238
+0.000313478149
+3.3284334e-05
+7.26321669e-07
+3.18910527e-07
+3.18119596e-07
+3.18926723e-07
+7.2799178e-07
+3.33063008e-05
+0.000313519833
+0.00089531588
+0.00162836458
+0.00256049683
+0.00381395531
+0.00569131033
+0.00901115925
+0.0166538439
+0.0412420973
+0.0419889341
+0.016650886
+0.00901066063
+0.00569109988
+0.00381385343
+0.00256045975
+0.00162838508
+0.000895389589
+0.000313617534
+3.33256994e-05
+7.27331857e-07
+3.18873962e-07
+3.18080737e-07
+3.18890244e-07
+7.29009136e-07
+3.33477543e-05
+0.000313659362
+0.000895408286
+0.00162842577
+0.0025605387
+0.00381398886
+0.00569134186
+0.00901120085
+0.0166539498
+0.0412409054
+0.0419894764
+0.0166509724
+0.00901068949
+0.00569112008
+0.00381387734
+0.00256049407
+0.00162844104
+0.000895479012
+0.000313755448
+3.33667886e-05
+7.28337334e-07
+3.18837373e-07
+3.18041861e-07
+3.1885374e-07
+7.3002177e-07
+3.33889305e-05
+0.00031379742
+0.00089549777
+0.00162848183
+0.00256057327
+0.0038140132
+0.00569136282
+0.00901123127
+0.0166540447
+0.0412396931
+0.0419900064
+0.016651048
+0.00901070722
+0.00569112973
+0.00381389206
+0.00256052109
+0.0016284919
+0.000895565512
+0.000313891873
+3.34075958e-05
+7.29337951e-07
+3.18800759e-07
+3.1800297e-07
+3.18817212e-07
+7.31029531e-07
+3.34298241e-05
+0.000313933989
+0.000895584331
+0.0016285328
+0.00256060053
+0.00381402836
+0.00569137325
+0.00901125058
+0.016654129
+0.0412384599
+0.041990524
+0.0166511129
+0.00901071398
+0.00569112891
+0.00381389762
+0.00256054084
+0.00162853768
+0.000895649091
+0.000314026791
+3.34481152e-05
+7.30333544e-07
+3.18764122e-07
+3.17964063e-07
+3.1878066e-07
+7.32032253e-07
+3.34704293e-05
+0.000314069051
+0.000895667974
+0.00162857869
+0.00256062051
+0.00381403435
+0.0056913732
+0.00901125891
+0.0166542026
+0.0412372049
+0.0419910282
+0.0166511674
+0.0090107099
+0.0056911177
+0.00381389407
+0.00256055335
+0.0016285784
+0.00089572975
+0.000314160183
+3.34883407e-05
+7.31323943e-07
+3.1872746e-07
+3.17925142e-07
+3.18744083e-07
+7.33029764e-07
+3.35107398e-05
+0.000314202586
+0.000895748701
+0.00162861951
+0.00256063324
+0.00381403125
+0.00569136277
+0.00901125641
+0.0166542658
+0.0412359278
+0.0419915189
+0.0166512115
+0.00901069518
+0.00569109625
+0.00381388148
+0.00256055865
+0.00162861408
+0.000895807494
+0.000314292028
+3.35282658e-05
+7.32308971e-07
+3.18690775e-07
+3.17886207e-07
+3.18707483e-07
+7.34021882e-07
+3.35507493e-05
+0.000314334572
+0.000895826512
+0.0016286553
+0.00256063878
+0.0038140191
+0.00569134208
+0.00901124326
+0.0166543187
+0.0412346282
+0.0419919955
+0.0166512456
+0.00901067002
+0.00569106469
+0.00381385996
+0.00256055681
+0.00162864477
+0.000895882323
+0.000314422304
+3.3567884e-05
+7.33288441e-07
+3.18654066e-07
+3.17847259e-07
+3.1867086e-07
+7.35008417e-07
+3.35904508e-05
+0.00031446499
+0.000895901412
+0.0016286861
+0.00256063718
+0.003813998
+0.00569131129
+0.0090112197
+0.0166543617
+0.0412333052
+0.0419924579
+0.0166512698
+0.00901063471
+0.0056910232
+0.00381382962
+0.00256054792
+0.0016286705
+0.000895954243
+0.000314550992
+3.36071884e-05
+7.34262167e-07
+3.18617334e-07
+3.17808299e-07
+3.18634214e-07
+7.35989164e-07
+3.36298377e-05
+0.000314593817
+0.000895973405
+0.00162871194
+0.00256062852
+0.00381396809
+0.00569127057
+0.00901118597
+0.0166543949
+0.041231959
+0.0419929055
+0.0166512846
+0.00901058952
+0.00569097199
+0.00381379057
+0.00256053205
+0.00162869132
+0.000896023258
+0.000314678068
+3.36461721e-05
+7.35229953e-07
+3.1858058e-07
+3.17769326e-07
+3.18597544e-07
+7.3696391e-07
+3.36689027e-05
+0.000314721032
+0.000896042493
+0.00162873286
+0.00256061287
+0.00381392948
+0.00569122011
+0.00901114234
+0.0166544187
+0.0412305889
+0.0419933381
+0.0166512903
+0.00901053476
+0.0056909113
+0.00381374302
+0.00256050929
+0.00162870728
+0.000896089378
+0.000314803513
+3.36848282e-05
+7.36191607e-07
+3.18543804e-07
+3.17730344e-07
+3.18560852e-07
+7.37932428e-07
+3.37076388e-05
+0.000314846613
+0.000896108683
+0.00162874893
+0.00256059034
+0.00381388233
+0.00569116017
+0.00901108916
+0.0166544334
+0.0412291949
+0.0419937558
+0.0166512871
+0.00901047076
+0.00569084139
+0.0038136871
+0.00256047977
+0.00162871841
+0.000896152606
+0.000314927306
+3.37231497e-05
+7.37146929e-07
+3.18507006e-07
+3.17691352e-07
+3.18524136e-07
+7.38894444e-07
+3.37460381e-05
+0.000314970536
+0.000896171977
+0.00162876017
+0.00256056102
+0.00381382681
+0.00569109098
+0.0090110267
+0.0166544392
+0.0412277766
+0.041994158
+0.0166512754
+0.00901039791
+0.00569076255
+0.00381362303
+0.00256044361
+0.00162872483
+0.00089621296
+0.000315049428
+3.37611299e-05
+7.38095723e-07
+3.18470185e-07
+3.1765235e-07
+3.18487394e-07
+7.39849664e-07
+3.3784093e-05
+0.00031509278
+0.000896232388
+0.00162876666
+0.00256052506
+0.00381376312
+0.00569101283
+0.00901095536
+0.0166544366
+0.041226334
+0.041994545
+0.0166512557
+0.00901031656
+0.00569067506
+0.00381355102
+0.00256040093
+0.00162872656
+0.000896270446
+0.000315169856
+3.37987613e-05
+7.39037784e-07
+3.18433343e-07
+3.17613339e-07
+3.18450625e-07
+7.40797667e-07
+3.38217942e-05
+0.000315213317
+0.000896289912
+0.00162876845
+0.00256048253
+0.00381369144
+0.00569092598
+0.00901087545
+0.0166544259
+0.0412248668
+0.0419949164
+0.0166512284
+0.00901022717
+0.00569057928
+0.00381347132
+0.00256035191
+0.00162872371
+0.000896325094
+0.000315288577
+3.3836038e-05
+7.39972917e-07
+3.1839648e-07
+3.17574319e-07
+3.18413824e-07
+7.41737948e-07
+3.38591328e-05
+0.000315332127
+0.000896344565
+0.00162876562
+0.00256043362
+0.00381361201
+0.00569083077
+0.0090107874
+0.0166544074
+0.0412233754
+0.0419952723
+0.0166511939
+0.00901013012
+0.00569047554
+0.00381338417
+0.00256029669
+0.00162871634
+0.000896376914
+0.000315405571
+3.38729524e-05
+7.40900915e-07
+3.18359593e-07
+3.17535291e-07
+3.18376983e-07
+7.42669666e-07
+3.38960955e-05
+0.00031544917
+0.000896396331
+0.00162875819
+0.00256037841
+0.00381352501
+0.00569072744
+0.00901069149
+0.0166543814
+0.0412218594
+0.0419956127
+0.0166511527
+0.00901002598
+0.00569036429
+0.0038132899
+0.00256023551
+0.0016287046
+0.000896425963
+0.000315520837
+3.39094997e-05
+7.4182159e-07
+3.18322685e-07
+3.17496254e-07
+3.18340087e-07
+7.43591657e-07
+3.39326683e-05
+0.000315564418
+0.000896445223
+0.00162874626
+0.00256031708
+0.00381343069
+0.00569061636
+0.00901058816
+0.0166543484
+0.0412203195
+0.0419959371
+0.0166511053
+0.00900991514
+0.00569024587
+0.00381318878
+0.00256016854
+0.00162868857
+0.000896472266
+0.000315634361
+3.39456733e-05
+7.42734742e-07
+3.18285755e-07
+3.1745721e-07
+3.18303114e-07
+7.44501851e-07
+3.39688272e-05
+0.000315677806
+0.000896491185
+0.00162872981
+0.00256024967
+0.00381332918
+0.00569049769
+0.00901047756
+0.0166543083
+0.0412187557
+0.0419962458
+0.0166510526
+0.00900979836
+0.0056901209
+0.00381308126
+0.0025600961
+0.00162866848
+0.00089651594
+0.000315746163
+3.39814703e-05
+7.43640212e-07
+3.18248801e-07
+3.17418158e-07
+3.18266022e-07
+7.45396991e-07
+3.40045409e-05
+0.000315789273
+0.000896534199
+0.00162870889
+0.00256017631
+0.00381322068
+0.0056903717
+0.00901036
+0.0166542612
+0.0412171691
+0.0419965377
+0.016650995
+0.00900967616
+0.00568998982
+0.0038129677
+0.00256001845
+0.00162864446
+0.000896557059
+0.000315856257
+3.40168876e-05
+7.44537835e-07
+3.18211824e-07
+3.17379097e-07
+3.18228739e-07
+7.46271215e-07
+3.40397532e-05
+0.000315898679
+0.000896574101
+0.00162868335
+0.00256009687
+0.00381310507
+0.00569023828
+0.00901023521
+0.0166542063
+0.0412155606
+0.0419968125
+0.0166509339
+0.00900954947
+0.00568985338
+0.00381284871
+0.00255993604
+0.00162861684
+0.000896595796
+0.000315964725
+3.40519304e-05
+7.45427537e-07
+3.18174824e-07
+3.17340028e-07
+3.18191138e-07
+7.47114576e-07
+3.40743767e-05
+0.000316005838
+0.000896610644
+0.00162865296
+0.00256001116
+0.00381298217
+0.00569009715
+0.00901010271
+0.0166541427
+0.0412139328
+0.0419970686
+0.0166508687
+0.00900941854
+0.00568971205
+0.0038127248
+0.00255984932
+0.0016285859
+0.000896632348
+0.000316071604
+3.40865984e-05
+7.46309235e-07
+3.181378e-07
+3.1730095e-07
+3.18152996e-07
+7.47908727e-07
+3.41082385e-05
+0.000316110314
+0.000896643275
+0.00162861702
+0.00255991834
+0.00381285086
+0.00568994661
+0.00900995968
+0.0166540648
+0.04121229
+0.0419973043
+0.0166508018
+0.00900928455
+0.00568956642
+0.00381259627
+0.00255975853
+0.00162855206
+0.000896667166
+0.000316177005
+3.41208975e-05
+7.47182933e-07
+3.18100754e-07
+3.17261863e-07
+3.18113939e-07
+7.48621909e-07
+3.41410358e-05
+0.000316211369
+0.000896671089
+0.00162857406
+0.00255981602
+0.00381270778
+0.00568978206
+0.00900979962
+0.0166539623
+0.0412106492
+0.041997517
+0.0166507326
+0.00900914549
+0.0056894146
+0.00381246145
+0.00255966244
+0.00162851445
+0.000896699778
+0.000316281113
+3.41548671e-05
+7.48048951e-07
+3.18063685e-07
+3.17222766e-07
+3.18073393e-07
+7.4920242e-07
+3.41722734e-05
+0.000316307709
+0.000896691165
+0.00162851935
+0.00255969684
+0.00381254124
+0.00568958501
+0.00900959175
+0.0166537809
+0.0412090349
+0.0419977079
+0.0166506555
+0.00900899996
+0.00568925657
+0.00381232044
+0.00255956051
+0.00162847181
+0.000896728745
+0.000316383532
+3.41884911e-05
+7.48908442e-07
+3.18026611e-07
+3.17183655e-07
+3.18030695e-07
+7.49580019e-07
+3.42012183e-05
+0.000316398017
+0.000896702127
+0.00162845218
+0.00255955973
+0.00381234539
+0.00568933203
+0.00900925766
+0.016653236
+0.0412075111
+)
+;
+
+boundaryField
+{
+    inlet
+    {
+        type            fixedValue;
+        value           uniform 0.00015;
+    }
+    outlet
+    {
+        type            inletOutlet;
+        phi             phi.gas;
+        inletValue      uniform 0.00015;
+        value           nonuniform List<scalar>
+25
+(
+0.0419977079
+0.0166506555
+0.00900899996
+0.00568925657
+0.00381232044
+0.00255956051
+0.00162847181
+0.000896728745
+0.000316383532
+3.41884911e-05
+7.48908442e-07
+3.18026611e-07
+3.17183655e-07
+3.18030695e-07
+7.49580019e-07
+3.42012183e-05
+0.000316398017
+0.000896702127
+0.00162845218
+0.00255955973
+0.00381234539
+0.00568933203
+0.00900925766
+0.016653236
+0.0412075111
+)
+;
+    }
+    wall1
+    {
+        type            epsilonWallFunction;
+        Cmu             0.09;
+        kappa           0.41;
+        E               9.8;
+        value           nonuniform List<scalar>
+75
+(
+0.0419653487
+0.0419654611
+0.0419655923
+0.0419657345
+0.0419658904
+0.0419660621
+0.0419662513
+0.0419664589
+0.0419666856
+0.0419669319
+0.0419671978
+0.0419674835
+0.0419677891
+0.0419681141
+0.0419684586
+0.0419688221
+0.0419692042
+0.0419696049
+0.0419700232
+0.0419704591
+0.0419709118
+0.0419713809
+0.0419718657
+0.0419723657
+0.0419728802
+0.0419734084
+0.0419739497
+0.0419745034
+0.0419750684
+0.0419756439
+0.041976229
+0.0419768227
+0.0419774241
+0.0419780322
+0.0419786458
+0.0419792639
+0.0419798857
+0.0419805098
+0.0419811354
+0.0419817613
+0.0419823865
+0.0419830099
+0.0419836305
+0.0419842474
+0.0419848596
+0.0419854659
+0.0419860657
+0.0419866579
+0.0419872417
+0.0419878161
+0.0419883805
+0.0419889341
+0.0419894764
+0.0419900064
+0.041990524
+0.0419910282
+0.0419915189
+0.0419919955
+0.0419924579
+0.0419929055
+0.0419933381
+0.0419937558
+0.041994158
+0.041994545
+0.0419949164
+0.0419952723
+0.0419956127
+0.0419959371
+0.0419962458
+0.0419965377
+0.0419968125
+0.0419970686
+0.0419973043
+0.041997517
+0.0419977079
+)
+;
+    }
+    wall2
+    {
+        type            epsilonWallFunction;
+        Cmu             0.09;
+        kappa           0.41;
+        E               9.8;
+        value           nonuniform List<scalar>
+75
+(
+0.0412932979
+0.0412946744
+0.0412931691
+0.041291993
+0.0412907793
+0.0412895822
+0.0412883945
+0.0412872181
+0.0412860534
+0.0412849008
+0.0412837604
+0.0412826323
+0.0412815163
+0.0412804123
+0.04127932
+0.041278239
+0.0412771691
+0.0412761096
+0.0412750601
+0.0412740201
+0.0412729893
+0.0412719668
+0.041270952
+0.0412699444
+0.0412689431
+0.0412679477
+0.0412669571
+0.0412659706
+0.0412649874
+0.0412640063
+0.0412630267
+0.0412620473
+0.0412610673
+0.0412600856
+0.0412591009
+0.0412581125
+0.0412571191
+0.0412561197
+0.041255113
+0.0412540982
+0.0412530742
+0.0412520397
+0.0412509939
+0.0412499356
+0.041248864
+0.0412477777
+0.0412466761
+0.0412455581
+0.0412444229
+0.0412432696
+0.0412420973
+0.0412409054
+0.0412396931
+0.0412384599
+0.0412372049
+0.0412359278
+0.0412346282
+0.0412333052
+0.041231959
+0.0412305889
+0.0412291949
+0.0412277766
+0.041226334
+0.0412248668
+0.0412233754
+0.0412218594
+0.0412203195
+0.0412187557
+0.0412171691
+0.0412155606
+0.0412139328
+0.04121229
+0.0412106492
+0.0412090349
+0.0412075111
+)
+;
+    }
+    defaultFaces
+    {
+        type            empty;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/epsilon.liquid b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/epsilon.liquid
new file mode 100644
index 00000000000..fcbfddee2a5
--- /dev/null
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/epsilon.liquid
@@ -0,0 +1,2158 @@
+/*--------------------------------*- 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;
+    location    "5";
+    object      epsilon.liquid;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 2 -3 0 0 0 0];
+
+internalField   nonuniform List<scalar>
+1875
+(
+0.041965349
+0.0166405359
+0.00900207363
+0.00568303829
+0.00380594629
+0.00255249587
+0.00162012539
+0.000886860569
+0.000304606476
+3.09155969e-05
+6.71922052e-07
+3.2071407e-07
+3.20043607e-07
+3.20726687e-07
+6.73310152e-07
+3.09351735e-05
+0.000304650474
+0.000886891984
+0.00162018209
+0.00255259568
+0.00380611079
+0.00568332041
+0.00900266103
+0.0166422991
+0.0419627924
+0.0419654615
+0.016640573
+0.00900213306
+0.00568312156
+0.00380605631
+0.00255263587
+0.00162029779
+0.000887056071
+0.000304797579
+3.09604988e-05
+6.72868744e-07
+3.20683916e-07
+3.20011417e-07
+3.20696615e-07
+6.74252542e-07
+3.09796945e-05
+0.000304837697
+0.000887076543
+0.00162033493
+0.00255270516
+0.00380617572
+0.00568333722
+0.00900261716
+0.0166421418
+0.0419630659
+0.0419655927
+0.0166406295
+0.00900220716
+0.00568321938
+0.0038061834
+0.00255279727
+0.00162049695
+0.00088728317
+0.000305018552
+3.10131972e-05
+6.73989526e-07
+3.2064827e-07
+3.19973367e-07
+3.20660948e-07
+6.75364589e-07
+3.10321883e-05
+0.000305058124
+0.000887303164
+0.00162053365
+0.00255286602
+0.00380630203
+0.00568343395
+0.00900268985
+0.0166421971
+0.0419631668
+0.041965735
+0.0166407086
+0.00900229656
+0.00568332771
+0.00380631774
+0.00255296338
+0.0016206985
+0.000887510703
+0.000305237255
+3.10657885e-05
+6.75114698e-07
+3.2061253e-07
+3.19935208e-07
+3.2062522e-07
+6.76486145e-07
+3.10846414e-05
+0.000305276477
+0.000887530563
+0.00162073533
+0.0025530324
+0.00380643676
+0.00568354281
+0.00900278021
+0.0166422793
+0.0419633108
+0.0419658909
+0.0166408077
+0.00900240025
+0.00568344608
+0.00380645898
+0.00255313381
+0.00162090202
+0.000887737799
+0.000305453313
+3.11181507e-05
+6.76241459e-07
+3.20576779e-07
+3.1989703e-07
+3.20589501e-07
+6.77612085e-07
+3.11369025e-05
+0.000305492248
+0.00088775755
+0.00162093898
+0.00255320313
+0.0038065784
+0.00568366173
+0.00900288492
+0.0166423814
+0.0419634652
+0.0419660627
+0.0166409247
+0.0090025174
+0.00568357419
+0.00380660706
+0.00255330862
+0.00162110758
+0.000887964302
+0.000305667034
+3.11703323e-05
+6.77369703e-07
+3.20540977e-07
+3.19858795e-07
+3.20553742e-07
+6.7874122e-07
+3.11890102e-05
+0.000305705727
+0.000887983953
+0.00162114467
+0.00255337822
+0.00380672685
+0.00568379036
+0.00900300308
+0.0166425017
+0.0419636361
+0.041966252
+0.016641058
+0.00900264713
+0.00568371159
+0.00380676174
+0.00255348768
+0.00162131506
+0.000888189982
+0.000305878637
+3.12223604e-05
+6.78500184e-07
+3.20505104e-07
+3.19820482e-07
+3.20517918e-07
+6.79873836e-07
+3.12409863e-05
+0.000305917124
+0.000888209538
+0.00162135228
+0.00255355755
+0.00380688189
+0.00568392827
+0.00900313382
+0.0166426382
+0.0419638245
+0.0419664596
+0.0166412062
+0.00900278855
+0.00568385778
+0.0038069227
+0.00255367073
+0.00162152417
+0.000888414504
+0.000306088204
+3.12742317e-05
+6.79632519e-07
+3.20469164e-07
+3.19782095e-07
+3.20482033e-07
+6.81009255e-07
+3.12928244e-05
+0.000306126515
+0.000888433968
+0.00162156151
+0.00255374083
+0.0038070432
+0.00568407496
+0.00900327624
+0.0166427898
+0.0419640315
+0.0419666864
+0.0166413682
+0.0090029408
+0.00568401223
+0.00380708956
+0.00255385741
+0.00162173453
+0.000888637483
+0.000306295724
+3.13259227e-05
+6.80765895e-07
+3.20433172e-07
+3.19743646e-07
+3.204461e-07
+6.82146447e-07
+3.13444985e-05
+0.000306333888
+0.000888656856
+0.00162177198
+0.00255392775
+0.00380721038
+0.00568422989
+0.00900342948
+0.0166429549
+0.0419642575
+0.0419669327
+0.0166415427
+0.00900310308
+0.00568417439
+0.00380726191
+0.00255404736
+0.00162194574
+0.000888858551
+0.00030650117
+3.13774054e-05
+6.81899432e-07
+3.20397148e-07
+3.1970516e-07
+3.20410137e-07
+6.83284392e-07
+3.13959788e-05
+0.00030653921
+0.000888877836
+0.00162198327
+0.00255411792
+0.00380738303
+0.00568439251
+0.00900359273
+0.0166431327
+0.041964503
+0.0419671986
+0.0166417289
+0.00900327465
+0.00568434377
+0.00380743936
+0.00255424022
+0.0016221574
+0.000889077406
+0.000306704529
+3.1428659e-05
+6.83032405e-07
+3.20361104e-07
+3.1966665e-07
+3.20374158e-07
+6.84422262e-07
+3.1447243e-05
+0.000306742469
+0.000889096605
+0.00162219503
+0.00255431098
+0.00380756078
+0.00568456234
+0.00900376527
+0.0166433222
+0.0419647682
+0.0419674844
+0.0166419259
+0.00900345485
+0.00568451988
+0.00380762154
+0.00255443563
+0.00162236916
+0.000889293809
+0.000306905824
+3.14796715e-05
+6.84164315e-07
+3.2032505e-07
+3.19628128e-07
+3.2033817e-07
+6.8555947e-07
+3.14982779e-05
+0.000306943685
+0.000889312925
+0.00162240687
+0.00255450661
+0.00380774325
+0.00568473889
+0.00900394643
+0.0166435226
+0.0419650533
+0.04196779
+0.016642133
+0.00900364303
+0.00568470227
+0.00380780809
+0.00255463327
+0.0016225807
+0.000889507583
+0.000307105096
+3.15304391e-05
+6.85294856e-07
+3.20288988e-07
+3.19589595e-07
+3.20302175e-07
+6.86695647e-07
+3.1549078e-05
+0.000307142898
+0.000889526617
+0.00162261849
+0.00255470444
+0.00380793007
+0.00568492171
+0.00900413556
+0.0166437329
+0.0419653581
+0.0419681151
+0.0166423494
+0.00900383858
+0.00568489044
+0.00380799862
+0.00255483279
+0.00162279171
+0.000889718586
+0.000307302401
+3.15809626e-05
+6.86423846e-07
+3.20252917e-07
+3.19551054e-07
+3.20266174e-07
+6.8783056e-07
+3.15996435e-05
+0.000307340162
+0.000889737543
+0.00162282958
+0.00255490414
+0.00380812087
+0.00568511031
+0.00900433207
+0.0166439527
+0.0419656824
+0.0419684596
+0.0166425745
+0.00900404088
+0.00568508393
+0.00380819272
+0.00255503383
+0.00162300189
+0.000889926706
+0.000307497795
+3.16312448e-05
+6.8755117e-07
+3.20216837e-07
+3.19512503e-07
+3.20230164e-07
+6.88964044e-07
+3.16499759e-05
+0.000307535534
+0.000889945589
+0.00162303983
+0.00255510536
+0.00380831524
+0.0056853042
+0.00900453531
+0.0166441811
+0.0419660261
+0.0419688232
+0.0166428075
+0.00900424934
+0.00568528222
+0.00380838999
+0.00255523602
+0.00162321095
+0.000890131848
+0.00030769133
+3.16812888e-05
+6.88676728e-07
+3.20180745e-07
+3.19473941e-07
+3.20194144e-07
+6.90095972e-07
+3.17000773e-05
+0.000307729062
+0.00089015066
+0.00162324896
+0.00255530774
+0.00380851278
+0.00568550292
+0.00900474471
+0.0166444175
+0.0419663889
+0.0419692054
+0.0166430478
+0.00900446332
+0.00568548483
+0.00380858999
+0.00255543898
+0.0016234186
+0.000890333931
+0.000307883052
+3.17310967e-05
+6.89800424e-07
+3.20144641e-07
+3.19435367e-07
+3.20158113e-07
+6.91226207e-07
+3.1749949e-05
+0.00030792079
+0.000890352675
+0.00162345667
+0.00255551088
+0.00380871304
+0.00568570595
+0.00900495965
+0.0166446611
+0.0419667705
+0.0419696061
+0.0166432946
+0.00900468223
+0.00568569121
+0.00380879227
+0.00255564233
+0.00162362456
+0.000890532884
+0.000308072995
+3.17806697e-05
+6.90922145e-07
+3.20108524e-07
+3.19396781e-07
+3.2012207e-07
+6.92354615e-07
+3.17995914e-05
+0.000308110757
+0.000890551564
+0.00162366269
+0.0025557144
+0.00380891557
+0.00568591275
+0.00900517951
+0.0166449114
+0.0419671703
+0.0419700245
+0.0166435475
+0.00900490544
+0.00568590084
+0.00380899634
+0.00255584566
+0.00162382855
+0.000890728648
+0.000308261194
+3.18300079e-05
+6.92041772e-07
+3.20072396e-07
+3.19358186e-07
+3.20086017e-07
+6.93481056e-07
+3.18490039e-05
+0.000308298989
+0.000890747268
+0.00162386675
+0.0025559179
+0.00380911991
+0.00568612281
+0.00900540369
+0.0166451675
+0.0419675879
+0.0419704604
+0.0166438055
+0.00900513234
+0.00568611317
+0.00380920176
+0.00255604858
+0.0016240303
+0.000890921175
+0.000308447674
+3.18791111e-05
+6.93159187e-07
+3.20036257e-07
+3.19319581e-07
+3.20049952e-07
+6.9460539e-07
+3.18981857e-05
+0.000308485515
+0.00089093974
+0.00162406857
+0.00255612099
+0.00380932559
+0.00568633556
+0.00900563157
+0.016645429
+0.0419680229
+0.0419709132
+0.0166440682
+0.00900536231
+0.00568632764
+0.00380940803
+0.0025562507
+0.00162422958
+0.000891110428
+0.000308632461
+3.19279787e-05
+6.94274271e-07
+3.20000107e-07
+3.19280969e-07
+3.20013879e-07
+6.9572748e-07
+3.19471355e-05
+0.000308670358
+0.000891128942
+0.0016242679
+0.00255632329
+0.00380953213
+0.00568655047
+0.00900586252
+0.0166456952
+0.041968475
+0.0419713823
+0.0166443349
+0.00900559469
+0.00568654369
+0.00380961467
+0.00255645164
+0.00162442615
+0.000891296381
+0.00030881558
+3.19766104e-05
+6.95386919e-07
+3.1996395e-07
+3.1924235e-07
+3.19977798e-07
+6.9684721e-07
+3.19958527e-05
+0.000308853544
+0.000891314847
+0.00162446452
+0.0025565244
+0.00380973905
+0.00568676697
+0.00900609591
+0.0166459653
+0.0419689435
+0.0419718673
+0.0166446047
+0.00900582888
+0.00568676077
+0.0038098212
+0.002556651
+0.00162461977
+0.000891479017
+0.000308997054
+3.20250062e-05
+6.9649704e-07
+3.19927784e-07
+3.19203727e-07
+3.1994171e-07
+6.97964474e-07
+3.20443364e-05
+0.000309035093
+0.00089149744
+0.00162465822
+0.00255672394
+0.00380994586
+0.00568698449
+0.00900633111
+0.0166462387
+0.0419694276
+0.0419723673
+0.0166448772
+0.00900606423
+0.00568697828
+0.00381002714
+0.00255684843
+0.00162481026
+0.000891658332
+0.000309176908
+3.20731662e-05
+6.97604555e-07
+3.1989161e-07
+3.19165099e-07
+3.19905613e-07
+6.99079182e-07
+3.20925868e-05
+0.000309215031
+0.000891676716
+0.00162484878
+0.00255692155
+0.00381015208
+0.00568720248
+0.00900656749
+0.0166465146
+0.0419699269
+0.0419728818
+0.0166451515
+0.00900630007
+0.00568719567
+0.00381023201
+0.00255704358
+0.00162499744
+0.000891834326
+0.000309355169
+3.21210914e-05
+6.98709408e-07
+3.19855428e-07
+3.19126467e-07
+3.1986951e-07
+7.0019127e-07
+3.21406043e-05
+0.000309393383
+0.000891852675
+0.00162503601
+0.00255711687
+0.00381035724
+0.00568742034
+0.00900680439
+0.0166467925
+0.0419704407
+0.0419734101
+0.0166454272
+0.0090065358
+0.00568741236
+0.00381043533
+0.00255723609
+0.00162518113
+0.000892007009
+0.000309531859
+3.21687829e-05
+6.99811548e-07
+3.19819239e-07
+3.1908783e-07
+3.19833398e-07
+7.01300683e-07
+3.21883896e-05
+0.000309570172
+0.000892025326
+0.00162521976
+0.00255730956
+0.00381056085
+0.00568763751
+0.00900704118
+0.0166470718
+0.0419709684
+0.0419739515
+0.0166457032
+0.00900677072
+0.00568762777
+0.00381063663
+0.00255742564
+0.00162536116
+0.000892176394
+0.000309707007
+3.22162423e-05
+7.00910944e-07
+3.19783039e-07
+3.19049188e-07
+3.19797278e-07
+7.02407372e-07
+3.2235944e-05
+0.000309745424
+0.000892194684
+0.00162539986
+0.00255749929
+0.00381076246
+0.00568785343
+0.00900727719
+0.0166473515
+0.0419715092
+0.0419745052
+0.0166459792
+0.0090070042
+0.00568784133
+0.00381083546
+0.00255761189
+0.0016255374
+0.000892342499
+0.000309880636
+3.2263471e-05
+7.02007568e-07
+3.19746829e-07
+3.19010539e-07
+3.19761147e-07
+7.03511314e-07
+3.22832687e-05
+0.000309919163
+0.000892360765
+0.00162557616
+0.00255768572
+0.0038109616
+0.0056880675
+0.00900751177
+0.0166476311
+0.0419720623
+0.0419750703
+0.0166462541
+0.00900723556
+0.00568805247
+0.00381103135
+0.00255779455
+0.00162570971
+0.000892505344
+0.00031005277
+3.23104706e-05
+7.03101393e-07
+3.19710609e-07
+3.18971883e-07
+3.19725006e-07
+7.04612473e-07
+3.23303653e-05
+0.000310091414
+0.00089252359
+0.00162574853
+0.00255786857
+0.0038111578
+0.00568827916
+0.00900774428
+0.0166479098
+0.0419726268
+0.0419756458
+0.0166465275
+0.00900746416
+0.0056882606
+0.00381122384
+0.0025579733
+0.00162587796
+0.00089266495
+0.00031022343
+3.23572424e-05
+7.04192395e-07
+3.19674375e-07
+3.18933218e-07
+3.19688852e-07
+7.05710821e-07
+3.23772344e-05
+0.000310262193
+0.000892683181
+0.00162591684
+0.00255804752
+0.00381135063
+0.00568848784
+0.00900797404
+0.016648187
+0.0419732019
+0.041976231
+0.0166467986
+0.00900768933
+0.00568846516
+0.00381141251
+0.00255814787
+0.00162604203
+0.000892821338
+0.000310392635
+3.24037869e-05
+7.05280538e-07
+3.19638128e-07
+3.18894545e-07
+3.19652686e-07
+7.06806318e-07
+3.24238767e-05
+0.000310431522
+0.000892839556
+0.00162608098
+0.00255822228
+0.00381153963
+0.00568869296
+0.00900820037
+0.0166484618
+0.0419737866
+0.0419768248
+0.0166470666
+0.00900791039
+0.00568866557
+0.00381159691
+0.00255831796
+0.00162620181
+0.000892974528
+0.000310560398
+3.24501043e-05
+7.06365776e-07
+3.19601867e-07
+3.18855862e-07
+3.19616505e-07
+7.07898915e-07
+3.24702923e-05
+0.000310599413
+0.000892992738
+0.00162624083
+0.00255839257
+0.00381172437
+0.00568889394
+0.00900842265
+0.0166487336
+0.04197438
+0.0419774262
+0.0166473308
+0.00900812672
+0.00568886129
+0.00381177659
+0.00255848332
+0.00162635719
+0.000893124538
+0.000310726732
+3.24961941e-05
+7.07448051e-07
+3.19565592e-07
+3.18817168e-07
+3.1958031e-07
+7.08988552e-07
+3.25164803e-05
+0.000310765879
+0.000893142744
+0.00162639629
+0.00255855812
+0.00381190441
+0.00568909025
+0.0090086402
+0.0166490018
+0.0419749811
+0.0419780344
+0.0166475904
+0.00900833766
+0.00568905177
+0.00381195116
+0.00255864367
+0.00162650808
+0.000893271386
+0.000310891644
+3.25420549e-05
+7.08527291e-07
+3.19529302e-07
+3.18778466e-07
+3.19544102e-07
+7.10075151e-07
+3.25624393e-05
+0.000310930925
+0.00089328959
+0.00162654725
+0.00255871868
+0.00381207933
+0.00568928132
+0.00900885239
+0.0166492653
+0.0419755889
+0.0419786481
+0.0166478449
+0.0090085426
+0.00568923646
+0.0038121202
+0.00255879877
+0.00162665439
+0.000893415085
+0.00031105514
+3.25876849e-05
+7.09603412e-07
+3.19492998e-07
+3.18739753e-07
+3.1950788e-07
+7.11158631e-07
+3.26081675e-05
+0.000311094556
+0.000893433292
+0.00162669363
+0.00255887399
+0.00381224874
+0.00568946662
+0.00900905859
+0.0166495238
+0.0419762023
+0.0419792662
+0.0166480935
+0.00900874093
+0.00568941486
+0.00381228334
+0.00255894839
+0.00162679603
+0.000893555653
+0.000311217222
+3.26330818e-05
+7.1067632e-07
+3.19456682e-07
+3.18701035e-07
+3.19471645e-07
+7.12238891e-07
+3.26536621e-05
+0.000311256777
+0.000893573865
+0.00162683534
+0.00255902381
+0.00381241225
+0.00568964564
+0.00900925822
+0.0166497765
+0.0419768204
+0.041979888
+0.0166483357
+0.00900893208
+0.00568958646
+0.00381244019
+0.00255909229
+0.00162693291
+0.0008936931
+0.000311377891
+3.26782429e-05
+7.11745917e-07
+3.19420354e-07
+3.18662309e-07
+3.19435399e-07
+7.13315836e-07
+3.26989207e-05
+0.000311417585
+0.000893711321
+0.00162697231
+0.00255916793
+0.00381256948
+0.00568981789
+0.00900945069
+0.0166500227
+0.041977442
+0.0419805122
+0.0166485707
+0.00900911551
+0.00568975082
+0.00381259041
+0.00255923028
+0.00162706499
+0.000893827441
+0.000311537146
+3.27231654e-05
+7.12812106e-07
+3.19384014e-07
+3.18623577e-07
+3.19399142e-07
+7.14389362e-07
+3.27439404e-05
+0.000311576982
+0.000893845675
+0.00162710446
+0.00255930614
+0.00381272009
+0.0056899829
+0.00900963545
+0.0166502619
+0.0419780662
+0.0419811378
+0.0166487982
+0.00900929072
+0.00568990749
+0.00381273367
+0.00255936217
+0.00162719217
+0.000893958692
+0.000311694989
+3.27678469e-05
+7.13874788e-07
+3.19347664e-07
+3.18584841e-07
+3.19362873e-07
+7.15459375e-07
+3.27887185e-05
+0.000311734967
+0.000893976941
+0.00162723173
+0.00255943824
+0.00381286373
+0.00569014023
+0.00900981202
+0.0166504935
+0.0419786917
+0.0419817638
+0.0166490175
+0.00900945724
+0.00569005604
+0.00381286965
+0.00255948777
+0.00162731443
+0.000894086864
+0.000311851418
+3.28122849e-05
+7.14933872e-07
+3.19311303e-07
+3.185461e-07
+3.19326596e-07
+7.16525777e-07
+3.28332526e-05
+0.00031189154
+0.000894105134
+0.00162735407
+0.00255956406
+0.00381300011
+0.00569028945
+0.00900997993
+0.016650717
+0.0419793177
+0.041982389
+0.0166492283
+0.00900961464
+0.00569019612
+0.00381299808
+0.00255960692
+0.00162743171
+0.000894211975
+0.000312006434
+3.28564772e-05
+7.15989277e-07
+3.19274932e-07
+3.18507355e-07
+3.19290307e-07
+7.1758849e-07
+3.28775405e-05
+0.0003120467
+0.000894230268
+0.00162747143
+0.00255968343
+0.00381312894
+0.00569043022
+0.00901013873
+0.0166509319
+0.0419799431
+0.0419830126
+0.0166494299
+0.00900976252
+0.00569032736
+0.00381311869
+0.00255971946
+0.00162754397
+0.00089433404
+0.000312160039
+3.29004221e-05
+7.17040928e-07
+3.19238551e-07
+3.18468606e-07
+3.19254008e-07
+7.18647436e-07
+3.29215802e-05
+0.00031220045
+0.000894352359
+0.00162758377
+0.00255979621
+0.00381324997
+0.00569056216
+0.00901028803
+0.0166511379
+0.0419805667
+0.0419836332
+0.0166496221
+0.00900990055
+0.00569044944
+0.00381323124
+0.0025598253
+0.00162765116
+0.000894453075
+0.000312312233
+3.29441179e-05
+7.18088757e-07
+3.19202157e-07
+3.18429851e-07
+3.19217698e-07
+7.1970255e-07
+3.29653703e-05
+0.000312352789
+0.000894471423
+0.00162769105
+0.00255990226
+0.00381336293
+0.00569068496
+0.0090104275
+0.0166513345
+0.0419811878
+0.0419842502
+0.0166498046
+0.0090100284
+0.00569056211
+0.00381333553
+0.00255992428
+0.00162775328
+0.000894569094
+0.000312463017
+3.29875632e-05
+7.19132702e-07
+3.1916575e-07
+3.18391091e-07
+3.19181375e-07
+7.20753769e-07
+3.30089092e-05
+0.000312503719
+0.000894587475
+0.00162779326
+0.00256000147
+0.00381346764
+0.00569079834
+0.00901055681
+0.0166515213
+0.0419818051
+0.0419848624
+0.016649977
+0.00901014581
+0.00569066508
+0.00381343136
+0.00256001633
+0.00162785029
+0.000894682115
+0.000312612392
+3.30307567e-05
+7.20172703e-07
+3.1912933e-07
+3.18352323e-07
+3.19145038e-07
+7.21801029e-07
+3.30521956e-05
+0.00031265324
+0.000894700533
+0.00162789036
+0.00256009374
+0.00381356389
+0.00569090205
+0.00901067569
+0.016651698
+0.0419824178
+0.0419854688
+0.0166501391
+0.00901025254
+0.00569075815
+0.00381351855
+0.00256010133
+0.00162794219
+0.000894792152
+0.000312760357
+3.30736967e-05
+7.21208699e-07
+3.19092893e-07
+3.18313545e-07
+3.19108685e-07
+7.22844274e-07
+3.3095228e-05
+0.000312801351
+0.000894810608
+0.00162798235
+0.00256017897
+0.0038136515
+0.00569099585
+0.00901078392
+0.0166518645
+0.0419830247
+0.0419860687
+0.0166502906
+0.00901034842
+0.00569084113
+0.00381359697
+0.00256017922
+0.00162802895
+0.000894899218
+0.00031290691
+3.31163817e-05
+7.22240622e-07
+3.19056439e-07
+3.18274757e-07
+3.19072315e-07
+7.23883433e-07
+3.31380044e-05
+0.000312948049
+0.000894917716
+0.00162806921
+0.0025602571
+0.00381373036
+0.00569107957
+0.00901088129
+0.0166520205
+0.041983625
+0.0419866609
+0.0166504315
+0.00901043327
+0.00569091386
+0.00381366649
+0.00256024995
+0.00162811058
+0.000895003323
+0.000313052047
+3.31588092e-05
+7.23268398e-07
+3.19019964e-07
+3.18235957e-07
+3.19035924e-07
+7.24918432e-07
+3.31805228e-05
+0.000313093332
+0.000895021867
+0.00162815094
+0.00256032806
+0.00381380031
+0.00569115304
+0.00901096765
+0.0166521659
+0.0419842179
+0.0419872448
+0.0166505615
+0.00901050699
+0.0056909762
+0.00381372701
+0.00256031345
+0.00162818708
+0.00089510448
+0.000313195761
+3.32009767e-05
+7.24291941e-07
+3.18983468e-07
+3.18197144e-07
+3.18999514e-07
+7.25949189e-07
+3.32227804e-05
+0.000313237192
+0.000895123071
+0.00162822753
+0.0025603918
+0.00381386126
+0.00569121614
+0.0090110429
+0.0166523005
+0.0419848024
+0.0419878192
+0.0166506806
+0.0090105695
+0.00569102807
+0.00381377844
+0.00256036969
+0.00162825843
+0.000895202695
+0.000313338044
+3.3242881e-05
+7.25311152e-07
+3.18946952e-07
+3.18158315e-07
+3.18963081e-07
+7.26975598e-07
+3.32647741e-05
+0.00031337962
+0.000895221337
+0.00162829898
+0.00256044826
+0.00381391312
+0.00569126877
+0.00901110695
+0.0166524242
+0.0419853777
+0.0419883837
+0.0166507888
+0.00901062078
+0.0056910694
+0.00381382072
+0.00256041862
+0.00162832464
+0.000895297975
+0.000313478885
+3.32845181e-05
+7.26325919e-07
+3.18910411e-07
+3.18119471e-07
+3.18926625e-07
+7.27997555e-07
+3.33064999e-05
+0.000313520606
+0.000895316672
+0.00162836529
+0.00256049744
+0.00381395584
+0.00569131087
+0.00901115978
+0.0166525369
+0.041985943
+0.0419889374
+0.0166508861
+0.00901066082
+0.00569110016
+0.00381385382
+0.00256046026
+0.00162838572
+0.000895390325
+0.000313618269
+3.33258838e-05
+7.27336117e-07
+3.18873846e-07
+3.18080612e-07
+3.18890145e-07
+7.29014927e-07
+3.33479536e-05
+0.000313660135
+0.000895409077
+0.00162842648
+0.00256053931
+0.00381398939
+0.00569134239
+0.00901120137
+0.0166526389
+0.0419864976
+0.0419894797
+0.0166509725
+0.00901068968
+0.00569112036
+0.00381387773
+0.00256049458
+0.00162844168
+0.000895479748
+0.000313756183
+3.33669731e-05
+7.28341604e-07
+3.18837257e-07
+3.18041736e-07
+3.18853642e-07
+7.30027578e-07
+3.338913e-05
+0.000313798194
+0.000895498561
+0.00162848255
+0.00256057388
+0.00381401373
+0.00569136335
+0.0090112318
+0.0166527299
+0.0419870409
+0.0419900098
+0.0166510481
+0.00901070741
+0.00569113001
+0.00381389245
+0.00256052161
+0.00162849254
+0.000895566248
+0.000313892608
+3.34077804e-05
+7.29342231e-07
+3.18800643e-07
+3.18002845e-07
+3.18817114e-07
+7.31035356e-07
+3.34300238e-05
+0.000313934763
+0.000895585122
+0.00162853351
+0.00256060113
+0.0038140289
+0.00569137379
+0.0090112511
+0.0166528102
+0.0419875722
+0.0419905274
+0.016651113
+0.00901071417
+0.00569112919
+0.00381389801
+0.00256054135
+0.00162853832
+0.000895649826
+0.000314027526
+3.34483e-05
+7.30337834e-07
+3.18764006e-07
+3.17963938e-07
+3.18780562e-07
+7.32038094e-07
+3.34706292e-05
+0.000314069825
+0.000895668765
+0.0016285794
+0.00256062112
+0.00381403489
+0.00569137374
+0.00901125943
+0.0166528798
+0.0419880908
+0.0419910317
+0.0166511675
+0.00901071009
+0.00569111799
+0.00381389446
+0.00256055386
+0.00162857904
+0.000895730486
+0.000314160918
+3.34885256e-05
+7.31328244e-07
+3.18727344e-07
+3.17925017e-07
+3.18743986e-07
+7.33035622e-07
+3.35109399e-05
+0.000314203359
+0.000895749492
+0.00162862022
+0.00256063385
+0.00381403178
+0.00569136331
+0.00901125694
+0.016652939
+0.0419885965
+0.0419915225
+0.0166512116
+0.00901069537
+0.00569109654
+0.00381388188
+0.00256055916
+0.00162861473
+0.000895808229
+0.000314292763
+3.3528451e-05
+7.32313281e-07
+3.18690659e-07
+3.17886082e-07
+3.18707386e-07
+7.34027755e-07
+3.35509496e-05
+0.000314335346
+0.000895827303
+0.00162865601
+0.00256063939
+0.00381401963
+0.00569134262
+0.00901124379
+0.0166529878
+0.0419890886
+0.0419919992
+0.0166512457
+0.00901067021
+0.00569106497
+0.00381386035
+0.00256055733
+0.00162864542
+0.000895883058
+0.000314423039
+3.35680693e-05
+7.33292761e-07
+3.1865395e-07
+3.17847134e-07
+3.18670763e-07
+7.35014307e-07
+3.35906514e-05
+0.000314465764
+0.000895902203
+0.00162868681
+0.00256063779
+0.00381399854
+0.00569131183
+0.00901122023
+0.0166530267
+0.0419895666
+0.0419924616
+0.0166512699
+0.0090106349
+0.00569102348
+0.00381383001
+0.00256054843
+0.00162867114
+0.000895954978
+0.000314551727
+3.36073739e-05
+7.34266497e-07
+3.18617219e-07
+3.17808173e-07
+3.18634116e-07
+7.35995071e-07
+3.36300384e-05
+0.000314594591
+0.000895974197
+0.00162871266
+0.00256062913
+0.00381396863
+0.00569127111
+0.00901118651
+0.0166530557
+0.0419900304
+0.0419929092
+0.0166512847
+0.00901058971
+0.00569097228
+0.00381379097
+0.00256053256
+0.00162869196
+0.000896023993
+0.000314678802
+3.36463577e-05
+7.35234293e-07
+3.18580464e-07
+3.17769201e-07
+3.18597447e-07
+7.36969833e-07
+3.36691036e-05
+0.000314721806
+0.000896043284
+0.00162873358
+0.00256061348
+0.00381393002
+0.00569122065
+0.00901114288
+0.0166530753
+0.0419904796
+0.0419933419
+0.0166512904
+0.00901053495
+0.00569091159
+0.00381374341
+0.0025605098
+0.00162870792
+0.000896090113
+0.000314804248
+3.3685014e-05
+7.36195956e-07
+3.18543688e-07
+3.17730219e-07
+3.18560756e-07
+7.37938366e-07
+3.37078399e-05
+0.000314847388
+0.000896109474
+0.00162874964
+0.00256059095
+0.00381388287
+0.00569116071
+0.0090110897
+0.0166530857
+0.041990914
+0.0419937597
+0.0166512872
+0.00901047095
+0.00569084168
+0.00381368749
+0.00256048028
+0.00162871906
+0.000896153341
+0.000314928041
+3.37233356e-05
+7.37151288e-07
+3.1850689e-07
+3.17691227e-07
+3.18524039e-07
+7.38900399e-07
+3.37462394e-05
+0.00031497131
+0.000896172768
+0.00162876089
+0.00256056164
+0.00381382735
+0.00569109152
+0.00901102724
+0.0166530873
+0.0419913335
+0.041994162
+0.0166512755
+0.0090103981
+0.00569076284
+0.00381362342
+0.00256044412
+0.00162872547
+0.000896213694
+0.000315050163
+3.37613159e-05
+7.38100092e-07
+3.1847007e-07
+3.17652225e-07
+3.18487298e-07
+7.39855634e-07
+3.37842945e-05
+0.000315093555
+0.000896233179
+0.00162876738
+0.00256052567
+0.00381376366
+0.00569101338
+0.0090109559
+0.0166530803
+0.0419917378
+0.041994549
+0.0166512558
+0.00901031675
+0.00569067534
+0.00381355141
+0.00256040144
+0.0016287272
+0.00089627118
+0.00031517059
+3.37989475e-05
+7.39042163e-07
+3.18433228e-07
+3.17613215e-07
+3.18450529e-07
+7.40803653e-07
+3.3821996e-05
+0.000315214092
+0.000896290703
+0.00162876916
+0.00256048314
+0.00381369198
+0.00569092653
+0.00901087599
+0.0166530653
+0.041992127
+0.0419949205
+0.0166512285
+0.00901022736
+0.00569057957
+0.00381347172
+0.00256035242
+0.00162872435
+0.000896325828
+0.000315289311
+3.38362243e-05
+7.39977305e-07
+3.18396364e-07
+3.17574194e-07
+3.18413728e-07
+7.41743948e-07
+3.38593347e-05
+0.000315332901
+0.000896345356
+0.00162876633
+0.00256043423
+0.00381361255
+0.00569083132
+0.00901078794
+0.0166530424
+0.0419925011
+0.0419952765
+0.016651194
+0.00901013031
+0.00569047582
+0.00381338456
+0.0025602972
+0.00162871698
+0.000896377648
+0.000315406306
+3.38731389e-05
+7.40905313e-07
+3.18359478e-07
+3.17535166e-07
+3.18376886e-07
+7.42675678e-07
+3.38962976e-05
+0.000315449944
+0.000896397123
+0.00162875891
+0.00256037903
+0.00381352555
+0.00569072799
+0.00901069203
+0.0166530121
+0.04199286
+0.0419956169
+0.0166511528
+0.00901002617
+0.00569036458
+0.00381329029
+0.00256023602
+0.00162870524
+0.000896426697
+0.000315521572
+3.39096863e-05
+7.41825997e-07
+3.1832257e-07
+3.1749613e-07
+3.18339991e-07
+7.4359768e-07
+3.39328705e-05
+0.000315565192
+0.000896446014
+0.00162874698
+0.00256031769
+0.00381343123
+0.00569061691
+0.0090105887
+0.0166529747
+0.0419932043
+0.0419959414
+0.0166511054
+0.00900991534
+0.00569024616
+0.00381318918
+0.00256016905
+0.00162868921
+0.000896473
+0.000315635096
+3.39458601e-05
+7.42739159e-07
+3.18285639e-07
+3.17457085e-07
+3.18303018e-07
+7.44507878e-07
+3.39690295e-05
+0.000315678581
+0.000896491975
+0.00162873052
+0.00256025028
+0.00381332972
+0.00569049823
+0.0090104781
+0.0166529303
+0.041993534
+0.0419962501
+0.0166510527
+0.00900979856
+0.00569012119
+0.00381308166
+0.00256009662
+0.00162866912
+0.000896516674
+0.000315746898
+3.39816572e-05
+7.43644637e-07
+3.18248686e-07
+3.17418033e-07
+3.18265926e-07
+7.45403016e-07
+3.40047432e-05
+0.000315790047
+0.000896534989
+0.0016287096
+0.00256017692
+0.00381322122
+0.00569037224
+0.00901036054
+0.016652879
+0.04199385
+0.0419965422
+0.0166509951
+0.00900967635
+0.00568999011
+0.0038129681
+0.00256001896
+0.00162864511
+0.000896557794
+0.000315856992
+3.40170748e-05
+7.4454227e-07
+3.18211709e-07
+3.17378972e-07
+3.18228643e-07
+7.46277223e-07
+3.40399555e-05
+0.000315899452
+0.00089657489
+0.00162868406
+0.00256009748
+0.00381310561
+0.00569023882
+0.00901023575
+0.0166528202
+0.0419941534
+0.0419968169
+0.016650934
+0.00900954967
+0.00568985367
+0.00381284911
+0.00255993656
+0.00162861749
+0.000896596532
+0.00031596546
+3.40521177e-05
+7.45431983e-07
+3.18174709e-07
+3.17339903e-07
+3.18191041e-07
+7.47120542e-07
+3.40745787e-05
+0.000316006611
+0.000896611432
+0.00162865367
+0.00256001177
+0.00381298271
+0.0056900977
+0.00901010325
+0.016652753
+0.0419944463
+0.0419970731
+0.0166508688
+0.00900941874
+0.00568971235
+0.0038127252
+0.00255984984
+0.00162858655
+0.000896633085
+0.000316072341
+3.4086786e-05
+7.4631369e-07
+3.18137685e-07
+3.17300825e-07
+3.18152898e-07
+7.47914607e-07
+3.41084398e-05
+0.000316111085
+0.00089664406
+0.00162861773
+0.00255991894
+0.00381285139
+0.00568994714
+0.00900996021
+0.0166526724
+0.0419947325
+0.0419973089
+0.0166508019
+0.00900928476
+0.00568956672
+0.00381259668
+0.00255975906
+0.00162855271
+0.000896667906
+0.000316177743
+3.41210853e-05
+7.47187399e-07
+3.18100639e-07
+3.17261738e-07
+3.18113838e-07
+7.48627622e-07
+3.41412358e-05
+0.000316212136
+0.000896671869
+0.00162857476
+0.00255981662
+0.0038127083
+0.00568978258
+0.00900980013
+0.0166525687
+0.0419950215
+0.0419975216
+0.0166507327
+0.00900914571
+0.00568941491
+0.00381246186
+0.00255966297
+0.0016285151
+0.000896700522
+0.000316281853
+3.41550553e-05
+7.4805343e-07
+3.1806357e-07
+3.17222641e-07
+3.18073289e-07
+7.49207832e-07
+3.41724707e-05
+0.000316308469
+0.000896691936
+0.00162852004
+0.00255969742
+0.00381254173
+0.00568958549
+0.0090095922
+0.0166523905
+0.0419953325
+0.0419977126
+0.0166506557
+0.00900900019
+0.00568925688
+0.00381232086
+0.00255956104
+0.00162847246
+0.000896729492
+0.000316384275
+3.41886798e-05
+7.48912934e-07
+3.18026496e-07
+3.1718353e-07
+3.18030584e-07
+7.49584909e-07
+3.42014108e-05
+0.000316398767
+0.000896702882
+0.00162845285
+0.00255956027
+0.00381234582
+0.00568933241
+0.00900925793
+0.0166518875
+0.0419957943
+)
+;
+
+boundaryField
+{
+    inlet
+    {
+        type            mapped;
+        fieldName       epsilon.liquid;
+        setAverage      0;
+        average         0;
+        interpolationScheme cell;
+        value           nonuniform List<scalar>
+25
+(
+0.0419657345
+0.0166407085
+0.00900229636
+0.00568332742
+0.00380631734
+0.00255296286
+0.00162069785
+0.00088750996
+0.000305236521
+3.10656132e-05
+6.75110969e-07
+3.20612648e-07
+3.19935334e-07
+3.20625325e-07
+6.76481143e-07
+3.10844531e-05
+0.000305275709
+0.000887529772
+0.00162073462
+0.0025530318
+0.00380643624
+0.0056835423
+0.00900277951
+0.0166422775
+0.0419633128
+)
+;
+    }
+    outlet
+    {
+        type            inletOutlet;
+        phi             phi.liquid;
+        inletValue      uniform 0.00015;
+        value           nonuniform List<scalar>
+25
+(
+0.0419977126
+0.0166506557
+0.00900900019
+0.00568925688
+0.00381232086
+0.00255956104
+0.00162847246
+0.000896729492
+0.000316384275
+3.41886798e-05
+7.48912934e-07
+3.18026496e-07
+3.1718353e-07
+3.18030584e-07
+7.49584909e-07
+3.42014108e-05
+0.000316398767
+0.000896702882
+0.00162845285
+0.00255956027
+0.00381234582
+0.00568933241
+0.00900925793
+0.0166518875
+0.0419957943
+)
+;
+    }
+    wall1
+    {
+        type            epsilonWallFunction;
+        Cmu             0.09;
+        kappa           0.41;
+        E               9.8;
+        value           nonuniform List<scalar>
+75
+(
+0.041965349
+0.0419654615
+0.0419655927
+0.041965735
+0.0419658909
+0.0419660627
+0.041966252
+0.0419664596
+0.0419666864
+0.0419669327
+0.0419671986
+0.0419674844
+0.04196779
+0.0419681151
+0.0419684596
+0.0419688232
+0.0419692054
+0.0419696061
+0.0419700245
+0.0419704604
+0.0419709132
+0.0419713823
+0.0419718673
+0.0419723673
+0.0419728818
+0.0419734101
+0.0419739515
+0.0419745052
+0.0419750703
+0.0419756458
+0.041976231
+0.0419768248
+0.0419774262
+0.0419780344
+0.0419786481
+0.0419792662
+0.041979888
+0.0419805122
+0.0419811378
+0.0419817638
+0.041982389
+0.0419830126
+0.0419836332
+0.0419842502
+0.0419848624
+0.0419854688
+0.0419860687
+0.0419866609
+0.0419872448
+0.0419878192
+0.0419883837
+0.0419889374
+0.0419894797
+0.0419900098
+0.0419905274
+0.0419910317
+0.0419915225
+0.0419919992
+0.0419924616
+0.0419929092
+0.0419933419
+0.0419937597
+0.041994162
+0.041994549
+0.0419949205
+0.0419952765
+0.0419956169
+0.0419959414
+0.0419962501
+0.0419965422
+0.0419968169
+0.0419970731
+0.0419973089
+0.0419975216
+0.0419977126
+)
+;
+    }
+    wall2
+    {
+        type            epsilonWallFunction;
+        Cmu             0.09;
+        kappa           0.41;
+        E               9.8;
+        value           nonuniform List<scalar>
+75
+(
+0.0419627924
+0.0419630659
+0.0419631668
+0.0419633108
+0.0419634652
+0.0419636361
+0.0419638245
+0.0419640315
+0.0419642575
+0.041964503
+0.0419647682
+0.0419650533
+0.0419653581
+0.0419656824
+0.0419660261
+0.0419663889
+0.0419667705
+0.0419671703
+0.0419675879
+0.0419680229
+0.041968475
+0.0419689435
+0.0419694276
+0.0419699269
+0.0419704407
+0.0419709684
+0.0419715092
+0.0419720623
+0.0419726268
+0.0419732019
+0.0419737866
+0.04197438
+0.0419749811
+0.0419755889
+0.0419762023
+0.0419768204
+0.041977442
+0.0419780662
+0.0419786917
+0.0419793177
+0.0419799431
+0.0419805667
+0.0419811878
+0.0419818051
+0.0419824178
+0.0419830247
+0.041983625
+0.0419842179
+0.0419848024
+0.0419853777
+0.041985943
+0.0419864976
+0.0419870409
+0.0419875722
+0.0419880908
+0.0419885965
+0.0419890886
+0.0419895666
+0.0419900304
+0.0419904796
+0.041990914
+0.0419913335
+0.0419917378
+0.041992127
+0.0419925011
+0.04199286
+0.0419932043
+0.041993534
+0.04199385
+0.0419941534
+0.0419944463
+0.0419947325
+0.0419950215
+0.0419953325
+0.0419957943
+)
+;
+    }
+    defaultFaces
+    {
+        type            empty;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/k.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/k.gas
new file mode 100644
index 00000000000..6096e761951
--- /dev/null
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/k.gas
@@ -0,0 +1,2119 @@
+/*--------------------------------*- 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;
+    location    "5";
+    object      k.gas;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 2 -2 0 0 0 0];
+
+internalField   nonuniform List<scalar>
+1875
+(
+0.00462107176
+0.00438626956
+0.00374943197
+0.00318948512
+0.00265007788
+0.00210873544
+0.00155763819
+0.000999380105
+0.000437422609
+6.18234795e-05
+2.45480096e-06
+1.53774747e-06
+1.53559851e-06
+1.53778282e-06
+2.4581472e-06
+6.18671529e-05
+0.000437499661
+0.000999424453
+0.00155767824
+0.00210877998
+0.00265012989
+0.00318954586
+0.00374950396
+0.00438633354
+0.004571605
+0.00462108001
+0.0043862956
+0.00374948253
+0.00318956223
+0.00265018444
+0.00210887482
+0.00155781334
+0.000999587425
+0.000437662772
+6.19068601e-05
+2.45723454e-06
+1.5376735e-06
+1.53551808e-06
+1.53770914e-06
+2.4605873e-06
+6.19502584e-05
+0.00043773639
+0.000999623379
+0.0015578403
+0.00210890166
+0.00265021434
+0.00318959656
+0.00374952379
+0.0043863214
+0.00457170683
+0.00462108965
+0.00438632821
+0.00374954243
+0.00318965211
+0.00265030808
+0.00210903651
+0.00155801683
+0.000999829141
+0.000437941745
+6.20049219e-05
+2.46011586e-06
+1.53758609e-06
+1.53542303e-06
+1.53762176e-06
+2.46346801e-06
+6.20483039e-05
+0.00043801521
+0.000999864844
+0.00155804345
+0.00210906293
+0.00265033751
+0.00318968594
+0.00374958321
+0.00438635348
+0.00457159572
+0.00462110009
+0.00438636537
+0.00374960694
+0.00318974621
+0.00265043536
+0.00210920102
+0.00155822206
+0.0010000713
+0.000438218602
+6.21029206e-05
+2.46300935e-06
+1.53749845e-06
+1.53532771e-06
+1.53753422e-06
+2.46636941e-06
+6.21463629e-05
+0.000438292085
+0.00100010701
+0.00155824872
+0.00210922749
+0.00265046484
+0.00318978013
+0.0037496478
+0.00438639067
+0.00457150893
+0.00462111154
+0.00438640674
+0.00374967579
+0.00318984435
+0.00265056602
+0.00210936803
+0.00155842858
+0.00100031305
+0.000438492824
+6.22006216e-05
+2.46590791e-06
+1.53741078e-06
+1.53523232e-06
+1.5374467e-06
+2.46927999e-06
+6.22441621e-05
+0.000438566369
+0.00100034879
+0.00155845526
+0.00210939454
+0.00265059555
+0.00318987831
+0.00374971672
+0.0043864321
+0.00457141936
+0.00462112415
+0.00438645207
+0.00374974884
+0.00318994642
+0.00265070008
+0.0021095376
+0.00155863647
+0.00100055435
+0.000438764767
+6.22981095e-05
+2.46881189e-06
+1.53732297e-06
+1.53513679e-06
+1.53735907e-06
+2.47219822e-06
+6.23417743e-05
+0.000438838407
+0.00100059012
+0.00155866319
+0.00210956414
+0.00265072965
+0.00318998044
+0.00374978983
+0.00438647745
+0.00457133101
+0.00462113804
+0.0043865011
+0.00374982588
+0.00319005232
+0.00265083745
+0.00210970966
+0.00155884566
+0.00100079504
+0.000439034672
+6.23954306e-05
+2.4717231e-06
+1.53723499e-06
+1.53504106e-06
+1.53727129e-06
+2.47512513e-06
+6.24392387e-05
+0.00043910843
+0.00100083085
+0.00155887241
+0.00210973624
+0.00265086704
+0.00319008636
+0.00374986692
+0.00438652648
+0.00457124337
+0.00462115329
+0.00438655354
+0.00374990668
+0.00319016182
+0.00265097793
+0.00210988405
+0.00155905592
+0.00100103485
+0.000439302607
+6.24925733e-05
+2.47464064e-06
+1.53714686e-06
+1.53494514e-06
+1.53718335e-06
+2.47805939e-06
+6.25365405e-05
+0.000439376502
+0.00100107071
+0.0015590827
+0.00210991065
+0.00265100756
+0.00319019589
+0.00374994777
+0.00438657893
+0.00457115655
+0.00462116993
+0.00438660917
+0.00374999099
+0.00319027469
+0.00265112131
+0.00211006048
+0.00155926693
+0.00100127348
+0.000439568528
+6.25894886e-05
+2.47756254e-06
+1.5370586e-06
+1.53484906e-06
+1.53709528e-06
+2.4809987e-06
+6.26336275e-05
+0.000439642576
+0.00100130938
+0.00155929373
+0.00211008711
+0.00265115096
+0.00319030879
+0.00375003211
+0.00438663457
+0.00457107059
+0.00462118802
+0.00438666776
+0.00375007858
+0.00319039071
+0.00265126735
+0.0021102387
+0.00155947834
+0.00100151059
+0.000439832365
+6.26861197e-05
+2.48048655e-06
+1.53697026e-06
+1.53475288e-06
+1.53700714e-06
+2.48394065e-06
+6.27304413e-05
+0.000439906582
+0.00100154653
+0.00155950518
+0.00211026536
+0.00265129702
+0.00319042483
+0.00375011974
+0.00438669316
+0.00457098553
+0.00462120754
+0.00438672912
+0.00375016926
+0.00319050969
+0.00265141584
+0.00211041845
+0.00155968988
+0.00100174593
+0.000440094076
+6.27824226e-05
+2.48341087e-06
+1.53688187e-06
+1.53465664e-06
+1.53691897e-06
+2.48688328e-06
+6.28269358e-05
+0.000440168473
+0.00100178192
+0.00155971674
+0.00211044513
+0.00265144551
+0.00319054382
+0.00375021044
+0.00438675452
+0.00457090136
+0.00462122852
+0.00438679308
+0.00375026281
+0.00319063142
+0.00265156656
+0.0021105995
+0.00155990126
+0.00100197933
+0.000440353661
+6.28783702e-05
+2.4863342e-06
+1.53679345e-06
+1.53456036e-06
+1.53683076e-06
+2.4898252e-06
+6.29230829e-05
+0.00044042825
+0.00100201535
+0.00155992814
+0.0021106262
+0.00265159625
+0.00319066556
+0.00375030403
+0.00438681847
+0.0045708181
+0.00462125095
+0.00438685945
+0.00375035909
+0.00319075572
+0.00265171932
+0.00211078162
+0.00156011224
+0.00100221061
+0.000440611151
+6.29739509e-05
+2.48925575e-06
+1.53670501e-06
+1.53446405e-06
+1.53674253e-06
+2.49276555e-06
+6.30188696e-05
+0.000440685942
+0.00100224668
+0.00156013915
+0.00211080833
+0.00265174902
+0.00319078989
+0.00375040033
+0.00438688484
+0.00457073574
+0.00462127482
+0.00438692807
+0.0037504579
+0.00319088242
+0.00265187393
+0.0021109646
+0.00156032262
+0.00100243968
+0.000440866594
+6.30691617e-05
+2.49217503e-06
+1.53661655e-06
+1.53436771e-06
+1.53665428e-06
+2.4957038e-06
+6.3114292e-05
+0.000440941595
+0.0010024758
+0.00156034955
+0.00211099134
+0.00265190365
+0.00319091659
+0.00375049916
+0.00438695346
+0.00457065426
+0.00462130011
+0.00438699878
+0.00375055905
+0.00319101132
+0.00265203018
+0.00211114821
+0.00156053218
+0.00100266646
+0.000441120041
+6.31640039e-05
+2.4950917e-06
+1.53652806e-06
+1.53427134e-06
+1.53656601e-06
+2.49863954e-06
+6.32093505e-05
+0.000441195261
+0.00100270261
+0.00156055913
+0.00211117497
+0.00265205991
+0.0031910455
+0.00375060034
+0.00438702417
+0.00457057363
+0.0046213268
+0.00438707142
+0.00375066235
+0.00319114221
+0.00265218785
+0.00211133223
+0.00156074072
+0.00100289086
+0.00044137154
+6.32584791e-05
+2.49800549e-06
+1.53643954e-06
+1.53417494e-06
+1.53647771e-06
+2.5015725e-06
+6.33040458e-05
+0.000441446985
+0.00100292707
+0.00156076771
+0.00211135901
+0.00265221759
+0.00319117641
+0.00375070367
+0.0043870968
+0.00457049385
+0.00462135486
+0.00438714581
+0.00375076761
+0.00319127489
+0.0026523467
+0.00211151641
+0.00156094805
+0.00100311283
+0.000441621128
+6.33525874e-05
+2.50091609e-06
+1.536351e-06
+1.53407851e-06
+1.53638938e-06
+2.50450232e-06
+6.33983772e-05
+0.000441696804
+0.00100314908
+0.00156097505
+0.00211154322
+0.00265237647
+0.0031913091
+0.00375080895
+0.00438717119
+0.00457041488
+0.00462138427
+0.00438722179
+0.00375087463
+0.00319140912
+0.00265250651
+0.00211170052
+0.00156115396
+0.00100333229
+0.000441868834
+6.34463271e-05
+2.50382316e-06
+1.53626241e-06
+1.53398204e-06
+1.53630102e-06
+2.50742865e-06
+6.34923425e-05
+0.000441944747
+0.00100336859
+0.00156118099
+0.00211172736
+0.00265253629
+0.00319144334
+0.00375091601
+0.00438724717
+0.00457033668
+0.00462141498
+0.00438729918
+0.0037509832
+0.00319154468
+0.00265266702
+0.00211188432
+0.00156135826
+0.00100354921
+0.000442114683
+6.35396952e-05
+2.50672636e-06
+1.5361738e-06
+1.53388553e-06
+1.53621262e-06
+2.51035112e-06
+6.35859378e-05
+0.000442190839
+0.00100358555
+0.00156138533
+0.00211191118
+0.00265269683
+0.00319157892
+0.00375102461
+0.00438732456
+0.00457025921
+0.00462144698
+0.00438737782
+0.0037510931
+0.00319168132
+0.00265282797
+0.00211206753
+0.00156156079
+0.00100376352
+0.000442358695
+6.36326876e-05
+2.50962531e-06
+1.53608515e-06
+1.533789e-06
+1.5361242e-06
+2.51326935e-06
+6.36791586e-05
+0.000442435094
+0.00100379992
+0.00156158789
+0.00211209443
+0.0026528578
+0.00319171559
+0.00375113454
+0.0043874032
+0.00457018245
+0.00462148022
+0.00438745752
+0.00375120411
+0.0031918188
+0.00265298911
+0.00211224995
+0.00156176137
+0.0010039752
+0.000442600882
+6.37253e-05
+2.51251967e-06
+1.53599648e-06
+1.53369245e-06
+1.53603575e-06
+2.51618297e-06
+6.37720002e-05
+0.00044267753
+0.00100401165
+0.0015617885
+0.00211227688
+0.00265301898
+0.0031918531
+0.00375124558
+0.00438748291
+0.00457010636
+0.00462151466
+0.00438753811
+0.00375131601
+0.00319195687
+0.00265315019
+0.00211243133
+0.00156195983
+0.00100418421
+0.000442841262
+6.38175288e-05
+2.51540911e-06
+1.53590779e-06
+1.53359587e-06
+1.53594727e-06
+2.51909162e-06
+6.38644584e-05
+0.000442918161
+0.0010042207
+0.00156198701
+0.00211245829
+0.00265318009
+0.0031919912
+0.00375135753
+0.00438756352
+0.00457003089
+0.00462155026
+0.00438761943
+0.00375142857
+0.00319209528
+0.00265331094
+0.00211261143
+0.00156215603
+0.00100439052
+0.000443079849
+6.39093706e-05
+2.51829332e-06
+1.53581907e-06
+1.53349928e-06
+1.53585877e-06
+2.52199503e-06
+6.39565293e-05
+0.000443157002
+0.00100442707
+0.00156218324
+0.00211263844
+0.00265334088
+0.00319212964
+0.00375147012
+0.00438764485
+0.00456995598
+0.00462158696
+0.00438770128
+0.00375154154
+0.00319223376
+0.0026534711
+0.00211279004
+0.00156234985
+0.00100459413
+0.000443316663
+6.40008232e-05
+2.52117207e-06
+1.53573032e-06
+1.53340267e-06
+1.53577025e-06
+2.52489292e-06
+6.40482105e-05
+0.00044339407
+0.00100463074
+0.00156237711
+0.0021128171
+0.00265350108
+0.00319226816
+0.00375158316
+0.00438772672
+0.0045698816
+0.00462162473
+0.00438778348
+0.00375165471
+0.00319237205
+0.00265363043
+0.00211296695
+0.00156254115
+0.00100479502
+0.000443551719
+6.40918853e-05
+2.52404515e-06
+1.53564155e-06
+1.53330604e-06
+1.5356817e-06
+2.52778509e-06
+6.41395005e-05
+0.000443629383
+0.00100483169
+0.00156256845
+0.00211299406
+0.00265366047
+0.00319240651
+0.00375169638
+0.00438780894
+0.00456980769
+0.00462166351
+0.00438786584
+0.00375176783
+0.00319250991
+0.00265378867
+0.00211314195
+0.00156272982
+0.0010049932
+0.000443785039
+6.41825566e-05
+2.52691238e-06
+1.53555275e-06
+1.53320939e-06
+1.53559314e-06
+2.53067136e-06
+6.42303984e-05
+0.000443862959
+0.00100502994
+0.00156275717
+0.00211316911
+0.00265381876
+0.00319254442
+0.00375180956
+0.00438789133
+0.00456973421
+0.00462170325
+0.00438794816
+0.00375188065
+0.00319264705
+0.00265394557
+0.00211331485
+0.00156291577
+0.00100518866
+0.000444016642
+6.42728372e-05
+2.52977363e-06
+1.53546393e-06
+1.53311273e-06
+1.53550454e-06
+2.53355156e-06
+6.43209045e-05
+0.000444094819
+0.00100522546
+0.00156294316
+0.00211334206
+0.00265397573
+0.00319268163
+0.00375192245
+0.00438797369
+0.00456966109
+0.0046217439
+0.00438803027
+0.00375199293
+0.00319278324
+0.0026541009
+0.00211348545
+0.00156309887
+0.00100538142
+0.000444246546
+6.43627279e-05
+2.53262878e-06
+1.53537508e-06
+1.53301604e-06
+1.53541591e-06
+2.53642561e-06
+6.44110191e-05
+0.000444324981
+0.00100541829
+0.00156312632
+0.00211351273
+0.00265413112
+0.00319281789
+0.0037520348
+0.00438805584
+0.00456958827
+0.00462178538
+0.00438811198
+0.00375210442
+0.00319291819
+0.0026542544
+0.00211365358
+0.00156327907
+0.00100557148
+0.000444474772
+6.44522291e-05
+2.53547771e-06
+1.53528619e-06
+1.53291933e-06
+1.53532726e-06
+2.53929338e-06
+6.45007426e-05
+0.000444553464
+0.00100560842
+0.00156330656
+0.00211368091
+0.00265428469
+0.00319295291
+0.00375214637
+0.00438813758
+0.00456951568
+0.00462182763
+0.00438819305
+0.00375221485
+0.00319305164
+0.00265440584
+0.00211381904
+0.00156345627
+0.00100575885
+0.000444701335
+6.45413412e-05
+2.53832032e-06
+1.53519727e-06
+1.5328226e-06
+1.53523855e-06
+2.54215475e-06
+6.45900751e-05
+0.000444780283
+0.00100579585
+0.00156348381
+0.00211384644
+0.0026544362
+0.00319308644
+0.0037522569
+0.00438821871
+0.00456944326
+0.00462187058
+0.00438827331
+0.00375232399
+0.00319318333
+0.00265455497
+0.00211398169
+0.00156363038
+0.00100594354
+0.000444926246
+6.46300633e-05
+2.54115648e-06
+1.53510831e-06
+1.53272584e-06
+1.53514982e-06
+2.54500959e-06
+6.46790159e-05
+0.000445005452
+0.00100598061
+0.00156365797
+0.00211400916
+0.00265458542
+0.00319321822
+0.00375236614
+0.00438829903
+0.00456937094
+0.00462191417
+0.00438835255
+0.00375243159
+0.003193313
+0.00265470159
+0.00211414133
+0.00156380133
+0.00100612554
+0.000445149516
+6.4718394e-05
+2.54398602e-06
+1.53501931e-06
+1.53262904e-06
+1.53506105e-06
+2.54785775e-06
+6.47675633e-05
+0.000445228977
+0.00100616269
+0.00156382898
+0.00211416887
+0.00265473211
+0.00319334797
+0.00375247382
+0.00438837834
+0.00456929863
+0.00462195831
+0.00438843057
+0.00375253736
+0.00319344038
+0.00265484542
+0.00211429782
+0.00156396905
+0.00100630488
+0.00044537115
+6.48063303e-05
+2.54680876e-06
+1.53493026e-06
+1.53253222e-06
+1.53497223e-06
+2.55069903e-06
+6.48557141e-05
+0.000445450864
+0.00100634211
+0.00156399678
+0.00211432543
+0.00265487605
+0.00319347545
+0.0037525797
+0.00438845643
+0.00456922628
+0.00462200296
+0.00438850718
+0.00375264109
+0.00319356521
+0.00265498628
+0.00211445099
+0.00156413348
+0.00100648155
+0.000445591147
+6.4893868e-05
+2.54962448e-06
+1.53484118e-06
+1.53243536e-06
+1.53488337e-06
+2.55353322e-06
+6.49434643e-05
+0.000445671115
+0.00100651885
+0.00156416126
+0.00211447869
+0.002655017
+0.00319360039
+0.00375268354
+0.00438853312
+0.00456915381
+0.004622048
+0.00438858217
+0.00375274251
+0.00319368726
+0.00265512395
+0.0021146007
+0.00156429455
+0.00100665555
+0.000445809507
+6.49810023e-05
+2.55243292e-06
+1.53475205e-06
+1.53233848e-06
+1.53479447e-06
+2.55636004e-06
+6.50308089e-05
+0.000445889726
+0.00100669293
+0.00156432238
+0.00211462848
+0.00265515476
+0.00319372255
+0.00375278509
+0.0043886082
+0.00456908111
+0.00462209338
+0.00438865537
+0.00375284139
+0.00319380627
+0.00265525819
+0.00211474681
+0.00156445217
+0.00100682688
+0.000446026224
+6.50677272e-05
+2.55523381e-06
+1.53466288e-06
+1.53224157e-06
+1.53470554e-06
+2.55917925e-06
+6.51177418e-05
+0.000446106691
+0.00100686433
+0.00156448008
+0.00211477467
+0.00265528912
+0.00319384168
+0.00375288411
+0.00438868149
+0.00456900814
+0.00462213902
+0.0043887266
+0.00375293752
+0.00319392202
+0.00265538884
+0.00211488918
+0.00156460631
+0.00100699554
+0.000446241292
+6.51540365e-05
+2.55802687e-06
+1.53457368e-06
+1.53214464e-06
+1.53461656e-06
+2.56199055e-06
+6.52042569e-05
+0.000446322006
+0.00100703308
+0.00156463429
+0.00211491714
+0.00265541987
+0.00319395755
+0.00375298038
+0.00438875281
+0.00456893479
+0.00462218483
+0.00438879568
+0.00375303067
+0.00319403428
+0.0026555157
+0.00211502768
+0.00156475693
+0.00100716153
+0.000446454703
+6.52399238e-05
+2.5608118e-06
+1.53448444e-06
+1.53204769e-06
+1.53452755e-06
+2.56479365e-06
+6.52903477e-05
+0.000446535662
+0.00100719916
+0.00156478497
+0.00211505572
+0.00265554683
+0.00319406993
+0.00375307366
+0.004388822
+0.00456886101
+0.00462223076
+0.00438886245
+0.00375312064
+0.00319414284
+0.00265563858
+0.00211516221
+0.00156490395
+0.00100732485
+0.00044666645
+6.53253831e-05
+2.56358836e-06
+1.53439517e-06
+1.53195072e-06
+1.53443851e-06
+2.56758829e-06
+6.53760081e-05
+0.000446747653
+0.00100736256
+0.00156493206
+0.00211519034
+0.00265566983
+0.00319417863
+0.00375316377
+0.00438888889
+0.00456878668
+0.0046222767
+0.00438892678
+0.00375320722
+0.0031942475
+0.00265575732
+0.00211529264
+0.00156504734
+0.0010074855
+0.000446876528
+6.54104089e-05
+2.56635625e-06
+1.53430586e-06
+1.53185374e-06
+1.53434943e-06
+2.57037419e-06
+6.54612326e-05
+0.000446957972
+0.0010075233
+0.00156507553
+0.00211532087
+0.00265578869
+0.00319428344
+0.00375325051
+0.00438895333
+0.00456871176
+0.0046223226
+0.0043889885
+0.00375329026
+0.0031943481
+0.00265587177
+0.00211541889
+0.00156518707
+0.00100764349
+0.000447084931
+6.54949959e-05
+2.56911525e-06
+1.53421652e-06
+1.53175675e-06
+1.53426032e-06
+2.57315113e-06
+6.55460161e-05
+0.000447166613
+0.00100768137
+0.00156521533
+0.00211544721
+0.00265590328
+0.00319438418
+0.00375333371
+0.00438901519
+0.00456863615
+0.00462236836
+0.00438904751
+0.00375336958
+0.00319444445
+0.00265598179
+0.00211554086
+0.0015653231
+0.00100779882
+0.000447291654
+6.55791401e-05
+2.57186515e-06
+1.53412714e-06
+1.53165973e-06
+1.53417117e-06
+2.5759189e-06
+6.56303543e-05
+0.000447373573
+0.00100783679
+0.00156535143
+0.00211556929
+0.00265601343
+0.00319448067
+0.00375341319
+0.00438907433
+0.00456855977
+0.00462241392
+0.00438910369
+0.00375344503
+0.0031945364
+0.00265608726
+0.00211565848
+0.00156545542
+0.00100795149
+0.000447496695
+6.56628376e-05
+2.57460575e-06
+1.53403773e-06
+1.53156269e-06
+1.53408199e-06
+2.57867729e-06
+6.57142435e-05
+0.000447578847
+0.00100798954
+0.00156548382
+0.00211568701
+0.00265611902
+0.00319457278
+0.00375348881
+0.00438913064
+0.00456848255
+0.00462245921
+0.00438915693
+0.00375351647
+0.00319462381
+0.00265618805
+0.00211577168
+0.00156558399
+0.0010081015
+0.000447700049
+6.57460851e-05
+2.57733689e-06
+1.53394827e-06
+1.53146564e-06
+1.53399278e-06
+2.58142613e-06
+6.57976802e-05
+0.000447782433
+0.00100813964
+0.00156561246
+0.00211580031
+0.00265621994
+0.00319466035
+0.00375356042
+0.00438918403
+0.00456840441
+0.00462250414
+0.00438920715
+0.00375358377
+0.00319470655
+0.00265628406
+0.00211588039
+0.00156570878
+0.00100824887
+0.000447901713
+6.58288792e-05
+2.58005837e-06
+1.53385878e-06
+1.53136855e-06
+1.53390351e-06
+2.58416526e-06
+6.58806613e-05
+0.000447984325
+0.00100828711
+0.00156573735
+0.00211590912
+0.00265631609
+0.00319474324
+0.00375362791
+0.00438923438
+0.00456832528
+0.00462254865
+0.00438925425
+0.00375364685
+0.0031947845
+0.00265637519
+0.00211598456
+0.00156582981
+0.0010083936
+0.000448101685
+6.59112166e-05
+2.58277004e-06
+1.53376923e-06
+1.53127144e-06
+1.53381419e-06
+2.58689451e-06
+6.59631836e-05
+0.000448184523
+0.00100843193
+0.00156585845
+0.00211601339
+0.00265640737
+0.00319482136
+0.00375369116
+0.00438928164
+0.00456824507
+0.00462259268
+0.00438929819
+0.00375370559
+0.00319485757
+0.00265646137
+0.00211608413
+0.00156594704
+0.00100853568
+0.000448299955
+6.59930934e-05
+2.5854717e-06
+1.53367962e-06
+1.5311743e-06
+1.53372482e-06
+2.58961369e-06
+6.60452429e-05
+0.000448383018
+0.00100857411
+0.00156597576
+0.00211611307
+0.00265649368
+0.00319489459
+0.00375375008
+0.00438932571
+0.00456816372
+0.00462263615
+0.00438933888
+0.0037537599
+0.00319492566
+0.00265654251
+0.00211617906
+0.00156606046
+0.00100867513
+0.000448496517
+6.60745052e-05
+2.58816315e-06
+1.53358997e-06
+1.53107712e-06
+1.5336354e-06
+2.59232259e-06
+6.6126835e-05
+0.000448579801
+0.00100871366
+0.00156608928
+0.00211620811
+0.00265657496
+0.00319496285
+0.00375380459
+0.00438936657
+0.00456808117
+0.004622679
+0.0043893763
+0.00375380974
+0.0031949887
+0.00265661856
+0.00211626933
+0.00156617008
+0.00100881194
+0.000448691359
+6.61554465e-05
+2.59084417e-06
+1.53350025e-06
+1.5309799e-06
+1.53354591e-06
+2.59502098e-06
+6.62079546e-05
+0.000448774862
+0.00100885056
+0.00156619897
+0.00211629849
+0.00265665115
+0.00319502606
+0.00375385462
+0.00438940414
+0.00456799734
+0.00462272117
+0.0043894104
+0.00375385504
+0.00319504663
+0.00265668946
+0.00211635489
+0.00156627586
+0.0010089461
+0.000448884467
+6.62359109e-05
+2.59351448e-06
+1.53341046e-06
+1.53088265e-06
+1.53345636e-06
+2.59770861e-06
+6.62885951e-05
+0.000448968188
+0.00100898483
+0.00156630484
+0.00211638417
+0.0026567222
+0.00319508416
+0.00375390011
+0.0043894384
+0.00456791218
+0.0046227626
+0.00438944117
+0.00375389576
+0.00319509939
+0.00265675517
+0.00211643573
+0.00156637782
+0.00100907763
+0.000449075826
+6.63158911e-05
+2.59617379e-06
+1.53332061e-06
+1.53078534e-06
+1.53336675e-06
+2.60038518e-06
+6.63687492e-05
+0.00044915976
+0.00100911645
+0.00156640688
+0.00211646512
+0.00265678805
+0.00319513709
+0.00375394102
+0.00438946934
+0.00456782561
+0.00462280324
+0.0043894686
+0.00375393187
+0.00319514696
+0.00265681565
+0.00211651182
+0.00156647595
+0.0010092065
+0.000449265414
+6.63953783e-05
+2.59882177e-06
+1.53323069e-06
+1.53068799e-06
+1.53327705e-06
+2.60305036e-06
+6.64484084e-05
+0.000449349561
+0.00100924542
+0.0015665051
+0.00211654133
+0.00265684868
+0.00319518484
+0.00375397733
+0.00438949693
+0.00456773759
+0.00462284305
+0.00438949269
+0.00375396337
+0.00319518931
+0.00265687089
+0.00211658316
+0.00156657023
+0.0010093327
+0.000449453211
+6.64743634e-05
+2.60145804e-06
+1.53314069e-06
+1.53059059e-06
+1.53318729e-06
+2.60570377e-06
+6.65275634e-05
+0.000449537568
+0.00100937173
+0.00156659948
+0.00211661277
+0.00265690407
+0.00319522737
+0.00375400903
+0.00438952119
+0.00456764807
+0.00462288195
+0.00438951346
+0.00375399026
+0.00319522643
+0.00265692087
+0.00211664973
+0.00156666068
+0.00100945626
+0.000449639192
+6.65528358e-05
+2.60408222e-06
+1.53305063e-06
+1.53049314e-06
+1.53309747e-06
+2.60834502e-06
+6.66062038e-05
+0.000449723757
+0.00100949538
+0.00156669002
+0.00211667946
+0.0026569542
+0.00319526466
+0.00375403612
+0.00438954212
+0.004567557
+0.00462291994
+0.00438953092
+0.00375401257
+0.00319525832
+0.0026569656
+0.00211671155
+0.00156674729
+0.00100957713
+0.000449823331
+6.66307844e-05
+2.60669388e-06
+1.53296049e-06
+1.53039567e-06
+1.53300757e-06
+2.61097369e-06
+6.66843184e-05
+0.000449908102
+0.00100961636
+0.00156677672
+0.0021167414
+0.00265699908
+0.00319529673
+0.00375405861
+0.00438955975
+0.00456746432
+0.00462295696
+0.00438954511
+0.00375403029
+0.00319528501
+0.00265700508
+0.00211676862
+0.00156683007
+0.00100969532
+0.000450005602
+6.67081975e-05
+2.60929257e-06
+1.53287028e-06
+1.53029814e-06
+1.5329176e-06
+2.61358932e-06
+6.67618956e-05
+0.000450090576
+0.00100973466
+0.0015668596
+0.00211679858
+0.00265703871
+0.0031953236
+0.00375407654
+0.00438957411
+0.00456737001
+0.00462299298
+0.00438955608
+0.0037540435
+0.00319530653
+0.00265703935
+0.00211682095
+0.00156690903
+0.00100981081
+0.000450185977
+6.67850631e-05
+2.61187783e-06
+1.53278e-06
+1.53020057e-06
+1.53282755e-06
+2.61619145e-06
+6.68389233e-05
+0.000450271152
+0.00100985026
+0.00156693864
+0.00211685103
+0.00265707312
+0.00319534529
+0.00375408995
+0.00438958525
+0.00456727403
+0.00462302796
+0.00438956389
+0.00375405225
+0.00319532292
+0.00265706842
+0.00211686858
+0.00156698417
+0.00100992362
+0.000450364427
+6.68613684e-05
+2.61444918e-06
+1.53268966e-06
+1.53010296e-06
+1.53273744e-06
+2.61877959e-06
+6.69153887e-05
+0.0004504498
+0.00100996316
+0.00156701389
+0.00211689876
+0.00265710234
+0.00319536186
+0.00375409889
+0.00438959323
+0.00456717633
+0.0046230619
+0.00438956861
+0.0037540566
+0.00319533424
+0.00265709235
+0.00211691151
+0.00156705552
+0.00101003371
+0.000450540925
+6.69371009e-05
+2.61700614e-06
+1.53259924e-06
+1.53000531e-06
+1.53264725e-06
+2.62135322e-06
+6.69912791e-05
+0.000450626493
+0.00101007336
+0.00156708532
+0.00211694181
+0.00265712641
+0.00319537335
+0.00375410344
+0.00438959811
+0.0045670769
+0.00462309476
+0.0043895703
+0.00375405664
+0.00319534056
+0.00265711119
+0.00211694981
+0.00156712307
+0.00101014109
+0.000450715439
+6.70122474e-05
+2.61954819e-06
+1.53250875e-06
+1.52990764e-06
+1.53255701e-06
+2.62391178e-06
+6.70665812e-05
+0.0004508012
+0.00101018084
+0.00156715298
+0.00211698022
+0.00265714539
+0.00319537985
+0.00375410367
+0.00438959997
+0.00456697572
+0.00462312652
+0.00438956905
+0.00375405246
+0.00319534197
+0.00265712499
+0.00211698349
+0.00156718688
+0.00101024575
+0.000450887943
+6.70867953e-05
+2.62207484e-06
+1.5324182e-06
+1.52980993e-06
+1.53246668e-06
+2.62645472e-06
+6.71412815e-05
+0.000450973892
+0.00101028561
+0.00156721687
+0.00211701402
+0.00265715934
+0.00319538142
+0.00375409968
+0.00438959889
+0.00456687276
+0.00462315717
+0.00438956496
+0.00375404417
+0.00319533856
+0.00265713384
+0.00211701264
+0.00156724695
+0.00101034768
+0.000451058408
+6.71607309e-05
+2.62458558e-06
+1.53232758e-06
+1.52971219e-06
+1.53237629e-06
+2.62898139e-06
+6.72153662e-05
+0.000451144538
+0.00101038765
+0.00156727702
+0.00211704327
+0.00265716832
+0.00319537816
+0.00375409157
+0.00438959495
+0.00456676801
+0.0046231867
+0.0043895581
+0.00375403186
+0.00319533043
+0.00265713784
+0.00211703729
+0.00156730331
+0.00101044691
+0.000451226809
+6.72340419e-05
+2.62707988e-06
+1.53223688e-06
+1.52961442e-06
+1.53228582e-06
+2.63149106e-06
+6.7288821e-05
+0.000451313111
+0.00101048696
+0.00156733347
+0.00211706802
+0.00265717244
+0.00319537019
+0.00375407944
+0.00438958826
+0.00456666147
+0.00462321511
+0.0043895486
+0.00375401568
+0.00319531768
+0.00265713704
+0.00211705753
+0.00156735601
+0.00101054341
+0.000451393115
+6.73067146e-05
+2.62955722e-06
+1.53214613e-06
+1.52951662e-06
+1.53219526e-06
+2.63398279e-06
+6.73616297e-05
+0.000451479574
+0.00101058353
+0.00156738622
+0.00211708833
+0.00265717176
+0.00319535758
+0.00375406341
+0.00438957891
+0.00456655311
+0.00462324237
+0.00438953657
+0.00375399575
+0.00319530047
+0.0026571316
+0.00211707342
+0.00156740509
+0.0010106372
+0.00045155731
+6.73787373e-05
+2.63201711e-06
+1.5320553e-06
+1.52941879e-06
+1.53210462e-06
+2.63645548e-06
+6.74337764e-05
+0.000451643899
+0.00101067736
+0.00156743533
+0.00211710427
+0.00265716638
+0.00319534049
+0.00375404363
+0.00438956701
+0.00456644295
+0.0046232685
+0.00438952211
+0.0037539722
+0.00319527892
+0.00265712159
+0.00211708504
+0.00156745057
+0.00101072827
+0.000451719365
+6.74500964e-05
+2.634459e-06
+1.5319644e-06
+1.52932094e-06
+1.53201385e-06
+2.63890733e-06
+6.75052393e-05
+0.000451806041
+0.00101076844
+0.0015674808
+0.00211711589
+0.00265715641
+0.003195319
+0.0037540202
+0.00438955266
+0.00456633098
+0.00462329349
+0.00438950535
+0.00375394522
+0.00319525319
+0.00265710717
+0.00211709252
+0.00156749256
+0.00101081668
+0.000451879276
+6.75207822e-05
+2.6368824e-06
+1.53187344e-06
+1.52922305e-06
+1.53192293e-06
+2.64133595e-06
+6.75759959e-05
+0.000451965967
+0.00101085675
+0.00156752267
+0.00211712328
+0.00265714194
+0.00319529327
+0.00375399326
+0.00438953598
+0.00456621724
+0.0046233173
+0.00438948642
+0.00375391494
+0.00319522343
+0.00265708847
+0.00211709594
+0.00156753109
+0.00101090242
+0.000452037023
+6.75907827e-05
+2.63928683e-06
+1.5317824e-06
+1.52912515e-06
+1.5318318e-06
+2.64373713e-06
+6.76460092e-05
+0.000452123601
+0.00101094225
+0.00156756094
+0.00211712646
+0.00265712307
+0.00319526339
+0.00375396293
+0.00438951708
+0.00456610174
+0.00462333996
+0.00438946548
+0.00375388157
+0.00319518986
+0.0026570657
+0.00211709547
+0.00156756631
+0.00101098561
+0.000452192634
+6.76600927e-05
+2.64167182e-06
+1.53169129e-06
+1.52902722e-06
+1.53174034e-06
+2.64610438e-06
+6.77152332e-05
+0.000452278882
+0.00101102492
+0.00156759564
+0.00211712551
+0.00265709987
+0.00319522949
+0.00375392935
+0.00438949604
+0.00456598455
+0.00462336139
+0.00438944267
+0.00375384528
+0.00319515267
+0.002657039
+0.00211709127
+0.00156759832
+0.00101106628
+0.000452346123
+6.7728706e-05
+2.64403698e-06
+1.53160012e-06
+1.52892926e-06
+1.53164837e-06
+2.64842606e-06
+6.77835868e-05
+0.00045243166
+0.00101110462
+0.00156762664
+0.00211712035
+0.00265707234
+0.00319519162
+0.00375389256
+0.00438947297
+0.00456586574
+0.00462338156
+0.0043894182
+0.00375380634
+0.00319511212
+0.00265700868
+0.00211708357
+0.0015676273
+0.0010111446
+0.000452497593
+6.7796632e-05
+2.64638212e-06
+1.53150886e-06
+1.52883127e-06
+1.53155555e-06
+2.6506826e-06
+6.7850948e-05
+0.000452581758
+0.00101118115
+0.0015676538
+0.00211711091
+0.00265704045
+0.00319514974
+0.00375385258
+0.00438944791
+0.0045657455
+0.00462340036
+0.00438939206
+0.00375376486
+0.00319506842
+0.00265697497
+0.00211707262
+0.00156765347
+0.00101122073
+0.000452647096
+6.78638712e-05
+2.64870701e-06
+1.53141754e-06
+1.52873325e-06
+1.53146132e-06
+2.65283791e-06
+6.79170741e-05
+0.000452728726
+0.00101125406
+0.00156767669
+0.00211709678
+0.00265700379
+0.00319510347
+0.00375380904
+0.00438942056
+0.00456562416
+0.00462341767
+0.00438936449
+0.00375372107
+0.00319502172
+0.00265693798
+0.00211705857
+0.00156767712
+0.00101129506
+0.000452794782
+6.79304373e-05
+2.65101169e-06
+1.53132613e-06
+1.52863521e-06
+1.53136467e-06
+2.65482966e-06
+6.7981547e-05
+0.000452871841
+0.00101132268
+0.00156769439
+0.00211707676
+0.00265696109
+0.00319505155
+0.00375376084
+0.00438939029
+0.00456550296
+0.00462343328
+0.00438933577
+0.00375367468
+0.00319497146
+0.00265689697
+0.00211704068
+0.00156769762
+0.0010113672
+0.000452940898
+6.79964018e-05
+2.65329697e-06
+1.53123466e-06
+1.52853713e-06
+1.53126414e-06
+2.65655664e-06
+6.8043695e-05
+0.00045300987
+0.00101138469
+0.00156770385
+0.00211704707
+0.00265690769
+0.00319498867
+0.0037537023
+0.00438935264
+0.00456538372
+0.00462344729
+0.00438930497
+0.00375362531
+0.00319491759
+0.00265685189
+0.00211701852
+0.00156771398
+0.00101143589
+0.00045308495
+6.8061729e-05
+2.65556494e-06
+1.53114316e-06
+1.52843901e-06
+1.53115796e-06
+2.65788137e-06
+6.81025004e-05
+0.000453141446
+0.00101143895
+0.00156770486
+0.00211700824
+0.00265684375
+0.00319491234
+0.0037536247
+0.00438929011
+0.00456527117
+)
+;
+
+boundaryField
+{
+    inlet
+    {
+        type            fixedValue;
+        value           uniform 3.75e-05;
+    }
+    outlet
+    {
+        type            inletOutlet;
+        phi             phi.gas;
+        inletValue      uniform 3.75e-05;
+        value           nonuniform List<scalar>
+25
+(
+0.00462344729
+0.00438930497
+0.00375362531
+0.00319491759
+0.00265685189
+0.00211701852
+0.00156771398
+0.00101143589
+0.00045308495
+6.8061729e-05
+2.65556494e-06
+1.53114316e-06
+1.52843901e-06
+1.53115796e-06
+2.65788137e-06
+6.81025004e-05
+0.000453141446
+0.00101143895
+0.00156770486
+0.00211700824
+0.00265684375
+0.00319491234
+0.0037536247
+0.00438929011
+0.00456527117
+)
+;
+    }
+    wall1
+    {
+        type            kqRWallFunction;
+        value           nonuniform List<scalar>
+75
+(
+0.00462107176
+0.00462108001
+0.00462108965
+0.00462110009
+0.00462111154
+0.00462112415
+0.00462113804
+0.00462115329
+0.00462116993
+0.00462118802
+0.00462120754
+0.00462122852
+0.00462125095
+0.00462127482
+0.00462130011
+0.0046213268
+0.00462135486
+0.00462138427
+0.00462141498
+0.00462144698
+0.00462148022
+0.00462151466
+0.00462155026
+0.00462158696
+0.00462162473
+0.00462166351
+0.00462170325
+0.0046217439
+0.00462178538
+0.00462182763
+0.00462187058
+0.00462191417
+0.00462195831
+0.00462200296
+0.004622048
+0.00462209338
+0.00462213902
+0.00462218483
+0.00462223076
+0.0046222767
+0.0046223226
+0.00462236836
+0.00462241392
+0.00462245921
+0.00462250414
+0.00462254865
+0.00462259268
+0.00462263615
+0.004622679
+0.00462272117
+0.0046227626
+0.00462280324
+0.00462284305
+0.00462288195
+0.00462291994
+0.00462295696
+0.00462299298
+0.00462302796
+0.0046230619
+0.00462309476
+0.00462312652
+0.00462315717
+0.0046231867
+0.00462321511
+0.00462324237
+0.0046232685
+0.00462329349
+0.0046233173
+0.00462333996
+0.00462336139
+0.00462338156
+0.00462340036
+0.00462341767
+0.00462343328
+0.00462344729
+)
+;
+    }
+    wall2
+    {
+        type            kqRWallFunction;
+        value           nonuniform List<scalar>
+75
+(
+0.004571605
+0.00457170683
+0.00457159572
+0.00457150893
+0.00457141936
+0.00457133101
+0.00457124337
+0.00457115655
+0.00457107059
+0.00457098553
+0.00457090136
+0.0045708181
+0.00457073574
+0.00457065426
+0.00457057363
+0.00457049385
+0.00457041488
+0.00457033668
+0.00457025921
+0.00457018245
+0.00457010636
+0.00457003089
+0.00456995598
+0.0045698816
+0.00456980769
+0.00456973421
+0.00456966109
+0.00456958827
+0.00456951568
+0.00456944326
+0.00456937094
+0.00456929863
+0.00456922628
+0.00456915381
+0.00456908111
+0.00456900814
+0.00456893479
+0.00456886101
+0.00456878668
+0.00456871176
+0.00456863615
+0.00456855977
+0.00456848255
+0.00456840441
+0.00456832528
+0.00456824507
+0.00456816372
+0.00456808117
+0.00456799734
+0.00456791218
+0.00456782561
+0.00456773759
+0.00456764807
+0.004567557
+0.00456746432
+0.00456737001
+0.00456727403
+0.00456717633
+0.0045670769
+0.00456697572
+0.00456687276
+0.00456676801
+0.00456666147
+0.00456655311
+0.00456644295
+0.00456633098
+0.00456621724
+0.00456610174
+0.00456598455
+0.00456586574
+0.0045657455
+0.00456562416
+0.00456550296
+0.00456538372
+0.00456527117
+)
+;
+    }
+    defaultFaces
+    {
+        type            empty;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/k.liquid b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/k.liquid
new file mode 100644
index 00000000000..ca759f110fd
--- /dev/null
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/k.liquid
@@ -0,0 +1,2152 @@
+/*--------------------------------*- 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;
+    location    "5";
+    object      k.liquid;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 2 -2 0 0 0 0];
+
+internalField   nonuniform List<scalar>
+1875
+(
+0.00462107178
+0.00438626966
+0.00374943216
+0.00318948542
+0.00265007829
+0.00210873598
+0.00155763888
+0.000999380931
+0.000437423577
+6.18238198e-05
+2.45481092e-06
+1.53774716e-06
+1.53559818e-06
+1.53778255e-06
+2.45815968e-06
+6.1867512e-05
+0.000437500668
+0.000999425328
+0.00155767899
+0.00210878059
+0.00265013037
+0.00318954622
+0.0037495042
+0.00438632469
+0.00462088389
+0.00462108004
+0.0043862957
+0.00374948272
+0.00318956251
+0.00265018484
+0.00210887534
+0.001557814
+0.000999588217
+0.000437663698
+6.19071859e-05
+2.45724409e-06
+1.53767321e-06
+1.53551776e-06
+1.53770889e-06
+2.46059938e-06
+6.19506028e-05
+0.000437737352
+0.000999624211
+0.001557841
+0.00210890223
+0.00265021478
+0.00318959689
+0.003749524
+0.00438631324
+0.004620904
+0.00462108968
+0.0043863283
+0.00374954262
+0.00318965239
+0.00265030848
+0.00210903703
+0.0015580175
+0.000999829931
+0.00043794267
+6.20052476e-05
+2.46012542e-06
+1.5375858e-06
+1.53542272e-06
+1.5376215e-06
+2.46348008e-06
+6.20486479e-05
+0.00043801617
+0.000999865675
+0.00155804415
+0.00210906349
+0.00265033794
+0.00318968626
+0.00374958341
+0.00438634531
+0.00462091141
+0.00462110012
+0.00438636547
+0.00374960712
+0.0031897465
+0.00265043576
+0.00210920155
+0.00155822273
+0.00100007209
+0.000438219527
+6.21032465e-05
+2.46301894e-06
+1.53749816e-06
+1.53532739e-06
+1.53753397e-06
+2.46638151e-06
+6.21467072e-05
+0.000438293046
+0.00100010784
+0.00155824942
+0.00210922806
+0.00265046528
+0.00318978045
+0.00374964801
+0.00438638252
+0.00462092198
+0.00462111157
+0.00438640684
+0.00374967597
+0.00318984463
+0.00265056641
+0.00210936855
+0.00155842924
+0.00100031384
+0.000438493749
+6.22009479e-05
+2.46591753e-06
+1.53741048e-06
+1.535232e-06
+1.53744645e-06
+2.46929213e-06
+6.22445068e-05
+0.00043856733
+0.00100034962
+0.00155845596
+0.0021093951
+0.00265059598
+0.00318987864
+0.00374971693
+0.00438642393
+0.00462093332
+0.00462112419
+0.00438645217
+0.00374974903
+0.00318994671
+0.00265070048
+0.00210953812
+0.00155863714
+0.00100055514
+0.000438765692
+6.22984362e-05
+2.46882154e-06
+1.53732268e-06
+1.53513648e-06
+1.53735881e-06
+2.47221039e-06
+6.23421194e-05
+0.000438839367
+0.00100059095
+0.0015586639
+0.0021095647
+0.00265073008
+0.00318998076
+0.00374979004
+0.00438646927
+0.00462094588
+0.00462113809
+0.00438650119
+0.00374982607
+0.00319005261
+0.00265083784
+0.00210971019
+0.00155884633
+0.00100079583
+0.000439035597
+6.23957576e-05
+2.47173278e-06
+1.5372347e-06
+1.53504074e-06
+1.53727103e-06
+2.47513733e-06
+6.24395841e-05
+0.00043910939
+0.00100083168
+0.00155887312
+0.00210973681
+0.00265086747
+0.00319008669
+0.00374986713
+0.0043865183
+0.00462095971
+0.00462115333
+0.00438655363
+0.00374990686
+0.00319016211
+0.00265097833
+0.00210988457
+0.00155905659
+0.00100103564
+0.000439303532
+6.24929007e-05
+2.47465035e-06
+1.53714657e-06
+1.53494482e-06
+1.53718309e-06
+2.47807164e-06
+6.25368864e-05
+0.000439377462
+0.00100107154
+0.0015590834
+0.00210991122
+0.002651008
+0.00319019622
+0.00374994798
+0.00438657075
+0.00462097491
+0.00462116999
+0.00438660926
+0.00374999118
+0.00319027498
+0.00265112171
+0.002110061
+0.00155926759
+0.00100127427
+0.000439569453
+6.25898163e-05
+2.47757228e-06
+1.53705831e-06
+1.53484875e-06
+1.53709503e-06
+2.48101098e-06
+6.26339738e-05
+0.000439643537
+0.00100131021
+0.00155929443
+0.00211008768
+0.00265115139
+0.00319030912
+0.00375003232
+0.00438662637
+0.0046209915
+0.00462118808
+0.00438666786
+0.00375007877
+0.00319039099
+0.00265126775
+0.00211023922
+0.00155947901
+0.00100151138
+0.000439833289
+6.26864478e-05
+2.48049632e-06
+1.53696997e-06
+1.53475256e-06
+1.53700689e-06
+2.48395297e-06
+6.2730788e-05
+0.000439907542
+0.00100154736
+0.00155950588
+0.00211026592
+0.00265129746
+0.00319042515
+0.00375011995
+0.00438668496
+0.00462100953
+0.0046212076
+0.00438672922
+0.00375016944
+0.00319050997
+0.00265141623
+0.00211041898
+0.00155969054
+0.00100174672
+0.000440095001
+6.2782751e-05
+2.48342066e-06
+1.53688158e-06
+1.53465632e-06
+1.53691871e-06
+2.48689564e-06
+6.28272828e-05
+0.000440169433
+0.00100178275
+0.00155971744
+0.00211044569
+0.00265144595
+0.00319054414
+0.00375021064
+0.00438674631
+0.00462102901
+0.00462122858
+0.00438679317
+0.003750263
+0.0031906317
+0.00265156695
+0.00211060002
+0.00155990192
+0.00100198011
+0.000440354586
+6.2878699e-05
+2.48634402e-06
+1.53679316e-06
+1.53456005e-06
+1.5368305e-06
+2.48983759e-06
+6.29234303e-05
+0.000440429211
+0.00100201618
+0.00155992884
+0.00211062676
+0.00265159669
+0.00319066588
+0.00375030424
+0.00438681025
+0.00462104994
+0.00462125102
+0.00438685955
+0.00375035928
+0.00319075601
+0.00265171971
+0.00211078214
+0.0015601129
+0.0010022114
+0.000440612076
+6.297428e-05
+2.4892656e-06
+1.53670472e-06
+1.53446374e-06
+1.53674228e-06
+2.49277799e-06
+6.30192174e-05
+0.000440686902
+0.00100224751
+0.00156013986
+0.0021108089
+0.00265174946
+0.00319079021
+0.00375040054
+0.00438687661
+0.00462107231
+0.00462127489
+0.00438692817
+0.00375045808
+0.00319088271
+0.00265187433
+0.00211096512
+0.00156032328
+0.00100244047
+0.000440867518
+6.30694912e-05
+2.49218491e-06
+1.53661626e-06
+1.5343674e-06
+1.53665403e-06
+2.49571627e-06
+6.31146403e-05
+0.000440942556
+0.00100247663
+0.00156035025
+0.0021109919
+0.00265190409
+0.00319091692
+0.00375049937
+0.00438694522
+0.00462109613
+0.00462130019
+0.00438699888
+0.00375055923
+0.0031910116
+0.00265203058
+0.00211114874
+0.00156053284
+0.00100266725
+0.000441120966
+6.31643337e-05
+2.49510161e-06
+1.53652777e-06
+1.53427103e-06
+1.53656576e-06
+2.49865205e-06
+6.32096991e-05
+0.000441196222
+0.00100270344
+0.00156055983
+0.00211117554
+0.00265206035
+0.00319104583
+0.00375060055
+0.00438701592
+0.00462112137
+0.00462132688
+0.00438707152
+0.00375066253
+0.0031911425
+0.00265218825
+0.00211133275
+0.00156074139
+0.00100289165
+0.000441372465
+6.32588092e-05
+2.49801543e-06
+1.53643925e-06
+1.53417463e-06
+1.53647746e-06
+2.50158505e-06
+6.33043948e-05
+0.000441447946
+0.0010029279
+0.00156076841
+0.00211135957
+0.00265221803
+0.00319117673
+0.00375070388
+0.00438708854
+0.004621148
+0.00462135494
+0.00438714591
+0.0037507678
+0.00319127517
+0.0026523471
+0.00211151693
+0.00156094871
+0.00100311362
+0.000441622052
+6.33529179e-05
+2.50092606e-06
+1.53635071e-06
+1.53407819e-06
+1.53638913e-06
+2.50451491e-06
+6.33987266e-05
+0.000441697765
+0.00100314991
+0.00156097576
+0.00211154378
+0.00265237691
+0.00319130942
+0.00375080916
+0.00438716291
+0.00462117602
+0.00462138436
+0.00438722189
+0.00375087482
+0.00319140941
+0.00265250691
+0.00211170105
+0.00156115462
+0.00100333308
+0.000441869759
+6.34466579e-05
+2.50383316e-06
+1.53626212e-06
+1.53398172e-06
+1.53630077e-06
+2.50744128e-06
+6.34926923e-05
+0.000441945708
+0.00100336942
+0.0015611817
+0.00211172793
+0.00265253673
+0.00319144367
+0.00375091621
+0.00438723887
+0.00462120537
+0.00462141508
+0.00438729928
+0.00375098339
+0.00319154496
+0.00265266741
+0.00211188484
+0.00156135892
+0.00100355
+0.000442115608
+6.35400264e-05
+2.50673639e-06
+1.53617351e-06
+1.53388521e-06
+1.53621237e-06
+2.51036379e-06
+6.3586288e-05
+0.0004421918
+0.00100358638
+0.00156138603
+0.00211191174
+0.00265269726
+0.00319157925
+0.00375102482
+0.00438731625
+0.00462123603
+0.00462144708
+0.00438737791
+0.00375109329
+0.00319168161
+0.00265282837
+0.00211206806
+0.00156156145
+0.00100376431
+0.000442359619
+6.36330191e-05
+2.50963537e-06
+1.53608486e-06
+1.53378868e-06
+1.53612395e-06
+2.51328206e-06
+6.36795092e-05
+0.000442436055
+0.00100380075
+0.00156158859
+0.00211209499
+0.00265285824
+0.00319171592
+0.00375113475
+0.00438739487
+0.00462126797
+0.00462148033
+0.00438745761
+0.00375120429
+0.00319181908
+0.00265298951
+0.00211225048
+0.00156176203
+0.00100397599
+0.000442601806
+6.37256319e-05
+2.51252976e-06
+1.53599619e-06
+1.53369213e-06
+1.5360355e-06
+2.51619571e-06
+6.37723512e-05
+0.000442678491
+0.00100401248
+0.0015617892
+0.00211227744
+0.00265301942
+0.00319185343
+0.00375124579
+0.00438747456
+0.00462130117
+0.00462151477
+0.00438753821
+0.00375131619
+0.00319195715
+0.00265315058
+0.00211243185
+0.00156196049
+0.001004185
+0.000442842186
+6.3817861e-05
+2.51541922e-06
+1.5359075e-06
+1.53359556e-06
+1.53594702e-06
+2.51910441e-06
+6.38648098e-05
+0.000442919122
+0.00100422153
+0.00156198771
+0.00211245886
+0.00265318053
+0.00319199153
+0.00375135773
+0.00438755516
+0.00462133556
+0.00462155037
+0.00438761953
+0.00375142875
+0.00319209556
+0.00265331134
+0.00211261195
+0.0015621567
+0.00100439131
+0.000443080773
+6.39097031e-05
+2.51830346e-06
+1.53581878e-06
+1.53349897e-06
+1.53585852e-06
+2.52200786e-06
+6.39568811e-05
+0.000443157963
+0.0010044279
+0.00156218395
+0.002112639
+0.00265334131
+0.00319212997
+0.00375147033
+0.00438763646
+0.0046213711
+0.00462158708
+0.00438770138
+0.00375154173
+0.00319223404
+0.0026534715
+0.00211279056
+0.00156235051
+0.00100459492
+0.000443317587
+6.4001156e-05
+2.52118224e-06
+1.53573003e-06
+1.53340236e-06
+1.53577e-06
+2.52490579e-06
+6.40485626e-05
+0.000443395031
+0.00100463157
+0.00156237781
+0.00211281767
+0.00265350152
+0.00319226849
+0.00375158337
+0.00438771831
+0.00462140776
+0.00462162485
+0.00438778357
+0.0037516549
+0.00319237233
+0.00265363082
+0.00211296747
+0.00156254181
+0.00100479581
+0.000443552643
+6.40922185e-05
+2.52405535e-06
+1.53564127e-06
+1.53330573e-06
+1.53568146e-06
+2.52779799e-06
+6.4139853e-05
+0.000443630344
+0.00100483252
+0.00156256915
+0.00211299462
+0.00265366091
+0.00319240684
+0.00375169659
+0.00438780051
+0.00462144548
+0.00462166364
+0.00438786593
+0.00375176801
+0.00319251019
+0.00265378907
+0.00211314247
+0.00156273048
+0.00100499399
+0.000443785963
+6.41828901e-05
+2.52692261e-06
+1.53555247e-06
+1.53320908e-06
+1.53559289e-06
+2.5306843e-06
+6.42307513e-05
+0.000443863921
+0.00100503077
+0.00156275787
+0.00211316968
+0.0026538192
+0.00319254475
+0.00375180977
+0.00438788287
+0.00462148422
+0.00462170338
+0.00438794826
+0.00375188083
+0.00319264734
+0.00265394597
+0.00211331537
+0.00156291643
+0.00100518945
+0.000444017566
+6.42731711e-05
+2.52978388e-06
+1.53546365e-06
+1.53311242e-06
+1.53550429e-06
+2.53356454e-06
+6.43212577e-05
+0.00044409578
+0.00100522629
+0.00156294386
+0.00211334263
+0.00265397616
+0.00319268196
+0.00375192266
+0.00438796521
+0.00462152393
+0.00462174403
+0.00438803037
+0.00375199312
+0.00319278352
+0.0026541013
+0.00211348597
+0.00156309953
+0.00100538221
+0.00044424747
+6.43630621e-05
+2.53263906e-06
+1.5353748e-06
+1.53301573e-06
+1.53541567e-06
+2.53643863e-06
+6.44113727e-05
+0.000444325942
+0.00100541912
+0.00156312702
+0.00211351329
+0.00265413156
+0.00319281821
+0.00375203501
+0.00438804734
+0.00462156453
+0.00462178552
+0.00438811207
+0.0037521046
+0.00319291847
+0.00265425479
+0.0021136541
+0.00156327973
+0.00100557227
+0.000444475696
+6.44525636e-05
+2.53548802e-06
+1.53528591e-06
+1.53291902e-06
+1.53532701e-06
+2.53930644e-06
+6.45010967e-05
+0.000444554425
+0.00100560925
+0.00156330726
+0.00211368148
+0.00265428513
+0.00319295324
+0.00375214658
+0.00438812905
+0.00462160598
+0.00462182777
+0.00438819315
+0.00375221504
+0.00319305192
+0.00265440624
+0.00211381956
+0.00156345693
+0.00100575964
+0.000444702258
+6.4541676e-05
+2.53833066e-06
+1.53519698e-06
+1.53282228e-06
+1.53523831e-06
+2.54216785e-06
+6.45904295e-05
+0.000444781245
+0.00100579668
+0.00156348451
+0.00211384701
+0.00265443664
+0.00319308677
+0.0037522571
+0.00438821016
+0.00462164819
+0.00462187073
+0.00438827341
+0.00375232418
+0.00319318362
+0.00265455537
+0.00211398221
+0.00156363104
+0.00100594432
+0.000444927169
+6.46303985e-05
+2.54116685e-06
+1.53510802e-06
+1.53272552e-06
+1.53514957e-06
+2.54502273e-06
+6.46793707e-05
+0.000445006413
+0.00100598144
+0.00156365868
+0.00211400972
+0.00265458586
+0.00319321854
+0.00375236634
+0.00438829045
+0.00462169112
+0.00462191432
+0.00438835265
+0.00375243177
+0.00319331328
+0.00265470198
+0.00211414185
+0.00156380199
+0.00100612633
+0.00044515044
+6.47187294e-05
+2.54399641e-06
+1.53501902e-06
+1.53262872e-06
+1.5350608e-06
+2.54787093e-06
+6.47679184e-05
+0.000445229938
+0.00100616352
+0.00156382969
+0.00211416944
+0.00265473255
+0.0031933483
+0.00375247403
+0.00438836973
+0.00462173468
+0.00462195847
+0.00438843066
+0.00375253755
+0.00319344066
+0.00265484582
+0.00211429834
+0.00156396971
+0.00100630567
+0.000445372073
+6.4806666e-05
+2.54681918e-06
+1.53492997e-06
+1.5325319e-06
+1.53497199e-06
+2.55071225e-06
+6.48560696e-05
+0.000445451826
+0.00100634294
+0.00156399748
+0.002114326
+0.00265487649
+0.00319347578
+0.00375257991
+0.00438844779
+0.00462177881
+0.00462200312
+0.00438850728
+0.00375264127
+0.0031935655
+0.00265498668
+0.00211445151
+0.00156413414
+0.00100648234
+0.000445592071
+6.4894204e-05
+2.54963493e-06
+1.53484089e-06
+1.53243505e-06
+1.53488313e-06
+2.55354647e-06
+6.49438202e-05
+0.000445672076
+0.00100651968
+0.00156416196
+0.00211447925
+0.00265501744
+0.00319360072
+0.00375268375
+0.00438852445
+0.00462182343
+0.00462204816
+0.00438858227
+0.0037527427
+0.00319368754
+0.00265512434
+0.00211460122
+0.00156429521
+0.00100665633
+0.000445810431
+6.49813386e-05
+2.5524434e-06
+1.53475176e-06
+1.53233817e-06
+1.53479422e-06
+2.55637334e-06
+6.50311651e-05
+0.000445890687
+0.00100669376
+0.00156432308
+0.00211462905
+0.0026551552
+0.00319372288
+0.0037527853
+0.0043885995
+0.00462186846
+0.00462209354
+0.00438865546
+0.00375284158
+0.00319380655
+0.00265525859
+0.00211474733
+0.00156445283
+0.00100682767
+0.000446027147
+6.50680639e-05
+2.55524432e-06
+1.5346626e-06
+1.53224126e-06
+1.53470529e-06
+2.55919259e-06
+6.51180985e-05
+0.000446107653
+0.00100686516
+0.00156448078
+0.00211477524
+0.00265528956
+0.00319384201
+0.00375288432
+0.00438867275
+0.00462191384
+0.00462213919
+0.00438872669
+0.00375293771
+0.00319392231
+0.00265538924
+0.00211488971
+0.00156460698
+0.00100699632
+0.000446242215
+6.51543734e-05
+2.55803741e-06
+1.5345734e-06
+1.53214433e-06
+1.53461631e-06
+2.56200392e-06
+6.52046139e-05
+0.000446322968
+0.00100703391
+0.00156463499
+0.0021149177
+0.00265542031
+0.00319395788
+0.00375298059
+0.00438874405
+0.00462195947
+0.00462218501
+0.00438879577
+0.00375303086
+0.00319403456
+0.00265551609
+0.0021150282
+0.00156475759
+0.00100716232
+0.000446455626
+6.52402611e-05
+2.56082237e-06
+1.53448416e-06
+1.53204738e-06
+1.5345273e-06
+2.56480706e-06
+6.52907051e-05
+0.000446536624
+0.00100719999
+0.00156478567
+0.00211505629
+0.00265554727
+0.00319407026
+0.00375307387
+0.0043888132
+0.00462200529
+0.00462223094
+0.00438886255
+0.00375312082
+0.00319414312
+0.00265563897
+0.00211516273
+0.00156490461
+0.00100732563
+0.000446667374
+6.53257207e-05
+2.56359895e-06
+1.53439488e-06
+1.53195041e-06
+1.53443826e-06
+2.56760174e-06
+6.53763659e-05
+0.000446748615
+0.00100736339
+0.00156493277
+0.00211519091
+0.00265567027
+0.00319417896
+0.00375316398
+0.00438888005
+0.00462205121
+0.00462227689
+0.00438892687
+0.00375320741
+0.00319424779
+0.00265575771
+0.00211529316
+0.001565048
+0.00100748629
+0.000446877451
+6.54107467e-05
+2.56636686e-06
+1.53430557e-06
+1.53185343e-06
+1.53434919e-06
+2.57038768e-06
+6.54615907e-05
+0.000446958933
+0.00100752413
+0.00156507623
+0.00211532143
+0.00265578913
+0.00319428377
+0.00375325072
+0.00438894445
+0.00462209717
+0.00462232279
+0.0043889886
+0.00375329044
+0.00319434839
+0.00265587216
+0.00211541941
+0.00156518773
+0.00100764428
+0.000447085854
+6.54953341e-05
+2.5691259e-06
+1.53421624e-06
+1.53175643e-06
+1.53426008e-06
+2.57316466e-06
+6.55463745e-05
+0.000447167575
+0.0010076822
+0.00156521603
+0.00211544778
+0.00265590371
+0.0031943845
+0.00375333392
+0.00438900627
+0.00462214308
+0.00462236856
+0.00438904761
+0.00375336976
+0.00319444474
+0.00265598218
+0.00211554138
+0.00156532376
+0.0010077996
+0.000447292577
+6.55794785e-05
+2.57187582e-06
+1.53412686e-06
+1.53165941e-06
+1.53417093e-06
+2.57593246e-06
+6.56307131e-05
+0.000447374534
+0.00100783762
+0.00156535214
+0.00211556985
+0.00265601386
+0.003194481
+0.0037534134
+0.00438906538
+0.00462218886
+0.00462241412
+0.00438910378
+0.00375344521
+0.00319453668
+0.00265608765
+0.002115659
+0.00156545608
+0.00100795227
+0.000447497617
+6.56631763e-05
+2.57461645e-06
+1.53403744e-06
+1.53156237e-06
+1.53408175e-06
+2.57869089e-06
+6.57146027e-05
+0.000447579809
+0.00100799037
+0.00156548453
+0.00211568758
+0.00265611946
+0.00319457311
+0.00375348902
+0.00438912165
+0.00462223445
+0.00462245941
+0.00438915703
+0.00375351665
+0.00319462409
+0.00265618844
+0.0021157722
+0.00156558465
+0.00100810228
+0.000447700971
+6.57464241e-05
+2.57734761e-06
+1.53394799e-06
+1.53146532e-06
+1.53399254e-06
+2.58143978e-06
+6.57980398e-05
+0.000447783394
+0.00100814047
+0.00156561317
+0.00211580087
+0.00265622038
+0.00319466067
+0.00375356063
+0.004389175
+0.00462227976
+0.00462250435
+0.00438920725
+0.00375358396
+0.00319470683
+0.00265628445
+0.00211588092
+0.00156570944
+0.00100824965
+0.000447902636
+6.58292185e-05
+2.58006912e-06
+1.5338585e-06
+1.53136824e-06
+1.53390327e-06
+2.58417894e-06
+6.58810212e-05
+0.000447985287
+0.00100828794
+0.00156573805
+0.00211590969
+0.00265631653
+0.00319474357
+0.00375362812
+0.00438922531
+0.00462232474
+0.00462254887
+0.00438925435
+0.00375364703
+0.00319478479
+0.00265637559
+0.00211598508
+0.00156583047
+0.00100839438
+0.000448102607
+6.59115562e-05
+2.58278082e-06
+1.53376894e-06
+1.53127113e-06
+1.53381395e-06
+2.58690823e-06
+6.59635438e-05
+0.000448185484
+0.00100843276
+0.00156585915
+0.00211601395
+0.0026564078
+0.00319482169
+0.00375369137
+0.00438927253
+0.00462236929
+0.0046225929
+0.00438929828
+0.00375370577
+0.00319485786
+0.00265646176
+0.00211608465
+0.0015659477
+0.00100853647
+0.000448300878
+6.59934333e-05
+2.58548251e-06
+1.53367934e-06
+1.53117399e-06
+1.53372458e-06
+2.58962744e-06
+6.60456035e-05
+0.00044838398
+0.00100857494
+0.00156597647
+0.00211611364
+0.00265649412
+0.00319489492
+0.00375375029
+0.00438931655
+0.00462241336
+0.00462263637
+0.00438933898
+0.00375376009
+0.00319492595
+0.0026565429
+0.00211617958
+0.00156606112
+0.00100867592
+0.000448497439
+6.60748454e-05
+2.58817398e-06
+1.53358969e-06
+1.53107681e-06
+1.53363516e-06
+2.59233638e-06
+6.6127196e-05
+0.000448580763
+0.00100871449
+0.00156608998
+0.00211620868
+0.0026565754
+0.00319496318
+0.0037538048
+0.00438935737
+0.00462245688
+0.00462267923
+0.0043893764
+0.00375380992
+0.00319498898
+0.00265661895
+0.00211626985
+0.00156617074
+0.00100881272
+0.000448692281
+6.6155787e-05
+2.59085503e-06
+1.53349996e-06
+1.53097959e-06
+1.53354567e-06
+2.59503481e-06
+6.62083159e-05
+0.000448775824
+0.00100885139
+0.00156619968
+0.00211629905
+0.00265665159
+0.00319502638
+0.00375385483
+0.00438939489
+0.00462249979
+0.0046227214
+0.0043894105
+0.00375385522
+0.00319504691
+0.00265668985
+0.00211635541
+0.00156627652
+0.00100894689
+0.00044888539
+6.62362517e-05
+2.59352537e-06
+1.53341018e-06
+1.53088233e-06
+1.53345612e-06
+2.59772249e-06
+6.62889567e-05
+0.00044896915
+0.00100898566
+0.00156630554
+0.00211638473
+0.00265672264
+0.00319508449
+0.00375390032
+0.00438942911
+0.00462254202
+0.00462276284
+0.00438944127
+0.00375389594
+0.00319509967
+0.00265675556
+0.00211643625
+0.00156637848
+0.00100907841
+0.000449076748
+6.63162322e-05
+2.59618471e-06
+1.53332033e-06
+1.53078502e-06
+1.53336651e-06
+2.60039909e-06
+6.63691112e-05
+0.000449160722
+0.00100911728
+0.00156640759
+0.00211646568
+0.00265678849
+0.00319513742
+0.00375394123
+0.00438946
+0.00462258352
+0.00462280348
+0.0043894687
+0.00375393206
+0.00319514724
+0.00265681605
+0.00211651234
+0.0015664766
+0.00100920728
+0.000449266336
+6.63957197e-05
+2.5988327e-06
+1.5332304e-06
+1.53068768e-06
+1.53327682e-06
+2.60306431e-06
+6.64487708e-05
+0.000449350523
+0.00100924625
+0.00156650581
+0.00211654189
+0.00265684912
+0.00319518517
+0.00375397754
+0.00438948754
+0.00462262423
+0.00462284329
+0.00438949278
+0.00375396356
+0.00319518959
+0.00265687128
+0.00211658368
+0.00156657089
+0.00100933349
+0.000449454133
+6.6474705e-05
+2.60146901e-06
+1.53314041e-06
+1.53059028e-06
+1.53318705e-06
+2.60571776e-06
+6.65279261e-05
+0.00044953853
+0.00100937256
+0.00156660019
+0.00211661334
+0.00265690451
+0.00319522769
+0.00375400924
+0.00438951175
+0.00462266411
+0.0046228822
+0.00438951355
+0.00375399045
+0.00319522671
+0.00265692126
+0.00211665025
+0.00156666134
+0.00100945704
+0.000449640114
+6.65531777e-05
+2.60409321e-06
+1.53305034e-06
+1.53049283e-06
+1.53309723e-06
+2.60835904e-06
+6.66065668e-05
+0.000449724719
+0.00100949621
+0.00156669073
+0.00211668003
+0.00265695464
+0.00319526499
+0.00375403633
+0.00438953263
+0.00462270311
+0.0046229202
+0.00438953101
+0.00375401275
+0.0031952586
+0.00265696599
+0.00211671207
+0.00156674795
+0.00100957791
+0.000449824253
+6.66311265e-05
+2.6067049e-06
+1.53296021e-06
+1.53039535e-06
+1.53300733e-06
+2.61098775e-06
+6.66846818e-05
+0.000449909064
+0.00100961719
+0.00156677743
+0.00211674197
+0.00265699952
+0.00319529706
+0.00375405882
+0.00438955021
+0.00462274119
+0.00462295722
+0.00438954521
+0.00375403048
+0.0031952853
+0.00265700548
+0.00211676914
+0.00156683073
+0.00100969611
+0.000450006524
+6.67085399e-05
+2.60930361e-06
+1.53286999e-06
+1.53029782e-06
+1.53291736e-06
+2.61360342e-06
+6.67622593e-05
+0.000450091538
+0.00100973549
+0.00156686031
+0.00211679915
+0.00265703915
+0.00319532393
+0.00375407675
+0.00438956452
+0.0046227783
+0.00462299324
+0.00438955618
+0.00375404368
+0.00319530681
+0.00265703974
+0.00211682147
+0.00156690969
+0.0010098116
+0.000450186899
+6.67854058e-05
+2.6118889e-06
+1.53277972e-06
+1.53020026e-06
+1.53282731e-06
+2.61620559e-06
+6.68392873e-05
+0.000450272114
+0.00100985109
+0.00156693935
+0.0021168516
+0.00265707356
+0.00319534562
+0.00375409016
+0.00438957561
+0.00462281443
+0.00462302823
+0.00438956399
+0.00375405243
+0.0031953232
+0.00265706881
+0.0021168691
+0.00156698483
+0.0010099244
+0.000450365349
+6.68617114e-05
+2.61446028e-06
+1.53268937e-06
+1.53010265e-06
+1.5327372e-06
+2.61879376e-06
+6.69157531e-05
+0.000450450762
+0.00100996399
+0.00156701459
+0.00211689933
+0.00265710278
+0.00319536219
+0.0037540991
+0.00438958353
+0.00462284952
+0.00462306217
+0.0043895687
+0.00375405679
+0.00319533452
+0.00265709274
+0.00211691203
+0.00156705618
+0.00101003449
+0.000450541846
+6.69374442e-05
+2.61701726e-06
+1.53259896e-06
+1.530005e-06
+1.53264702e-06
+2.62136743e-06
+6.69916438e-05
+0.000450627455
+0.00101007419
+0.00156708602
+0.00211694238
+0.00265712685
+0.00319537368
+0.00375410365
+0.00438958835
+0.00462288356
+0.00462309504
+0.0043895704
+0.00375405683
+0.00319534085
+0.00265711158
+0.00211695033
+0.00156712373
+0.00101014188
+0.00045071636
+6.70125909e-05
+2.61955933e-06
+1.53250847e-06
+1.52990732e-06
+1.53255677e-06
+2.62392604e-06
+6.70669462e-05
+0.000450802162
+0.00101018167
+0.00156715369
+0.00211698078
+0.00265714583
+0.00319538018
+0.00375410388
+0.00438959016
+0.00462291654
+0.0046231268
+0.00438956915
+0.00375405264
+0.00319534225
+0.00265712539
+0.00211698402
+0.00156718754
+0.00101024653
+0.000450888865
+6.7087139e-05
+2.62208601e-06
+1.53241791e-06
+1.52980961e-06
+1.53246645e-06
+2.62646901e-06
+6.71416469e-05
+0.000450974854
+0.00101028644
+0.00156721758
+0.00211701459
+0.00265715978
+0.00319538176
+0.00375409989
+0.00438958903
+0.00462294843
+0.00462315746
+0.00438956505
+0.00375404435
+0.00319533884
+0.00265713424
+0.00211701316
+0.00156724761
+0.00101034847
+0.000451059329
+6.71610749e-05
+2.62459677e-06
+1.53232729e-06
+1.52971187e-06
+1.53237606e-06
+2.62899572e-06
+6.72157319e-05
+0.0004511455
+0.00101038848
+0.00156727773
+0.00211704384
+0.00265716876
+0.00319537849
+0.00375409178
+0.00438958503
+0.00462297922
+0.00462318699
+0.0043895582
+0.00375403205
+0.00319533071
+0.00265713823
+0.00211703781
+0.00156730397
+0.00101044769
+0.00045122773
+6.72343861e-05
+2.62709109e-06
+1.5322366e-06
+1.52961411e-06
+1.53228559e-06
+2.63150542e-06
+6.7289187e-05
+0.000451314073
+0.00101048779
+0.00156733417
+0.00211706859
+0.00265717288
+0.00319537052
+0.00375407965
+0.00438957828
+0.0046230089
+0.0046232154
+0.0043895487
+0.00375401586
+0.00319531796
+0.00265713744
+0.00211705805
+0.00156735667
+0.00101054419
+0.000451394036
+6.73070591e-05
+2.62956846e-06
+1.53214585e-06
+1.52951631e-06
+1.53219503e-06
+2.63399719e-06
+6.73619961e-05
+0.000451480536
+0.00101058436
+0.00156738693
+0.0021170889
+0.0026571722
+0.00319535791
+0.00375406363
+0.00438956887
+0.00462303747
+0.00462324268
+0.00438953666
+0.00375399593
+0.00319530076
+0.00265713199
+0.00211707394
+0.00156740575
+0.00101063798
+0.000451558231
+6.73790821e-05
+2.63202837e-06
+1.53205502e-06
+1.52941848e-06
+1.53210439e-06
+2.63646991e-06
+6.74341431e-05
+0.000451644861
+0.00101067819
+0.00156743603
+0.00211710484
+0.00265716682
+0.00319534082
+0.00375404384
+0.00438955691
+0.00462306493
+0.00462326881
+0.0043895222
+0.00375397239
+0.0031952792
+0.00265712198
+0.00211708556
+0.00156745123
+0.00101072905
+0.000451720286
+6.74504414e-05
+2.63447029e-06
+1.53196412e-06
+1.52932063e-06
+1.53201362e-06
+2.63892179e-06
+6.75056063e-05
+0.000451807003
+0.00101076927
+0.0015674815
+0.00211711646
+0.00265715685
+0.00319531933
+0.00375402041
+0.0043895425
+0.00462309128
+0.0046232938
+0.00438950544
+0.0037539454
+0.00319525347
+0.00265710756
+0.00211709304
+0.00156749322
+0.00101081746
+0.000451880197
+6.75211275e-05
+2.63689372e-06
+1.53187316e-06
+1.52922274e-06
+1.53192269e-06
+2.64135044e-06
+6.75763631e-05
+0.000451966929
+0.00101085758
+0.00156752338
+0.00211712385
+0.00265714238
+0.0031952936
+0.00375399348
+0.00438952576
+0.00462311655
+0.00462331762
+0.00438948652
+0.00375391512
+0.00319522371
+0.00265708886
+0.00211709646
+0.00156753175
+0.0010109032
+0.000452037944
+6.75911283e-05
+2.63929816e-06
+1.53178212e-06
+1.52912484e-06
+1.53183156e-06
+2.64375163e-06
+6.76463766e-05
+0.000452124563
+0.00101094308
+0.00156756165
+0.00211712703
+0.00265712351
+0.00319526372
+0.00375396315
+0.0043895068
+0.00462314075
+0.00462334028
+0.00438946558
+0.00375388175
+0.00319519015
+0.00265706609
+0.002117096
+0.00156756697
+0.00101098639
+0.000452193555
+6.76604385e-05
+2.64168318e-06
+1.53169101e-06
+1.5290269e-06
+1.53174011e-06
+2.64611888e-06
+6.77156007e-05
+0.000452279843
+0.00101102575
+0.00156759634
+0.00211712607
+0.00265710031
+0.00319522983
+0.00375392956
+0.00438948571
+0.00462316396
+0.00462336172
+0.00438944277
+0.00375384547
+0.00319515295
+0.0026570394
+0.00211709179
+0.00156759898
+0.00101106706
+0.000452347044
+6.77290521e-05
+2.64404837e-06
+1.53159983e-06
+1.52892895e-06
+1.53164813e-06
+2.64844054e-06
+6.77839542e-05
+0.000452432621
+0.00101110544
+0.00156762734
+0.00211712091
+0.00265707278
+0.00319519195
+0.00375389277
+0.00438946258
+0.00462318623
+0.00462338189
+0.0043894183
+0.00375380653
+0.00319511241
+0.00265700908
+0.0021170841
+0.00156762796
+0.00101114538
+0.000452498515
+6.77969785e-05
+2.64639353e-06
+1.53150858e-06
+1.52883096e-06
+1.53155532e-06
+2.65069701e-06
+6.78513151e-05
+0.000452582718
+0.00101118198
+0.00156765451
+0.00211711147
+0.00265704089
+0.00319515007
+0.00375385279
+0.00438943746
+0.00462320773
+0.00462340069
+0.00438939216
+0.00375376505
+0.00319506871
+0.00265697537
+0.00211707315
+0.00156765413
+0.00101122152
+0.000452648019
+6.78642181e-05
+2.64871845e-06
+1.53141725e-06
+1.52873294e-06
+1.53146108e-06
+2.65285215e-06
+6.79174403e-05
+0.000452729684
+0.00101125489
+0.00156767739
+0.00211709734
+0.00265700423
+0.00319510379
+0.00375380925
+0.00438941006
+0.00462322874
+0.004623418
+0.00438936459
+0.00375372126
+0.00319502201
+0.00265693838
+0.00211705909
+0.00156767779
+0.00101129585
+0.000452795706
+6.79307848e-05
+2.65102315e-06
+1.53132585e-06
+1.5286349e-06
+1.53136443e-06
+2.65484358e-06
+6.79819114e-05
+0.000452872796
+0.00101132351
+0.00156769508
+0.00211707732
+0.00265696152
+0.00319505188
+0.00375376105
+0.00438937974
+0.00462324996
+0.00462343362
+0.00438933587
+0.00375367487
+0.00319497175
+0.00265689737
+0.00211704121
+0.00156769828
+0.00101136799
+0.000452941825
+6.799675e-05
+2.65330847e-06
+1.53123438e-06
+1.52853682e-06
+1.53126388e-06
+2.65656997e-06
+6.80440559e-05
+0.000453010819
+0.00101138551
+0.00156770453
+0.00211704762
+0.00265690811
+0.00319498898
+0.00375370249
+0.00438934208
+0.0046232728
+0.00462344763
+0.00438930507
+0.0037536255
+0.00319491789
+0.00265685229
+0.00211701905
+0.00156771466
+0.00101143669
+0.000453085881
+6.8062078e-05
+2.65557647e-06
+1.53114288e-06
+1.5284387e-06
+1.53115769e-06
+2.65789369e-06
+6.81028548e-05
+0.000453142384
+0.00101143975
+0.00156770554
+0.00211700877
+0.00265684415
+0.00319491263
+0.00375362486
+0.0043892798
+0.00462330671
+)
+;
+
+boundaryField
+{
+    inlet
+    {
+        type            mapped;
+        fieldName       k.liquid;
+        setAverage      0;
+        average         0;
+        interpolationScheme cell;
+        value           nonuniform List<scalar>
+25
+(
+0.00462110009
+0.00438636537
+0.00374960694
+0.00318974621
+0.00265043536
+0.00210920102
+0.00155822206
+0.0010000713
+0.000438218602
+6.21029206e-05
+2.46300935e-06
+1.53749845e-06
+1.53532771e-06
+1.53753422e-06
+2.46636941e-06
+6.21463629e-05
+0.000438292085
+0.00100010701
+0.00155824872
+0.00210922749
+0.00265046484
+0.00318978013
+0.00374964777
+0.00438638241
+0.00462092213
+)
+;
+    }
+    outlet
+    {
+        type            inletOutlet;
+        phi             phi.liquid;
+        inletValue      uniform 3.75e-05;
+        value           nonuniform List<scalar>
+25
+(
+0.00462344763
+0.00438930507
+0.0037536255
+0.00319491789
+0.00265685229
+0.00211701905
+0.00156771466
+0.00101143669
+0.000453085881
+6.8062078e-05
+2.65557647e-06
+1.53114288e-06
+1.5284387e-06
+1.53115769e-06
+2.65789369e-06
+6.81028548e-05
+0.000453142384
+0.00101143975
+0.00156770554
+0.00211700877
+0.00265684415
+0.00319491263
+0.00375362486
+0.0043892798
+0.00462330671
+)
+;
+    }
+    wall1
+    {
+        type            kqRWallFunction;
+        value           nonuniform List<scalar>
+75
+(
+0.00462107178
+0.00462108004
+0.00462108968
+0.00462110012
+0.00462111157
+0.00462112419
+0.00462113809
+0.00462115333
+0.00462116999
+0.00462118808
+0.0046212076
+0.00462122858
+0.00462125102
+0.00462127489
+0.00462130019
+0.00462132688
+0.00462135494
+0.00462138436
+0.00462141508
+0.00462144708
+0.00462148033
+0.00462151477
+0.00462155037
+0.00462158708
+0.00462162485
+0.00462166364
+0.00462170338
+0.00462174403
+0.00462178552
+0.00462182777
+0.00462187073
+0.00462191432
+0.00462195847
+0.00462200312
+0.00462204816
+0.00462209354
+0.00462213919
+0.00462218501
+0.00462223094
+0.00462227689
+0.00462232279
+0.00462236856
+0.00462241412
+0.00462245941
+0.00462250435
+0.00462254887
+0.0046225929
+0.00462263637
+0.00462267923
+0.0046227214
+0.00462276284
+0.00462280348
+0.00462284329
+0.0046228822
+0.0046229202
+0.00462295722
+0.00462299324
+0.00462302823
+0.00462306217
+0.00462309504
+0.0046231268
+0.00462315746
+0.00462318699
+0.0046232154
+0.00462324268
+0.00462326881
+0.0046232938
+0.00462331762
+0.00462334028
+0.00462336172
+0.00462338189
+0.00462340069
+0.004623418
+0.00462343362
+0.00462344763
+)
+;
+    }
+    wall2
+    {
+        type            kqRWallFunction;
+        value           nonuniform List<scalar>
+75
+(
+0.00462088389
+0.004620904
+0.00462091141
+0.00462092198
+0.00462093332
+0.00462094588
+0.00462095971
+0.00462097491
+0.0046209915
+0.00462100953
+0.00462102901
+0.00462104994
+0.00462107231
+0.00462109613
+0.00462112137
+0.004621148
+0.00462117602
+0.00462120537
+0.00462123603
+0.00462126797
+0.00462130117
+0.00462133556
+0.0046213711
+0.00462140776
+0.00462144548
+0.00462148422
+0.00462152393
+0.00462156453
+0.00462160598
+0.00462164819
+0.00462169112
+0.00462173468
+0.00462177881
+0.00462182343
+0.00462186846
+0.00462191384
+0.00462195947
+0.00462200529
+0.00462205121
+0.00462209717
+0.00462214308
+0.00462218886
+0.00462223445
+0.00462227976
+0.00462232474
+0.00462236929
+0.00462241336
+0.00462245688
+0.00462249979
+0.00462254202
+0.00462258352
+0.00462262423
+0.00462266411
+0.00462270311
+0.00462274119
+0.0046227783
+0.00462281443
+0.00462284952
+0.00462288356
+0.00462291654
+0.00462294843
+0.00462297922
+0.0046230089
+0.00462303747
+0.00462306493
+0.00462309128
+0.00462311655
+0.00462314075
+0.00462316396
+0.00462318623
+0.00462320773
+0.00462322874
+0.00462324996
+0.0046232728
+0.00462330671
+)
+;
+    }
+    defaultFaces
+    {
+        type            empty;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/nut.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/nut.gas
new file mode 100644
index 00000000000..a4f1e28526c
--- /dev/null
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/nut.gas
@@ -0,0 +1,1965 @@
+/*--------------------------------*- 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;
+    location    "5";
+    object      nut.gas;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 2 -1 0 0 0 0];
+
+internalField   nonuniform List<scalar>
+1875
+(
+4.57970072e-05
+0.000104055692
+0.000140550021
+0.000161102808
+0.00016607229
+0.000156791223
+0.000134780553
+0.000101355879
+5.65336369e-05
+1.11269037e-05
+8.07158245e-07
+6.63581651e-07
+6.63114519e-07
+6.63586084e-07
+8.07693224e-07
+1.11355832e-05
+5.65453949e-05
+0.000101361291
+0.000134782775
+0.000156791723
+0.000166071639
+0.000161100955
+0.000140546252
+0.00010403924
+4.55512541e-05
+4.57970482e-05
+0.000104056695
+0.000140552884
+0.000161108237
+0.000166080845
+0.000156803348
+0.000134796519
+0.000101375584
+5.65602419e-05
+1.11407537e-05
+8.07621315e-07
+6.63580218e-07
+6.63111766e-07
+6.63584732e-07
+8.08166213e-07
+1.1149471e-05
+5.65718313e-05
+0.000101380543
+0.000134798101
+0.000156803089
+0.000166079387
+0.000161105598
+0.000140548423
+0.000104040749
+4.55517649e-05
+4.5797096e-05
+0.000104057889
+0.000140556218
+0.000161114544
+0.000166090796
+0.000156817478
+0.000134815167
+0.000101398659
+5.65913414e-05
+1.11570852e-05
+8.08170287e-07
+6.63578535e-07
+6.63108522e-07
+6.63583113e-07
+8.08725781e-07
+1.116587e-05
+5.66029923e-05
+0.000101403621
+0.000134816726
+0.000156817189
+0.000166089312
+0.000161111885
+0.000140551743
+0.000104041877
+4.55512112e-05
+4.57971478e-05
+0.000104059157
+0.000140559658
+0.00016112098
+0.000166100887
+0.000156831739
+0.000134833917
+0.000101421773
+5.66223165e-05
+1.1173433e-05
+8.0872239e-07
+6.63576854e-07
+6.63105265e-07
+6.63581496e-07
+8.09287932e-07
+1.1182289e-05
+5.66340366e-05
+0.000101426753
+0.000134835471
+0.000156831441
+0.000166099393
+0.000161118314
+0.000140555174
+0.000104043149
+4.55507791e-05
+4.57972045e-05
+0.0001040605
+0.000140563201
+0.000161127538
+0.000166111099
+0.000156846106
+0.000134852725
+0.000101444856
+5.66531021e-05
+1.11897563e-05
+8.09276309e-07
+6.63575173e-07
+6.63102001e-07
+6.63579881e-07
+8.09851249e-07
+1.11986838e-05
+5.66648911e-05
+0.000101449854
+0.000134854273
+0.000156845795
+0.000166109595
+0.000161124862
+0.000140558707
+0.000104044453
+4.5550333e-05
+4.57972671e-05
+0.00010406192
+0.000140566849
+0.000161134218
+0.00016612144
+0.000156860583
+0.000134871602
+0.000101467914
+5.66837329e-05
+1.12060682e-05
+8.09832402e-07
+6.63573486e-07
+6.63098739e-07
+6.63578254e-07
+8.10416141e-07
+1.12150667e-05
+5.66955908e-05
+0.00010147293
+0.000134873146
+0.00015686026
+0.000166119924
+0.000161131532
+0.000140562343
+0.000104045847
+4.5549893e-05
+4.5797336e-05
+0.000104063412
+0.000140570599
+0.000161141021
+0.000166131908
+0.000156875172
+0.000134890543
+0.000101490943
+5.67142307e-05
+1.12223755e-05
+8.10390947e-07
+6.63571804e-07
+6.63095465e-07
+6.63576637e-07
+8.10982947e-07
+1.12314441e-05
+5.67261569e-05
+0.000101495978
+0.000134892081
+0.000156874838
+0.000166130379
+0.000161138324
+0.000140566081
+0.000104047314
+4.55494565e-05
+4.57974116e-05
+0.000104064973
+0.000140574448
+0.000161147939
+0.000166142492
+0.00015688986
+0.000134909534
+0.000101513926
+5.67445976e-05
+1.12386753e-05
+8.10951823e-07
+6.63570126e-07
+6.63092186e-07
+6.6357501e-07
+8.11551613e-07
+1.12478127e-05
+5.67565914e-05
+0.00010151898
+0.000134911067
+0.000156889515
+0.000166140953
+0.00016114523
+0.000140569919
+0.000104048848
+4.55490242e-05
+4.57974941e-05
+0.0001040666
+0.000140578393
+0.000161154963
+0.000166153182
+0.00015690463
+0.000134928551
+0.000101536846
+5.67748242e-05
+1.12549583e-05
+8.11514693e-07
+6.63568454e-07
+6.63088906e-07
+6.63573384e-07
+8.1212185e-07
+1.12641634e-05
+5.67868848e-05
+0.000101541919
+0.000134930079
+0.000156904275
+0.000166151631
+0.000161152243
+0.00014057385
+0.000104050447
+4.55485961e-05
+4.57975838e-05
+0.000104068289
+0.000140582426
+0.000161162087
+0.000166163966
+0.000156919465
+0.000134947567
+0.000101559676
+5.68048976e-05
+1.12712141e-05
+8.12079138e-07
+6.63566776e-07
+6.63085613e-07
+6.63571757e-07
+8.12693297e-07
+1.12804855e-05
+5.68170243e-05
+0.000101564769
+0.000134949094
+0.000156919099
+0.000166162404
+0.000161159356
+0.000140577871
+0.000104052106
+4.55481725e-05
+4.57976806e-05
+0.000104070036
+0.000140586545
+0.000161169305
+0.000166174833
+0.000156934349
+0.000134966567
+0.000101582401
+5.68348092e-05
+1.12874344e-05
+8.12644833e-07
+6.63565105e-07
+6.63082328e-07
+6.63570133e-07
+8.13265652e-07
+1.12967707e-05
+5.68470007e-05
+0.000101587512
+0.000134968089
+0.000156933973
+0.000166173259
+0.000161166562
+0.000140581976
+0.000104053824
+4.55477533e-05
+4.57977846e-05
+0.000104071839
+0.000140590746
+0.00016117661
+0.000166185774
+0.000156949268
+0.00013498553
+0.00010160501
+5.68645546e-05
+1.13036138e-05
+8.13211521e-07
+6.63563434e-07
+6.63079038e-07
+6.63568507e-07
+8.13838701e-07
+1.13130136e-05
+5.68768101e-05
+0.000101610138
+0.00013498705
+0.000156948884
+0.00016618419
+0.000161173856
+0.000140586165
+0.000104055595
+4.55473386e-05
+4.57978959e-05
+0.000104073693
+0.000140595026
+0.000161183997
+0.000166196781
+0.000156964211
+0.000135004444
+0.000101627493
+5.68941344e-05
+1.13197494e-05
+8.13779049e-07
+6.63561766e-07
+6.63075747e-07
+6.63566882e-07
+8.14412323e-07
+1.13292113e-05
+5.69064525e-05
+0.000101632638
+0.000135005963
+0.000156963817
+0.000166195186
+0.000161181233
+0.000140590432
+0.000104057419
+4.55469284e-05
+4.57980142e-05
+0.000104075595
+0.00014059938
+0.000161191462
+0.000166207846
+0.000156979165
+0.000135023297
+0.000101649842
+5.69235503e-05
+1.13358399e-05
+8.14347297e-07
+6.63560103e-07
+6.63072454e-07
+6.63565257e-07
+8.14986433e-07
+1.13453625e-05
+5.693593e-05
+0.000101655006
+0.000135024813
+0.000156978763
+0.000166206241
+0.000161188687
+0.000140594773
+0.00010405929
+4.55465225e-05
+4.57981396e-05
+0.000104077543
+0.000140603805
+0.000161198999
+0.000166218959
+0.000156994121
+0.000135042079
+0.000101672056
+5.69528052e-05
+1.13518846e-05
+8.14916186e-07
+6.63558438e-07
+6.63069158e-07
+6.6356363e-07
+8.15560965e-07
+1.13614667e-05
+5.69652452e-05
+0.000101677236
+0.000135043592
+0.000156993711
+0.000166217344
+0.000161196213
+0.000140599185
+0.000104061204
+4.5546121e-05
+4.57982719e-05
+0.000104079532
+0.000140608295
+0.000161206601
+0.000166230113
+0.000157009067
+0.000135060777
+0.000101694129
+5.69819018e-05
+1.13678831e-05
+8.15485641e-07
+6.63556773e-07
+6.63065864e-07
+6.63562011e-07
+8.16135884e-07
+1.13775235e-05
+5.69944009e-05
+0.000101699328
+0.000135062289
+0.000157008648
+0.000166228488
+0.000161203804
+0.000140603663
+0.00010406316
+4.55457235e-05
+4.5798411e-05
+0.000104081559
+0.000140612847
+0.000161214261
+0.000166241296
+0.000157023988
+0.000135079381
+0.000101716058
+5.70108412e-05
+1.13838346e-05
+8.16055572e-07
+6.63555121e-07
+6.63062566e-07
+6.63560385e-07
+8.16711113e-07
+1.13935321e-05
+5.70233984e-05
+0.000101721272
+0.000135080893
+0.000157023563
+0.000166239663
+0.000161211453
+0.0001406082
+0.000104065154
+4.55453302e-05
+4.57985568e-05
+0.000104083621
+0.000140617452
+0.000161221971
+0.0001662525
+0.000157038876
+0.000135097882
+0.000101737835
+5.70396244e-05
+1.1399738e-05
+8.16625897e-07
+6.63553459e-07
+6.63059269e-07
+6.63558763e-07
+8.17286575e-07
+1.14094914e-05
+5.70522383e-05
+0.000101743067
+0.000135099393
+0.000157038445
+0.000166250857
+0.000161219153
+0.000140612794
+0.00010406718
+4.55449406e-05
+4.5798709e-05
+0.000104085711
+0.000140622107
+0.000161229723
+0.000166263713
+0.000157053718
+0.000135116268
+0.00010175946
+5.70682515e-05
+1.14155923e-05
+8.17196514e-07
+6.63551805e-07
+6.63055964e-07
+6.63557141e-07
+8.1786219e-07
+1.14254005e-05
+5.70809214e-05
+0.00010176471
+0.00013511778
+0.00015705328
+0.000166262061
+0.000161226895
+0.000140617436
+0.000104069237
+4.55445548e-05
+4.57988676e-05
+0.000104087829
+0.000140626804
+0.000161237508
+0.000166274923
+0.000157068499
+0.000135134532
+0.000101780928
+5.70967227e-05
+1.14313961e-05
+8.17767318e-07
+6.63550144e-07
+6.63052663e-07
+6.63555521e-07
+8.18437875e-07
+1.14412579e-05
+5.71094468e-05
+0.000101786195
+0.000135136044
+0.000157068055
+0.000166273263
+0.00016123467
+0.00014062212
+0.000104071319
+4.55441724e-05
+4.57990324e-05
+0.000104089968
+0.000140631536
+0.000161245316
+0.000166286118
+0.000157083211
+0.000135152666
+0.000101802235
+5.71250366e-05
+1.14471479e-05
+8.1833822e-07
+6.6354849e-07
+6.63049366e-07
+6.63553897e-07
+8.1901354e-07
+1.14570624e-05
+5.71378143e-05
+0.000101807518
+0.000135154179
+0.000157082761
+0.000166284452
+0.00016124247
+0.000140626839
+0.000104073422
+4.55437933e-05
+4.57992031e-05
+0.000104092124
+0.000140636297
+0.00016125314
+0.000166297291
+0.00015709784
+0.000135170659
+0.000101823378
+5.71531932e-05
+1.14628466e-05
+8.1890912e-07
+6.63546839e-07
+6.63046061e-07
+6.63552269e-07
+8.19589093e-07
+1.14728127e-05
+5.71660231e-05
+0.000101828675
+0.000135172175
+0.000157097385
+0.000166295616
+0.000161250284
+0.000140631587
+0.000104075543
+4.55434174e-05
+4.57993795e-05
+0.000104094295
+0.000140641079
+0.000161260968
+0.000166308427
+0.000157112377
+0.000135188507
+0.000101844353
+5.71811917e-05
+1.1478491e-05
+8.19479932e-07
+6.63545184e-07
+6.63042761e-07
+6.63550643e-07
+8.20164465e-07
+1.14885076e-05
+5.71940728e-05
+0.000101849668
+0.000135190022
+0.000157111918
+0.000166306744
+0.000161258103
+0.000140636357
+0.000104077677
+4.55430442e-05
+4.57995615e-05
+0.000104096475
+0.000140645875
+0.000161268792
+0.000166319515
+0.00015712681
+0.000135206201
+0.000101865159
+5.72090325e-05
+1.14940802e-05
+8.20050582e-07
+6.63543525e-07
+6.63039457e-07
+6.63549022e-07
+8.20739582e-07
+1.15041463e-05
+5.72219635e-05
+0.000101870489
+0.000135207718
+0.000157126348
+0.000166317825
+0.000161265918
+0.000140641141
+0.00010407982
+4.55426736e-05
+4.57997487e-05
+0.000104098659
+0.000140650677
+0.0001612766
+0.000166330544
+0.000157141131
+0.000135223735
+0.000101885793
+5.72367148e-05
+1.15096134e-05
+8.20620996e-07
+6.63541876e-07
+6.63036151e-07
+6.63547392e-07
+8.2131438e-07
+1.15197281e-05
+5.72496949e-05
+0.000101891141
+0.000135225256
+0.000157140665
+0.00016632885
+0.000161273718
+0.000140645931
+0.000104081967
+4.55423054e-05
+4.57999409e-05
+0.000104100843
+0.000140655477
+0.000161284385
+0.000166341507
+0.00015715533
+0.000135241105
+0.000101906256
+5.72642398e-05
+1.15250901e-05
+8.21191113e-07
+6.63540213e-07
+6.6303284e-07
+6.63545767e-07
+8.21888807e-07
+1.15352524e-05
+5.72772676e-05
+0.000101911621
+0.000135242629
+0.000157154861
+0.000166339805
+0.000161281494
+0.000140650719
+0.000104084113
+4.55419393e-05
+4.58001379e-05
+0.000104103023
+0.000140660268
+0.000161292133
+0.000166352388
+0.000157169398
+0.000135258307
+0.000101926545
+5.72916072e-05
+1.15405098e-05
+8.21760881e-07
+6.63538558e-07
+6.63029537e-07
+6.63544139e-07
+8.22462806e-07
+1.15507188e-05
+5.73046817e-05
+0.000101931925
+0.000135259833
+0.000157168926
+0.000166350681
+0.000161289234
+0.000140655498
+0.000104086255
+4.5541575e-05
+4.58003394e-05
+0.000104105193
+0.000140665041
+0.000161299837
+0.000166363181
+0.000157183327
+0.000135275334
+0.00010194666
+5.73188175e-05
+1.15558722e-05
+8.2233025e-07
+6.63536901e-07
+6.63026226e-07
+6.63542512e-07
+8.23036342e-07
+1.1566127e-05
+5.73319378e-05
+0.000101952056
+0.000135276864
+0.000157182853
+0.000166361469
+0.000161296931
+0.000140660259
+0.000104088387
+4.55412122e-05
+4.58005449e-05
+0.00010410735
+0.000140669787
+0.000161307485
+0.000166373872
+0.00015719711
+0.000135292184
+0.0001019666
+5.73458712e-05
+1.15711769e-05
+8.22899171e-07
+6.63535237e-07
+6.63022918e-07
+6.63540884e-07
+8.23609368e-07
+1.15814767e-05
+5.73590363e-05
+0.000101972012
+0.000135293718
+0.000157196632
+0.000166372155
+0.000161304571
+0.000140664993
+0.000104090505
+4.55408505e-05
+4.58007543e-05
+0.000104109488
+0.000140674498
+0.000161315066
+0.000166384454
+0.000157210736
+0.000135308853
+0.000101986364
+5.73727687e-05
+1.15864236e-05
+8.23467598e-07
+6.63533578e-07
+6.63019605e-07
+6.63539247e-07
+8.24181839e-07
+1.15967674e-05
+5.73859777e-05
+0.000101991792
+0.00013531039
+0.000157210256
+0.000166382731
+0.000161312145
+0.000140669692
+0.000104092603
+4.55404896e-05
+4.58009672e-05
+0.000104111601
+0.000140679165
+0.000161322572
+0.000166394914
+0.0001572242
+0.000135325336
+0.000102005953
+5.73995095e-05
+1.16016117e-05
+8.24035485e-07
+6.63531916e-07
+6.63016298e-07
+6.63537612e-07
+8.2475371e-07
+1.16119989e-05
+5.74127617e-05
+0.000102011395
+0.000135326876
+0.000157223718
+0.000166393187
+0.000161319643
+0.000140674348
+0.000104094678
+4.55401293e-05
+4.58011833e-05
+0.000104113685
+0.00014068378
+0.00016132999
+0.000166405244
+0.000157237492
+0.000135341629
+0.000102025363
+5.74260936e-05
+1.16167407e-05
+8.24602769e-07
+6.63530254e-07
+6.63012983e-07
+6.63535978e-07
+8.25324936e-07
+1.16271703e-05
+5.74393876e-05
+0.000102030822
+0.000135343173
+0.00015723701
+0.000166403512
+0.000161327054
+0.000140678951
+0.000104096722
+4.5539769e-05
+4.58014021e-05
+0.000104115734
+0.000140688332
+0.00016133731
+0.000166415432
+0.000157250607
+0.000135357729
+0.000102044595
+5.74525198e-05
+1.16318097e-05
+8.25169403e-07
+6.6352858e-07
+6.63009674e-07
+6.63534342e-07
+8.25895454e-07
+1.1642281e-05
+5.74658548e-05
+0.000102050071
+0.000135359279
+0.000157250122
+0.000166413697
+0.000161334367
+0.000140683493
+0.000104098731
+4.55394084e-05
+4.58016233e-05
+0.000104117746
+0.000140692816
+0.000161344521
+0.000166425469
+0.000157263536
+0.000135373632
+0.000102063647
+5.74787871e-05
+1.16468177e-05
+8.25735317e-07
+6.63526915e-07
+6.63006355e-07
+6.63532697e-07
+8.26465211e-07
+1.16573299e-05
+5.74921624e-05
+0.000102069139
+0.000135375186
+0.00015726305
+0.000166423731
+0.000161341573
+0.000140687965
+0.000104100702
+4.55390473e-05
+4.58018466e-05
+0.000104119713
+0.00014069722
+0.000161351615
+0.000166435348
+0.000157276272
+0.000135389335
+0.000102082517
+5.75048937e-05
+1.16617635e-05
+8.26300442e-07
+6.63525241e-07
+6.63003043e-07
+6.63531048e-07
+8.27034127e-07
+1.16723159e-05
+5.75183085e-05
+0.000102088024
+0.000135390892
+0.000157275787
+0.000166433605
+0.000161348661
+0.000140692359
+0.000104102629
+4.5538685e-05
+4.58020714e-05
+0.000104121631
+0.000140701537
+0.000161358581
+0.000166445055
+0.00015728881
+0.000135404831
+0.000102101205
+5.75308382e-05
+1.16766459e-05
+8.26864706e-07
+6.63523569e-07
+6.62999723e-07
+6.63529406e-07
+8.27602145e-07
+1.16872378e-05
+5.75442913e-05
+0.000102106726
+0.000135406394
+0.000157288324
+0.000166443311
+0.000161355621
+0.000140696666
+0.000104104506
+4.55383213e-05
+4.58022977e-05
+0.000104123496
+0.00014070576
+0.000161365411
+0.000166454587
+0.000157301144
+0.00013542012
+0.000102119706
+5.75566185e-05
+1.16914636e-05
+8.27428037e-07
+6.63521891e-07
+6.62996406e-07
+6.63527749e-07
+8.28169182e-07
+1.17020943e-05
+5.75701094e-05
+0.000102125244
+0.000135421688
+0.000157300658
+0.000166452838
+0.000161362444
+0.000140700878
+0.00010410633
+4.55379558e-05
+4.58025247e-05
+0.000104125304
+0.000140709879
+0.000161372092
+0.000166463932
+0.000157313264
+0.000135435198
+0.000102138022
+5.75822328e-05
+1.17062153e-05
+8.27990348e-07
+6.63520209e-07
+6.62993087e-07
+6.63526094e-07
+8.28735172e-07
+1.17168841e-05
+5.75957607e-05
+0.000102143576
+0.000135436772
+0.000157312778
+0.00016646218
+0.000161369119
+0.000140704987
+0.000104108097
+4.5537588e-05
+4.58027523e-05
+0.000104127049
+0.000140713889
+0.000161378618
+0.000166473083
+0.000157325169
+0.000135450062
+0.000102156148
+5.76076794e-05
+1.17208997e-05
+8.28551591e-07
+6.63518525e-07
+6.62989765e-07
+6.6352444e-07
+8.29300045e-07
+1.17316059e-05
+5.76212435e-05
+0.000102161718
+0.000135451641
+0.000157324684
+0.000166471328
+0.000161375641
+0.000140708986
+0.000104109801
+4.55372176e-05
+4.580298e-05
+0.00010412873
+0.000140717781
+0.000161384981
+0.000166482032
+0.000157336852
+0.000135464707
+0.000102174086
+5.76329565e-05
+1.17355156e-05
+8.29111678e-07
+6.63516831e-07
+6.62986448e-07
+6.63522775e-07
+8.2986373e-07
+1.17462587e-05
+5.7646556e-05
+0.000102179671
+0.000135466293
+0.000157336367
+0.000166480276
+0.000161381999
+0.000140712868
+0.00010411144
+4.55368442e-05
+4.58032075e-05
+0.000104130341
+0.000140721548
+0.000161391173
+0.000166490774
+0.000157348308
+0.000135479133
+0.000102191835
+5.76580628e-05
+1.17500621e-05
+8.2967056e-07
+6.63515147e-07
+6.62983128e-07
+6.6352111e-07
+8.30426176e-07
+1.17608413e-05
+5.76716971e-05
+0.000102197433
+0.000135480724
+0.000157347824
+0.000166489017
+0.000161388186
+0.000140716627
+0.000104113009
+4.55364673e-05
+4.58034343e-05
+0.00010413188
+0.000140725187
+0.000161397187
+0.000166499302
+0.000157359535
+0.000135493338
+0.00010220939
+5.7682997e-05
+1.17645383e-05
+8.30228176e-07
+6.63513445e-07
+6.62979802e-07
+6.63519439e-07
+8.30987322e-07
+1.1775353e-05
+5.7696665e-05
+0.000102215004
+0.000135494935
+0.000157359052
+0.000166497542
+0.000161394194
+0.000140720254
+0.000104114506
+4.55360866e-05
+4.58036601e-05
+0.000104133344
+0.000140728688
+0.000161403015
+0.00016650761
+0.000157370526
+0.00013550732
+0.000102226753
+5.77077578e-05
+1.17789433e-05
+8.30784477e-07
+6.63511745e-07
+6.62976476e-07
+6.63517769e-07
+8.31547117e-07
+1.17897929e-05
+5.77214592e-05
+0.000102232381
+0.000135508922
+0.000157370045
+0.000166505848
+0.000161400019
+0.000140723746
+0.000104115926
+4.55357017e-05
+4.58038845e-05
+0.000104134729
+0.000140732049
+0.000161408652
+0.000166515694
+0.000157381282
+0.000135521077
+0.000102243922
+5.77323443e-05
+1.17932764e-05
+8.31339417e-07
+6.63510042e-07
+6.62973157e-07
+6.63516095e-07
+8.32105518e-07
+1.18041603e-05
+5.77460783e-05
+0.000102249565
+0.000135522684
+0.0001573808
+0.00016651393
+0.000161405651
+0.000140727096
+0.000104117269
+4.55353121e-05
+4.58041072e-05
+0.000104136033
+0.000140735262
+0.000161414093
+0.000166523546
+0.000157391796
+0.000135534605
+0.000102260897
+5.77567555e-05
+1.1807537e-05
+8.31892944e-07
+6.63508338e-07
+6.62969826e-07
+6.63514413e-07
+8.32662479e-07
+1.18184547e-05
+5.77705214e-05
+0.000102266555
+0.00013553622
+0.000157391316
+0.000166521782
+0.000161411086
+0.0001407303
+0.00010411853
+4.55349177e-05
+4.58043278e-05
+0.000104137255
+0.000140738324
+0.00016141933
+0.000166531166
+0.000157402067
+0.000135547907
+0.000102277678
+5.77809907e-05
+1.18217245e-05
+8.32445021e-07
+6.6350662e-07
+6.629665e-07
+6.63512725e-07
+8.33217962e-07
+1.18326753e-05
+5.77947876e-05
+0.000102283351
+0.000135549527
+0.000157401588
+0.0001665294
+0.000161416319
+0.000140733353
+0.000104119709
+4.55345179e-05
+4.5804546e-05
+0.000104138392
+0.000140741232
+0.00016142436
+0.000166538546
+0.00015741209
+0.000135560979
+0.000102294263
+5.78050481e-05
+1.18358379e-05
+8.32995597e-07
+6.63504899e-07
+6.62963175e-07
+6.63511025e-07
+8.33771911e-07
+1.18468214e-05
+5.78188761e-05
+0.00010229995
+0.000135562606
+0.000157411614
+0.000166536779
+0.000161421345
+0.00014073625
+0.000104120801
+4.55341123e-05
+4.58047615e-05
+0.000104139441
+0.000140743979
+0.000161429178
+0.000166545684
+0.000157421866
+0.000135573819
+0.00010231065
+5.78289265e-05
+1.18498766e-05
+8.33544618e-07
+6.63503181e-07
+6.62959846e-07
+6.63509328e-07
+8.34324285e-07
+1.18608921e-05
+5.78427845e-05
+0.000102316352
+0.000135575454
+0.000157421392
+0.000166543915
+0.000161426158
+0.000140738988
+0.000104121807
+4.55337008e-05
+4.58049738e-05
+0.000104140404
+0.000140746565
+0.000161433779
+0.000166552577
+0.000157431392
+0.000135586428
+0.00010232684
+5.78526245e-05
+1.18638396e-05
+8.34092041e-07
+6.6350145e-07
+6.62956514e-07
+6.63507626e-07
+8.3487502e-07
+1.18748866e-05
+5.78665119e-05
+0.000102332555
+0.000135588069
+0.000157430918
+0.000166550807
+0.000161430755
+0.000140741565
+0.000104122725
+4.55332829e-05
+4.58051828e-05
+0.000104141277
+0.000140748985
+0.000161438162
+0.00016655922
+0.000157440664
+0.000135598802
+0.000102342829
+5.78761396e-05
+1.18777255e-05
+8.34637797e-07
+6.63499715e-07
+6.62953184e-07
+6.63505915e-07
+8.35424071e-07
+1.18888037e-05
+5.78900561e-05
+0.000102348561
+0.000135600449
+0.000157440194
+0.00016655745
+0.000161435134
+0.000140743975
+0.000104123553
+4.55328583e-05
+4.58053881e-05
+0.000104142061
+0.000140751238
+0.000161442321
+0.000166565613
+0.000157449682
+0.000135610943
+0.000102358619
+5.78994702e-05
+1.18915333e-05
+8.35181819e-07
+6.63497974e-07
+6.62949848e-07
+6.63504205e-07
+8.35971357e-07
+1.19026421e-05
+5.79134148e-05
+0.000102364364
+0.000135612596
+0.000157449214
+0.000166563841
+0.000161439289
+0.000140746218
+0.000104124291
+4.55324267e-05
+4.58055895e-05
+0.000104142753
+0.000140753321
+0.000161446256
+0.000166571752
+0.000157458443
+0.000135622846
+0.000102374206
+5.79226131e-05
+1.19052614e-05
+8.35724031e-07
+6.63496226e-07
+6.62946512e-07
+6.63502479e-07
+8.36516821e-07
+1.19164003e-05
+5.79365857e-05
+0.000102379965
+0.000135624507
+0.000157457978
+0.000166569978
+0.00016144322
+0.000140748291
+0.000104124938
+4.55319879e-05
+4.58057868e-05
+0.000104143356
+0.000140755232
+0.000161449963
+0.000166577634
+0.000157466947
+0.000135634511
+0.000102389586
+5.79455659e-05
+1.19189082e-05
+8.36264361e-07
+6.63494471e-07
+6.62943173e-07
+6.63500747e-07
+8.37060368e-07
+1.19300767e-05
+5.79595659e-05
+0.00010239536
+0.000135636179
+0.000157466483
+0.000166575861
+0.000161446923
+0.000140750193
+0.000104125496
+4.55315415e-05
+4.58059797e-05
+0.000104143869
+0.000140756972
+0.00016145344
+0.000166583258
+0.000157475191
+0.000135645938
+0.000102404763
+5.79683255e-05
+1.19324718e-05
+8.36802719e-07
+6.63492712e-07
+6.62939827e-07
+6.63499016e-07
+8.37601915e-07
+1.19436696e-05
+5.79823523e-05
+0.00010241055
+0.000135647612
+0.00015747473
+0.000166581484
+0.000161450395
+0.000140751923
+0.000104125962
+4.55310875e-05
+4.58061679e-05
+0.000104144291
+0.000140758539
+0.000161456686
+0.000166588624
+0.000157483175
+0.000135657123
+0.00010241973
+5.79908885e-05
+1.19459505e-05
+8.37339014e-07
+6.63490944e-07
+6.62936492e-07
+6.63497273e-07
+8.38141381e-07
+1.19571771e-05
+5.80049417e-05
+0.00010242553
+0.000135658804
+0.000157482717
+0.00016658685
+0.000161453638
+0.000140753479
+0.000104126338
+4.55306254e-05
+4.58063514e-05
+0.000104144624
+0.000140759932
+0.000161459702
+0.000166593731
+0.000157490898
+0.000135668066
+0.000102434487
+5.80132518e-05
+1.19593422e-05
+8.37873149e-07
+6.63489164e-07
+6.62933149e-07
+6.63495524e-07
+8.38678663e-07
+1.1970597e-05
+5.8027331e-05
+0.000102440301
+0.000135669756
+0.000157490442
+0.000166591956
+0.000161456649
+0.000140754863
+0.000104126624
+4.55301551e-05
+4.58065299e-05
+0.000104144869
+0.000140761152
+0.000161462485
+0.000166598577
+0.000157498359
+0.000135678768
+0.00010244903
+5.80354119e-05
+1.19726448e-05
+8.38405028e-07
+6.63487383e-07
+6.62929804e-07
+6.63493759e-07
+8.39213665e-07
+1.19839276e-05
+5.80495164e-05
+0.000102454859
+0.000135680463
+0.000157497906
+0.000166596801
+0.000161459428
+0.000140756074
+0.000104126822
+4.55296766e-05
+4.58067033e-05
+0.000104145026
+0.000140762201
+0.000161465037
+0.000166603163
+0.000157505558
+0.000135689224
+0.000102463361
+5.80573653e-05
+1.19858562e-05
+8.3893455e-07
+6.63485594e-07
+6.62926456e-07
+6.63491992e-07
+8.39746284e-07
+1.19971665e-05
+5.80714947e-05
+0.000102469202
+0.000135690927
+0.000157505107
+0.000166601387
+0.000161461976
+0.000140757112
+0.000104126932
+4.55291894e-05
+4.58068715e-05
+0.000104145098
+0.000140763079
+0.000161467358
+0.000166607489
+0.000157512495
+0.000135699437
+0.000102477475
+5.80791087e-05
+1.19989744e-05
+8.39461613e-07
+6.63483796e-07
+6.62923103e-07
+6.63490219e-07
+8.40276422e-07
+1.20103117e-05
+5.80932627e-05
+0.000102483329
+0.000135701145
+0.000157512046
+0.000166605712
+0.000161464293
+0.00014075798
+0.000104126956
+4.55286936e-05
+4.58070343e-05
+0.000104145086
+0.000140763788
+0.00016146945
+0.000166611558
+0.00015751917
+0.000135709402
+0.000102491371
+5.81006385e-05
+1.2011997e-05
+8.39986106e-07
+6.6348199e-07
+6.62919754e-07
+6.63488443e-07
+8.40803959e-07
+1.20233609e-05
+5.81148163e-05
+0.000102497237
+0.000135711121
+0.000157518724
+0.000166609779
+0.000161466381
+0.000140758679
+0.000104126895
+4.55281891e-05
+4.58071917e-05
+0.000104144991
+0.00014076433
+0.000161471314
+0.000166615367
+0.000157525584
+0.000135719124
+0.000102505045
+5.8121951e-05
+1.20249219e-05
+8.40507928e-07
+6.63480171e-07
+6.62916404e-07
+6.63486647e-07
+8.41328789e-07
+1.20363119e-05
+5.81361521e-05
+0.000102510927
+0.000135720848
+0.000157525141
+0.000166613588
+0.000161468241
+0.00014075921
+0.000104126752
+4.55276757e-05
+4.58073437e-05
+0.000104144817
+0.000140764708
+0.000161472953
+0.000166618919
+0.000157531737
+0.0001357286
+0.000102518499
+5.8143043e-05
+1.20377469e-05
+8.41026972e-07
+6.63478349e-07
+6.62913053e-07
+6.63484849e-07
+8.41850804e-07
+1.20491623e-05
+5.81572667e-05
+0.000102524393
+0.000135730329
+0.000157531297
+0.00016661714
+0.000161469874
+0.000140759578
+0.000104126529
+4.55271534e-05
+4.58074901e-05
+0.000104144565
+0.000140764923
+0.000161474368
+0.000166622219
+0.000157537631
+0.000135737828
+0.000102531731
+5.81639114e-05
+1.20504698e-05
+8.41543125e-07
+6.63476509e-07
+6.62909702e-07
+6.63483041e-07
+8.42369871e-07
+1.206191e-05
+5.81781567e-05
+0.000102537637
+0.000135739565
+0.000157537193
+0.000166620438
+0.000161471285
+0.000140759783
+0.000104126228
+4.5526622e-05
+4.58076308e-05
+0.000104144237
+0.00014076498
+0.000161475563
+0.000166625266
+0.000157543269
+0.000135746811
+0.000102544738
+5.81845525e-05
+1.20630884e-05
+8.42056277e-07
+6.63474675e-07
+6.62906347e-07
+6.63481219e-07
+8.42885864e-07
+1.20745523e-05
+5.81988181e-05
+0.000102550653
+0.000135748554
+0.000157542832
+0.000166623485
+0.000161472475
+0.000140759829
+0.000104125851
+4.55260817e-05
+4.5807766e-05
+0.000104143837
+0.000140764882
+0.000161476541
+0.000166628065
+0.000157548651
+0.000135755551
+0.00010255752
+5.82049645e-05
+1.20756006e-05
+8.42566329e-07
+6.63472821e-07
+6.6290299e-07
+6.63479393e-07
+8.43398636e-07
+1.20870868e-05
+5.82192472e-05
+0.000102563443
+0.000135757296
+0.000157548214
+0.000166626281
+0.000161473449
+0.000140759721
+0.000104125402
+4.55255323e-05
+4.58078955e-05
+0.000104143367
+0.000140764633
+0.000161477307
+0.000166630618
+0.000157553778
+0.000135764044
+0.000102570075
+5.82251434e-05
+1.20880043e-05
+8.43073164e-07
+6.63470957e-07
+6.62899638e-07
+6.63477545e-07
+8.43907997e-07
+1.20995104e-05
+5.82394397e-05
+0.000102576005
+0.000135765791
+0.000157553341
+0.000166628832
+0.00016147421
+0.000140759462
+0.000104124884
+4.5524974e-05
+4.58080194e-05
+0.000104142829
+0.000140764236
+0.000161477863
+0.000166632929
+0.000157558656
+0.000135772297
+0.000102582406
+5.82450887e-05
+1.21002977e-05
+8.43576679e-07
+6.63469089e-07
+6.62896272e-07
+6.63475683e-07
+8.44413729e-07
+1.211182e-05
+5.82593921e-05
+0.000102588335
+0.00013577404
+0.000157558215
+0.000166631138
+0.000161474761
+0.000140759057
+0.000104124299
+4.55244067e-05
+4.58081374e-05
+0.000104142227
+0.000140763697
+0.000161478215
+0.000166635002
+0.000157563286
+0.000135780308
+0.000102594511
+5.82647981e-05
+1.21124789e-05
+8.44076774e-07
+6.63467205e-07
+6.62892919e-07
+6.63473808e-07
+8.44915483e-07
+1.21240109e-05
+5.82790972e-05
+0.000102600429
+0.000135782042
+0.000157562836
+0.000166633207
+0.000161475109
+0.00014075851
+0.000104123653
+4.55238307e-05
+4.58082497e-05
+0.000104141564
+0.000140763018
+0.000161478369
+0.000166636845
+0.000157567676
+0.000135788084
+0.000102606397
+5.82842745e-05
+1.2124547e-05
+8.44573343e-07
+6.63465312e-07
+6.6288955e-07
+6.634719e-07
+8.45412795e-07
+1.21360778e-05
+5.82985503e-05
+0.000102612287
+0.000135789796
+0.00015756721
+0.000166635038
+0.000161475258
+0.000140757828
+0.00010412295
+4.55232463e-05
+4.5808356e-05
+0.000104140841
+0.000140762207
+0.00016147833
+0.000166638459
+0.000157571829
+0.000135795632
+0.000102618067
+5.83035192e-05
+1.21365008e-05
+8.45066309e-07
+6.63463412e-07
+6.62886196e-07
+6.63469946e-07
+8.4590487e-07
+1.21480116e-05
+5.83177388e-05
+0.000102623898
+0.000135797296
+0.000157571331
+0.000166636638
+0.000161475216
+0.000140757018
+0.000104122198
+4.55226538e-05
+4.58084559e-05
+0.000104140062
+0.000140761266
+0.000161478104
+0.000166639857
+0.000157575756
+0.000135802956
+0.000102629531
+5.83225437e-05
+1.21483421e-05
+8.45555628e-07
+6.63461497e-07
+6.62882828e-07
+6.63467935e-07
+8.46390451e-07
+1.21597999e-05
+5.8336651e-05
+0.000102635251
+0.000135804537
+0.000157575202
+0.000166638008
+0.000161474988
+0.00014075609
+0.000104121406
+4.55220541e-05
+4.58085491e-05
+0.000104139229
+0.0001407602
+0.000161477697
+0.000166641044
+0.000157579464
+0.00013581007
+0.000102640801
+5.83413542e-05
+1.21600708e-05
+8.46041246e-07
+6.63459577e-07
+6.62879461e-07
+6.63465824e-07
+8.4686725e-07
+1.21714174e-05
+5.83552516e-05
+0.000102646318
+0.000135811498
+0.000157578812
+0.000166639149
+0.000161474583
+0.000140755059
+0.000104120596
+4.55214489e-05
+4.58086349e-05
+0.00010413834
+0.000140759009
+0.00016147711
+0.000166642021
+0.00015758296
+0.000135816991
+0.000102651905
+5.83599692e-05
+1.217169e-05
+8.46523172e-07
+6.63457636e-07
+6.62876097e-07
+6.63463536e-07
+8.47331399e-07
+1.21828221e-05
+5.83734908e-05
+0.000102657064
+0.000135818148
+0.00015758213
+0.000166640046
+0.000161474005
+0.000140753945
+0.000104119801
+4.55208445e-05
+4.58087123e-05
+0.00010413741
+0.000140757703
+0.000161476338
+0.00016664277
+0.000157586214
+0.000135823679
+0.000102662816
+5.83784184e-05
+1.21832112e-05
+8.47001564e-07
+6.63455691e-07
+6.62872724e-07
+6.63460986e-07
+8.47776742e-07
+1.21939502e-05
+5.8391289e-05
+0.000102667355
+0.00013582435
+0.000157585047
+0.000166640627
+0.000161473241
+0.000140752802
+0.000104119149
+4.55202499e-05
+4.58087818e-05
+0.000104136431
+0.000140756274
+0.000161475379
+0.000166643278
+0.000157589189
+0.000135830072
+0.000102673446
+5.83966472e-05
+1.21946273e-05
+8.47476442e-07
+6.63453738e-07
+6.62869349e-07
+6.63458043e-07
+8.48194974e-07
+1.22046983e-05
+5.84085371e-05
+0.000102677115
+0.000135830128
+0.000157587707
+0.000166641167
+0.000161472706
+0.000140752202
+0.000104119589
+4.55196887e-05
+)
+;
+
+boundaryField
+{
+    inlet
+    {
+        type            calculated;
+        value           uniform 8.4375e-07;
+    }
+    outlet
+    {
+        type            calculated;
+        value           nonuniform List<scalar>
+25
+(
+4.58087818e-05
+0.000104136431
+0.000140756274
+0.000161475379
+0.000166643278
+0.000157589189
+0.000135830072
+0.000102673446
+5.83966472e-05
+1.21946273e-05
+8.47476442e-07
+6.63453738e-07
+6.62869349e-07
+6.63458043e-07
+8.48194974e-07
+1.22046983e-05
+5.84085371e-05
+0.000102677115
+0.000135830128
+0.000157587707
+0.000166641167
+0.000161472706
+0.000140752202
+0.000104119589
+4.55196887e-05
+)
+;
+    }
+    wall1
+    {
+        type            nutkWallFunction;
+        Cmu             0.09;
+        kappa           0.41;
+        E               9.8;
+        value           uniform 0;
+    }
+    wall2
+    {
+        type            nutkWallFunction;
+        Cmu             0.09;
+        kappa           0.41;
+        E               9.8;
+        value           uniform 0;
+    }
+    defaultFaces
+    {
+        type            empty;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/nut.liquid b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/nut.liquid
new file mode 100644
index 00000000000..78ee8edea84
--- /dev/null
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/nut.liquid
@@ -0,0 +1,2152 @@
+/*--------------------------------*- 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;
+    location    "5";
+    object      nut.liquid;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 2 -1 0 0 0 0];
+
+internalField   nonuniform List<scalar>
+1875
+(
+4.57970073e-05
+0.000104055696
+0.000140550032
+0.00016110283
+0.000166072324
+0.000156791271
+0.000134780617
+0.000101355957
+5.65337446e-05
+1.11269604e-05
+8.07160144e-07
+6.63581645e-07
+6.63114507e-07
+6.6358608e-07
+8.0769525e-07
+1.11356419e-05
+5.65455057e-05
+0.000101361372
+0.000134782841
+0.000156791772
+0.000166071673
+0.000161100975
+0.000140546262
+0.000104047282
+4.57967689e-05
+4.57970483e-05
+0.000104056699
+0.000140552895
+0.000161108258
+0.000166080878
+0.000156803394
+0.000134796581
+0.00010137566
+5.65603448e-05
+1.11408079e-05
+8.07623137e-07
+6.63580212e-07
+6.63111755e-07
+6.63584729e-07
+8.08168161e-07
+1.11495272e-05
+5.65719372e-05
+0.000101380621
+0.000134798164
+0.000156803136
+0.000166079419
+0.000161105617
+0.000140548431
+0.000104047723
+4.57975038e-05
+4.57970961e-05
+0.000104057892
+0.000140556229
+0.000161114564
+0.000166090828
+0.000156817524
+0.000134815228
+0.000101398734
+5.65914442e-05
+1.11571394e-05
+8.08172112e-07
+6.63578529e-07
+6.63108511e-07
+6.6358311e-07
+8.08727731e-07
+1.11659262e-05
+5.6603098e-05
+0.000101403699
+0.000134816789
+0.000156817236
+0.000166089344
+0.000161111904
+0.000140551751
+0.000104048899
+4.57974805e-05
+4.57971479e-05
+0.000104059161
+0.000140559669
+0.000161121
+0.000166100919
+0.000156831785
+0.000134833978
+0.000101421849
+5.66224193e-05
+1.11734872e-05
+8.08724222e-07
+6.63576848e-07
+6.63105254e-07
+6.63581493e-07
+8.09289889e-07
+1.11823452e-05
+5.66341422e-05
+0.000101426831
+0.000134835533
+0.000156831488
+0.000166099425
+0.000161118333
+0.000140555182
+0.00010405015
+4.57975524e-05
+4.57972047e-05
+0.000104060504
+0.000140563212
+0.000161127558
+0.000166111131
+0.000156846152
+0.000134852786
+0.000101444932
+5.66532048e-05
+1.11898106e-05
+8.09278147e-07
+6.63575167e-07
+6.6310199e-07
+6.63579878e-07
+8.09853214e-07
+1.119874e-05
+5.66649967e-05
+0.000101449932
+0.000134854336
+0.000156845842
+0.000166109627
+0.00016112488
+0.000140558715
+0.000104051476
+4.57976181e-05
+4.57972673e-05
+0.000104061924
+0.00014056686
+0.000161134239
+0.000166121473
+0.00015686063
+0.000134871663
+0.000101467989
+5.66838357e-05
+1.12061226e-05
+8.09834247e-07
+6.63573481e-07
+6.63098728e-07
+6.63578251e-07
+8.10418113e-07
+1.1215123e-05
+5.66956964e-05
+0.000101473008
+0.000134873208
+0.000156860307
+0.000166119956
+0.00016113155
+0.000140562351
+0.000104052876
+4.57976912e-05
+4.57973362e-05
+0.000104063416
+0.00014057061
+0.000161141042
+0.000166131941
+0.000156875218
+0.000134890604
+0.000101491019
+5.67143334e-05
+1.12224299e-05
+8.10392798e-07
+6.63571798e-07
+6.63095454e-07
+6.63576633e-07
+8.10984926e-07
+1.12315004e-05
+5.67262625e-05
+0.000101496056
+0.000134892144
+0.000156874885
+0.000166130411
+0.000161138342
+0.000140566089
+0.000104054348
+4.57977703e-05
+4.57974118e-05
+0.000104064977
+0.000140574459
+0.000161147959
+0.000166142525
+0.000156889906
+0.000134909595
+0.000101514002
+5.67447003e-05
+1.12387297e-05
+8.1095368e-07
+6.63570121e-07
+6.63092175e-07
+6.63575007e-07
+8.115536e-07
+1.12478691e-05
+5.6756697e-05
+0.000101519058
+0.000134911129
+0.000156889562
+0.000166140985
+0.000161145248
+0.000140569927
+0.000104055889
+4.57978562e-05
+4.57974944e-05
+0.000104066604
+0.000140578404
+0.000161154984
+0.000166153215
+0.000156904676
+0.000134928612
+0.000101536921
+5.67749268e-05
+1.12550128e-05
+8.11516557e-07
+6.63568449e-07
+6.63088895e-07
+6.63573381e-07
+8.12123845e-07
+1.12642198e-05
+5.67869904e-05
+0.000101541997
+0.000134930141
+0.000156904322
+0.000166151663
+0.000161152262
+0.000140573858
+0.000104057495
+4.5797949e-05
+4.57975841e-05
+0.000104068293
+0.000140582437
+0.000161162107
+0.000166163999
+0.000156919511
+0.000134947628
+0.000101559751
+5.68050003e-05
+1.12712687e-05
+8.12081009e-07
+6.6356677e-07
+6.63085602e-07
+6.63571754e-07
+8.12695299e-07
+1.1280542e-05
+5.68171299e-05
+0.000101564847
+0.000134949156
+0.000156919146
+0.000166162436
+0.000161159374
+0.000140577879
+0.000104059163
+4.57980488e-05
+4.57976809e-05
+0.00010407004
+0.000140586556
+0.000161169325
+0.000166174866
+0.000156934395
+0.000134966628
+0.000101582476
+5.68349119e-05
+1.12874891e-05
+8.1264671e-07
+6.635651e-07
+6.63082317e-07
+6.6357013e-07
+8.13267661e-07
+1.12968273e-05
+5.68471062e-05
+0.00010158759
+0.000134968152
+0.00015693402
+0.000166173291
+0.00016116658
+0.000140581984
+0.000104060889
+4.57981557e-05
+4.5797785e-05
+0.000104071843
+0.000140590757
+0.00016117663
+0.000166185807
+0.000156949314
+0.000134985591
+0.000101605086
+5.68646572e-05
+1.13036685e-05
+8.13213405e-07
+6.63563428e-07
+6.63079027e-07
+6.63568504e-07
+8.13840718e-07
+1.13130702e-05
+5.68769157e-05
+0.000101610216
+0.000134987113
+0.00015694893
+0.000166184222
+0.000161173874
+0.000140586173
+0.00010406267
+4.57982699e-05
+4.57978962e-05
+0.000104073697
+0.000140595037
+0.000161184018
+0.000166196813
+0.000156964257
+0.000135004505
+0.000101627568
+5.6894237e-05
+1.13198041e-05
+8.13780939e-07
+6.6356176e-07
+6.63075737e-07
+6.6356688e-07
+8.14414349e-07
+1.1329268e-05
+5.6906558e-05
+0.000101632716
+0.000135006025
+0.000156963863
+0.000166195217
+0.000161181252
+0.00014059044
+0.000104064503
+4.57983912e-05
+4.57980145e-05
+0.000104075599
+0.000140599391
+0.000161191483
+0.000166207878
+0.000156979211
+0.000135023358
+0.000101649918
+5.69236529e-05
+1.13358946e-05
+8.14349194e-07
+6.63560098e-07
+6.63072443e-07
+6.63565254e-07
+8.14988466e-07
+1.13454193e-05
+5.69360355e-05
+0.000101655084
+0.000135024876
+0.00015697881
+0.000166206273
+0.000161188706
+0.000140594781
+0.000104066384
+4.57985195e-05
+4.57981399e-05
+0.000104077547
+0.000140603816
+0.000161199019
+0.000166218992
+0.000156994168
+0.00013504214
+0.000101672131
+5.69529078e-05
+1.13519394e-05
+8.14918089e-07
+6.63558432e-07
+6.63069147e-07
+6.63563628e-07
+8.15563006e-07
+1.13615235e-05
+5.69653507e-05
+0.000101677314
+0.000135043654
+0.000156993758
+0.000166217376
+0.000161196231
+0.000140599193
+0.00010406831
+4.5798655e-05
+4.57982723e-05
+0.000104079536
+0.000140608306
+0.000161206621
+0.000166230146
+0.000157009113
+0.000135060838
+0.000101694204
+5.69820044e-05
+1.13679379e-05
+8.15487552e-07
+6.63556768e-07
+6.63065854e-07
+6.63562008e-07
+8.16137932e-07
+1.13775803e-05
+5.69945064e-05
+0.000101699405
+0.000135062352
+0.000157008695
+0.00016622852
+0.000161203823
+0.000140603671
+0.000104070277
+4.57987973e-05
+4.57984114e-05
+0.000104081563
+0.000140612858
+0.000161214281
+0.000166241329
+0.000157024034
+0.000135079442
+0.000101716133
+5.70109437e-05
+1.13838895e-05
+8.16057489e-07
+6.63555116e-07
+6.63062556e-07
+6.63560382e-07
+8.16713169e-07
+1.1393589e-05
+5.70235039e-05
+0.00010172135
+0.000135080955
+0.00015702361
+0.000166239695
+0.000161211472
+0.000140608208
+0.000104072283
+4.57989464e-05
+4.57985572e-05
+0.000104083625
+0.000140617463
+0.000161221991
+0.000166252533
+0.000157038922
+0.000135097943
+0.00010173791
+5.7039727e-05
+1.1399793e-05
+8.1662782e-07
+6.63553453e-07
+6.63059259e-07
+6.6355876e-07
+8.17288638e-07
+1.14095484e-05
+5.70523438e-05
+0.000101743145
+0.000135099456
+0.000157038492
+0.000166250889
+0.000161219171
+0.000140612802
+0.000104074321
+4.57991022e-05
+4.57987095e-05
+0.000104085715
+0.000140622118
+0.000161229743
+0.000166263745
+0.000157053764
+0.000135116329
+0.000101759536
+5.7068354e-05
+1.14156474e-05
+8.17198444e-07
+6.63551799e-07
+6.63055953e-07
+6.63557138e-07
+8.17864262e-07
+1.14254576e-05
+5.70810269e-05
+0.000101764788
+0.000135117842
+0.000157053326
+0.000166262093
+0.000161226913
+0.000140617444
+0.000104076391
+4.57992645e-05
+4.57988681e-05
+0.000104087833
+0.000140626815
+0.000161237529
+0.000166274955
+0.000157068545
+0.000135134593
+0.000101781004
+5.70968252e-05
+1.14314511e-05
+8.17769255e-07
+6.63550138e-07
+6.63052652e-07
+6.63555519e-07
+8.18439954e-07
+1.1441315e-05
+5.71095522e-05
+0.000101786273
+0.000135136107
+0.000157068102
+0.000166273295
+0.000161234689
+0.000140622128
+0.000104078486
+4.57994331e-05
+4.57990329e-05
+0.000104089972
+0.000140631547
+0.000161245337
+0.000166286151
+0.000157083257
+0.000135152727
+0.000101802311
+5.71251391e-05
+1.1447203e-05
+8.18340163e-07
+6.63548484e-07
+6.63049355e-07
+6.63553894e-07
+8.19015627e-07
+1.14571195e-05
+5.71379198e-05
+0.000101807596
+0.000135154242
+0.000157082808
+0.000166284484
+0.000161242488
+0.000140626847
+0.000104080602
+4.57996078e-05
+4.57992036e-05
+0.000104092128
+0.000140636308
+0.00016125316
+0.000166297323
+0.000157097886
+0.00013517072
+0.000101823454
+5.71532957e-05
+1.14629018e-05
+8.1891107e-07
+6.63546834e-07
+6.6304605e-07
+6.63552267e-07
+8.19591187e-07
+1.14728698e-05
+5.71661285e-05
+0.000101828753
+0.000135172237
+0.000157097432
+0.000166295648
+0.000161250302
+0.000140631595
+0.000104082737
+4.57997886e-05
+4.57993801e-05
+0.000104094299
+0.00014064109
+0.000161260989
+0.000166308459
+0.000157112423
+0.000135188567
+0.000101844428
+5.71812941e-05
+1.14785462e-05
+8.19481888e-07
+6.63545178e-07
+6.6304275e-07
+6.6355064e-07
+8.20166567e-07
+1.14885649e-05
+5.71941783e-05
+0.000101849745
+0.000135190085
+0.000157111965
+0.000166306776
+0.000161258121
+0.000140636365
+0.000104084886
+4.5799975e-05
+4.57995621e-05
+0.000104096479
+0.000140645886
+0.000161268813
+0.000166319547
+0.000157126856
+0.000135206261
+0.000101865234
+5.72091349e-05
+1.14941355e-05
+8.20052545e-07
+6.6354352e-07
+6.63039446e-07
+6.63549019e-07
+8.20741692e-07
+1.15042036e-05
+5.7222069e-05
+0.000101870567
+0.000135207781
+0.000157126394
+0.000166317857
+0.000161265936
+0.000140641149
+0.000104087043
+4.5800167e-05
+4.57997493e-05
+0.000104098663
+0.000140650688
+0.000161276621
+0.000166330577
+0.000157141177
+0.000135223796
+0.000101885869
+5.72368172e-05
+1.15096688e-05
+8.20622965e-07
+6.6354187e-07
+6.6303614e-07
+6.63547389e-07
+8.21316497e-07
+1.15197855e-05
+5.72498003e-05
+0.000101891219
+0.000135225318
+0.000157140711
+0.000166328882
+0.000161273736
+0.000140645939
+0.000104089205
+4.58003643e-05
+4.57999415e-05
+0.000104100847
+0.000140655488
+0.000161284405
+0.000166341539
+0.000157155376
+0.000135241166
+0.000101906332
+5.72643422e-05
+1.15251455e-05
+8.21193089e-07
+6.63540208e-07
+6.63032829e-07
+6.63545764e-07
+8.21890932e-07
+1.15353098e-05
+5.7277373e-05
+0.000101911698
+0.000135242691
+0.000157154908
+0.000166339837
+0.000161281512
+0.000140650727
+0.000104091367
+4.58005666e-05
+4.58001385e-05
+0.000104103027
+0.000140660279
+0.000161292154
+0.000166352421
+0.000157169444
+0.000135258368
+0.00010192662
+5.72917096e-05
+1.15405653e-05
+8.21762863e-07
+6.63538552e-07
+6.63029526e-07
+6.63544137e-07
+8.22464938e-07
+1.15507763e-05
+5.73047871e-05
+0.000101932003
+0.000135259895
+0.000157168973
+0.000166350713
+0.000161289253
+0.000140655506
+0.000104093525
+4.58007737e-05
+4.580034e-05
+0.000104105197
+0.000140665052
+0.000161299858
+0.000166363214
+0.000157183373
+0.000135275395
+0.000101946735
+5.73189199e-05
+1.15559277e-05
+8.22332238e-07
+6.63536896e-07
+6.63026215e-07
+6.6354251e-07
+8.23038482e-07
+1.15661846e-05
+5.73320432e-05
+0.000101952134
+0.000135276927
+0.0001571829
+0.0001663615
+0.000161296949
+0.000140660267
+0.000104095673
+4.58009853e-05
+4.58005456e-05
+0.000104107354
+0.000140669798
+0.000161307505
+0.000166373904
+0.000157197156
+0.000135292245
+0.000101966675
+5.73459735e-05
+1.15712324e-05
+8.22901166e-07
+6.63535232e-07
+6.63022907e-07
+6.63540882e-07
+8.23611516e-07
+1.15815342e-05
+5.73591417e-05
+0.00010197209
+0.00013529378
+0.000157196679
+0.000166372187
+0.000161304589
+0.000140665001
+0.000104097807
+4.58012011e-05
+4.5800755e-05
+0.000104109492
+0.000140674509
+0.000161315087
+0.000166384487
+0.000157210782
+0.000135308914
+0.00010198644
+5.7372871e-05
+1.15864792e-05
+8.234696e-07
+6.63533573e-07
+6.63019595e-07
+6.63539245e-07
+8.24183995e-07
+1.1596825e-05
+5.73860831e-05
+0.00010199187
+0.000135310452
+0.000157210303
+0.000166382763
+0.000161312164
+0.0001406697
+0.000104099922
+4.58014207e-05
+4.5800968e-05
+0.000104111605
+0.000140679176
+0.000161322592
+0.000166394946
+0.000157224246
+0.000135325397
+0.000102006028
+5.73996119e-05
+1.16016674e-05
+8.24037493e-07
+6.63531911e-07
+6.63016288e-07
+6.6353761e-07
+8.24755873e-07
+1.16120565e-05
+5.74128671e-05
+0.000102011473
+0.000135326939
+0.000157223765
+0.000166393219
+0.000161319661
+0.000140674356
+0.000104102013
+4.58016439e-05
+4.5801184e-05
+0.000104113689
+0.00014068379
+0.00016133001
+0.000166405276
+0.000157237538
+0.000135341689
+0.000102025438
+5.74261959e-05
+1.16167964e-05
+8.24604784e-07
+6.63530249e-07
+6.63012972e-07
+6.63535975e-07
+8.25327107e-07
+1.1627228e-05
+5.74394929e-05
+0.0001020309
+0.000135343236
+0.000157237056
+0.000166403543
+0.000161327072
+0.000140678959
+0.000104104075
+4.58018702e-05
+4.58014028e-05
+0.000104115738
+0.000140688343
+0.00016133733
+0.000166415464
+0.000157250653
+0.000135357789
+0.00010204467
+5.74526221e-05
+1.16318654e-05
+8.25171424e-07
+6.63528575e-07
+6.63009663e-07
+6.6353434e-07
+8.25897633e-07
+1.16423387e-05
+5.74659602e-05
+0.000102050149
+0.000135359341
+0.000157250169
+0.000166413729
+0.000161334385
+0.000140683501
+0.000104106102
+4.58020994e-05
+4.58016241e-05
+0.00010411775
+0.000140692827
+0.000161344542
+0.000166425502
+0.000157263582
+0.000135373693
+0.000102063722
+5.74788894e-05
+1.16468734e-05
+8.25737345e-07
+6.6352691e-07
+6.63006344e-07
+6.63532695e-07
+8.26467397e-07
+1.16573877e-05
+5.74922677e-05
+0.000102069217
+0.000135375248
+0.000157263097
+0.000166423762
+0.000161341591
+0.000140687973
+0.000104108091
+4.5802331e-05
+4.58018474e-05
+0.000104119717
+0.000140697231
+0.000161351636
+0.00016643538
+0.000157276318
+0.000135389396
+0.000102082592
+5.7504996e-05
+1.16618193e-05
+8.26302476e-07
+6.63525235e-07
+6.63003032e-07
+6.63531046e-07
+8.2703632e-07
+1.16723738e-05
+5.75184139e-05
+0.000102088102
+0.000135390955
+0.000157275834
+0.000166433637
+0.000161348679
+0.000140692367
+0.000104110036
+4.58025647e-05
+4.58020723e-05
+0.000104121635
+0.000140701548
+0.000161358602
+0.000166445088
+0.000157288856
+0.000135404892
+0.00010210128
+5.75309404e-05
+1.16767018e-05
+8.26866746e-07
+6.63523564e-07
+6.62999712e-07
+6.63529404e-07
+8.27604346e-07
+1.16872958e-05
+5.75443966e-05
+0.000102106804
+0.000135406457
+0.000157288371
+0.000166443342
+0.00016135564
+0.000140696674
+0.000104111931
+4.58028001e-05
+4.58022985e-05
+0.0001041235
+0.00014070577
+0.000161365431
+0.00016645462
+0.00015730119
+0.000135420181
+0.000102119781
+5.75567207e-05
+1.16915195e-05
+8.27430084e-07
+6.63521886e-07
+6.62996395e-07
+6.63527747e-07
+8.2817139e-07
+1.17021523e-05
+5.75702147e-05
+0.000102125322
+0.000135421751
+0.000157300705
+0.000166452869
+0.000161362462
+0.000140700886
+0.000104113774
+4.58030369e-05
+4.58025256e-05
+0.000104125308
+0.00014070989
+0.000161372113
+0.000166463965
+0.00015731331
+0.000135435259
+0.000102138098
+5.7582335e-05
+1.17062712e-05
+8.27992401e-07
+6.63520204e-07
+6.62993076e-07
+6.63526092e-07
+8.28737389e-07
+1.17169422e-05
+5.7595866e-05
+0.000102143654
+0.000135436835
+0.000157312825
+0.000166462211
+0.000161369137
+0.000140704995
+0.000104115559
+4.58032746e-05
+4.58027532e-05
+0.000104127053
+0.0001407139
+0.000161378639
+0.000166473115
+0.000157325216
+0.000135450122
+0.000102156224
+5.76077816e-05
+1.17209557e-05
+8.2855365e-07
+6.6351852e-07
+6.62989755e-07
+6.63524438e-07
+8.29302269e-07
+1.1731664e-05
+5.76213488e-05
+0.000102161796
+0.000135451704
+0.000157324731
+0.00016647136
+0.000161375659
+0.000140708994
+0.000104117283
+4.58035128e-05
+4.5802981e-05
+0.000104128734
+0.000140717792
+0.000161385002
+0.000166482065
+0.000157336898
+0.000135464768
+0.000102174162
+5.76330587e-05
+1.17355717e-05
+8.29113743e-07
+6.63516826e-07
+6.62986437e-07
+6.63522773e-07
+8.29865961e-07
+1.17463168e-05
+5.76466613e-05
+0.000102179749
+0.000135466355
+0.000157336413
+0.000166480308
+0.000161382018
+0.000140712876
+0.000104118941
+4.58037513e-05
+4.58032084e-05
+0.000104130345
+0.000140721559
+0.000161391194
+0.000166490807
+0.000157348354
+0.000135479193
+0.00010219191
+5.7658165e-05
+1.17501182e-05
+8.29672631e-07
+6.63515142e-07
+6.62983117e-07
+6.63521108e-07
+8.30428415e-07
+1.17608995e-05
+5.76718024e-05
+0.000102197511
+0.000135480787
+0.000157347871
+0.000166489048
+0.000161388204
+0.000140716634
+0.00010412053
+4.58039895e-05
+4.58034353e-05
+0.000104131884
+0.000140725198
+0.000161397208
+0.000166499334
+0.000157359581
+0.000135493399
+0.000102209465
+5.76830991e-05
+1.17645944e-05
+8.30230254e-07
+6.6351344e-07
+6.62979791e-07
+6.63519437e-07
+8.30989569e-07
+1.17754112e-05
+5.76967702e-05
+0.000102215082
+0.000135494997
+0.000157359098
+0.000166497574
+0.000161394212
+0.000140720262
+0.000104122047
+4.58042272e-05
+4.58036611e-05
+0.000104133347
+0.000140728699
+0.000161403036
+0.000166507643
+0.000157370572
+0.000135507381
+0.000102226828
+5.77078599e-05
+1.17789994e-05
+8.30786561e-07
+6.6351174e-07
+6.62976465e-07
+6.63517767e-07
+8.31549371e-07
+1.17898512e-05
+5.77215644e-05
+0.000102232459
+0.000135508985
+0.000157370092
+0.00016650588
+0.000161400037
+0.000140723754
+0.000104123487
+4.58044639e-05
+4.58038855e-05
+0.000104134733
+0.00014073206
+0.000161408673
+0.000166515726
+0.000157381328
+0.000135521138
+0.000102243997
+5.77324464e-05
+1.17933326e-05
+8.31341508e-07
+6.63510037e-07
+6.62973146e-07
+6.63516093e-07
+8.32107779e-07
+1.18042187e-05
+5.77461836e-05
+0.000102249642
+0.000135522747
+0.000157380846
+0.000166513962
+0.000161405669
+0.000140727104
+0.00010412485
+4.58046994e-05
+4.58041083e-05
+0.000104136037
+0.000140735273
+0.000161414113
+0.000166523579
+0.000157391842
+0.000135534666
+0.000102260972
+5.77568576e-05
+1.18075933e-05
+8.31895041e-07
+6.63508333e-07
+6.62969815e-07
+6.63514411e-07
+8.32664748e-07
+1.18185131e-05
+5.77706267e-05
+0.000102266633
+0.000135536282
+0.000157391363
+0.000166521814
+0.000161411104
+0.000140730308
+0.000104126132
+4.58049332e-05
+4.58043289e-05
+0.000104137259
+0.000140738335
+0.000161419351
+0.000166531198
+0.000157402113
+0.000135547968
+0.000102277753
+5.77810928e-05
+1.18217808e-05
+8.32447124e-07
+6.63506615e-07
+6.62966489e-07
+6.63512723e-07
+8.33220239e-07
+1.18327337e-05
+5.77948929e-05
+0.000102283429
+0.00013554959
+0.000157401635
+0.000166529432
+0.000161416337
+0.000140733361
+0.000104127331
+4.58051649e-05
+4.58045471e-05
+0.000104138396
+0.000140741243
+0.000161424381
+0.000166538578
+0.000157412136
+0.00013556104
+0.000102294338
+5.78051502e-05
+1.18358943e-05
+8.32997706e-07
+6.63504894e-07
+6.62963165e-07
+6.63511023e-07
+8.33774195e-07
+1.18468799e-05
+5.78189814e-05
+0.000102300028
+0.000135562668
+0.000157411661
+0.000166536811
+0.000161421363
+0.000140736258
+0.000104128445
+4.58053943e-05
+4.58047626e-05
+0.000104139445
+0.00014074399
+0.000161429199
+0.000166545717
+0.000157421912
+0.00013557388
+0.000102310726
+5.78290286e-05
+1.1849933e-05
+8.33546733e-07
+6.63503176e-07
+6.62959835e-07
+6.63509326e-07
+8.34326576e-07
+1.18609507e-05
+5.78428898e-05
+0.00010231643
+0.000135575516
+0.000157421438
+0.000166543947
+0.000161426177
+0.000140738996
+0.000104129472
+4.5805621e-05
+4.5804975e-05
+0.000104140408
+0.000140746576
+0.0001614338
+0.000166552609
+0.000157431438
+0.000135586489
+0.000102326915
+5.78527265e-05
+1.1863896e-05
+8.34094162e-07
+6.63501445e-07
+6.62956503e-07
+6.63507624e-07
+8.34877319e-07
+1.18749452e-05
+5.78666171e-05
+0.000102332633
+0.000135588132
+0.000157430965
+0.000166550839
+0.000161430773
+0.000140741572
+0.000104130411
+4.58058448e-05
+4.58051839e-05
+0.000104141281
+0.000140748996
+0.000161438183
+0.000166559253
+0.00015744071
+0.000135598863
+0.000102342904
+5.78762416e-05
+1.1877782e-05
+8.34639924e-07
+6.6349971e-07
+6.62953174e-07
+6.63505914e-07
+8.35426377e-07
+1.18888624e-05
+5.78901613e-05
+0.000102348639
+0.000135600512
+0.00015744024
+0.000166557482
+0.000161435153
+0.000140743983
+0.000104131261
+4.58060652e-05
+4.58053893e-05
+0.000104142064
+0.000140751249
+0.000161442342
+0.000166565646
+0.000157449728
+0.000135611003
+0.000102358694
+5.78995722e-05
+1.18915899e-05
+8.35183953e-07
+6.63497969e-07
+6.62949837e-07
+6.63504203e-07
+8.35973671e-07
+1.19027008e-05
+5.791352e-05
+0.000102364442
+0.000135612658
+0.00015744926
+0.000166563873
+0.000161439307
+0.000140746226
+0.000104132021
+4.58062821e-05
+4.58055907e-05
+0.000104142757
+0.000140753332
+0.000161446277
+0.000166571784
+0.000157458489
+0.000135622907
+0.000102374281
+5.7922715e-05
+1.1905318e-05
+8.35726171e-07
+6.63496221e-07
+6.62946501e-07
+6.63502477e-07
+8.36519141e-07
+1.1916459e-05
+5.79366909e-05
+0.000102380043
+0.000135624569
+0.000157458025
+0.00016657001
+0.000161443238
+0.000140748299
+0.00010413269
+4.58064951e-05
+4.5805788e-05
+0.00010414336
+0.000140755243
+0.000161449983
+0.000166577666
+0.000157466993
+0.000135634572
+0.000102389661
+5.79456679e-05
+1.19189648e-05
+8.36266506e-07
+6.63494466e-07
+6.62943163e-07
+6.63500745e-07
+8.37062696e-07
+1.19301355e-05
+5.79596711e-05
+0.000102395438
+0.000135636242
+0.000157466529
+0.000166575893
+0.000161446941
+0.000140750201
+0.00010413327
+4.58067041e-05
+4.58059809e-05
+0.000104143873
+0.000140756983
+0.000161453461
+0.00016658329
+0.000157475237
+0.000135645998
+0.000102404838
+5.79684275e-05
+1.19325285e-05
+8.3680487e-07
+6.63492707e-07
+6.62939817e-07
+6.63499015e-07
+8.3760425e-07
+1.19437285e-05
+5.79824575e-05
+0.000102410628
+0.000135647675
+0.000157474777
+0.000166581516
+0.000161450413
+0.00014075193
+0.000104133759
+4.58069087e-05
+4.58061692e-05
+0.000104144295
+0.000140758549
+0.000161456707
+0.000166588657
+0.000157483221
+0.000135657183
+0.000102419805
+5.79909904e-05
+1.19460072e-05
+8.37341172e-07
+6.6349094e-07
+6.62936482e-07
+6.63497272e-07
+8.38143723e-07
+1.1957236e-05
+5.80050469e-05
+0.000102425608
+0.000135658866
+0.000157482764
+0.000166586882
+0.000161453656
+0.000140753487
+0.000104134157
+4.58071089e-05
+4.58063527e-05
+0.000104144628
+0.000140759943
+0.000161459723
+0.000166593763
+0.000157490944
+0.000135668127
+0.000102434562
+5.80133537e-05
+1.19593989e-05
+8.37875312e-07
+6.63489159e-07
+6.62933138e-07
+6.63495522e-07
+8.38681013e-07
+1.1970656e-05
+5.80274361e-05
+0.000102440379
+0.000135669818
+0.000157490489
+0.000166591988
+0.000161456667
+0.00014075487
+0.000104134466
+4.58073043e-05
+4.58065312e-05
+0.000104144873
+0.000140761163
+0.000161462506
+0.00016659861
+0.000157498405
+0.000135678829
+0.000102449105
+5.80355138e-05
+1.19727016e-05
+8.38407198e-07
+6.63487378e-07
+6.62929793e-07
+6.63493758e-07
+8.39216022e-07
+1.19839866e-05
+5.80496216e-05
+0.000102454937
+0.000135680525
+0.000157497953
+0.000166596833
+0.000161459446
+0.000140756081
+0.000104134687
+4.58074949e-05
+4.58067046e-05
+0.00010414503
+0.000140762212
+0.000161465058
+0.000166603195
+0.000157505604
+0.000135689285
+0.000102463436
+5.80574672e-05
+1.1985913e-05
+8.38936725e-07
+6.63485589e-07
+6.62926445e-07
+6.63491991e-07
+8.39748648e-07
+1.19972256e-05
+5.80715999e-05
+0.00010246928
+0.000135690989
+0.000157505154
+0.000166601419
+0.000161461994
+0.00014075712
+0.00010413482
+4.58076804e-05
+4.58068728e-05
+0.000104145102
+0.00014076309
+0.000161467379
+0.000166607522
+0.000157512541
+0.000135699498
+0.00010247755
+5.80792106e-05
+1.19990312e-05
+8.39463795e-07
+6.63483791e-07
+6.62923092e-07
+6.63490218e-07
+8.40278793e-07
+1.20103708e-05
+5.80933678e-05
+0.000102483407
+0.000135701208
+0.000157512093
+0.000166605744
+0.000161464311
+0.000140757988
+0.000104134868
+4.58078608e-05
+4.58070357e-05
+0.00010414509
+0.000140763799
+0.000161469471
+0.00016661159
+0.000157519216
+0.000135709463
+0.000102491446
+5.81007403e-05
+1.20120539e-05
+8.39988293e-07
+6.63481985e-07
+6.62919743e-07
+6.63488442e-07
+8.40806338e-07
+1.202342e-05
+5.81149214e-05
+0.000102497315
+0.000135711183
+0.00015751877
+0.000166609811
+0.000161466399
+0.000140758686
+0.000104134831
+4.5808036e-05
+4.58071931e-05
+0.000104144995
+0.000140764341
+0.000161471335
+0.000166615399
+0.00015752563
+0.000135719184
+0.00010250512
+5.81220528e-05
+1.20249788e-05
+8.40510121e-07
+6.63480166e-07
+6.62916393e-07
+6.63486646e-07
+8.41331175e-07
+1.2036371e-05
+5.81362572e-05
+0.000102511005
+0.00013572091
+0.000157525187
+0.00016661362
+0.000161468259
+0.000140759218
+0.000104134712
+4.58082059e-05
+4.58073451e-05
+0.000104144821
+0.000140764719
+0.000161472974
+0.000166618952
+0.000157531783
+0.00013572866
+0.000102518574
+5.81431448e-05
+1.20378038e-05
+8.41029171e-07
+6.63478345e-07
+6.62913042e-07
+6.63484848e-07
+8.41853196e-07
+1.20492216e-05
+5.81573718e-05
+0.000102524471
+0.000135730391
+0.000157531344
+0.000166617171
+0.000161469892
+0.000140759585
+0.000104134512
+4.58083704e-05
+4.58074915e-05
+0.000104144569
+0.000140764934
+0.000161474389
+0.000166622252
+0.000157537677
+0.000135737889
+0.000102531806
+5.81640132e-05
+1.20505268e-05
+8.4154533e-07
+6.63476505e-07
+6.62909691e-07
+6.6348304e-07
+8.42372271e-07
+1.20619693e-05
+5.81782618e-05
+0.000102537715
+0.000135739627
+0.00015753724
+0.00016662047
+0.000161471303
+0.00014075979
+0.000104134235
+4.58085294e-05
+4.58076323e-05
+0.000104144241
+0.000140764991
+0.000161475583
+0.000166625298
+0.000157543315
+0.000135746872
+0.000102544813
+5.81846543e-05
+1.20631454e-05
+8.42058488e-07
+6.63474671e-07
+6.62906336e-07
+6.63481218e-07
+8.4288827e-07
+1.20746117e-05
+5.81989232e-05
+0.000102550731
+0.000135748617
+0.000157542879
+0.000166623517
+0.000161472493
+0.000140759837
+0.000104133883
+4.5808683e-05
+4.58077675e-05
+0.000104143841
+0.000140764893
+0.000161476562
+0.000166628098
+0.000157548697
+0.000135755611
+0.000102557595
+5.82050663e-05
+1.20756577e-05
+8.42568545e-07
+6.63472816e-07
+6.62902979e-07
+6.63479392e-07
+8.43401049e-07
+1.20871462e-05
+5.82193523e-05
+0.000102563521
+0.000135757358
+0.000157548261
+0.000166626313
+0.000161473467
+0.000140759729
+0.000104133458
+4.58088313e-05
+4.5807897e-05
+0.000104143371
+0.000140764644
+0.000161477327
+0.000166630651
+0.000157553824
+0.000135764105
+0.00010257015
+5.82252452e-05
+1.20880614e-05
+8.43075386e-07
+6.63470952e-07
+6.62899627e-07
+6.63477544e-07
+8.43910416e-07
+1.20995698e-05
+5.82395448e-05
+0.000102576083
+0.000135765854
+0.000157553388
+0.000166628863
+0.000161474228
+0.000140759469
+0.000104132964
+4.5808974e-05
+4.58080209e-05
+0.000104142833
+0.000140764247
+0.000161477884
+0.000166632962
+0.000157558702
+0.000135772358
+0.000102582481
+5.82451905e-05
+1.21003549e-05
+8.43578907e-07
+6.63469085e-07
+6.62896262e-07
+6.63475681e-07
+8.44416155e-07
+1.21118794e-05
+5.82594972e-05
+0.000102588413
+0.000135774103
+0.000157558261
+0.00016663117
+0.000161474779
+0.000140759064
+0.000104132404
+4.58091116e-05
+4.5808139e-05
+0.000104142231
+0.000140763708
+0.000161478236
+0.000166635035
+0.000157563332
+0.000135780369
+0.000102594586
+5.82648998e-05
+1.21125361e-05
+8.44079007e-07
+6.634672e-07
+6.62892908e-07
+6.63473807e-07
+8.44917914e-07
+1.21240704e-05
+5.82792023e-05
+0.000102600507
+0.000135782104
+0.000157562883
+0.000166633238
+0.000161475127
+0.000140758517
+0.000104131782
+4.5809244e-05
+4.58082513e-05
+0.000104141567
+0.000140763029
+0.00016147839
+0.000166636877
+0.000157567722
+0.000135788145
+0.000102606472
+5.82843762e-05
+1.21246042e-05
+8.44575581e-07
+6.63465307e-07
+6.6288954e-07
+6.63471899e-07
+8.45415232e-07
+1.21361373e-05
+5.82986553e-05
+0.000102612365
+0.000135789858
+0.000157567256
+0.00016663507
+0.000161475276
+0.000140757835
+0.000104131102
+4.58093716e-05
+4.58083576e-05
+0.000104140845
+0.000140762218
+0.00016147835
+0.000166638492
+0.000157571875
+0.000135795692
+0.000102618142
+5.8303621e-05
+1.21365581e-05
+8.45068553e-07
+6.63463408e-07
+6.62886185e-07
+6.63469945e-07
+8.45907309e-07
+1.21480711e-05
+5.83178438e-05
+0.000102623976
+0.000135797358
+0.000157571378
+0.000166636669
+0.000161475234
+0.000140757026
+0.000104130373
+4.58094949e-05
+4.58084576e-05
+0.000104140066
+0.000140761277
+0.000161478124
+0.000166639889
+0.000157575802
+0.000135803017
+0.000102629606
+5.83226455e-05
+1.21483994e-05
+8.45557878e-07
+6.63461492e-07
+6.62882817e-07
+6.63467933e-07
+8.4639289e-07
+1.21598594e-05
+5.83367559e-05
+0.000102635329
+0.000135804599
+0.000157575248
+0.00016663804
+0.000161475006
+0.000140756097
+0.000104129601
+4.58096146e-05
+4.58085508e-05
+0.000104139233
+0.000140760211
+0.000161477718
+0.000166641076
+0.00015757951
+0.000135810131
+0.000102640877
+5.83414561e-05
+1.21601282e-05
+8.46043502e-07
+6.63459572e-07
+6.6287945e-07
+6.63465823e-07
+8.46869684e-07
+1.21714768e-05
+5.83553564e-05
+0.000102646395
+0.000135811561
+0.000157578858
+0.000166639181
+0.000161474601
+0.000140755067
+0.000104128805
+4.58097326e-05
+4.58086366e-05
+0.000104138344
+0.00014075902
+0.00016147713
+0.000166642054
+0.000157583007
+0.000135817052
+0.00010265198
+5.83600713e-05
+1.21717476e-05
+8.46525435e-07
+6.63457631e-07
+6.62876086e-07
+6.63463534e-07
+8.47333817e-07
+1.21828814e-05
+5.83735953e-05
+0.000102657142
+0.00013581821
+0.000157582176
+0.000166640078
+0.000161474023
+0.000140753952
+0.000104128015
+4.5809854e-05
+4.5808714e-05
+0.000104137414
+0.000140757714
+0.000161476359
+0.000166642802
+0.00015758626
+0.00013582374
+0.000102662892
+5.83785209e-05
+1.21832688e-05
+8.47003834e-07
+6.63455687e-07
+6.62872714e-07
+6.63460984e-07
+8.47779129e-07
+1.21940091e-05
+5.83913932e-05
+0.000102667432
+0.000135824412
+0.000157585094
+0.000166640659
+0.000161473259
+0.00014075281
+0.000104127342
+4.58099825e-05
+4.58087834e-05
+0.000104136434
+0.000140756285
+0.000161475399
+0.000166643311
+0.000157589236
+0.000135830133
+0.000102673523
+5.839675e-05
+1.2194685e-05
+8.47478719e-07
+6.63453734e-07
+6.62869338e-07
+6.6345804e-07
+8.48197303e-07
+1.22047566e-05
+5.84086405e-05
+0.000102677191
+0.000135830189
+0.000157587753
+0.000166641198
+0.000161472724
+0.00014075221
+0.000104127533
+4.58101843e-05
+)
+;
+
+boundaryField
+{
+    inlet
+    {
+        type            calculated;
+        value           nonuniform List<scalar>
+25
+(
+4.57971478e-05
+0.000104059157
+0.000140559658
+0.00016112098
+0.000166100887
+0.000156831739
+0.000134833917
+0.000101421773
+5.66223165e-05
+1.1173433e-05
+8.0872239e-07
+6.63576854e-07
+6.63105265e-07
+6.63581496e-07
+8.09287932e-07
+1.1182289e-05
+5.66340366e-05
+0.000101426753
+0.000134835471
+0.000156831441
+0.000166099393
+0.000161118314
+0.000140555176
+0.000104050155
+4.57962633e-05
+)
+;
+    }
+    outlet
+    {
+        type            calculated;
+        value           nonuniform List<scalar>
+25
+(
+4.58087834e-05
+0.000104136434
+0.000140756285
+0.000161475399
+0.000166643311
+0.000157589236
+0.000135830133
+0.000102673523
+5.839675e-05
+1.2194685e-05
+8.47478719e-07
+6.63453734e-07
+6.62869338e-07
+6.6345804e-07
+8.48197303e-07
+1.22047566e-05
+5.84086405e-05
+0.000102677191
+0.000135830189
+0.000157587753
+0.000166641198
+0.000161472724
+0.00014075221
+0.000104127533
+4.58101843e-05
+)
+;
+    }
+    wall1
+    {
+        type            nutkWallFunction;
+        Cmu             0.09;
+        kappa           0.41;
+        E               9.8;
+        value           nonuniform List<scalar>
+75
+(
+5.27711099e-06
+5.27711536e-06
+5.27712047e-06
+5.277126e-06
+5.27713206e-06
+5.27713874e-06
+5.2771461e-06
+5.27715417e-06
+5.27716299e-06
+5.27717257e-06
+5.27718291e-06
+5.27719402e-06
+5.2772059e-06
+5.27721854e-06
+5.27723194e-06
+5.27724607e-06
+5.27726093e-06
+5.27727651e-06
+5.27729278e-06
+5.27730972e-06
+5.27732733e-06
+5.27734556e-06
+5.27736442e-06
+5.27738385e-06
+5.27740386e-06
+5.27742439e-06
+5.27744544e-06
+5.27746696e-06
+5.27748893e-06
+5.2775113e-06
+5.27753405e-06
+5.27755713e-06
+5.27758051e-06
+5.27760415e-06
+5.277628e-06
+5.27765203e-06
+5.2776762e-06
+5.27770046e-06
+5.27772478e-06
+5.2777491e-06
+5.27777341e-06
+5.27779764e-06
+5.27782176e-06
+5.27784574e-06
+5.27786954e-06
+5.27789311e-06
+5.27791642e-06
+5.27793944e-06
+5.27796213e-06
+5.27798445e-06
+5.27800639e-06
+5.27802791e-06
+5.27804899e-06
+5.27806959e-06
+5.27808971e-06
+5.2781093e-06
+5.27812838e-06
+5.2781469e-06
+5.27816487e-06
+5.27818227e-06
+5.27819908e-06
+5.27821532e-06
+5.27823095e-06
+5.27824599e-06
+5.27826043e-06
+5.27827427e-06
+5.27828749e-06
+5.27830011e-06
+5.2783121e-06
+5.27832345e-06
+5.27833413e-06
+5.27834409e-06
+5.27835325e-06
+5.27836152e-06
+5.27836894e-06
+)
+;
+    }
+    wall2
+    {
+        type            nutkWallFunction;
+        Cmu             0.09;
+        kappa           0.41;
+        E               9.8;
+        value           nonuniform List<scalar>
+75
+(
+5.27701149e-06
+5.27702214e-06
+5.27702606e-06
+5.27703166e-06
+5.27703767e-06
+5.27704431e-06
+5.27705164e-06
+5.27705969e-06
+5.27706848e-06
+5.27707802e-06
+5.27708834e-06
+5.27709942e-06
+5.27711127e-06
+5.27712388e-06
+5.27713725e-06
+5.27715135e-06
+5.27716619e-06
+5.27718173e-06
+5.27719797e-06
+5.27721488e-06
+5.27723246e-06
+5.27725067e-06
+5.27726949e-06
+5.2772889e-06
+5.27730888e-06
+5.27732939e-06
+5.27735041e-06
+5.27737192e-06
+5.27739386e-06
+5.27741621e-06
+5.27743895e-06
+5.27746201e-06
+5.27748538e-06
+5.27750901e-06
+5.27753285e-06
+5.27755687e-06
+5.27758104e-06
+5.2776053e-06
+5.27762961e-06
+5.27765395e-06
+5.27767826e-06
+5.27770249e-06
+5.27772663e-06
+5.27775063e-06
+5.27777444e-06
+5.27779803e-06
+5.27782136e-06
+5.2778444e-06
+5.27786712e-06
+5.27788948e-06
+5.27791145e-06
+5.27793301e-06
+5.27795412e-06
+5.27797477e-06
+5.27799493e-06
+5.27801458e-06
+5.27803371e-06
+5.27805228e-06
+5.27807031e-06
+5.27808777e-06
+5.27810465e-06
+5.27812095e-06
+5.27813667e-06
+5.27815179e-06
+5.27816633e-06
+5.27818028e-06
+5.27819366e-06
+5.27820647e-06
+5.27821876e-06
+5.27823055e-06
+5.27824193e-06
+5.27825305e-06
+5.27826429e-06
+5.27827638e-06
+5.27829433e-06
+)
+;
+    }
+    defaultFaces
+    {
+        type            empty;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/p b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/p
new file mode 100644
index 00000000000..75547532e96
--- /dev/null
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/p
@@ -0,0 +1,2117 @@
+/*--------------------------------*- 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;
+    location    "5";
+    object      p;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -1 -2 0 0 0 0];
+
+internalField   nonuniform List<scalar>
+1875
+(
+119348.073
+119348.087
+119348.115
+119348.156
+119348.207
+119348.266
+119348.332
+119348.403
+119348.476
+119348.549
+119348.644
+119348.772
+119348.933
+119349.127
+119349.354
+119349.616
+119349.899
+119350.184
+119350.472
+119350.765
+119351.065
+119351.376
+119351.699
+119352.037
+119352.376
+119096.454
+119096.466
+119096.491
+119096.529
+119096.578
+119096.64
+119096.714
+119096.8
+119096.898
+119097.01
+119097.138
+119097.282
+119097.444
+119097.624
+119097.822
+119098.036
+119098.265
+119098.507
+119098.761
+119099.025
+119099.3
+119099.584
+119099.877
+119100.18
+119100.503
+118844.579
+118844.591
+118844.616
+118844.655
+118844.706
+118844.77
+118844.847
+118844.937
+118845.04
+118845.157
+118845.288
+118845.432
+118845.591
+118845.764
+118845.95
+118846.151
+118846.364
+118846.59
+118846.828
+118847.078
+118847.34
+118847.612
+118847.895
+118848.19
+118848.509
+118592.451
+118592.464
+118592.489
+118592.527
+118592.579
+118592.643
+118592.721
+118592.811
+118592.915
+118593.032
+118593.161
+118593.304
+118593.46
+118593.629
+118593.811
+118594.005
+118594.212
+118594.432
+118594.664
+118594.908
+118595.164
+118595.432
+118595.712
+118596.005
+118596.324
+118340.069
+118340.082
+118340.107
+118340.145
+118340.197
+118340.261
+118340.338
+118340.428
+118340.531
+118340.647
+118340.776
+118340.917
+118341.071
+118341.238
+118341.417
+118341.609
+118341.814
+118342.031
+118342.26
+118342.502
+118342.756
+118343.023
+118343.302
+118343.594
+118343.913
+118087.434
+118087.446
+118087.471
+118087.51
+118087.561
+118087.625
+118087.701
+118087.791
+118087.894
+118088.009
+118088.137
+118088.277
+118088.43
+118088.596
+118088.774
+118088.965
+118089.168
+118089.384
+118089.613
+118089.854
+118090.107
+118090.373
+118090.652
+118090.945
+118091.264
+117834.546
+117834.558
+117834.583
+117834.621
+117834.672
+117834.736
+117834.813
+117834.902
+117835.004
+117835.119
+117835.246
+117835.386
+117835.539
+117835.704
+117835.882
+117836.072
+117836.275
+117836.491
+117836.719
+117836.96
+117837.213
+117837.479
+117837.758
+117838.051
+117838.371
+117581.406
+117581.419
+117581.444
+117581.482
+117581.533
+117581.596
+117581.673
+117581.762
+117581.864
+117581.978
+117582.105
+117582.245
+117582.397
+117582.562
+117582.74
+117582.93
+117583.133
+117583.348
+117583.577
+117583.817
+117584.071
+117584.337
+117584.616
+117584.909
+117585.229
+117328.016
+117328.028
+117328.053
+117328.091
+117328.142
+117328.205
+117328.282
+117328.371
+117328.473
+117328.587
+117328.714
+117328.854
+117329.006
+117329.171
+117329.348
+117329.539
+117329.741
+117329.957
+117330.185
+117330.426
+117330.679
+117330.945
+117331.225
+117331.518
+117331.839
+117074.374
+117074.387
+117074.412
+117074.45
+117074.5
+117074.564
+117074.64
+117074.729
+117074.831
+117074.945
+117075.072
+117075.212
+117075.364
+117075.529
+117075.706
+117075.897
+117076.099
+117076.315
+117076.543
+117076.784
+117077.037
+117077.304
+117077.583
+117077.877
+117078.198
+116820.482
+116820.494
+116820.52
+116820.557
+116820.608
+116820.671
+116820.748
+116820.837
+116820.938
+116821.053
+116821.18
+116821.319
+116821.471
+116821.636
+116821.814
+116822.004
+116822.207
+116822.422
+116822.65
+116822.891
+116823.145
+116823.411
+116823.69
+116823.984
+116824.305
+116566.34
+116566.352
+116566.377
+116566.415
+116566.465
+116566.529
+116566.605
+116566.694
+116566.796
+116566.91
+116567.037
+116567.176
+116567.328
+116567.493
+116567.671
+116567.861
+116568.063
+116568.278
+116568.506
+116568.747
+116569.001
+116569.267
+116569.547
+116569.84
+116570.161
+116311.947
+116311.959
+116311.984
+116312.022
+116312.072
+116312.136
+116312.212
+116312.301
+116312.402
+116312.517
+116312.643
+116312.783
+116312.935
+116313.099
+116313.277
+116313.467
+116313.669
+116313.884
+116314.112
+116314.353
+116314.606
+116314.872
+116315.151
+116315.445
+116315.766
+116057.304
+116057.316
+116057.341
+116057.379
+116057.429
+116057.492
+116057.568
+116057.657
+116057.759
+116057.873
+116057.999
+116058.139
+116058.29
+116058.455
+116058.632
+116058.822
+116059.024
+116059.239
+116059.467
+116059.707
+116059.96
+116060.226
+116060.505
+116060.798
+116061.119
+115802.411
+115802.423
+115802.448
+115802.486
+115802.536
+115802.599
+115802.675
+115802.764
+115802.865
+115802.979
+115803.105
+115803.244
+115803.396
+115803.56
+115803.737
+115803.927
+115804.129
+115804.343
+115804.57
+115804.811
+115805.063
+115805.329
+115805.607
+115805.9
+115806.221
+115547.269
+115547.281
+115547.306
+115547.343
+115547.394
+115547.457
+115547.532
+115547.621
+115547.722
+115547.836
+115547.962
+115548.101
+115548.252
+115548.416
+115548.592
+115548.781
+115548.983
+115549.197
+115549.424
+115549.664
+115549.916
+115550.181
+115550.459
+115550.751
+115551.071
+115291.877
+115291.889
+115291.914
+115291.952
+115292.002
+115292.065
+115292.14
+115292.229
+115292.33
+115292.443
+115292.569
+115292.707
+115292.858
+115293.022
+115293.198
+115293.387
+115293.588
+115293.801
+115294.028
+115294.267
+115294.519
+115294.783
+115295.06
+115295.352
+115295.671
+115036.238
+115036.25
+115036.274
+115036.312
+115036.362
+115036.425
+115036.5
+115036.588
+115036.689
+115036.802
+115036.927
+115037.065
+115037.216
+115037.379
+115037.555
+115037.743
+115037.943
+115038.156
+115038.382
+115038.62
+115038.872
+115039.135
+115039.412
+115039.703
+115040.021
+114780.35
+114780.362
+114780.387
+114780.424
+114780.474
+114780.537
+114780.612
+114780.7
+114780.8
+114780.913
+114781.038
+114781.175
+114781.325
+114781.488
+114781.663
+114781.851
+114782.05
+114782.263
+114782.488
+114782.725
+114782.976
+114783.239
+114783.514
+114783.804
+114784.122
+114524.216
+114524.228
+114524.253
+114524.29
+114524.339
+114524.402
+114524.477
+114524.564
+114524.664
+114524.776
+114524.901
+114525.038
+114525.188
+114525.349
+114525.524
+114525.711
+114525.91
+114526.121
+114526.346
+114526.582
+114526.832
+114527.094
+114527.368
+114527.657
+114527.973
+114267.836
+114267.848
+114267.872
+114267.909
+114267.959
+114268.021
+114268.095
+114268.182
+114268.282
+114268.394
+114268.518
+114268.654
+114268.803
+114268.965
+114269.138
+114269.324
+114269.523
+114269.733
+114269.957
+114270.192
+114270.441
+114270.701
+114270.975
+114271.263
+114271.578
+114011.211
+114011.223
+114011.247
+114011.284
+114011.333
+114011.395
+114011.469
+114011.556
+114011.655
+114011.766
+114011.89
+114012.025
+114012.174
+114012.334
+114012.507
+114012.692
+114012.89
+114013.099
+114013.321
+114013.556
+114013.803
+114014.063
+114014.335
+114014.621
+114014.935
+113754.342
+113754.354
+113754.378
+113754.415
+113754.464
+113754.525
+113754.599
+113754.685
+113754.784
+113754.894
+113755.017
+113755.152
+113755.3
+113755.459
+113755.631
+113755.816
+113756.012
+113756.221
+113756.442
+113756.675
+113756.921
+113757.179
+113757.45
+113757.735
+113758.047
+113497.231
+113497.242
+113497.266
+113497.303
+113497.352
+113497.413
+113497.486
+113497.572
+113497.67
+113497.78
+113497.902
+113498.036
+113498.183
+113498.342
+113498.513
+113498.696
+113498.891
+113499.098
+113499.318
+113499.55
+113499.795
+113500.051
+113500.321
+113500.604
+113500.915
+113239.878
+113239.89
+113239.914
+113239.95
+113239.998
+113240.059
+113240.132
+113240.217
+113240.314
+113240.424
+113240.545
+113240.679
+113240.824
+113240.982
+113241.152
+113241.334
+113241.528
+113241.734
+113241.953
+113242.183
+113242.426
+113242.681
+113242.949
+113243.231
+113243.539
+112982.286
+112982.298
+112982.321
+112982.357
+112982.405
+112982.466
+112982.538
+112982.623
+112982.719
+112982.828
+112982.949
+112983.081
+112983.226
+112983.383
+112983.551
+112983.732
+112983.925
+112984.13
+112984.346
+112984.576
+112984.817
+112985.07
+112985.336
+112985.616
+112985.923
+112724.456
+112724.467
+112724.491
+112724.527
+112724.575
+112724.634
+112724.706
+112724.79
+112724.886
+112724.994
+112725.114
+112725.245
+112725.389
+112725.545
+112725.712
+112725.892
+112726.083
+112726.286
+112726.501
+112726.729
+112726.968
+112727.22
+112727.484
+112727.761
+112728.066
+112466.39
+112466.401
+112466.425
+112466.46
+112466.507
+112466.567
+112466.638
+112466.721
+112466.817
+112466.924
+112467.042
+112467.173
+112467.315
+112467.47
+112467.636
+112467.814
+112468.004
+112468.205
+112468.419
+112468.644
+112468.882
+112469.132
+112469.393
+112469.669
+112469.971
+112208.089
+112208.101
+112208.124
+112208.159
+112208.206
+112208.265
+112208.335
+112208.418
+112208.512
+112208.619
+112208.736
+112208.866
+112209.007
+112209.16
+112209.325
+112209.501
+112209.689
+112209.889
+112210.101
+112210.325
+112210.56
+112210.808
+112211.067
+112211.34
+112211.64
+111949.556
+111949.568
+111949.59
+111949.625
+111949.672
+111949.73
+111949.8
+111949.882
+111949.976
+111950.081
+111950.197
+111950.326
+111950.466
+111950.617
+111950.781
+111950.955
+111951.142
+111951.34
+111951.55
+111951.771
+111952.005
+111952.25
+111952.507
+111952.778
+111953.075
+111690.793
+111690.804
+111690.827
+111690.861
+111690.908
+111690.965
+111691.035
+111691.116
+111691.208
+111691.313
+111691.428
+111691.555
+111691.694
+111691.844
+111692.005
+111692.179
+111692.363
+111692.559
+111692.767
+111692.987
+111693.218
+111693.461
+111693.715
+111693.983
+111694.278
+111431.802
+111431.813
+111431.836
+111431.87
+111431.915
+111431.972
+111432.041
+111432.121
+111432.213
+111432.316
+111432.43
+111432.556
+111432.693
+111432.842
+111433.002
+111433.173
+111433.356
+111433.55
+111433.756
+111433.973
+111434.201
+111434.442
+111434.694
+111434.959
+111435.251
+111172.586
+111172.596
+111172.619
+111172.652
+111172.697
+111172.754
+111172.822
+111172.901
+111172.992
+111173.094
+111173.207
+111173.331
+111173.467
+111173.614
+111173.772
+111173.941
+111174.122
+111174.314
+111174.517
+111174.732
+111174.958
+111175.196
+111175.445
+111175.707
+111175.996
+110913.146
+110913.157
+110913.179
+110913.212
+110913.256
+110913.312
+110913.379
+110913.458
+110913.547
+110913.648
+110913.76
+110913.883
+110914.017
+110914.162
+110914.318
+110914.486
+110914.664
+110914.854
+110915.055
+110915.267
+110915.49
+110915.725
+110915.972
+110916.231
+110916.517
+110653.486
+110653.496
+110653.518
+110653.551
+110653.595
+110653.65
+110653.716
+110653.794
+110653.882
+110653.982
+110654.092
+110654.213
+110654.346
+110654.489
+110654.643
+110654.809
+110654.985
+110655.172
+110655.371
+110655.58
+110655.801
+110656.033
+110656.276
+110656.532
+110656.815
+110393.608
+110393.618
+110393.64
+110393.672
+110393.716
+110393.77
+110393.835
+110393.912
+110393.999
+110394.097
+110394.206
+110394.326
+110394.456
+110394.598
+110394.75
+110394.913
+110395.087
+110395.272
+110395.468
+110395.675
+110395.892
+110396.121
+110396.361
+110396.614
+110396.893
+110133.515
+110133.525
+110133.547
+110133.579
+110133.621
+110133.675
+110133.74
+110133.815
+110133.901
+110133.998
+110134.105
+110134.223
+110134.352
+110134.491
+110134.641
+110134.802
+110134.974
+110135.156
+110135.349
+110135.553
+110135.768
+110135.993
+110136.23
+110136.479
+110136.755
+109873.211
+109873.221
+109873.242
+109873.273
+109873.315
+109873.368
+109873.432
+109873.506
+109873.591
+109873.686
+109873.792
+109873.908
+109874.035
+109874.172
+109874.32
+109874.479
+109874.648
+109874.827
+109875.017
+109875.218
+109875.43
+109875.652
+109875.885
+109876.131
+109876.403
+109612.698
+109612.708
+109612.728
+109612.759
+109612.801
+109612.853
+109612.915
+109612.988
+109613.072
+109613.166
+109613.27
+109613.384
+109613.509
+109613.644
+109613.79
+109613.946
+109614.112
+109614.289
+109614.476
+109614.674
+109614.882
+109615.101
+109615.33
+109615.572
+109615.84
+109351.979
+109351.989
+109352.009
+109352.04
+109352.081
+109352.132
+109352.193
+109352.265
+109352.347
+109352.439
+109352.542
+109352.654
+109352.777
+109352.91
+109353.053
+109353.207
+109353.37
+109353.544
+109353.728
+109353.923
+109354.127
+109354.343
+109354.568
+109354.806
+109355.07
+109091.059
+109091.069
+109091.088
+109091.118
+109091.158
+109091.209
+109091.269
+109091.34
+109091.42
+109091.511
+109091.612
+109091.722
+109091.843
+109091.974
+109092.114
+109092.265
+109092.426
+109092.596
+109092.777
+109092.968
+109093.169
+109093.381
+109093.603
+109093.836
+109094.096
+108829.94
+108829.95
+108829.969
+108829.998
+108830.038
+108830.087
+108830.146
+108830.216
+108830.295
+108830.384
+108830.483
+108830.591
+108830.71
+108830.838
+108830.976
+108831.124
+108831.282
+108831.449
+108831.627
+108831.814
+108832.012
+108832.219
+108832.437
+108832.666
+108832.921
+108568.627
+108568.636
+108568.655
+108568.684
+108568.722
+108568.771
+108568.829
+108568.897
+108568.975
+108569.062
+108569.159
+108569.265
+108569.381
+108569.507
+108569.642
+108569.787
+108569.942
+108570.106
+108570.28
+108570.464
+108570.658
+108570.861
+108571.075
+108571.3
+108571.55
+108307.122
+108307.131
+108307.15
+108307.178
+108307.216
+108307.263
+108307.32
+108307.387
+108307.463
+108307.548
+108307.643
+108307.747
+108307.861
+108307.984
+108308.117
+108308.259
+108308.411
+108308.571
+108308.742
+108308.922
+108309.112
+108309.311
+108309.52
+108309.741
+108309.986
+108045.431
+108045.44
+108045.458
+108045.485
+108045.522
+108045.569
+108045.625
+108045.69
+108045.764
+108045.848
+108045.94
+108046.042
+108046.154
+108046.274
+108046.404
+108046.543
+108046.691
+108046.849
+108047.015
+108047.191
+108047.377
+108047.572
+108047.777
+108047.992
+108048.233
+107783.557
+107783.565
+107783.583
+107783.61
+107783.646
+107783.691
+107783.746
+107783.809
+107783.882
+107783.964
+107784.054
+107784.154
+107784.263
+107784.38
+107784.507
+107784.643
+107784.788
+107784.942
+107785.105
+107785.277
+107785.458
+107785.649
+107785.849
+107786.059
+107786.295
+107521.503
+107521.512
+107521.529
+107521.555
+107521.591
+107521.635
+107521.688
+107521.75
+107521.821
+107521.901
+107521.989
+107522.086
+107522.192
+107522.307
+107522.431
+107522.564
+107522.705
+107522.855
+107523.014
+107523.182
+107523.359
+107523.545
+107523.74
+107523.946
+107524.177
+107259.276
+107259.284
+107259.301
+107259.326
+107259.361
+107259.404
+107259.455
+107259.516
+107259.585
+107259.663
+107259.749
+107259.844
+107259.947
+107260.059
+107260.18
+107260.309
+107260.447
+107260.593
+107260.748
+107260.912
+107261.084
+107261.265
+107261.455
+107261.656
+107261.881
+106996.878
+106996.886
+106996.902
+106996.927
+106996.961
+106997.003
+106997.053
+106997.112
+106997.179
+106997.255
+106997.339
+106997.431
+106997.531
+106997.64
+106997.758
+106997.884
+106998.017
+106998.16
+106998.311
+106998.47
+106998.638
+106998.814
+106998.999
+106999.194
+106999.414
+106734.315
+106734.323
+106734.338
+106734.363
+106734.395
+106734.436
+106734.485
+106734.542
+106734.607
+106734.681
+106734.762
+106734.852
+106734.95
+106735.056
+106735.17
+106735.292
+106735.422
+106735.56
+106735.707
+106735.861
+106736.025
+106736.196
+106736.376
+106736.566
+106736.78
+106471.591
+106471.598
+106471.614
+106471.637
+106471.669
+106471.708
+106471.756
+106471.811
+106471.875
+106471.946
+106472.025
+106472.112
+106472.207
+106472.31
+106472.42
+106472.539
+106472.665
+106472.799
+106472.941
+106473.091
+106473.249
+106473.416
+106473.59
+106473.774
+106473.983
+106208.711
+106208.718
+106208.733
+106208.756
+106208.787
+106208.825
+106208.871
+106208.925
+106208.986
+106209.055
+106209.132
+106209.216
+106209.308
+106209.407
+106209.514
+106209.629
+106209.751
+106209.881
+106210.018
+106210.164
+106210.317
+106210.478
+106210.647
+106210.825
+106211.028
+105945.681
+105945.688
+105945.702
+105945.724
+105945.753
+105945.79
+105945.835
+105945.887
+105945.946
+105946.013
+105946.087
+105946.168
+105946.257
+105946.353
+105946.456
+105946.567
+105946.685
+105946.811
+105946.944
+105947.084
+105947.232
+105947.388
+105947.551
+105947.723
+105947.92
+105682.504
+105682.511
+105682.525
+105682.546
+105682.574
+105682.61
+105682.653
+105682.703
+105682.76
+105682.824
+105682.896
+105682.974
+105683.06
+105683.152
+105683.252
+105683.359
+105683.473
+105683.594
+105683.722
+105683.857
+105684
+105684.15
+105684.308
+105684.474
+105684.664
+105419.187
+105419.193
+105419.207
+105419.227
+105419.254
+105419.289
+105419.33
+105419.378
+105419.433
+105419.495
+105419.564
+105419.639
+105419.721
+105419.811
+105419.907
+105420.009
+105420.119
+105420.235
+105420.359
+105420.489
+105420.626
+105420.771
+105420.922
+105421.082
+105421.266
+105155.735
+105155.741
+105155.753
+105155.773
+105155.799
+105155.832
+105155.872
+105155.918
+105155.971
+105156.03
+105156.096
+105156.168
+105156.247
+105156.333
+105156.425
+105156.524
+105156.629
+105156.741
+105156.859
+105156.984
+105157.116
+105157.254
+105157.4
+105157.553
+105157.73
+104892.152
+104892.158
+104892.17
+104892.189
+104892.214
+104892.245
+104892.283
+104892.328
+104892.378
+104892.435
+104892.498
+104892.567
+104892.643
+104892.725
+104892.813
+104892.908
+104893.008
+104893.115
+104893.228
+104893.348
+104893.474
+104893.607
+104893.746
+104893.893
+104894.063
+104628.446
+104628.451
+104628.463
+104628.481
+104628.504
+104628.535
+104628.571
+104628.613
+104628.661
+104628.716
+104628.776
+104628.842
+104628.914
+104628.992
+104629.076
+104629.166
+104629.262
+104629.364
+104629.472
+104629.586
+104629.707
+104629.833
+104629.966
+104630.107
+104630.27
+104364.621
+104364.626
+104364.637
+104364.654
+104364.676
+104364.705
+104364.739
+104364.78
+104364.826
+104364.877
+104364.934
+104364.997
+104365.066
+104365.14
+104365.22
+104365.306
+104365.397
+104365.494
+104365.597
+104365.705
+104365.82
+104365.94
+104366.066
+104366.2
+104366.357
+104100.683
+104100.688
+104100.698
+104100.714
+104100.735
+104100.763
+104100.795
+104100.833
+104100.877
+104100.926
+104100.98
+104101.039
+104101.104
+104101.175
+104101.251
+104101.332
+104101.418
+104101.51
+104101.607
+104101.71
+104101.819
+104101.932
+104102.052
+104102.179
+104102.328
+103836.638
+103836.643
+103836.652
+103836.667
+103836.688
+103836.713
+103836.744
+103836.78
+103836.821
+103836.867
+103836.918
+103836.975
+103837.036
+103837.102
+103837.174
+103837.25
+103837.332
+103837.418
+103837.51
+103837.607
+103837.709
+103837.817
+103837.93
+103838.05
+103838.192
+103572.493
+103572.497
+103572.506
+103572.52
+103572.539
+103572.563
+103572.592
+103572.626
+103572.664
+103572.708
+103572.756
+103572.808
+103572.866
+103572.928
+103572.995
+103573.067
+103573.144
+103573.225
+103573.311
+103573.402
+103573.498
+103573.599
+103573.705
+103573.818
+103573.952
+103308.253
+103308.257
+103308.265
+103308.278
+103308.296
+103308.318
+103308.345
+103308.377
+103308.413
+103308.453
+103308.498
+103308.547
+103308.601
+103308.659
+103308.722
+103308.789
+103308.86
+103308.936
+103309.016
+103309.101
+103309.191
+103309.285
+103309.384
+103309.49
+103309.617
+103043.925
+103043.928
+103043.936
+103043.948
+103043.965
+103043.985
+103044.01
+103044.04
+103044.073
+103044.111
+103044.152
+103044.198
+103044.247
+103044.301
+103044.359
+103044.422
+103044.488
+103044.558
+103044.633
+103044.711
+103044.795
+103044.882
+103044.974
+103045.072
+103045.191
+102779.515
+102779.518
+102779.525
+102779.536
+102779.552
+102779.571
+102779.594
+102779.62
+102779.651
+102779.686
+102779.724
+102779.766
+102779.812
+102779.861
+102779.914
+102779.972
+102780.033
+102780.097
+102780.166
+102780.238
+102780.315
+102780.395
+102780.48
+102780.57
+102780.682
+102515.03
+102515.033
+102515.039
+102515.049
+102515.063
+102515.08
+102515.101
+102515.126
+102515.154
+102515.185
+102515.22
+102515.258
+102515.3
+102515.345
+102515.394
+102515.446
+102515.501
+102515.56
+102515.622
+102515.688
+102515.758
+102515.832
+102515.909
+102515.992
+102516.095
+102250.476
+102250.479
+102250.485
+102250.494
+102250.506
+102250.522
+102250.54
+102250.562
+102250.588
+102250.616
+102250.647
+102250.681
+102250.719
+102250.759
+102250.803
+102250.85
+102250.9
+102250.953
+102251.009
+102251.069
+102251.132
+102251.198
+102251.268
+102251.342
+102251.438
+101985.861
+101985.863
+101985.869
+101985.877
+101985.887
+101985.901
+101985.918
+101985.937
+101985.959
+101985.984
+101986.012
+101986.042
+101986.075
+101986.111
+101986.15
+101986.191
+101986.236
+101986.283
+101986.332
+101986.385
+101986.441
+101986.5
+101986.562
+101986.629
+101986.716
+101721.192
+101721.194
+101721.198
+101721.205
+101721.214
+101721.226
+101721.24
+101721.257
+101721.276
+101721.298
+101721.322
+101721.348
+101721.376
+101721.407
+101721.441
+101721.477
+101721.515
+101721.556
+101721.599
+101721.645
+101721.694
+101721.745
+101721.799
+101721.858
+101721.937
+101456.475
+101456.476
+101456.48
+101456.486
+101456.493
+101456.503
+101456.515
+101456.529
+101456.545
+101456.563
+101456.583
+101456.605
+101456.629
+101456.655
+101456.683
+101456.713
+101456.745
+101456.779
+101456.816
+101456.855
+101456.896
+101456.94
+101456.986
+101457.037
+101457.107
+101191.718
+101191.719
+101191.722
+101191.726
+101191.733
+101191.74
+101191.75
+101191.761
+101191.774
+101191.788
+101191.803
+101191.821
+101191.84
+101191.86
+101191.883
+101191.907
+101191.932
+101191.96
+101191.989
+101192.021
+101192.054
+101192.09
+101192.128
+101192.171
+101192.232
+100926.928
+100926.929
+100926.931
+100926.935
+100926.939
+100926.945
+100926.952
+100926.96
+100926.969
+100926.979
+100926.991
+100927.003
+100927.017
+100927.032
+100927.048
+100927.066
+100927.084
+100927.105
+100927.126
+100927.15
+100927.176
+100927.203
+100927.233
+100927.267
+100927.319
+100662.113
+100662.113
+100662.115
+100662.117
+100662.12
+100662.124
+100662.129
+100662.134
+100662.14
+100662.146
+100662.153
+100662.161
+100662.17
+100662.179
+100662.189
+100662.199
+100662.21
+100662.223
+100662.236
+100662.251
+100662.267
+100662.285
+100662.306
+100662.331
+100662.375
+100397.278
+100397.278
+100397.279
+100397.28
+100397.282
+100397.284
+100397.287
+100397.29
+100397.293
+100397.296
+100397.3
+100397.303
+100397.308
+100397.312
+100397.316
+100397.32
+100397.324
+100397.328
+100397.333
+100397.337
+100397.342
+100397.347
+100397.354
+100397.365
+100397.397
+100132.427
+100132.427
+100132.427
+100132.427
+100132.428
+100132.428
+100132.429
+100132.43
+100132.431
+100132.432
+100132.432
+100132.433
+100132.434
+100132.435
+100132.437
+100132.438
+100132.439
+100132.44
+100132.441
+100132.443
+100132.444
+100132.446
+100132.449
+100132.454
+100132.47
+)
+;
+
+boundaryField
+{
+    inlet
+    {
+        type            calculated;
+        value           nonuniform List<scalar>
+25
+(
+119473.51
+119473.524
+119473.552
+119473.593
+119473.644
+119473.703
+119473.77
+119473.84
+119473.913
+119473.987
+119474.081
+119474.209
+119474.37
+119474.564
+119474.791
+119475.053
+119475.337
+119475.621
+119475.909
+119476.202
+119476.502
+119476.813
+119477.136
+119477.474
+119477.805
+)
+;
+    }
+    outlet
+    {
+        type            calculated;
+        value           uniform 100000;
+    }
+    wall1
+    {
+        type            calculated;
+        value           nonuniform List<scalar>
+75
+(
+119348.073
+119096.454
+118844.579
+118592.451
+118340.069
+118087.434
+117834.546
+117581.406
+117328.016
+117074.374
+116820.482
+116566.34
+116311.947
+116057.304
+115802.411
+115547.269
+115291.877
+115036.238
+114780.35
+114524.216
+114267.836
+114011.211
+113754.342
+113497.231
+113239.878
+112982.286
+112724.456
+112466.39
+112208.089
+111949.556
+111690.793
+111431.802
+111172.586
+110913.146
+110653.486
+110393.608
+110133.515
+109873.211
+109612.698
+109351.979
+109091.059
+108829.94
+108568.627
+108307.122
+108045.431
+107783.557
+107521.503
+107259.276
+106996.878
+106734.315
+106471.591
+106208.711
+105945.681
+105682.504
+105419.187
+105155.735
+104892.152
+104628.446
+104364.621
+104100.683
+103836.638
+103572.493
+103308.253
+103043.925
+102779.515
+102515.03
+102250.476
+101985.861
+101721.192
+101456.475
+101191.718
+100926.928
+100662.113
+100397.278
+100132.427
+)
+;
+    }
+    wall2
+    {
+        type            calculated;
+        value           nonuniform List<scalar>
+75
+(
+119352.376
+119100.503
+118848.509
+118596.324
+118343.913
+118091.264
+117838.371
+117585.229
+117331.839
+117078.198
+116824.305
+116570.161
+116315.766
+116061.119
+115806.221
+115551.071
+115295.671
+115040.021
+114784.122
+114527.973
+114271.578
+114014.935
+113758.047
+113500.915
+113243.539
+112985.923
+112728.066
+112469.971
+112211.64
+111953.075
+111694.278
+111435.251
+111175.996
+110916.517
+110656.815
+110396.893
+110136.755
+109876.403
+109615.84
+109355.07
+109094.096
+108832.921
+108571.55
+108309.986
+108048.233
+107786.295
+107524.177
+107261.881
+106999.414
+106736.78
+106473.983
+106211.028
+105947.92
+105684.664
+105421.266
+105157.73
+104894.063
+104630.27
+104366.357
+104102.328
+103838.192
+103573.952
+103309.617
+103045.191
+102780.682
+102516.095
+102251.438
+101986.716
+101721.937
+101457.107
+101192.232
+100927.319
+100662.375
+100397.397
+100132.47
+)
+;
+    }
+    defaultFaces
+    {
+        type            empty;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/p_rgh b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/p_rgh
new file mode 100644
index 00000000000..8bc7ba315bc
--- /dev/null
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/p_rgh
@@ -0,0 +1,2150 @@
+/*--------------------------------*- 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;
+    location    "5";
+    object      p_rgh;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -1 -2 0 0 0 0];
+
+internalField   nonuniform List<scalar>
+1875
+(
+119473.51
+119473.524
+119473.552
+119473.593
+119473.644
+119473.703
+119473.77
+119473.84
+119473.913
+119473.987
+119474.081
+119474.209
+119474.37
+119474.564
+119474.791
+119475.053
+119475.337
+119475.621
+119475.909
+119476.202
+119476.502
+119476.813
+119477.136
+119477.474
+119477.805
+119472.766
+119472.778
+119472.803
+119472.84
+119472.89
+119472.952
+119473.025
+119473.111
+119473.21
+119473.322
+119473.45
+119473.594
+119473.756
+119473.936
+119474.134
+119474.348
+119474.577
+119474.819
+119475.072
+119475.337
+119475.611
+119475.896
+119476.189
+119476.492
+119476.791
+119471.765
+119471.777
+119471.802
+119471.841
+119471.892
+119471.956
+119472.033
+119472.123
+119472.226
+119472.343
+119472.474
+119472.618
+119472.777
+119472.95
+119473.136
+119473.337
+119473.55
+119473.776
+119474.014
+119474.264
+119474.526
+119474.798
+119475.081
+119475.376
+119475.656
+119470.511
+119470.524
+119470.549
+119470.588
+119470.639
+119470.704
+119470.781
+119470.872
+119470.975
+119471.092
+119471.222
+119471.364
+119471.52
+119471.689
+119471.871
+119472.066
+119472.273
+119472.492
+119472.724
+119472.968
+119473.225
+119473.493
+119473.773
+119474.066
+119474.329
+119469.004
+119469.016
+119469.042
+119469.08
+119469.131
+119469.196
+119469.273
+119469.363
+119469.466
+119469.582
+119469.71
+119469.852
+119470.006
+119470.173
+119470.352
+119470.544
+119470.749
+119470.966
+119471.195
+119471.437
+119471.691
+119471.958
+119472.236
+119472.529
+119472.777
+119467.243
+119467.255
+119467.281
+119467.319
+119467.37
+119467.434
+119467.511
+119467.6
+119467.703
+119467.818
+119467.946
+119468.086
+119468.239
+119468.405
+119468.583
+119468.774
+119468.978
+119469.194
+119469.422
+119469.663
+119469.916
+119470.183
+119470.461
+119470.754
+119470.986
+119465.23
+119465.242
+119465.267
+119465.305
+119465.356
+119465.42
+119465.496
+119465.586
+119465.688
+119465.802
+119465.93
+119466.07
+119466.222
+119466.388
+119466.566
+119466.756
+119466.959
+119467.174
+119467.402
+119467.643
+119467.897
+119468.163
+119468.441
+119468.734
+119468.951
+119462.964
+119462.977
+119463.002
+119463.04
+119463.091
+119463.154
+119463.231
+119463.32
+119463.422
+119463.536
+119463.663
+119463.803
+119463.955
+119464.12
+119464.298
+119464.488
+119464.691
+119464.906
+119465.135
+119465.375
+119465.629
+119465.895
+119466.174
+119466.467
+119466.668
+119460.448
+119460.46
+119460.486
+119460.523
+119460.574
+119460.638
+119460.714
+119460.803
+119460.905
+119461.019
+119461.146
+119461.286
+119461.438
+119461.603
+119461.781
+119461.971
+119462.174
+119462.389
+119462.617
+119462.858
+119463.111
+119463.378
+119463.657
+119463.95
+119464.135
+119457.681
+119457.693
+119457.718
+119457.756
+119457.807
+119457.87
+119457.947
+119458.036
+119458.138
+119458.252
+119458.379
+119458.518
+119458.671
+119458.836
+119459.013
+119459.203
+119459.406
+119459.621
+119459.85
+119460.09
+119460.344
+119460.61
+119460.89
+119461.183
+119461.352
+119454.663
+119454.676
+119454.701
+119454.739
+119454.789
+119454.853
+119454.929
+119455.018
+119455.12
+119455.234
+119455.361
+119455.5
+119455.653
+119455.817
+119455.995
+119456.185
+119456.388
+119456.603
+119456.831
+119457.072
+119457.326
+119457.592
+119457.872
+119458.165
+119458.318
+119451.395
+119451.407
+119451.432
+119451.47
+119451.521
+119451.584
+119451.661
+119451.749
+119451.851
+119451.965
+119452.092
+119452.232
+119452.384
+119452.549
+119452.726
+119452.916
+119453.119
+119453.334
+119453.562
+119453.803
+119454.056
+119454.323
+119454.602
+119454.896
+119455.032
+119447.877
+119447.889
+119447.914
+119447.952
+119448.002
+119448.066
+119448.142
+119448.231
+119448.332
+119448.447
+119448.573
+119448.713
+119448.865
+119449.029
+119449.207
+119449.397
+119449.599
+119449.814
+119450.042
+119450.283
+119450.536
+119450.802
+119451.081
+119451.375
+119451.495
+119444.108
+119444.12
+119444.145
+119444.183
+119444.234
+119444.297
+119444.373
+119444.462
+119444.563
+119444.677
+119444.804
+119444.943
+119445.095
+119445.259
+119445.436
+119445.626
+119445.828
+119446.043
+119446.271
+119446.511
+119446.765
+119447.03
+119447.309
+119447.603
+119447.705
+119440.09
+119440.102
+119440.127
+119440.164
+119440.215
+119440.278
+119440.354
+119440.443
+119440.544
+119440.658
+119440.784
+119440.923
+119441.075
+119441.239
+119441.416
+119441.605
+119441.807
+119442.022
+119442.249
+119442.489
+119442.742
+119443.008
+119443.286
+119443.579
+119443.665
+119435.822
+119435.834
+119435.859
+119435.896
+119435.947
+119436.01
+119436.086
+119436.174
+119436.275
+119436.389
+119436.515
+119436.654
+119436.805
+119436.969
+119437.146
+119437.335
+119437.536
+119437.75
+119437.977
+119438.217
+119438.469
+119438.734
+119439.012
+119439.304
+119439.373
+119431.305
+119431.317
+119431.342
+119431.379
+119431.43
+119431.492
+119431.568
+119431.656
+119431.757
+119431.871
+119431.997
+119432.135
+119432.286
+119432.449
+119432.626
+119432.814
+119433.015
+119433.229
+119433.455
+119433.694
+119433.946
+119434.211
+119434.488
+119434.78
+119434.831
+119426.54
+119426.552
+119426.576
+119426.614
+119426.664
+119426.727
+119426.802
+119426.89
+119426.991
+119427.104
+119427.229
+119427.367
+119427.518
+119427.681
+119427.857
+119428.045
+119428.245
+119428.458
+119428.684
+119428.922
+119429.174
+119429.437
+119429.714
+119430.005
+119430.038
+119421.527
+119421.539
+119421.563
+119421.601
+119421.651
+119421.713
+119421.788
+119421.876
+119421.976
+119422.089
+119422.214
+119422.352
+119422.502
+119422.664
+119422.839
+119423.027
+119423.227
+119423.439
+119423.664
+119423.902
+119424.152
+119424.415
+119424.691
+119424.98
+119424.996
+119416.267
+119416.279
+119416.303
+119416.341
+119416.39
+119416.453
+119416.527
+119416.615
+119416.715
+119416.827
+119416.952
+119417.089
+119417.238
+119417.4
+119417.575
+119417.762
+119417.961
+119418.172
+119418.396
+119418.633
+119418.882
+119419.144
+119419.419
+119419.708
+119419.705
+119410.761
+119410.773
+119410.797
+119410.834
+119410.884
+119410.946
+119411.021
+119411.108
+119411.207
+119411.319
+119411.443
+119411.58
+119411.728
+119411.89
+119412.063
+119412.249
+119412.448
+119412.659
+119412.882
+119413.117
+119413.366
+119413.627
+119413.9
+119414.188
+119414.167
+119405.01
+119405.022
+119405.047
+119405.083
+119405.133
+119405.194
+119405.269
+119405.355
+119405.454
+119405.566
+119405.689
+119405.825
+119405.973
+119406.134
+119406.307
+119406.492
+119406.689
+119406.899
+119407.121
+119407.356
+119407.603
+119407.862
+119408.135
+119408.421
+119408.381
+119399.016
+119399.028
+119399.052
+119399.089
+119399.138
+119399.199
+119399.273
+119399.359
+119399.458
+119399.568
+119399.691
+119399.826
+119399.974
+119400.133
+119400.305
+119400.49
+119400.686
+119400.895
+119401.116
+119401.349
+119401.595
+119401.853
+119402.124
+119402.409
+119402.35
+119392.779
+119392.791
+119392.815
+119392.851
+119392.9
+119392.961
+119393.034
+119393.12
+119393.218
+119393.328
+119393.45
+119393.585
+119393.731
+119393.89
+119394.061
+119394.244
+119394.439
+119394.647
+119394.867
+119395.099
+119395.343
+119395.6
+119395.869
+119396.152
+119396.075
+119386.301
+119386.313
+119386.336
+119386.373
+119386.421
+119386.482
+119386.555
+119386.64
+119386.737
+119386.847
+119386.968
+119387.102
+119387.247
+119387.405
+119387.575
+119387.757
+119387.951
+119388.157
+119388.375
+119388.606
+119388.849
+119389.104
+119389.372
+119389.653
+119389.557
+119379.583
+119379.595
+119379.619
+119379.655
+119379.703
+119379.763
+119379.835
+119379.92
+119380.017
+119380.125
+119380.246
+119380.379
+119380.523
+119380.68
+119380.849
+119381.029
+119381.222
+119381.427
+119381.644
+119381.873
+119382.114
+119382.367
+119382.633
+119382.913
+119382.797
+119372.628
+119372.639
+119372.663
+119372.698
+119372.746
+119372.806
+119372.878
+119372.962
+119373.058
+119373.166
+119373.285
+119373.417
+119373.561
+119373.716
+119373.884
+119374.063
+119374.254
+119374.458
+119374.673
+119374.9
+119375.14
+119375.391
+119375.655
+119375.933
+119375.797
+119365.436
+119365.447
+119365.471
+119365.506
+119365.553
+119365.613
+119365.684
+119365.767
+119365.863
+119365.97
+119366.088
+119366.219
+119366.361
+119366.516
+119366.682
+119366.86
+119367.05
+119367.251
+119367.465
+119367.69
+119367.928
+119368.178
+119368.439
+119368.715
+119368.559
+119358.01
+119358.021
+119358.044
+119358.079
+119358.126
+119358.185
+119358.256
+119358.338
+119358.433
+119358.539
+119358.657
+119358.786
+119358.927
+119359.08
+119359.245
+119359.422
+119359.61
+119359.81
+119360.021
+119360.245
+119360.481
+119360.728
+119360.988
+119361.26
+119361.085
+119350.351
+119350.362
+119350.385
+119350.42
+119350.467
+119350.525
+119350.595
+119350.677
+119350.77
+119350.876
+119350.992
+119351.121
+119351.26
+119351.412
+119351.575
+119351.75
+119351.937
+119352.135
+119352.344
+119352.566
+119352.799
+119353.045
+119353.302
+119353.572
+119353.376
+119342.462
+119342.474
+119342.496
+119342.531
+119342.577
+119342.635
+119342.704
+119342.785
+119342.878
+119342.982
+119343.097
+119343.224
+119343.363
+119343.513
+119343.675
+119343.848
+119344.032
+119344.229
+119344.436
+119344.656
+119344.887
+119345.13
+119345.384
+119345.652
+119345.436
+119334.346
+119334.357
+119334.379
+119334.413
+119334.459
+119334.516
+119334.585
+119334.665
+119334.757
+119334.86
+119334.974
+119335.1
+119335.237
+119335.385
+119335.545
+119335.717
+119335.899
+119336.094
+119336.299
+119336.516
+119336.745
+119336.985
+119337.237
+119337.502
+119337.265
+119326.004
+119326.014
+119326.037
+119326.07
+119326.115
+119326.172
+119326.24
+119326.319
+119326.41
+119326.512
+119326.625
+119326.749
+119326.885
+119327.032
+119327.19
+119327.359
+119327.54
+119327.732
+119327.935
+119328.15
+119328.376
+119328.614
+119328.863
+119329.125
+119328.867
+119317.438
+119317.449
+119317.471
+119317.504
+119317.549
+119317.605
+119317.672
+119317.75
+119317.84
+119317.94
+119318.052
+119318.175
+119318.309
+119318.454
+119318.611
+119318.778
+119318.957
+119319.146
+119319.347
+119319.559
+119319.783
+119320.018
+119320.264
+119320.523
+119320.243
+119308.653
+119308.663
+119308.685
+119308.718
+119308.762
+119308.817
+119308.883
+119308.96
+119309.049
+119309.148
+119309.259
+119309.38
+119309.512
+119309.656
+119309.81
+119309.976
+119310.152
+119310.339
+119310.537
+119310.747
+119310.968
+119311.2
+119311.443
+119311.699
+119311.397
+119299.649
+119299.659
+119299.681
+119299.713
+119299.757
+119299.811
+119299.877
+119299.953
+119300.04
+119300.138
+119300.247
+119300.367
+119300.498
+119300.639
+119300.791
+119300.955
+119301.129
+119301.313
+119301.509
+119301.716
+119301.934
+119302.162
+119302.403
+119302.655
+119302.332
+119290.431
+119290.441
+119290.462
+119290.494
+119290.537
+119290.591
+119290.655
+119290.73
+119290.817
+119290.913
+119291.021
+119291.139
+119291.267
+119291.407
+119291.557
+119291.718
+119291.89
+119292.072
+119292.265
+119292.469
+119292.683
+119292.909
+119293.146
+119293.395
+119293.049
+119281.001
+119281.011
+119281.032
+119281.063
+119281.105
+119281.158
+119281.222
+119281.296
+119281.381
+119281.476
+119281.582
+119281.698
+119281.825
+119281.962
+119282.11
+119282.269
+119282.438
+119282.617
+119282.807
+119283.008
+119283.22
+119283.442
+119283.675
+119283.921
+119283.553
+119271.362
+119271.372
+119271.393
+119271.424
+119271.465
+119271.517
+119271.58
+119271.653
+119271.736
+119271.83
+119271.934
+119272.049
+119272.173
+119272.309
+119272.454
+119272.61
+119272.777
+119272.953
+119273.14
+119273.338
+119273.546
+119273.765
+119273.995
+119274.236
+119273.846
+119261.518
+119261.528
+119261.548
+119261.579
+119261.619
+119261.671
+119261.732
+119261.804
+119261.886
+119261.978
+119262.081
+119262.193
+119262.316
+119262.449
+119262.592
+119262.746
+119262.909
+119263.083
+119263.267
+119263.461
+119263.666
+119263.881
+119264.107
+119264.345
+119263.932
+119251.472
+119251.482
+119251.502
+119251.532
+119251.572
+119251.622
+119251.682
+119251.753
+119251.834
+119251.924
+119252.025
+119252.135
+119252.256
+119252.387
+119252.527
+119252.678
+119252.839
+119253.01
+119253.19
+119253.381
+119253.583
+119253.794
+119254.016
+119254.249
+119253.813
+119241.228
+119241.237
+119241.257
+119241.286
+119241.325
+119241.375
+119241.434
+119241.503
+119241.583
+119241.672
+119241.77
+119241.879
+119241.997
+119242.125
+119242.264
+119242.412
+119242.569
+119242.737
+119242.914
+119243.102
+119243.299
+119243.507
+119243.725
+119243.954
+119243.495
+119230.789
+119230.798
+119230.817
+119230.846
+119230.884
+119230.933
+119230.991
+119231.059
+119231.137
+119231.224
+119231.321
+119231.427
+119231.543
+119231.669
+119231.804
+119231.949
+119232.104
+119232.268
+119232.442
+119232.626
+119232.82
+119233.023
+119233.237
+119233.461
+119232.979
+119220.159
+119220.168
+119220.186
+119220.215
+119220.252
+119220.3
+119220.357
+119220.423
+119220.499
+119220.585
+119220.68
+119220.784
+119220.898
+119221.021
+119221.153
+119221.296
+119221.447
+119221.608
+119221.778
+119221.958
+119222.148
+119222.347
+119222.556
+119222.776
+119222.27
+119209.342
+119209.351
+119209.369
+119209.396
+119209.433
+119209.48
+119209.535
+119209.6
+119209.675
+119209.759
+119209.851
+119209.953
+119210.064
+119210.185
+119210.315
+119210.454
+119210.602
+119210.759
+119210.926
+119211.102
+119211.288
+119211.483
+119211.687
+119211.903
+119211.372
+119198.342
+119198.35
+119198.368
+119198.395
+119198.431
+119198.476
+119198.531
+119198.594
+119198.667
+119198.749
+119198.84
+119198.939
+119199.048
+119199.166
+119199.292
+119199.428
+119199.573
+119199.727
+119199.89
+119200.062
+119200.243
+119200.434
+119200.634
+119200.844
+119200.289
+119187.163
+119187.171
+119187.189
+119187.215
+119187.25
+119187.294
+119187.347
+119187.41
+119187.481
+119187.56
+119187.649
+119187.746
+119187.852
+119187.967
+119188.091
+119188.223
+119188.365
+119188.515
+119188.674
+119188.842
+119189.019
+119189.205
+119189.4
+119189.605
+119189.026
+119175.81
+119175.818
+119175.835
+119175.86
+119175.895
+119175.938
+119175.989
+119176.05
+119176.119
+119176.197
+119176.283
+119176.378
+119176.481
+119176.593
+119176.714
+119176.843
+119176.981
+119177.127
+119177.282
+119177.446
+119177.618
+119177.799
+119177.989
+119178.19
+119177.586
+119164.286
+119164.294
+119164.311
+119164.336
+119164.369
+119164.411
+119164.461
+119164.52
+119164.588
+119164.663
+119164.747
+119164.839
+119164.94
+119165.049
+119165.166
+119165.292
+119165.426
+119165.568
+119165.719
+119165.878
+119166.046
+119166.222
+119166.408
+119166.602
+119165.973
+119152.598
+119152.605
+119152.621
+119152.645
+119152.678
+119152.719
+119152.768
+119152.825
+119152.89
+119152.964
+119153.045
+119153.135
+119153.233
+119153.338
+119153.453
+119153.575
+119153.705
+119153.843
+119153.99
+119154.144
+119154.307
+119154.479
+119154.659
+119154.848
+119154.193
+119140.748
+119140.756
+119140.771
+119140.795
+119140.826
+119140.866
+119140.913
+119140.969
+119141.032
+119141.103
+119141.182
+119141.269
+119141.364
+119141.467
+119141.577
+119141.696
+119141.822
+119141.956
+119142.098
+119142.248
+119142.407
+119142.573
+119142.747
+119142.931
+119142.251
+119128.743
+119128.75
+119128.765
+119128.788
+119128.818
+119128.856
+119128.902
+119128.956
+119129.018
+119129.087
+119129.163
+119129.247
+119129.339
+119129.439
+119129.546
+119129.66
+119129.783
+119129.912
+119130.05
+119130.195
+119130.348
+119130.509
+119130.678
+119130.856
+119130.15
+119116.587
+119116.594
+119116.608
+119116.63
+119116.659
+119116.696
+119116.741
+119116.793
+119116.852
+119116.919
+119116.993
+119117.074
+119117.163
+119117.259
+119117.362
+119117.473
+119117.591
+119117.717
+119117.85
+119117.99
+119118.138
+119118.294
+119118.457
+119118.629
+119117.897
+119104.285
+119104.291
+119104.305
+119104.326
+119104.355
+119104.39
+119104.433
+119104.483
+119104.541
+119104.605
+119104.676
+119104.755
+119104.84
+119104.933
+119105.033
+119105.139
+119105.253
+119105.374
+119105.502
+119105.638
+119105.781
+119105.931
+119106.088
+119106.254
+119105.496
+119091.842
+119091.848
+119091.861
+119091.882
+119091.909
+119091.943
+119091.985
+119092.033
+119092.088
+119092.15
+119092.219
+119092.294
+119092.376
+119092.465
+119092.561
+119092.664
+119092.774
+119092.89
+119093.013
+119093.144
+119093.281
+119093.425
+119093.577
+119093.737
+119092.952
+119079.264
+119079.27
+119079.283
+119079.302
+119079.328
+119079.361
+119079.401
+119079.447
+119079.5
+119079.559
+119079.625
+119079.698
+119079.777
+119079.862
+119079.954
+119080.053
+119080.158
+119080.27
+119080.388
+119080.513
+119080.645
+119080.783
+119080.929
+119081.082
+119080.271
+119066.556
+119066.562
+119066.574
+119066.592
+119066.618
+119066.649
+119066.687
+119066.731
+119066.782
+119066.839
+119066.902
+119066.971
+119067.047
+119067.129
+119067.217
+119067.311
+119067.412
+119067.519
+119067.632
+119067.751
+119067.878
+119068.01
+119068.149
+119068.296
+119067.458
+119053.724
+119053.729
+119053.741
+119053.759
+119053.782
+119053.813
+119053.849
+119053.891
+119053.939
+119053.994
+119054.054
+119054.12
+119054.192
+119054.27
+119054.354
+119054.444
+119054.54
+119054.642
+119054.75
+119054.864
+119054.985
+119055.111
+119055.244
+119055.384
+119054.518
+119040.773
+119040.778
+119040.789
+119040.806
+119040.829
+119040.857
+119040.892
+119040.932
+119040.978
+119041.03
+119041.087
+119041.15
+119041.218
+119041.292
+119041.372
+119041.458
+119041.549
+119041.646
+119041.749
+119041.858
+119041.972
+119042.092
+119042.219
+119042.352
+119041.459
+119027.709
+119027.714
+119027.725
+119027.741
+119027.762
+119027.789
+119027.822
+119027.86
+119027.904
+119027.953
+119028.007
+119028.066
+119028.131
+119028.202
+119028.277
+119028.359
+119028.445
+119028.537
+119028.634
+119028.737
+119028.845
+119028.959
+119029.079
+119029.206
+119028.284
+119014.539
+119014.544
+119014.554
+119014.569
+119014.589
+119014.614
+119014.645
+119014.681
+119014.722
+119014.768
+119014.82
+119014.876
+119014.937
+119015.003
+119015.075
+119015.151
+119015.233
+119015.319
+119015.411
+119015.508
+119015.611
+119015.718
+119015.831
+119015.95
+119015.001
+119001.268
+119001.272
+119001.282
+119001.296
+119001.315
+119001.339
+119001.368
+119001.401
+119001.44
+119001.483
+119001.531
+119001.584
+119001.642
+119001.704
+119001.771
+119001.843
+119001.919
+119002.001
+119002.087
+119002.178
+119002.274
+119002.375
+119002.481
+119002.593
+119001.615
+118987.903
+118987.907
+118987.915
+118987.928
+118987.946
+118987.968
+118987.995
+118988.027
+118988.063
+118988.103
+118988.148
+118988.197
+118988.251
+118988.309
+118988.372
+118988.439
+118988.51
+118988.586
+118988.666
+118988.751
+118988.841
+118988.935
+118989.034
+118989.139
+118988.133
+118974.449
+118974.453
+118974.461
+118974.473
+118974.489
+118974.51
+118974.535
+118974.564
+118974.598
+118974.635
+118974.677
+118974.722
+118974.772
+118974.826
+118974.884
+118974.946
+118975.012
+118975.082
+118975.157
+118975.236
+118975.319
+118975.406
+118975.498
+118975.596
+118974.561
+118960.914
+118960.917
+118960.924
+118960.935
+118960.95
+118960.969
+118960.992
+118961.019
+118961.05
+118961.085
+118961.123
+118961.165
+118961.21
+118961.26
+118961.313
+118961.37
+118961.431
+118961.496
+118961.565
+118961.637
+118961.714
+118961.794
+118961.879
+118961.969
+118960.904
+118947.303
+118947.306
+118947.312
+118947.323
+118947.336
+118947.354
+118947.375
+118947.399
+118947.427
+118947.458
+118947.493
+118947.531
+118947.573
+118947.618
+118947.667
+118947.719
+118947.774
+118947.833
+118947.896
+118947.962
+118948.031
+118948.105
+118948.182
+118948.264
+118947.171
+118933.624
+118933.626
+118933.632
+118933.641
+118933.654
+118933.669
+118933.688
+118933.71
+118933.735
+118933.763
+118933.795
+118933.829
+118933.866
+118933.907
+118933.951
+118933.998
+118934.047
+118934.1
+118934.157
+118934.216
+118934.279
+118934.345
+118934.415
+118934.489
+118933.366
+118919.883
+118919.885
+118919.891
+118919.899
+118919.909
+118919.923
+118919.94
+118919.959
+118919.981
+118920.006
+118920.034
+118920.064
+118920.097
+118920.133
+118920.172
+118920.213
+118920.258
+118920.305
+118920.354
+118920.407
+118920.463
+118920.522
+118920.584
+118920.65
+118919.498
+118906.088
+118906.09
+118906.094
+118906.101
+118906.11
+118906.122
+118906.137
+118906.153
+118906.173
+118906.194
+118906.218
+118906.244
+118906.273
+118906.304
+118906.337
+118906.373
+118906.411
+118906.452
+118906.495
+118906.541
+118906.59
+118906.642
+118906.696
+118906.754
+118905.571
+118892.246
+118892.247
+118892.251
+118892.256
+118892.264
+118892.274
+118892.286
+118892.3
+118892.316
+118892.334
+118892.354
+118892.376
+118892.399
+118892.425
+118892.454
+118892.484
+118892.516
+118892.55
+118892.587
+118892.625
+118892.667
+118892.71
+118892.757
+118892.807
+118891.594
+118878.363
+118878.364
+118878.367
+118878.372
+118878.378
+118878.386
+118878.395
+118878.406
+118878.419
+118878.433
+118878.449
+118878.466
+118878.485
+118878.505
+118878.528
+118878.552
+118878.577
+118878.605
+118878.634
+118878.666
+118878.7
+118878.735
+118878.774
+118878.815
+118877.572
+118864.448
+118864.449
+118864.451
+118864.454
+118864.459
+118864.464
+118864.471
+118864.48
+118864.489
+118864.499
+118864.51
+118864.523
+118864.537
+118864.552
+118864.568
+118864.585
+118864.604
+118864.624
+118864.646
+118864.67
+118864.695
+118864.723
+118864.753
+118864.785
+118863.511
+118850.507
+118850.507
+118850.509
+118850.511
+118850.514
+118850.518
+118850.523
+118850.528
+118850.534
+118850.54
+118850.547
+118850.555
+118850.564
+118850.573
+118850.583
+118850.593
+118850.604
+118850.617
+118850.63
+118850.645
+118850.661
+118850.679
+118850.7
+118850.724
+118849.418
+118836.546
+118836.546
+118836.547
+118836.549
+118836.55
+118836.553
+118836.555
+118836.558
+118836.561
+118836.565
+118836.568
+118836.572
+118836.576
+118836.58
+118836.585
+118836.589
+118836.593
+118836.597
+118836.601
+118836.605
+118836.61
+118836.615
+118836.622
+118836.632
+118835.292
+118822.569
+118822.569
+118822.57
+118822.57
+118822.571
+118822.571
+118822.572
+118822.573
+118822.574
+118822.574
+118822.575
+118822.576
+118822.577
+118822.578
+118822.579
+118822.58
+118822.581
+118822.583
+118822.584
+118822.585
+118822.587
+118822.589
+118822.592
+118822.596
+118821.22
+)
+;
+
+boundaryField
+{
+    inlet
+    {
+        type            fixedFluxPressure;
+        gradient        uniform 0;
+        value           nonuniform List<scalar>
+25
+(
+1.10023477e-312
+9.56803577e-317
+0
+9.90566442e-317
+0.000166643311
+6.91152471e-310
+9.89394123e-317
+0
+0
+0
+2.71615461e-312
+9.89845107e-317
+6.95280695e-310
+0
+0
+1.22047495e-05
+0
+0
+7.90505033e-322
+2.3715151e-322
+9.88275954e-317
+3.45845952e-323
+0.000140752294
+1.31043555e-306
+1.02765654e-321
+)
+;
+    }
+    outlet
+    {
+        type            prghPressure;
+        p               uniform 100000;
+        value           nonuniform List<scalar>
+25
+(
+118815.58
+118815.58
+118815.58
+118815.58
+118815.58
+118815.58
+118815.58
+118815.58
+118815.58
+118815.58
+118815.58
+118815.58
+118815.58
+118815.58
+118815.58
+118815.58
+118815.58
+118815.58
+118815.58
+118815.58
+118815.58
+118815.58
+118815.58
+118815.579
+118814.178
+)
+;
+    }
+    wall1
+    {
+        type            fixedFluxPressure;
+        gradient        uniform 0;
+        value           nonuniform List<scalar>
+75
+(
+1.10023477e-312
+1.10023477e-312
+2.12199579e-314
+9.76619289e+11
+1.32291928e+180
+5.29778802e+151
+1.23971581e+224
+1.44161265e+214
+3.50346163e-86
+6.8991168e-310
+4.7430302e-322
+1.74405173e-321
+9.92084607e-317
+9.92340731e-317
+2.12199579e-314
+3.9698428e+257
+1.92659091e+31
+3.9698428e+257
+1.04896151e+242
+9.76619289e+11
+1.63936678e-52
+1.05845575e+189
+4.11667183e-311
+0.00010412751
+0
+0
+0
+6.91134029e-310
+9.94971136e-317
+9.90329291e-317
+7.90505033e-322
+2.3715151e-322
+9.94969951e-317
+1.97626258e-323
+2.12199579e-314
+8.40835471e-315
+1.02765654e-321
+3.16202013e-322
+9.92353379e-317
+1.08221785e-312
+9.90332848e-317
+9.76619045e+11
+1.32291887e+180
+5.2977871e+151
+1.23971565e+224
+4.00193173e-322
+1.00526865e-316
+9.90332058e-317
+1.58101007e-322
+2.3715151e-322
+9.90333639e-317
+2.47032823e-323
+2.12199579e-314
+2.15294903e-312
+2.21341409e-321
+4.7430302e-322
+9.92325711e-317
+2.61854792e-322
+6.91155249e-310
+9.76619289e+11
+1.32291928e+180
+5.29778802e+151
+1.23971581e+224
+1.44161265e+214
+4.90839929e+252
+2.15253881e-312
+0
+4.00193173e-322
+1.00526865e-316
+9.94969951e-317
+1.58101007e-322
+2.3715151e-322
+9.92094884e-317
+4.94065646e-323
+2.12199579e-314
+)
+;
+    }
+    wall2
+    {
+        type            fixedFluxPressure;
+        gradient        uniform 0;
+        value           nonuniform List<scalar>
+75
+(
+1.10023477e-312
+1.10023477e-312
+9.90713872e-317
+9.90713872e-317
+0
+9.90660117e-317
+9.76767782e-321
+5.14322337e-321
+1.10023477e-312
+9.90582648e-317
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+)
+;
+    }
+    defaultFaces
+    {
+        type            empty;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/water.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/water.gas
new file mode 100644
index 00000000000..d8209473bc1
--- /dev/null
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/water.gas
@@ -0,0 +1,51 @@
+/*--------------------------------*- 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;
+    location    "5";
+    object      water.gas;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 0 0 0 0];
+
+internalField   uniform 1;
+
+boundaryField
+{
+    inlet
+    {
+        type            fixedValue;
+        value           uniform 1;
+    }
+    outlet
+    {
+        type            inletOutlet;
+        phi             phi.gas;
+        inletValue      uniform 1;
+        value           uniform 1;
+    }
+    wall1
+    {
+        type            zeroGradient;
+    }
+    wall2
+    {
+        type            zeroGradient;
+    }
+    defaultFaces
+    {
+        type            empty;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/water.liquid b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/water.liquid
new file mode 100644
index 00000000000..62f98bcc6ef
--- /dev/null
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/0/water.liquid
@@ -0,0 +1,51 @@
+/*--------------------------------*- 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;
+    location    "5";
+    object      water.liquid;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 0 0 0 0];
+
+internalField   uniform 1;
+
+boundaryField
+{
+    inlet
+    {
+        type            fixedValue;
+        value           uniform 1;
+    }
+    outlet
+    {
+        type            inletOutlet;
+        phi             phi.liquid;
+        inletValue      uniform 1;
+        value           uniform 1;
+    }
+    wall1
+    {
+        type            zeroGradient;
+    }
+    wall2
+    {
+        type            zeroGradient;
+    }
+    defaultFaces
+    {
+        type            empty;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/chemistryProperties.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/chemistryProperties.gas
new file mode 100644
index 00000000000..6b8951c7108
--- /dev/null
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/chemistryProperties.gas
@@ -0,0 +1,41 @@
+/*--------------------------------*- 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      chemistryProperties.gas;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+chemistryType
+{
+    chemistrySolver   EulerImplicit;
+    chemistryThermo   rho;
+}
+
+chemistry           off;
+
+initialChemicalTimeStep 1e-07;
+
+EulerImplicitCoeffs
+{
+    cTauChem        1;
+    equilibriumRateLimiter off;
+}
+
+odeCoeffs
+{
+    solver          Rosenbrock43;
+    absTol          1e-12;
+    relTol          0.01;
+}
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/combustionProperties.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/combustionProperties.gas
new file mode 100644
index 00000000000..dc92f246292
--- /dev/null
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/combustionProperties.gas
@@ -0,0 +1,35 @@
+/*--------------------------------*- 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      combustionProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+combustionModel    PaSR<rhoChemistryCombustion>;
+
+active  false;
+
+laminarCoeffs
+{}
+
+noCombustionCoeffs
+{}
+
+PaSRCoeffs
+{
+    Cmix                1.0;
+    turbulentReaction   yes;
+    useReactionRate     true;
+}
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/g b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/g
new file mode 100644
index 00000000000..b2809d8ba6d
--- /dev/null
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/g
@@ -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       uniformDimensionedVectorField;
+    location    "constant";
+    object      g;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 1 -2 0 0 0 0];
+value           ( 0 -9.81 0 );
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/phaseProperties b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/phaseProperties
new file mode 100644
index 00000000000..edb155ace27
--- /dev/null
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/phaseProperties
@@ -0,0 +1,239 @@
+/*--------------------------------*- 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      phaseProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+type    thermalPhaseChangeTwoPhaseSystem;
+
+phases (gas liquid);
+
+volatile    "water";
+
+massTransfer on;
+
+gas
+{
+    type            multiComponentPhaseModel;
+    diameterModel   isothermal;
+    constantCoeffs
+    {
+        d               0.00045;
+    }
+
+    isothermalCoeffs
+    {
+        d0               0.00045;
+        p0              1e5;
+    }
+    Sc              0.7;
+
+    residualAlpha   1e-4;
+}
+
+liquid
+{
+    type            multiComponentPhaseModel;
+    diameterModel   constant;
+    constantCoeffs
+    {
+        d               0.00045;
+    }
+    Sc              0.7;
+
+    residualAlpha   1e-4;
+}
+
+blending
+{
+    default
+    {
+        type            linear;
+        continuousPhase liquid;
+        minFullyContinuousAlpha.gas 0.7;
+        minPartlyContinuousAlpha.gas 0.5;
+        minFullyContinuousAlpha.liquid 0.7;
+        minPartlyContinuousAlpha.liquid 0.5;
+    }
+
+    heatTransfer
+    {
+        type            linear;
+        continuousPhase liquid;
+        minFullyContinuousAlpha.gas 1;
+        minPartlyContinuousAlpha.gas 0;
+        minFullyContinuousAlpha.liquid 1;
+        minPartlyContinuousAlpha.liquid 0;
+    }
+
+    massTransfer
+    {
+        type            linear;
+        continuousPhase liquid;
+        minFullyContinuousAlpha.gas 1;
+        minPartlyContinuousAlpha.gas 0;
+        minFullyContinuousAlpha.liquid 1;
+        minPartlyContinuousAlpha.liquid 0;
+    }
+}
+
+surfaceTension
+(
+    (gas and liquid)
+    {
+        type            constant;
+        sigma           0.07;
+    }
+);
+
+saturationModel
+{
+    type polynomial;
+    C<8>
+    (
+        308.0422
+        0.0015096
+        -1.61589e-8
+        1.114106e-13
+        -4.52216e-19
+        1.05192e-24
+        -1.2953e-30
+        6.5365e-37
+    );
+};
+
+aspectRatio
+(
+    (gas in liquid)
+    {
+        type            constant;
+        E0              1.0;
+    }
+
+    (liquid in gas)
+    {
+        type            constant;
+        E0              1.0;
+    }
+);
+
+drag
+(
+    (gas in liquid)
+    {
+        type            SchillerNaumann;
+        residualRe      1e-3;
+        swarmCorrection
+        {
+            type        none;
+        }
+    }
+
+    (liquid in gas)
+    {
+        type            SchillerNaumann;
+        residualRe      1e-3;
+        swarmCorrection
+        {
+            type        none;
+        }
+    }
+);
+
+virtualMass
+(
+    (gas in liquid)
+    {
+        type            constantCoefficient;
+        Cvm             0.5;
+    }
+
+    (liquid in gas)
+    {
+        type            constantCoefficient;
+        Cvm             0.5;
+    }
+);
+
+interfaceComposition
+();
+
+heatTransfer.gas
+(
+    (gas in liquid)
+    {
+        type spherical;
+        residualAlpha 1e-3;
+    }
+
+    (liquid in gas)
+    {
+        type RanzMarshall;
+        residualAlpha 1e-3;
+    }
+);
+
+heatTransfer.liquid
+(
+    (gas in liquid)
+    {
+        type RanzMarshall;
+        residualAlpha 1e-3;
+    }
+
+    (liquid in gas)
+    {
+        type spherical;
+        residualAlpha 1e-3;
+    }
+);
+
+massTransfer.gas
+();
+
+massTransfer.liquid
+();
+
+lift
+();
+
+wallLubrication
+(
+    (gas in liquid)
+    {
+        type            Antal;
+        Cw1             -0.01;
+        Cw2             0.05;
+        Cwc             10.0;
+        Cwd             6.8;
+        p               1.7;
+    }
+);
+
+turbulentDispersion
+(
+    (gas in liquid)
+    {
+        type                Burns;
+        sigma               0.7;
+        Ctd                 1.0;
+        residualAlpha       1e-3;
+    }
+);
+
+// Minimum allowable pressure
+pMin            10000;
+
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/thermophysicalProperties.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/thermophysicalProperties.gas
new file mode 100644
index 00000000000..7b3b350ea14
--- /dev/null
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/thermophysicalProperties.gas
@@ -0,0 +1,68 @@
+/*--------------------------------*- 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      thermophysicalProperties.gas;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+thermoType
+{
+    type            heRhoThermo;
+    mixture         multiComponentMixture;
+    transport       const;
+    thermo          hRefConst;
+    equationOfState perfectGas;
+    specie          specie;
+    energy          sensibleEnthalpy;
+}
+
+dpdt no;
+
+species
+(
+    water
+);
+
+inertSpecie water;
+
+chemistryReader foamChemistryReader;
+
+foamChemistryFile "$FOAM_CASE/constant/reactions.gas";
+
+water
+{
+    specie
+    {
+        nMoles          1;
+        molWeight       18.0153;
+    }
+    equationOfState
+    {
+        rho        1;
+    }
+
+    thermodynamics
+    {
+        Hf          0;
+        Cp          12078.4;
+        Tref        373.55;
+        Href        2675500;
+    }
+    transport
+    {
+        mu          1.2256e-5;
+        Pr          2.289;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/thermophysicalProperties.liquid b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/thermophysicalProperties.liquid
new file mode 100644
index 00000000000..7406b2ce4f0
--- /dev/null
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/thermophysicalProperties.liquid
@@ -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;
+    location    "constant";
+    object      thermophysicalProperties.liquid;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+thermoType
+{
+    type            heRhoThermo;
+    mixture         multiComponentMixture;
+    transport       const;
+    thermo          hRefConst;
+    equationOfState rhoConst;
+    specie          specie;
+    energy          sensibleEnthalpy;
+}
+
+dpdt no;
+
+species
+(
+    water
+);
+
+inertSpecie water;
+
+"(mixture|H2O|water)"
+{
+    specie
+    {
+        nMoles          1;
+        molWeight       18.0153;
+    }
+    equationOfState
+    {
+        R           3000;
+        rho0        959;
+        rho        959;
+    }
+    thermodynamics
+    {
+        Hf          0;
+        Cp          4195;
+        Tref        373.55;
+        Href        417500;
+    }
+    transport
+    {
+        mu          2.8291e-4;
+        Pr          2.289;
+    }
+}
+
+
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/turbulenceProperties.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/turbulenceProperties.gas
new file mode 100644
index 00000000000..40de4981f57
--- /dev/null
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/turbulenceProperties.gas
@@ -0,0 +1,28 @@
+/*--------------------------------*- 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      turbulenceProperties.air;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+simulationType  RAS;
+
+RAS
+{
+    RASModel continuousGasKEpsilon;
+
+    turbulence      on;
+    printCoeffs     on;
+}
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/turbulenceProperties.liquid b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/turbulenceProperties.liquid
new file mode 100644
index 00000000000..2c0b129e11d
--- /dev/null
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/constant/turbulenceProperties.liquid
@@ -0,0 +1,28 @@
+/*--------------------------------*- 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      turbulenceProperties.water;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+simulationType  RAS;
+
+RAS
+{
+    RASModel LaheyKEpsilon;
+
+    turbulence      on;
+    printCoeffs     on;
+}
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/system/blockMeshDict b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/system/blockMeshDict
new file mode 100644
index 00000000000..d2ab81e94bf
--- /dev/null
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/system/blockMeshDict
@@ -0,0 +1,80 @@
+/*--------------------------------*- 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 1;
+
+vertices
+(
+    (0 0 0)
+    (0.05 0 0)
+    (0.05 2 0)
+    (0 2 0)
+    (0 0 0.1)
+    (0.05 0 0.1)
+    (0.05 2 0.1)
+    (0 2 0.1)
+);
+
+blocks
+(
+    hex (0 1 2 3 4 5 6 7) (25 75 1) simpleGrading (1 1 1)
+);
+
+boundary
+(
+    inlet
+    {
+        type mappedPatch;
+        offset          (0 0.1 0);
+        sampleRegion    region0;
+        sampleMode      nearestCell;
+        samplePatch     none;
+
+        faces
+        (
+            (1 5 4 0)
+        );
+    }
+
+    outlet
+    {
+        type patch;
+        faces
+        (
+            (3 7 6 2)
+        );
+    }
+
+    wall1
+    {
+        type wall;
+        faces
+        (
+            (0 4 7 3)
+        );
+    }
+
+    wall2
+    {
+        type wall;
+        faces
+        (
+            (2 6 5 1)
+        );
+    }
+);
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/system/controlDict b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/system/controlDict
new file mode 100644
index 00000000000..e5924f35ea7
--- /dev/null
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/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;
+    location    "system";
+    object      controlDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+application     reactingTwoPhaseEulerFoam;
+
+startFrom       startTime;
+
+startTime       0;
+
+stopAt          endTime;
+
+endTime         2;
+
+deltaT          1e-5;
+
+writeControl    adjustableRunTime;
+
+writeInterval   0.1;
+
+purgeWrite      0;
+
+writeFormat     ascii;
+
+writePrecision  9;
+
+writeCompression compressed;
+
+timeFormat      general;
+
+timePrecision   6;
+
+runTimeModifiable yes;
+
+adjustTimeStep  yes;
+
+maxCo           0.05;
+
+maxDeltaT       0.001;
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/system/fvSchemes b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/system/fvSchemes
new file mode 100644
index 00000000000..e6e76891b6f
--- /dev/null
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/system/fvSchemes
@@ -0,0 +1,76 @@
+/*--------------------------------*- 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    "system";
+    object      fvSchemes;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+ddtSchemes
+{
+    default         Euler;
+}
+
+gradSchemes
+{
+    default         Gauss linear;
+}
+
+divSchemes
+{
+    default                         none;
+
+    "div\(phi,alpha.*\)"            Gauss vanLeer;
+    "div\(phir,alpha.*\)"           Gauss vanLeer;
+
+    "div\(alphaRhoPhi.*,U.*\)"      Gauss limitedLinearV 1;
+    "div\(phi.*,U.*\)"              Gauss limitedLinearV 1;
+
+    "div\(alphaRhoPhi.*,Yi\)"       Gauss limitedLinear 1;
+    "div\(alphaRhoPhi.*,(h|e).*\)"  Gauss limitedLinear 1;
+    "div\(alphaRhoPhi.*,K.*\)"      Gauss limitedLinear 1;
+    "div\(alphaPhi.*,p\)"           Gauss limitedLinear 1;
+
+    "div\(alphaRhoPhi.*,(k|epsilon).*\)"  Gauss upwind;
+    "div\(phim,(k|epsilon)m\)"      Gauss upwind;
+
+    "div\(\(\(\(alpha.*\*thermo:rho.*\)\*nuEff.*\)\*dev2\(T\(grad\(U.*\)\)\)\)\)" Gauss linear;
+}
+
+laplacianSchemes
+{
+    default         Gauss linear uncorrected;
+}
+
+interpolationSchemes
+{
+    default         linear;
+}
+
+snGradSchemes
+{
+    default         uncorrected;
+}
+
+fluxRequired
+{
+    default         no;
+}
+
+wallDist
+{
+    method          meshWave;
+    nRequired       yes;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/system/fvSolution b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/system/fvSolution
new file mode 100644
index 00000000000..290f4171f44
--- /dev/null
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/system/fvSolution
@@ -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;
+    location    "system";
+    object      fvSolution;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+solvers
+{
+    "alpha.*"
+    {
+        nAlphaCorr      1;
+        nAlphaSubCycles 3;
+    }
+
+    p_rgh
+    {
+        solver          GAMG;
+        smoother        DIC;
+        nPreSweeps      0;
+        nPostSweeps     2;
+        nFinestSweeps   2;
+        cacheAgglomeration true;
+        nCellsInCoarsestLevel 10;
+        agglomerator    faceAreaPair;
+        mergeLevels     1;
+        tolerance       1e-8;
+        relTol          0.1;
+        maxIter         100;
+        minIter         2;
+    }
+
+    p_rghFinal
+    {
+        $p_rgh;
+        relTol          0;
+    }
+
+    "U.*"
+    {
+        solver          smoothSolver;
+        smoother        symGaussSeidel;
+        tolerance       1e-6;
+        relTol          0;
+        minIter         1;
+    }
+
+    "(e|h).*"
+    {
+        solver          smoothSolver;
+        smoother        symGaussSeidel;
+        tolerance       1e-12;
+        relTol          0.001;
+        minIter         1;
+        maxIter         20;
+    }
+
+    "(k|epsilon|Theta).*"
+    {
+        solver          smoothSolver;
+        smoother        symGaussSeidel;
+        tolerance       1e-8;
+        relTol          0;
+        minIter         1;
+    }
+
+    Yi
+    {
+        solver          smoothSolver;
+        smoother        symGaussSeidel;
+        tolerance       1e-6;
+        relTol          0;
+        minIter         1;
+        residualAlpha   1e-8;
+    }
+}
+
+PIMPLE
+{
+    nOuterCorrectors    3;
+    nCorrectors         1;
+    nNonOrthogonalCorrectors 0;
+    nEnergyCorrectors   3;
+    faceMomentum        on;
+}
+
+relaxationFactors
+{
+    fields
+    {
+        iDmdt 0.4;
+    }
+
+    equations
+    {
+        ".*"            1;
+        "h.*"           0.4;
+    }
+}
+
+
+// ************************************************************************* //
-- 
GitLab


From c0ddac32ae0be04879320977a7fb45f0b6158fa3 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sat, 28 Nov 2015 19:07:42 +0000
Subject: [PATCH 112/141] turbulenceModels/RAS/kEpsilon/kEpsilon: Added
 experimental support for fvOptions

---
 .../solvers/combustion/PDRFoam/Make/options   |  6 ++-
 .../DPMFoam/DPMTurbulenceModels/Make/options  |  3 +-
 .../compressible/Make/options                 |  6 ++-
 .../incompressible/Make/options               |  6 ++-
 .../turbulenceModels/RAS/kEpsilon/kEpsilon.C  | 16 ++++++
 src/fvOptions/fvOption/fvOptionList.H         | 28 ++++++++++
 .../fvOption/fvOptionListTemplates.C          | 51 +++++++++++++++++++
 7 files changed, 109 insertions(+), 7 deletions(-)

diff --git a/applications/solvers/combustion/PDRFoam/Make/options b/applications/solvers/combustion/PDRFoam/Make/options
index 4768728619e..a415be99b6e 100644
--- a/applications/solvers/combustion/PDRFoam/Make/options
+++ b/applications/solvers/combustion/PDRFoam/Make/options
@@ -16,7 +16,8 @@ EXE_INC = \
     -I$(LIB_SRC)/dynamicFvMesh/lnInclude \
     -I$(LIB_SRC)/dynamicMesh/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/triSurface/lnInclude
+    -I$(LIB_SRC)/triSurface/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude
 
 EXE_LIBS = \
     -lengine \
@@ -29,4 +30,5 @@ EXE_LIBS = \
     -lspecie \
     -llaminarFlameSpeedModels \
     -lfiniteVolume \
-    -ldynamicFvMesh
+    -ldynamicFvMesh \
+    -lfvOptions
diff --git a/applications/solvers/lagrangian/DPMFoam/DPMTurbulenceModels/Make/options b/applications/solvers/lagrangian/DPMFoam/DPMTurbulenceModels/Make/options
index 902afe59e4f..50f1c4f124d 100644
--- a/applications/solvers/lagrangian/DPMFoam/DPMTurbulenceModels/Make/options
+++ b/applications/solvers/lagrangian/DPMFoam/DPMTurbulenceModels/Make/options
@@ -7,4 +7,5 @@ EXE_INC = \
     -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/phaseIncompressible/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/meshTools/lnInclude
+    -I$(LIB_SRC)/meshTools/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude
diff --git a/src/TurbulenceModels/compressible/Make/options b/src/TurbulenceModels/compressible/Make/options
index fa99ca3a58a..d0c99293d11 100644
--- a/src/TurbulenceModels/compressible/Make/options
+++ b/src/TurbulenceModels/compressible/Make/options
@@ -6,7 +6,8 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/solidThermo/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/solidSpecie/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/meshTools/lnInclude
+    -I$(LIB_SRC)/meshTools/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude
 
 LIB_LIBS = \
     -lcompressibleTransportModels \
@@ -16,4 +17,5 @@ LIB_LIBS = \
     -lturbulenceModels \
     -lspecie \
     -lfiniteVolume \
-    -lmeshTools
+    -lmeshTools \
+    -lfvOptions
diff --git a/src/TurbulenceModels/incompressible/Make/options b/src/TurbulenceModels/incompressible/Make/options
index 8eceaf533f8..3d11423ccd5 100644
--- a/src/TurbulenceModels/incompressible/Make/options
+++ b/src/TurbulenceModels/incompressible/Make/options
@@ -2,10 +2,12 @@ EXE_INC = \
     -I../turbulenceModels/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/meshTools/lnInclude
+    -I$(LIB_SRC)/meshTools/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude
 
 LIB_LIBS = \
     -lincompressibleTransportModels \
     -lturbulenceModels \
     -lfiniteVolume \
-    -lmeshTools
+    -lmeshTools \
+    -lfvOptions
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C b/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C
index 7cf2b1fc10d..1deb554d1cc 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C
@@ -24,6 +24,7 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "kEpsilon.H"
+#include "fvOptionList.H"
 #include "bound.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -238,6 +239,14 @@ void kEpsilon<BasicTurbulenceModel>::correct()
     const volVectorField& U = this->U_;
     volScalarField& nut = this->nut_;
 
+    // const_cast needed because the operators and functions of fvOptions
+    // are currently non-const.
+    fv::optionList& fvOptions = const_cast<fv::optionList&>
+    (
+        this->mesh_.objectRegistry::template
+            lookupObject<fv::optionList>("fvOptions")
+    );
+
     eddyViscosity<RASModel<BasicTurbulenceModel> >::correct();
 
     volScalarField divU(fvc::div(fvc::absolute(this->phi(), U)));
@@ -260,11 +269,14 @@ void kEpsilon<BasicTurbulenceModel>::correct()
       - fvm::SuSp(((2.0/3.0)*C1_ + C3_)*alpha*rho*divU, epsilon_)
       - fvm::Sp(C2_*alpha*rho*epsilon_/k_, epsilon_)
       + epsilonSource()
+      + fvOptions(alpha, rho, epsilon_)
     );
 
     epsEqn().relax();
+    fvOptions.constrain(epsEqn());
     epsEqn().boundaryManipulate(epsilon_.boundaryField());
     solve(epsEqn);
+    fvOptions.correct(epsilon_);
     bound(epsilon_, this->epsilonMin_);
 
     // Turbulent kinetic energy equation
@@ -278,13 +290,17 @@ void kEpsilon<BasicTurbulenceModel>::correct()
       - fvm::SuSp((2.0/3.0)*alpha*rho*divU, k_)
       - fvm::Sp(alpha*rho*epsilon_/k_, k_)
       + kSource()
+      + fvOptions(alpha, rho, k_)
     );
 
     kEqn().relax();
+    fvOptions.constrain(kEqn());
     solve(kEqn);
+    fvOptions.correct(k_);
     bound(k_, this->kMin_);
 
     correctNut();
+    fvOptions.correct(nut);
 }
 
 
diff --git a/src/fvOptions/fvOption/fvOptionList.H b/src/fvOptions/fvOption/fvOptionList.H
index f6e36d9a41e..c881fb01b84 100644
--- a/src/fvOptions/fvOption/fvOptionList.H
+++ b/src/fvOptions/fvOption/fvOptionList.H
@@ -38,6 +38,7 @@ SourceFile
 #include "fvOption.H"
 #include "PtrList.H"
 #include "GeometricField.H"
+#include "geometricOneField.H"
 #include "fvPatchField.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -173,6 +174,33 @@ public:
                 const word& fieldName
             );
 
+            //- Return source for equation
+            template<class Type>
+            tmp<fvMatrix<Type> > operator()
+            (
+                const volScalarField& alpha,
+                const geometricOneField& rho,
+                GeometricField<Type, fvPatchField, volMesh>& field
+            );
+
+            //- Return source for equation
+            template<class Type>
+            tmp<fvMatrix<Type> > operator()
+            (
+                const geometricOneField& alpha,
+                const volScalarField& rho,
+                GeometricField<Type, fvPatchField, volMesh>& field
+            );
+
+            //- Return source for equation
+            template<class Type>
+            tmp<fvMatrix<Type> > operator()
+            (
+                const geometricOneField& alpha,
+                const geometricOneField& rho,
+                GeometricField<Type, fvPatchField, volMesh>& field
+            );
+
 
         // Constraints
 
diff --git a/src/fvOptions/fvOption/fvOptionListTemplates.C b/src/fvOptions/fvOption/fvOptionListTemplates.C
index 21805dd9ffe..58e362df07f 100644
--- a/src/fvOptions/fvOption/fvOptionListTemplates.C
+++ b/src/fvOptions/fvOption/fvOptionListTemplates.C
@@ -191,6 +191,57 @@ Foam::tmp<Foam::fvMatrix<Type> > Foam::fv::optionList::operator()
 }
 
 
+template<class Type>
+Foam::tmp<Foam::fvMatrix<Type> > Foam::fv::optionList::operator()
+(
+    const geometricOneField& alpha,
+    const geometricOneField& rho,
+    GeometricField<Type, fvPatchField, volMesh>& field
+)
+{
+    return this->operator()(field, field.name());
+}
+
+
+template<class Type>
+Foam::tmp<Foam::fvMatrix<Type> > Foam::fv::optionList::operator()
+(
+    const volScalarField& alpha,
+    const geometricOneField& rho,
+    GeometricField<Type, fvPatchField, volMesh>& field
+)
+{
+    volScalarField one
+    (
+        IOobject
+        (
+            "one",
+            this->mesh_.time().timeName(),
+            this->mesh_,
+            IOobject::NO_READ,
+            IOobject::NO_WRITE,
+            false
+        ),
+        this->mesh_,
+        dimensionedScalar("one", dimless, 1.0)
+    );
+
+    return this->operator()(alpha, one, field, field.name());
+}
+
+
+template<class Type>
+Foam::tmp<Foam::fvMatrix<Type> > Foam::fv::optionList::operator()
+(
+    const geometricOneField& alpha,
+    const volScalarField& rho,
+    GeometricField<Type, fvPatchField, volMesh>& field
+)
+{
+    return this->operator()(rho, field, field.name());
+}
+
+
 template<class Type>
 void Foam::fv::optionList::constrain(fvMatrix<Type>& eqn)
 {
-- 
GitLab


From c56c12e277e5b222996ec6cfca777c68d02d6299 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sun, 29 Nov 2015 21:27:26 +0000
Subject: [PATCH 113/141] nutWallFunctionFvPatchScalarField: Added
 documentation for default coefficients Patch provided by Bruno Santos
 Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1930

---
 .../nutWallFunctionFvPatchScalarField.H         | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.H
index 43a552dc52e..0d54c60ecb2 100644
--- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.H
+++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.H
@@ -34,14 +34,29 @@ Description
 
     \heading Patch usage
 
-    Example of the boundary condition specification:
+    \table
+        Property  | Description         | Required   | Default value
+        Cmu       | Cmu coefficient     | no         | 0.09
+        kappa     | Von Karman constant | no         | 0.41
+        E         | E coefficient       | no         | 9.8
+    \endtable
+
+    Examples of the boundary condition specification:
     \verbatim
     myPatch
     {
         type            nutWallFunction;
+        value           uniform 0.0;
     }
     \endverbatim
 
+    Reference for the default model coefficients:
+    \verbatim
+        H. Versteeg, W. Malalasekera
+        An Introduction to Computational Fluid Dynamics: The Finite Volume
+        Method, subsection "3.5.2 k-epsilon model"
+    \endverbatim
+
 SeeAlso
     Foam::fixedValueFvPatchField
 
-- 
GitLab


From 402c8710d9225ba99a7072f1ea0ec3eb3ceef7a8 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sun, 29 Nov 2015 21:40:16 +0000
Subject: [PATCH 114/141] alphatWallBoilingWallFunctionFvPatchScalarField:
 Updated to compile SP

---
 ...allBoilingWallFunctionFvPatchScalarField.C | 29 ++++++++++---------
 1 file changed, 16 insertions(+), 13 deletions(-)

diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C
index 3aa86f35cc9..924f8209a4c 100755
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C
@@ -259,8 +259,8 @@ void alphatWallBoilingWallFunctionFvPatchScalarField::updateCoeffs()
 
     // Liquid temperature at y+=250 is estimated from logarithmic
     // thermal wall function (Koncar, Krepper & Egorov, 2005)
-    scalarField Tplus_y250(Prt_*(Foam::log(E_*250)/kappa_ + P));
-    scalarField Tplus(Prt_*(Foam::log(E_*yPlus)/kappa_ + P));
+    scalarField Tplus_y250(Prt_*(log(E_*250)/kappa_ + P));
+    scalarField Tplus(Prt_*(log(E_*yPlus)/kappa_ + P));
     scalarField Tl(Tw - (Tplus_y250/Tplus)*(Tw - Tc));
     Tl = max(Tc - 40, min(Tc, Tl));
 
@@ -268,39 +268,42 @@ void alphatWallBoilingWallFunctionFvPatchScalarField::updateCoeffs()
     // Reformulation of Lemmert & Chawla (Egorov & Menter, 2004)
     const scalarField N
     (
-        0.8*9.922e5*Foam::pow(max(0.0, (Tw - Tsatw)/10), 1.805)
+        0.8*9.922e5*pow(max((Tw - Tsatw)/10, scalar(0)), 1.805)
     );
 
     // Bubble departure diameter:
     // Tolubinski and Kostanchuk (1970)
-    const scalarField Tsub(max(0.0, Tsatw - Tl));
+    const scalarField Tsub(max(Tsatw - Tl, scalar(0)));
     const scalarField Ddep
     (
-       max(1e-6, min(0.0006*Foam::exp(-Tsub/45), 0.0014))
+        max(min(0.0006*exp(-Tsub/45), scalar(0.0014)), scalar(1e-6))
     );
 
     // Bubble departure frequency:
     // Cole (1960)
     const scalarField F
     (
-        sqrt(4*mag(g).value()*(max(0.1, rhoc - rhoVaporp))/(3*Ddep*rhow))
+        sqrt
+        (
+            4*mag(g).value()*(max(rhoc - rhoVaporp, scalar(0.1)))/(3*Ddep*rhow)
+        )
     );
 
     // Area fractions:
 
     // Del Valle & Kenning (1985)
     const scalarField Ja(rhoc*Cpw*Tsub/(rhoVaporp*L));
-    const scalarField Al(4.8*Foam::exp(-Ja/80));
+    const scalarField Al(4.8*exp(-Ja/80));
 
     // Liquid phase fraction at the wall
     const scalarField liquidw(liquid.boundaryField()[patchi]);
 
     // Damp boiling at high void fractions.
-    const scalarField W(min(1.,liquidw/0.2));
+    const scalarField W(min(liquidw/0.2, scalar(0.1)));
 
-    const scalarField A2(W*min(M_PI*sqr(Ddep)*N*Al/4, 1.0));
-    const scalarField A1(max(1e-4, 1 - A2));
-    const scalarField A2E(W*min(M_PI*sqr(Ddep)*N*Al/4, 5.0));
+    const scalarField A2(W*min(M_PI*sqr(Ddep)*N*Al/4, scalar(1)));
+    const scalarField A1(max(1 - A2, scalar(1e-4)));
+    const scalarField A2E(W*min(M_PI*sqr(Ddep)*N*Al/4, scalar(5)));
 
     // Wall evaporation heat flux [kg/s3 = J/m2s]
     const scalarField Qe((1.0/6.0)*A2E*Ddep*rhoVaporw*F*L);
@@ -318,7 +321,7 @@ void alphatWallBoilingWallFunctionFvPatchScalarField::updateCoeffs()
     );
 
     // Quenching heat flux
-    const scalarField Qq(A2*hQ*max(0.0, Tw - Tl));
+    const scalarField Qq(A2*hQ*max(Tw - Tl, scalar(0)));
 
     // Convective heat flux
     alphatConv_ = calcAlphat(alphatConv_);
@@ -329,7 +332,7 @@ void alphatWallBoilingWallFunctionFvPatchScalarField::updateCoeffs()
 
     operator==
     (
-        A1*alphatConv_ + (Qq + Qe)/max(liquidw*hew.snGrad(), 1e-16)
+        A1*alphatConv_ + (Qq + Qe)/max(liquidw*hew.snGrad(), scalar(1e-16))
     );
 
     if(debug)
-- 
GitLab


From 2c2e8247ef4e63597c03455e31b177d547ab1de5 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sun, 29 Nov 2015 21:40:37 +0000
Subject: [PATCH 115/141] mirrorFvMesh: Corrected parallel operation Patch
 provided by Bruno Santos Resolves bug-report
 http://www.openfoam.org/mantisbt/view.php?id=1494

---
 .../manipulation/mirrorMesh/mirrorFvMesh.C    | 23 ++++++++-----------
 1 file changed, 10 insertions(+), 13 deletions(-)

diff --git a/applications/utilities/mesh/manipulation/mirrorMesh/mirrorFvMesh.C b/applications/utilities/mesh/manipulation/mirrorMesh/mirrorFvMesh.C
index 5df88a4f3bb..c52953e196f 100644
--- a/applications/utilities/mesh/manipulation/mirrorMesh/mirrorFvMesh.C
+++ b/applications/utilities/mesh/manipulation/mirrorMesh/mirrorFvMesh.C
@@ -243,8 +243,8 @@ Foam::mirrorFvMesh::mirrorFvMesh(const IOobject& io)
 
     // Mirror boundary faces patch by patch
 
-    wordList newPatchTypes(boundary().size());
-    wordList newPatchNames(boundary().size());
+
+    labelList newToOldPatch(boundary().size(), -1);
     labelList newPatchSizes(boundary().size(), -1);
     labelList newPatchStarts(boundary().size(), -1);
     label nNewPatches = 0;
@@ -303,8 +303,8 @@ Foam::mirrorFvMesh::mirrorFvMesh(const IOobject& io)
         // If patch exists, grab the name and type of the original patch
         if (nNewFaces > newPatchStarts[nNewPatches])
         {
-            newPatchTypes[nNewPatches] = boundaryMesh()[patchI].type();
-            newPatchNames[nNewPatches] = boundaryMesh()[patchI].name();
+            newToOldPatch[nNewPatches] = patchI;
+
             newPatchSizes[nNewPatches] =
                 nNewFaces - newPatchStarts[nNewPatches];
 
@@ -316,8 +316,7 @@ Foam::mirrorFvMesh::mirrorFvMesh(const IOobject& io)
     newFaces.setSize(nNewFaces);
     Info<< " New faces: " << nNewFaces << endl;
 
-    newPatchTypes.setSize(nNewPatches);
-    newPatchNames.setSize(nNewPatches);
+    newToOldPatch.setSize(nNewPatches);
     newPatchSizes.setSize(nNewPatches);
     newPatchStarts.setSize(nNewPatches);
 
@@ -377,18 +376,16 @@ Foam::mirrorFvMesh::mirrorFvMesh(const IOobject& io)
     fvMesh& pMesh = *mirrorMeshPtr_;
 
     // Add the boundary patches
-    List<polyPatch*> p(newPatchTypes.size());
+    List<polyPatch*> p(newPatchSizes.size());
 
     forAll(p, patchI)
     {
-        p[patchI] = polyPatch::New
+        p[patchI] = boundaryMesh()[newToOldPatch[patchI]].clone
         (
-            newPatchTypes[patchI],
-            newPatchNames[patchI],
-            newPatchSizes[patchI],
-            newPatchStarts[patchI],
+            pMesh.boundaryMesh(),
             patchI,
-            pMesh.boundaryMesh()
+            newPatchSizes[patchI],
+            newPatchStarts[patchI]
         ).ptr();
     }
 
-- 
GitLab


From d047107489c046cafd4dc90fd2e59b1315308417 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Mon, 30 Nov 2015 16:29:10 +0000
Subject: [PATCH 116/141] chtMultiRegionFoam, chtMultiRegionSimpleFoam,
 buoyantPimpleFoam, buoyantSimpleFoam: Added support for hRef

---
 .../buoyantPimpleFoam/buoyantPimpleFoam.C     |  1 -
 .../buoyantPimpleFoam/createFields.H          |  8 ++-
 .../buoyantSimpleFoam/buoyantSimpleFoam.C     |  1 -
 .../buoyantSimpleFoam/createFields.H          |  7 ++-
 .../fluid/createFluidFields.H                 | 59 +++++++++++++++----
 .../fluid/createFluidFields.H                 | 59 +++++++++++++++----
 6 files changed, 103 insertions(+), 32 deletions(-)

diff --git a/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C b/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C
index cd254643b08..aec50069be2 100644
--- a/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C
+++ b/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C
@@ -51,7 +51,6 @@ int main(int argc, char *argv[])
 
     pimpleControl pimple(mesh);
 
-    #include "readGravitationalAcceleration.H"
     #include "createFields.H"
     #include "createMRF.H"
     #include "createFvOptions.H"
diff --git a/applications/solvers/heatTransfer/buoyantPimpleFoam/createFields.H b/applications/solvers/heatTransfer/buoyantPimpleFoam/createFields.H
index 977fb1542a5..8c6402f8f48 100644
--- a/applications/solvers/heatTransfer/buoyantPimpleFoam/createFields.H
+++ b/applications/solvers/heatTransfer/buoyantPimpleFoam/createFields.H
@@ -50,9 +50,11 @@ autoPtr<compressible::turbulenceModel> turbulence
     )
 );
 
-Info<< "Calculating field g.h\n" << endl;
-volScalarField gh("gh", g & mesh.C());
-surfaceScalarField ghf("ghf", g & mesh.Cf());
+
+#include "readGravitationalAcceleration.H"
+#include "readhRef.H"
+#include "gh.H"
+
 
 Info<< "Reading field p_rgh\n" << endl;
 volScalarField p_rgh
diff --git a/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C b/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C
index 403fb6fecd1..8950122e32d 100644
--- a/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C
+++ b/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C
@@ -48,7 +48,6 @@ int main(int argc, char *argv[])
 
     simpleControl simple(mesh);
 
-    #include "readGravitationalAcceleration.H"
     #include "createFields.H"
     #include "createMRF.H"
     #include "createFvOptions.H"
diff --git a/applications/solvers/heatTransfer/buoyantSimpleFoam/createFields.H b/applications/solvers/heatTransfer/buoyantSimpleFoam/createFields.H
index 37a76ba7c63..d7cf3eb704d 100644
--- a/applications/solvers/heatTransfer/buoyantSimpleFoam/createFields.H
+++ b/applications/solvers/heatTransfer/buoyantSimpleFoam/createFields.H
@@ -49,9 +49,10 @@ autoPtr<compressible::RASModel> turbulence
 );
 
 
-Info<< "Calculating field g.h\n" << endl;
-volScalarField gh("gh", g & mesh.C());
-surfaceScalarField ghf("ghf", g & mesh.Cf());
+#include "readGravitationalAcceleration.H"
+#include "readhRef.H"
+#include "gh.H"
+
 
 Info<< "Reading field p_rgh\n" << endl;
 volScalarField p_rgh
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H
index 1811878bd73..f3b0655405a 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H
@@ -4,10 +4,11 @@ PtrList<volScalarField> rhoFluid(fluidRegions.size());
 PtrList<volVectorField> UFluid(fluidRegions.size());
 PtrList<surfaceScalarField> phiFluid(fluidRegions.size());
 PtrList<uniformDimensionedVectorField> gFluid(fluidRegions.size());
-PtrList<compressible::turbulenceModel> turbulence(fluidRegions.size());
-PtrList<volScalarField> p_rghFluid(fluidRegions.size());
+PtrList<uniformDimensionedScalarField> hRefFluid(fluidRegions.size());
 PtrList<volScalarField> ghFluid(fluidRegions.size());
 PtrList<surfaceScalarField> ghfFluid(fluidRegions.size());
+PtrList<compressible::turbulenceModel> turbulence(fluidRegions.size());
+PtrList<volScalarField> p_rghFluid(fluidRegions.size());
 PtrList<radiation::radiationModel> radiation(fluidRegions.size());
 
 List<scalar> initialMassFluid(fluidRegions.size());
@@ -107,31 +108,65 @@ forAll(fluidRegions, i)
         )
     );
 
-    Info<< "    Adding to turbulence\n" << endl;
-    turbulence.set
+    Info<< "    Adding to hRefFluid\n" << endl;
+    hRefFluid.set
     (
         i,
-        compressible::turbulenceModel::New
+        new uniformDimensionedScalarField
         (
-            rhoFluid[i],
-            UFluid[i],
-            phiFluid[i],
-            thermoFluid[i]
-        ).ptr()
+            IOobject
+            (
+                "hRef",
+                runTime.constant(),
+                fluidRegions[i],
+                IOobject::READ_IF_PRESENT,
+                IOobject::NO_WRITE
+            ),
+            dimensionedScalar("hRef", dimLength, 0)
+        )
+    );
+
+    dimensionedScalar ghRef
+    (
+        mag(gFluid[i].value()) > SMALL
+      ? gFluid[i]
+          & (cmptMag(gFluid[i].value())/mag(gFluid[i].value()))*hRefFluid[i]
+      : dimensionedScalar("ghRef", gFluid[i].dimensions()*dimLength, 0)
     );
 
     Info<< "    Adding to ghFluid\n" << endl;
     ghFluid.set
     (
         i,
-        new volScalarField("gh", gFluid[i] & fluidRegions[i].C())
+        new volScalarField
+        (
+            "gh",
+            (gFluid[i] & fluidRegions[i].C()) - ghRef
+        )
     );
 
     Info<< "    Adding to ghfFluid\n" << endl;
     ghfFluid.set
     (
         i,
-        new surfaceScalarField("ghf", gFluid[i] & fluidRegions[i].Cf())
+        new surfaceScalarField
+        (
+            "ghf",
+            (gFluid[i] & fluidRegions[i].Cf()) - ghRef
+        )
+    );
+
+    Info<< "    Adding to turbulence\n" << endl;
+    turbulence.set
+    (
+        i,
+        compressible::turbulenceModel::New
+        (
+            rhoFluid[i],
+            UFluid[i],
+            phiFluid[i],
+            thermoFluid[i]
+        ).ptr()
     );
 
     p_rghFluid.set
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H
index 2e665464832..2097833ed9d 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H
@@ -4,10 +4,11 @@ PtrList<volScalarField> rhoFluid(fluidRegions.size());
 PtrList<volVectorField> UFluid(fluidRegions.size());
 PtrList<surfaceScalarField> phiFluid(fluidRegions.size());
 PtrList<uniformDimensionedVectorField> gFluid(fluidRegions.size());
-PtrList<compressible::turbulenceModel> turbulence(fluidRegions.size());
-PtrList<volScalarField> p_rghFluid(fluidRegions.size());
+PtrList<uniformDimensionedScalarField> hRefFluid(fluidRegions.size());
 PtrList<volScalarField> ghFluid(fluidRegions.size());
 PtrList<surfaceScalarField> ghfFluid(fluidRegions.size());
+PtrList<compressible::turbulenceModel> turbulence(fluidRegions.size());
+PtrList<volScalarField> p_rghFluid(fluidRegions.size());
 PtrList<radiation::radiationModel> radiation(fluidRegions.size());
 PtrList<volScalarField> KFluid(fluidRegions.size());
 PtrList<volScalarField> dpdtFluid(fluidRegions.size());
@@ -104,31 +105,65 @@ forAll(fluidRegions, i)
         )
     );
 
-    Info<< "    Adding to turbulence\n" << endl;
-    turbulence.set
+    Info<< "    Adding to hRefFluid\n" << endl;
+    hRefFluid.set
     (
         i,
-        compressible::turbulenceModel::New
+        new uniformDimensionedScalarField
         (
-            rhoFluid[i],
-            UFluid[i],
-            phiFluid[i],
-            thermoFluid[i]
-        ).ptr()
+            IOobject
+            (
+                "hRef",
+                runTime.constant(),
+                fluidRegions[i],
+                IOobject::READ_IF_PRESENT,
+                IOobject::NO_WRITE
+            ),
+            dimensionedScalar("hRef", dimLength, 0)
+        )
+    );
+
+    dimensionedScalar ghRef
+    (
+        mag(gFluid[i].value()) > SMALL
+      ? gFluid[i]
+          & (cmptMag(gFluid[i].value())/mag(gFluid[i].value()))*hRefFluid[i]
+      : dimensionedScalar("ghRef", gFluid[i].dimensions()*dimLength, 0)
     );
 
     Info<< "    Adding to ghFluid\n" << endl;
     ghFluid.set
     (
         i,
-        new volScalarField("gh", gFluid[i] & fluidRegions[i].C())
+        new volScalarField
+        (
+            "gh",
+            (gFluid[i] & fluidRegions[i].C()) - ghRef
+        )
     );
 
     Info<< "    Adding to ghfFluid\n" << endl;
     ghfFluid.set
     (
         i,
-        new surfaceScalarField("ghf", gFluid[i] & fluidRegions[i].Cf())
+        new surfaceScalarField
+        (
+            "ghf",
+            (gFluid[i] & fluidRegions[i].Cf()) - ghRef
+        )
+    );
+
+    Info<< "    Adding to turbulence\n" << endl;
+    turbulence.set
+    (
+        i,
+        compressible::turbulenceModel::New
+        (
+            rhoFluid[i],
+            UFluid[i],
+            phiFluid[i],
+            thermoFluid[i]
+        ).ptr()
     );
 
     p_rghFluid.set
-- 
GitLab


From b8ffb82bb8303e3bc63fcb485b751a0d31c93eb4 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Tue, 1 Dec 2015 09:45:58 +0000
Subject: [PATCH 117/141] circleSet: Corrected point ordering Resolves
 bug-report http://www.openfoam.org/mantisbt/view.php?id=1932

---
 src/sampling/sampledSet/circle/circleSet.C | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/sampling/sampledSet/circle/circleSet.C b/src/sampling/sampledSet/circle/circleSet.C
index 6ef83dbed0b..cc525f28058 100644
--- a/src/sampling/sampledSet/circle/circleSet.C
+++ b/src/sampling/sampledSet/circle/circleSet.C
@@ -118,7 +118,10 @@ void Foam::circleSet::calcSamples
             samplingCells.append(cellI);
             samplingFaces.append(-1);
             samplingSegments.append(nPoint);
-            samplingCurveDist.append(mag(pt - startPoint_));
+            samplingCurveDist.append
+            (
+                radius*constant::mathematical::pi/180.0*theta
+            );
 
             nPoint++;
         }
-- 
GitLab


From 8995550787a14dc4163476b129315dc7a6e6efd9 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Tue, 1 Dec 2015 10:04:56 +0000
Subject: [PATCH 118/141] PDRFoam: Added support for fvOptions

---
 applications/solvers/combustion/PDRFoam/EaEqn.H       | 11 ++++++++++-
 applications/solvers/combustion/PDRFoam/EauEqn.H      | 10 +++++++++-
 applications/solvers/combustion/PDRFoam/PDRFoam.C     |  3 +++
 .../solvers/combustion/PDRFoam/PDRFoamAutoRefine.C    |  1 +
 applications/solvers/combustion/PDRFoam/UEqn.H        |  4 ++++
 applications/solvers/combustion/PDRFoam/bEqn.H        |  8 ++++++++
 applications/solvers/combustion/PDRFoam/pEqn.H        |  5 +++++
 7 files changed, 40 insertions(+), 2 deletions(-)

diff --git a/applications/solvers/combustion/PDRFoam/EaEqn.H b/applications/solvers/combustion/PDRFoam/EaEqn.H
index 1baaa7180f5..8b844a81591 100644
--- a/applications/solvers/combustion/PDRFoam/EaEqn.H
+++ b/applications/solvers/combustion/PDRFoam/EaEqn.H
@@ -1,7 +1,7 @@
 {
     volScalarField& hea = thermo.he();
 
-    solve
+    fvScalarMatrix EaEqn
     (
         betav*fvm::ddt(rho, hea) + mvConvection->fvmDiv(phi, hea)
       + betav*fvc::ddt(rho, K) + fvc::div(phi, K)
@@ -16,7 +16,16 @@
           : -betav*dpdt
         )
       - fvm::laplacian(Db, hea)
+      + betav*fvOptions(rho, hea)
     );
 
+    EaEqn.relax();
+
+    fvOptions.constrain(EaEqn);
+
+    EaEqn.solve();
+
+    fvOptions.correct(hea);
+
     thermo.correct();
 }
diff --git a/applications/solvers/combustion/PDRFoam/EauEqn.H b/applications/solvers/combustion/PDRFoam/EauEqn.H
index f031d907323..91bb49b9136 100644
--- a/applications/solvers/combustion/PDRFoam/EauEqn.H
+++ b/applications/solvers/combustion/PDRFoam/EauEqn.H
@@ -2,7 +2,7 @@ if (ign.ignited())
 {
     volScalarField& heau = thermo.heu();
 
-    solve
+    fvScalarMatrix heauEqn
     (
         betav*fvm::ddt(rho, heau) + mvConvection->fvmDiv(phi, heau)
       + (betav*fvc::ddt(rho, K) + fvc::div(phi, K))*rho/thermo.rhou()
@@ -23,5 +23,13 @@ if (ign.ignited())
         // A possible solution would be to solve for ftu as well as ft.
         //- fvm::div(muEff*fvc::grad(b)/(b + 0.001), heau)
         //+ fvm::Sp(fvc::div(muEff*fvc::grad(b)/(b + 0.001)), heau)
+     ==
+        betav*fvOptions(rho, heau)
     );
+
+    fvOptions.constrain(heauEqn);
+
+    heauEqn.solve();
+
+    fvOptions.correct(heau);
 }
diff --git a/applications/solvers/combustion/PDRFoam/PDRFoam.C b/applications/solvers/combustion/PDRFoam/PDRFoam.C
index fa8518ba495..65f52e2ee4c 100644
--- a/applications/solvers/combustion/PDRFoam/PDRFoam.C
+++ b/applications/solvers/combustion/PDRFoam/PDRFoam.C
@@ -77,6 +77,7 @@ Description
 #include "Switch.H"
 #include "bound.H"
 #include "pimpleControl.H"
+#include "fvIOoptionList.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -93,11 +94,13 @@ int main(int argc, char *argv[])
     #include "readGravitationalAcceleration.H"
     #include "createFields.H"
     #include "createMRF.H"
+    #include "createFvOptions.H"
     #include "initContinuityErrs.H"
     #include "createTimeControls.H"
     #include "compressibleCourantNo.H"
     #include "setInitialDeltaT.H"
 
+    turbulence->validate();
     scalar StCoNum = 0.0;
 
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C b/applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C
index 057286f1e94..4e561052fd0 100644
--- a/applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C
+++ b/applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C
@@ -87,6 +87,7 @@ int main(int argc, char *argv[])
     #include "compressibleCourantNo.H"
     #include "setInitialDeltaT.H"
 
+    turbulence->validate();
     scalar StCoNum = 0.0;
 
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/combustion/PDRFoam/UEqn.H b/applications/solvers/combustion/PDRFoam/UEqn.H
index 1d949d17b7c..983e020cab7 100644
--- a/applications/solvers/combustion/PDRFoam/UEqn.H
+++ b/applications/solvers/combustion/PDRFoam/UEqn.H
@@ -7,13 +7,17 @@
       + turbulence->divDevRhoReff(U)
      ==
         betav*rho*g
+      + betav*fvOptions(rho, U)
     );
 
+    fvOptions.constrain(UEqn);
+
     volSymmTensorField invA(inv(I*UEqn.A() + drag->Dcu()));
 
     if (pimple.momentumPredictor())
     {
         U = invA & (UEqn.H() - betav*fvc::grad(p));
         U.correctBoundaryConditions();
+        fvOptions.correct(U);
         K = 0.5*magSqr(U);
     }
diff --git a/applications/solvers/combustion/PDRFoam/bEqn.H b/applications/solvers/combustion/PDRFoam/bEqn.H
index abec1938c32..8ad11618713 100644
--- a/applications/solvers/combustion/PDRFoam/bEqn.H
+++ b/applications/solvers/combustion/PDRFoam/bEqn.H
@@ -73,6 +73,8 @@ if (ign.ignited())
       + fvm::div(phiSt, b)
       - fvm::Sp(fvc::div(phiSt), b)
       - fvm::laplacian(Db, b)
+     ==
+        betav*fvOptions(rho, b)
     );
 
 
@@ -82,8 +84,14 @@ if (ign.ignited())
 
     // Solve for b
     // ~~~~~~~~~~~
+    bEqn.relax();
+
+    fvOptions.constrain(bEqn);
+
     bEqn.solve();
 
+    fvOptions.correct(b);
+
     Info<< "min(b) = " << min(b).value() << endl;
 
     if (composition.contains("ft"))
diff --git a/applications/solvers/combustion/PDRFoam/pEqn.H b/applications/solvers/combustion/PDRFoam/pEqn.H
index 714a3e84e8b..499885875bd 100644
--- a/applications/solvers/combustion/PDRFoam/pEqn.H
+++ b/applications/solvers/combustion/PDRFoam/pEqn.H
@@ -25,6 +25,8 @@ if (pimple.transonic())
             betav*fvm::ddt(psi, p)
           + fvm::div(phid, p)
           - fvm::laplacian(rho*invA, p)
+         ==
+            betav*fvOptions(psi, p, rho.name())
         );
 
         pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
@@ -53,6 +55,8 @@ else
             betav*fvm::ddt(psi, p)
           + fvc::div(phiHbyA)
           - fvm::laplacian(rho*invA, p)
+         ==
+            betav*fvOptions(psi, p, rho.name())
         );
 
         pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
@@ -69,6 +73,7 @@ else
 
 U = HbyA - (invA & (betav*fvc::grad(p)));
 U.correctBoundaryConditions();
+fvOptions.correct(U);
 K = 0.5*magSqr(U);
 
 if (thermo.dpdt())
-- 
GitLab


From d7c56992e3189473037af278bca44011db6c511c Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Tue, 1 Dec 2015 10:05:22 +0000
Subject: [PATCH 119/141] boundaryFoam: Added support for fvOptions

---
 .../solvers/incompressible/boundaryFoam/Make/options   |  2 ++
 .../solvers/incompressible/boundaryFoam/boundaryFoam.C | 10 +++++++++-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/applications/solvers/incompressible/boundaryFoam/Make/options b/applications/solvers/incompressible/boundaryFoam/Make/options
index 770a9fae92b..20feab872f6 100644
--- a/applications/solvers/incompressible/boundaryFoam/Make/options
+++ b/applications/solvers/incompressible/boundaryFoam/Make/options
@@ -5,6 +5,7 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 EXE_LIBS = \
@@ -13,4 +14,5 @@ EXE_LIBS = \
     -lincompressibleTransportModels \
     -lfiniteVolume \
     -lmeshTools \
+    -lfvOptions \
     -lsampling
diff --git a/applications/solvers/incompressible/boundaryFoam/boundaryFoam.C b/applications/solvers/incompressible/boundaryFoam/boundaryFoam.C
index 4e35c5258f7..a08632abbae 100644
--- a/applications/solvers/incompressible/boundaryFoam/boundaryFoam.C
+++ b/applications/solvers/incompressible/boundaryFoam/boundaryFoam.C
@@ -38,6 +38,7 @@ Description
 #include "fvCFD.H"
 #include "singlePhaseTransportModel.H"
 #include "turbulentTransportModel.H"
+#include "fvIOoptionList.H"
 #include "wallFvPatch.H"
 #include "makeGraph.H"
 
@@ -52,8 +53,11 @@ int main(int argc, char *argv[])
     #include "createTime.H"
     #include "createMesh.H"
     #include "createFields.H"
+    #include "createFvOptions.H"
     #include "interrogateWallPatches.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
@@ -67,13 +71,17 @@ int main(int argc, char *argv[])
 
         fvVectorMatrix UEqn
         (
-            divR == gradP
+            divR == gradP + fvOptions(U)
         );
 
         UEqn.relax();
 
+        fvOptions.constrain(UEqn);
+
         UEqn.solve();
 
+        fvOptions.correct(U);
+
 
         // Correct driving force for a constant volume flow rate
         dimensionedVector UbarStar = flowMask & U.weightedAverage(mesh.V());
-- 
GitLab


From 90afa6ddb5d397b6863fb2ffdbbde94e62325da4 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Tue, 1 Dec 2015 10:05:44 +0000
Subject: [PATCH 120/141] adjointShapeOptimizationFoam: Added support for
 fvOptions

---
 .../adjointShapeOptimizationFoam/Make/options  |  6 ++++--
 .../adjointShapeOptimizationFoam.C             | 18 ++++++++++++++++++
 2 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/applications/solvers/incompressible/adjointShapeOptimizationFoam/Make/options b/applications/solvers/incompressible/adjointShapeOptimizationFoam/Make/options
index d33d199f06e..690caa73743 100644
--- a/applications/solvers/incompressible/adjointShapeOptimizationFoam/Make/options
+++ b/applications/solvers/incompressible/adjointShapeOptimizationFoam/Make/options
@@ -5,11 +5,13 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/meshTools/lnInclude
+    -I$(LIB_SRC)/meshTools/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude
 
 EXE_LIBS = \
     -lturbulenceModels \
     -lincompressibleTurbulenceModels \
     -lincompressibleTransportModels \
     -lfiniteVolume \
-    -lmeshTools
+    -lmeshTools \
+    -lfvOptions
diff --git a/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointShapeOptimizationFoam.C b/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointShapeOptimizationFoam.C
index f57f444121b..75c706137d6 100644
--- a/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointShapeOptimizationFoam.C
+++ b/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointShapeOptimizationFoam.C
@@ -49,6 +49,7 @@ Description
 #include "singlePhaseTransportModel.H"
 #include "turbulentTransportModel.H"
 #include "simpleControl.H"
+#include "fvIOoptionList.H"
 
 template<class Type>
 void zeroCells
@@ -76,9 +77,12 @@ int main(int argc, char *argv[])
     simpleControl simple(mesh);
 
     #include "createFields.H"
+    #include "createFvOptions.H"
     #include "initContinuityErrs.H"
     #include "initAdjointContinuityErrs.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
@@ -108,12 +112,18 @@ int main(int argc, char *argv[])
                 fvm::div(phi, U)
               + turbulence->divDevReff(U)
               + fvm::Sp(alpha, U)
+             ==
+                fvOptions(U)
             );
 
             UEqn().relax();
 
+            fvOptions.constrain(UEqn());
+
             solve(UEqn() == -fvc::grad(p));
 
+            fvOptions.correct(U);
+
             volScalarField rAU(1.0/UEqn().A());
             volVectorField HbyA("HbyA", U);
             HbyA = rAU*UEqn().H();
@@ -150,6 +160,7 @@ int main(int argc, char *argv[])
             // Momentum corrector
             U = HbyA - rAU*fvc::grad(p);
             U.correctBoundaryConditions();
+            fvOptions.correct(U);
         }
 
         // Adjoint Pressure-velocity SIMPLE corrector
@@ -173,12 +184,18 @@ int main(int argc, char *argv[])
               - adjointTransposeConvection
               + turbulence->divDevReff(Ua)
               + fvm::Sp(alpha, Ua)
+             ==
+                fvOptions(Ua)
             );
 
             UaEqn().relax();
 
+            fvOptions.constrain(UaEqn());
+
             solve(UaEqn() == -fvc::grad(pa));
 
+            fvOptions.correct(Ua);
+
             volScalarField rAUa(1.0/UaEqn().A());
             volVectorField HbyAa("HbyAa", Ua);
             HbyAa = rAUa*UaEqn().H();
@@ -215,6 +232,7 @@ int main(int argc, char *argv[])
             // Adjoint momentum corrector
             Ua = HbyAa - rAUa*fvc::grad(pa);
             Ua.correctBoundaryConditions();
+            fvOptions.correct(Ua);
         }
 
         laminarTransport.correct();
-- 
GitLab


From 52d83407f3ce33063f7a0cc07ec9dd173b3fe66b Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Tue, 1 Dec 2015 10:07:00 +0000
Subject: [PATCH 121/141] TurbulenceModels: Added validate function

Moved correctNut call from constructors to the new validate function to
avoid problems with construction order and field availability for the
calculation of nut.

To ensure nut is physical and consistent with the turbulence fields the
validate function should be called after the construction of the
turbulence model, fvOptions and any other fields that the calculation of
nut might depend on.
---
 .../RAS/buoyantKEpsilon/buoyantKEpsilon.C     |  1 -
 .../RAS/LamBremhorstKE/LamBremhorstKE.C       |  8 --------
 .../RAS/LienCubicKE/LienCubicKE.C             |  8 --------
 .../RAS/LienLeschziner/LienLeschziner.C       |  8 --------
 .../RAS/ShihQuadraticKE/ShihQuadraticKE.C     |  8 --------
 .../RAS/kkLOmega/kkLOmega.C                   |  4 ++++
 .../RAS/kkLOmega/kkLOmega.H                   |  4 ++++
 .../RAS/qZeta/qZeta.C                         |  8 --------
 .../phaseCompressible/LES/Niceno/NicenoKEqn.C |  3 ---
 .../LES/SmagorinskyZhang/SmagorinskyZhang.C   |  3 ---
 .../LES/continuousGasKEqn/continuousGasKEqn.C |  1 -
 .../RAS/LaheyKEpsilon/LaheyKEpsilon.C         |  3 ---
 .../continuousGasKEpsilon.C                   |  2 --
 .../RAS/kOmegaSSTSato/kOmegaSSTSato.C         |  2 --
 .../DeardorffDiffStress/DeardorffDiffStress.C |  8 --------
 .../LES/Smagorinsky/Smagorinsky.C             |  8 --------
 .../SpalartAllmarasDES/SpalartAllmarasDES.C   |  8 --------
 .../turbulenceModels/LES/WALE/WALE.C          |  8 --------
 .../LES/dynamicKEqn/dynamicKEqn.C             |  8 --------
 .../LES/dynamicLagrangian/dynamicLagrangian.C |  8 --------
 .../turbulenceModels/LES/kEqn/kEqn.C          |  8 --------
 .../turbulenceModels/RAS/LRR/LRR.C            |  8 --------
 .../RAS/LaunderSharmaKE/LaunderSharmaKE.C     |  8 --------
 .../RAS/RNGkEpsilon/RNGkEpsilon.C             |  8 --------
 .../turbulenceModels/RAS/SSG/SSG.C            |  8 --------
 .../RAS/SpalartAllmaras/SpalartAllmaras.C     |  8 --------
 .../turbulenceModels/RAS/kEpsilon/kEpsilon.C  | 19 ++++++++++---------
 .../turbulenceModels/RAS/kOmega/kOmega.C      |  8 --------
 .../RAS/kOmegaSST/kOmegaSST.C                 |  8 --------
 .../RAS/realizableKE/realizableKE.C           |  8 --------
 .../turbulenceModels/RAS/v2f/v2f.C            |  8 --------
 .../ReynoldsStress/ReynoldsStress.C           |  7 +++++++
 .../ReynoldsStress/ReynoldsStress.H           |  4 ++++
 .../eddyViscosity/eddyViscosity.C             |  7 +++++++
 .../eddyViscosity/eddyViscosity.H             |  4 ++++
 .../turbulenceModels/turbulenceModel.C        |  6 +++++-
 .../turbulenceModels/turbulenceModel.H        |  4 ++++
 37 files changed, 49 insertions(+), 193 deletions(-)

diff --git a/src/TurbulenceModels/compressible/RAS/buoyantKEpsilon/buoyantKEpsilon.C b/src/TurbulenceModels/compressible/RAS/buoyantKEpsilon/buoyantKEpsilon.C
index 2f7bdb16179..b78dddf2799 100644
--- a/src/TurbulenceModels/compressible/RAS/buoyantKEpsilon/buoyantKEpsilon.C
+++ b/src/TurbulenceModels/compressible/RAS/buoyantKEpsilon/buoyantKEpsilon.C
@@ -74,7 +74,6 @@ buoyantKEpsilon<BasicTurbulenceModel>::buoyantKEpsilon
 {
     if (type == typeName)
     {
-        kEpsilon<BasicTurbulenceModel>::correctNut();
         this->printCoeffs(type);
     }
 }
diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LamBremhorstKE/LamBremhorstKE.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LamBremhorstKE/LamBremhorstKE.C
index d2417a85307..245a0ff55c8 100644
--- a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LamBremhorstKE/LamBremhorstKE.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LamBremhorstKE/LamBremhorstKE.C
@@ -181,14 +181,6 @@ LamBremhorstKE::LamBremhorstKE
     if (type == typeName)
     {
         printCoeffs(type);
-
-        // Correct nut for single-phase solvers only.
-        // For multiphase solvers the phase construction is not complete
-        // at this point.
-        if (isType<geometricOneField>(alpha))
-        {
-            correctNut();
-        }
     }
 }
 
diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKE/LienCubicKE.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKE/LienCubicKE.C
index 440517134f0..cc58aabc787 100644
--- a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKE/LienCubicKE.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKE/LienCubicKE.C
@@ -331,14 +331,6 @@ LienCubicKE::LienCubicKE
     if (type == typeName)
     {
         printCoeffs(type);
-
-        // Correct nut for single-phase solvers only.
-        // For multiphase solvers the phase construction is not complete
-        // at this point.
-        if (isType<geometricOneField>(alpha))
-        {
-            correctNut();
-        }
     }
 }
 
diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienLeschziner/LienLeschziner.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienLeschziner/LienLeschziner.C
index 29b5aa0114f..0b1ec732023 100644
--- a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienLeschziner/LienLeschziner.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienLeschziner/LienLeschziner.C
@@ -225,14 +225,6 @@ LienLeschziner::LienLeschziner
     if (type == typeName)
     {
         printCoeffs(type);
-
-        // Correct nut for single-phase solvers only.
-        // For multiphase solvers the phase construction is not complete
-        // at this point.
-        if (isType<geometricOneField>(alpha))
-        {
-            correctNut();
-        }
     }
 }
 
diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/ShihQuadraticKE/ShihQuadraticKE.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/ShihQuadraticKE/ShihQuadraticKE.C
index 38dc7ab62b4..c2d22054c2d 100644
--- a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/ShihQuadraticKE/ShihQuadraticKE.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/ShihQuadraticKE/ShihQuadraticKE.C
@@ -223,14 +223,6 @@ ShihQuadraticKE::ShihQuadraticKE
     if (type == typeName)
     {
         printCoeffs(type);
-
-        // Correct nut for single-phase solvers only.
-        // For multiphase solvers the phase construction is not complete
-        // at this point.
-        if (isType<geometricOneField>(alpha))
-        {
-            correctNut();
-        }
     }
 }
 
diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kkLOmega/kkLOmega.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kkLOmega/kkLOmega.C
index cc59e63e598..58a84fc1482 100644
--- a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kkLOmega/kkLOmega.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kkLOmega/kkLOmega.C
@@ -593,6 +593,10 @@ bool kkLOmega::read()
 }
 
 
+void kkLOmega::validate()
+{}
+
+
 void kkLOmega::correct()
 {
     eddyViscosity<incompressible::RASModel>::correct();
diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kkLOmega/kkLOmega.H b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kkLOmega/kkLOmega.H
index 68ba3793804..53bd64e7f8a 100644
--- a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kkLOmega/kkLOmega.H
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kkLOmega/kkLOmega.H
@@ -301,6 +301,10 @@ public:
             return epsilon_;
         }
 
+        //- Validate the turbulence fields after construction
+        //  Update turbulence viscosity and other derived fields as requires
+        virtual void validate();
+
         //- Solve the turbulence equations and correct the turbulence viscosity
         virtual void correct();
 };
diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/qZeta/qZeta.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/qZeta/qZeta.C
index bc57fd4200e..44a5c331214 100644
--- a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/qZeta/qZeta.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/qZeta/qZeta.C
@@ -208,14 +208,6 @@ qZeta::qZeta
     if (type == typeName)
     {
         printCoeffs(type);
-
-        // Correct nut for single-phase solvers only.
-        // For multiphase solvers the phase construction is not complete
-        // at this point.
-        if (isType<geometricOneField>(alpha))
-        {
-            correctNut();
-        }
     }
 }
 
diff --git a/src/TurbulenceModels/phaseCompressible/LES/Niceno/NicenoKEqn.C b/src/TurbulenceModels/phaseCompressible/LES/Niceno/NicenoKEqn.C
index 2d3ee8421b0..44eb97019b1 100644
--- a/src/TurbulenceModels/phaseCompressible/LES/Niceno/NicenoKEqn.C
+++ b/src/TurbulenceModels/phaseCompressible/LES/Niceno/NicenoKEqn.C
@@ -96,9 +96,6 @@ NicenoKEqn<BasicTurbulenceModel>::NicenoKEqn
 {
     if (type == typeName)
     {
-        // Cannot correct nut yet: construction of the phases is not complete
-        // correctNut();
-
         this->printCoeffs(type);
     }
 }
diff --git a/src/TurbulenceModels/phaseCompressible/LES/SmagorinskyZhang/SmagorinskyZhang.C b/src/TurbulenceModels/phaseCompressible/LES/SmagorinskyZhang/SmagorinskyZhang.C
index 4eb3187d953..f7bfe4fbf68 100644
--- a/src/TurbulenceModels/phaseCompressible/LES/SmagorinskyZhang/SmagorinskyZhang.C
+++ b/src/TurbulenceModels/phaseCompressible/LES/SmagorinskyZhang/SmagorinskyZhang.C
@@ -73,9 +73,6 @@ SmagorinskyZhang<BasicTurbulenceModel>::SmagorinskyZhang
 {
     if (type == typeName)
     {
-        // Cannot correct nut yet: construction of the phases is not complete
-        // correctNut();
-
         this->printCoeffs(type);
     }
 }
diff --git a/src/TurbulenceModels/phaseCompressible/LES/continuousGasKEqn/continuousGasKEqn.C b/src/TurbulenceModels/phaseCompressible/LES/continuousGasKEqn/continuousGasKEqn.C
index 6bfec32e684..00e23e7c32a 100644
--- a/src/TurbulenceModels/phaseCompressible/LES/continuousGasKEqn/continuousGasKEqn.C
+++ b/src/TurbulenceModels/phaseCompressible/LES/continuousGasKEqn/continuousGasKEqn.C
@@ -75,7 +75,6 @@ continuousGasKEqn<BasicTurbulenceModel>::continuousGasKEqn
 {
     if (type == typeName)
     {
-        kEqn<BasicTurbulenceModel>::correctNut();
         this->printCoeffs(type);
     }
 }
diff --git a/src/TurbulenceModels/phaseCompressible/RAS/LaheyKEpsilon/LaheyKEpsilon.C b/src/TurbulenceModels/phaseCompressible/RAS/LaheyKEpsilon/LaheyKEpsilon.C
index c7d0d22e442..843ecc015d7 100644
--- a/src/TurbulenceModels/phaseCompressible/RAS/LaheyKEpsilon/LaheyKEpsilon.C
+++ b/src/TurbulenceModels/phaseCompressible/RAS/LaheyKEpsilon/LaheyKEpsilon.C
@@ -107,9 +107,6 @@ LaheyKEpsilon<BasicTurbulenceModel>::LaheyKEpsilon
     if (type == typeName)
     {
         this->printCoeffs(type);
-
-        // Cannot correct nut yet: construction of the phases is not complete
-        // correctNut();
     }
 }
 
diff --git a/src/TurbulenceModels/phaseCompressible/RAS/continuousGasKEpsilon/continuousGasKEpsilon.C b/src/TurbulenceModels/phaseCompressible/RAS/continuousGasKEpsilon/continuousGasKEpsilon.C
index 3f4798e515a..86d6a7f334f 100644
--- a/src/TurbulenceModels/phaseCompressible/RAS/continuousGasKEpsilon/continuousGasKEpsilon.C
+++ b/src/TurbulenceModels/phaseCompressible/RAS/continuousGasKEpsilon/continuousGasKEpsilon.C
@@ -89,8 +89,6 @@ continuousGasKEpsilon<BasicTurbulenceModel>::continuousGasKEpsilon
 {
     if (type == typeName)
     {
-        // Cannot correct nut yet: construction of the phases is not complete
-        // kEpsilon<BasicTurbulenceModel>::correctNut();
         this->printCoeffs(type);
     }
 }
diff --git a/src/TurbulenceModels/phaseCompressible/RAS/kOmegaSSTSato/kOmegaSSTSato.C b/src/TurbulenceModels/phaseCompressible/RAS/kOmegaSSTSato/kOmegaSSTSato.C
index 7e5114d8287..76d7e4d0be1 100644
--- a/src/TurbulenceModels/phaseCompressible/RAS/kOmegaSSTSato/kOmegaSSTSato.C
+++ b/src/TurbulenceModels/phaseCompressible/RAS/kOmegaSSTSato/kOmegaSSTSato.C
@@ -76,8 +76,6 @@ kOmegaSSTSato<BasicTurbulenceModel>::kOmegaSSTSato
 {
     if (type == typeName)
     {
-        // Cannot correct nut yet: construction of the phases is not complete
-        // correctNut();
         this->printCoeffs(type);
     }
 }
diff --git a/src/TurbulenceModels/turbulenceModels/LES/DeardorffDiffStress/DeardorffDiffStress.C b/src/TurbulenceModels/turbulenceModels/LES/DeardorffDiffStress/DeardorffDiffStress.C
index 5a00433a347..e958e933246 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/DeardorffDiffStress/DeardorffDiffStress.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/DeardorffDiffStress/DeardorffDiffStress.C
@@ -112,14 +112,6 @@ DeardorffDiffStress<BasicTurbulenceModel>::DeardorffDiffStress
     {
         this->printCoeffs(type);
         this->boundNormalStress(this->R_);
-
-        // Correct nut for single-phase solvers only.
-        // For multiphase solvers the phase construction is not complete
-        // at this point.
-        if (isType<geometricOneField>(alpha))
-        {
-            correctNut();
-        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/LES/Smagorinsky/Smagorinsky.C b/src/TurbulenceModels/turbulenceModels/LES/Smagorinsky/Smagorinsky.C
index 7de1f91f1ed..9827f76063c 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/Smagorinsky/Smagorinsky.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/Smagorinsky/Smagorinsky.C
@@ -114,14 +114,6 @@ Smagorinsky<BasicTurbulenceModel>::Smagorinsky
     if (type == typeName)
     {
         this->printCoeffs(type);
-
-        // Correct nut for single-phase solvers only.
-        // For multiphase solvers the phase construction is not complete
-        // at this point.
-        if (isType<geometricOneField>(alpha))
-        {
-            correctNut();
-        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.C b/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.C
index fa6ddc86e3e..ed5cae80da0 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.C
@@ -319,14 +319,6 @@ SpalartAllmarasDES<BasicTurbulenceModel>::SpalartAllmarasDES
     if (type == typeName)
     {
         this->printCoeffs(type);
-
-        // Correct nut for single-phase solvers only.
-        // For multiphase solvers the phase construction is not complete
-        // at this point.
-        if (isType<geometricOneField>(alpha))
-        {
-            correctNut();
-        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/LES/WALE/WALE.C b/src/TurbulenceModels/turbulenceModels/LES/WALE/WALE.C
index 3879d5fffe1..49a353ba1da 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/WALE/WALE.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/WALE/WALE.C
@@ -144,14 +144,6 @@ WALE<BasicTurbulenceModel>::WALE
     if (type == typeName)
     {
         this->printCoeffs(type);
-
-        // Correct nut for single-phase solvers only.
-        // For multiphase solvers the phase construction is not complete
-        // at this point.
-        if (isType<geometricOneField>(alpha))
-        {
-            correctNut();
-        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/LES/dynamicKEqn/dynamicKEqn.C b/src/TurbulenceModels/turbulenceModels/LES/dynamicKEqn/dynamicKEqn.C
index 7fd40001837..ac076991e8e 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/dynamicKEqn/dynamicKEqn.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/dynamicKEqn/dynamicKEqn.C
@@ -186,14 +186,6 @@ dynamicKEqn<BasicTurbulenceModel>::dynamicKEqn
     if (type == typeName)
     {
         this->printCoeffs(type);
-
-        // Correct nut for single-phase solvers only.
-        // For multiphase solvers the phase construction is not complete
-        // at this point.
-        if (isType<geometricOneField>(alpha))
-        {
-            correctNut();
-        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/LES/dynamicLagrangian/dynamicLagrangian.C b/src/TurbulenceModels/turbulenceModels/LES/dynamicLagrangian/dynamicLagrangian.C
index 7c5c403fcc8..6a6fb02b930 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/dynamicLagrangian/dynamicLagrangian.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/dynamicLagrangian/dynamicLagrangian.C
@@ -123,14 +123,6 @@ dynamicLagrangian<BasicTurbulenceModel>::dynamicLagrangian
     if (type == typeName)
     {
         this->printCoeffs(type);
-
-        // Correct nut for single-phase solvers only.
-        // For multiphase solvers the phase construction is not complete
-        // at this point.
-        if (isType<geometricOneField>(alpha))
-        {
-            correctNut();
-        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.C b/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.C
index c02556ea037..ef2b2b85359 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.C
@@ -114,14 +114,6 @@ kEqn<BasicTurbulenceModel>::kEqn
     if (type == typeName)
     {
         this->printCoeffs(type);
-
-        // Correct nut for single-phase solvers only.
-        // For multiphase solvers the phase construction is not complete
-        // at this point.
-        if (isType<geometricOneField>(alpha))
-        {
-            correctNut();
-        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/LRR/LRR.C b/src/TurbulenceModels/turbulenceModels/RAS/LRR/LRR.C
index fe33923d197..2b8be527627 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/LRR/LRR.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/LRR/LRR.C
@@ -205,14 +205,6 @@ LRR<BasicTurbulenceModel>::LRR
         this->boundNormalStress(this->R_);
         bound(epsilon_, this->epsilonMin_);
         k_ = 0.5*tr(this->R_);
-
-        // Correct nut for single-phase solvers only.
-        // For multiphase solvers the phase construction is not complete
-        // at this point.
-        if (isType<geometricOneField>(alpha))
-        {
-            correctNut();
-        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/LaunderSharmaKE/LaunderSharmaKE.C b/src/TurbulenceModels/turbulenceModels/RAS/LaunderSharmaKE/LaunderSharmaKE.C
index e5ef40222a7..d3fca3307b6 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/LaunderSharmaKE/LaunderSharmaKE.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/LaunderSharmaKE/LaunderSharmaKE.C
@@ -205,14 +205,6 @@ LaunderSharmaKE<BasicTurbulenceModel>::LaunderSharmaKE
     if (type == typeName)
     {
         this->printCoeffs(type);
-
-        // Correct nut for single-phase solvers only.
-        // For multiphase solvers the phase construction is not complete
-        // at this point.
-        if (isType<geometricOneField>(alpha))
-        {
-            correctNut();
-        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/RNGkEpsilon/RNGkEpsilon.C b/src/TurbulenceModels/turbulenceModels/RAS/RNGkEpsilon/RNGkEpsilon.C
index 18d22249274..1eec3da8a91 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/RNGkEpsilon/RNGkEpsilon.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/RNGkEpsilon/RNGkEpsilon.C
@@ -206,14 +206,6 @@ RNGkEpsilon<BasicTurbulenceModel>::RNGkEpsilon
     if (type == typeName)
     {
         this->printCoeffs(type);
-
-        // Correct nut for single-phase solvers only.
-        // For multiphase solvers the phase construction is not complete
-        // at this point.
-        if (isType<geometricOneField>(alpha))
-        {
-            correctNut();
-        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/SSG/SSG.C b/src/TurbulenceModels/turbulenceModels/RAS/SSG/SSG.C
index 34798924b69..9f9cc534640 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/SSG/SSG.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/SSG/SSG.C
@@ -214,14 +214,6 @@ SSG<BasicTurbulenceModel>::SSG
         this->boundNormalStress(this->R_);
         bound(epsilon_, this->epsilonMin_);
         k_ = 0.5*tr(this->R_);
-
-        // Correct nut for single-phase solvers only.
-        // For multiphase solvers the phase construction is not complete
-        // at this point.
-        if (isType<geometricOneField>(alpha))
-        {
-            correctNut();
-        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C b/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C
index 50f9a989f0b..a029db7ad39 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C
@@ -256,14 +256,6 @@ SpalartAllmaras<BasicTurbulenceModel>::SpalartAllmaras
     if (type == typeName)
     {
         this->printCoeffs(type);
-
-        // Correct nut for single-phase solvers only.
-        // For multiphase solvers the phase construction is not complete
-        // at this point.
-        if (isType<geometricOneField>(alpha))
-        {
-            correctNut();
-        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C b/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C
index 1deb554d1cc..75d9a3d1b84 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C
@@ -42,6 +42,16 @@ void kEpsilon<BasicTurbulenceModel>::correctNut()
     this->nut_ = Cmu_*sqr(k_)/epsilon_;
     this->nut_.correctBoundaryConditions();
 
+    // const_cast needed because the operators and functions of fvOptions
+    // are currently non-const.
+    fv::optionList& fvOptions = const_cast<fv::optionList&>
+    (
+        this->mesh_.objectRegistry::template
+            lookupObject<fv::optionList>("fvOptions")
+    );
+
+    fvOptions.correct(this->nut_);
+
     BasicTurbulenceModel::correctNut();
 }
 
@@ -189,14 +199,6 @@ kEpsilon<BasicTurbulenceModel>::kEpsilon
     if (type == typeName)
     {
         this->printCoeffs(type);
-
-        // Correct nut for single-phase solvers only.
-        // For multiphase solvers the phase construction is not complete
-        // at this point.
-        if (isType<geometricOneField>(alpha))
-        {
-            correctNut();
-        }
     }
 }
 
@@ -300,7 +302,6 @@ void kEpsilon<BasicTurbulenceModel>::correct()
     bound(k_, this->kMin_);
 
     correctNut();
-    fvOptions.correct(nut);
 }
 
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/kOmega/kOmega.C b/src/TurbulenceModels/turbulenceModels/RAS/kOmega/kOmega.C
index 4578b5811f7..5f5e76c03f9 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/kOmega/kOmega.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/kOmega/kOmega.C
@@ -148,14 +148,6 @@ kOmega<BasicTurbulenceModel>::kOmega
     if (type == typeName)
     {
         this->printCoeffs(type);
-
-        // Correct nut for single-phase solvers only.
-        // For multiphase solvers the phase construction is not complete
-        // at this point.
-        if (isType<geometricOneField>(alpha))
-        {
-            correctNut();
-        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.C b/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.C
index f634aa65beb..223492ba888 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.C
@@ -351,14 +351,6 @@ kOmegaSST<BasicTurbulenceModel>::kOmegaSST
     if (type == typeName)
     {
         this->printCoeffs(type);
-
-        // Correct nut for single-phase solvers only.
-        // For multiphase solvers the phase construction is not complete
-        // at this point.
-        if (isType<geometricOneField>(alpha))
-        {
-            correctNut();
-        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/realizableKE/realizableKE.C b/src/TurbulenceModels/turbulenceModels/RAS/realizableKE/realizableKE.C
index c3428a64c97..81212cb4108 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/realizableKE/realizableKE.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/realizableKE/realizableKE.C
@@ -227,14 +227,6 @@ realizableKE<BasicTurbulenceModel>::realizableKE
     if (type == typeName)
     {
         this->printCoeffs(type);
-
-        // Correct nut for single-phase solvers only.
-        // For multiphase solvers the phase construction is not complete
-        // at this point.
-        if (isType<geometricOneField>(alpha))
-        {
-            correctNut();
-        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/v2f/v2f.C b/src/TurbulenceModels/turbulenceModels/RAS/v2f/v2f.C
index 95cb209a45d..4a76ee1870a 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/v2f/v2f.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/v2f/v2f.C
@@ -239,14 +239,6 @@ v2f<BasicTurbulenceModel>::v2f
     if (type == typeName)
     {
         this->printCoeffs(type);
-
-        // Correct nut for single-phase solvers only.
-        // For multiphase solvers the phase construction is not complete
-        // at this point.
-        if (isType<geometricOneField>(alpha))
-        {
-            correctNut();
-        }
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/ReynoldsStress/ReynoldsStress.C b/src/TurbulenceModels/turbulenceModels/ReynoldsStress/ReynoldsStress.C
index 63dc8d581ee..55001003da8 100644
--- a/src/TurbulenceModels/turbulenceModels/ReynoldsStress/ReynoldsStress.C
+++ b/src/TurbulenceModels/turbulenceModels/ReynoldsStress/ReynoldsStress.C
@@ -295,6 +295,13 @@ Foam::ReynoldsStress<BasicTurbulenceModel>::divDevRhoReff
 }
 
 
+template<class BasicTurbulenceModel>
+void Foam::ReynoldsStress<BasicTurbulenceModel>::validate()
+{
+    correctNut();
+}
+
+
 template<class BasicTurbulenceModel>
 void Foam::ReynoldsStress<BasicTurbulenceModel>::correct()
 {
diff --git a/src/TurbulenceModels/turbulenceModels/ReynoldsStress/ReynoldsStress.H b/src/TurbulenceModels/turbulenceModels/ReynoldsStress/ReynoldsStress.H
index b27468b5a33..0beb0f5885a 100644
--- a/src/TurbulenceModels/turbulenceModels/ReynoldsStress/ReynoldsStress.H
+++ b/src/TurbulenceModels/turbulenceModels/ReynoldsStress/ReynoldsStress.H
@@ -140,6 +140,10 @@ public:
             volVectorField& U
         ) const;
 
+        //- Validate the turbulence fields after construction
+        //  Update turbulence viscosity and other derived fields as requires
+        virtual void validate();
+
         //- Solve the turbulence equations and correct the turbulence viscosity
         virtual void correct() = 0;
 };
diff --git a/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.C b/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.C
index 641f012bee2..82a0da7719b 100644
--- a/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.C
+++ b/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.C
@@ -121,6 +121,13 @@ Foam::eddyViscosity<BasicTurbulenceModel>::R() const
 }
 
 
+template<class BasicTurbulenceModel>
+void Foam::eddyViscosity<BasicTurbulenceModel>::validate()
+{
+    correctNut();
+}
+
+
 template<class BasicTurbulenceModel>
 void Foam::eddyViscosity<BasicTurbulenceModel>::correct()
 {
diff --git a/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.H b/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.H
index e46543864b5..3a26fac199d 100644
--- a/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.H
+++ b/src/TurbulenceModels/turbulenceModels/eddyViscosity/eddyViscosity.H
@@ -127,6 +127,10 @@ public:
         //- Return the Reynolds stress tensor
         virtual tmp<volSymmTensorField> R() const;
 
+        //- Validate the turbulence fields after construction
+        //  Update turbulence viscosity and other derived fields as requires
+        virtual void validate();
+
         //- Solve the turbulence equations and correct the turbulence viscosity
         virtual void correct() = 0;
 };
diff --git a/src/TurbulenceModels/turbulenceModels/turbulenceModel.C b/src/TurbulenceModels/turbulenceModels/turbulenceModel.C
index 0cee0437681..58a1c34ebd0 100644
--- a/src/TurbulenceModels/turbulenceModels/turbulenceModel.C
+++ b/src/TurbulenceModels/turbulenceModels/turbulenceModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -84,6 +84,10 @@ bool Foam::turbulenceModel::read()
 }
 
 
+void Foam::turbulenceModel::validate()
+{}
+
+
 void Foam::turbulenceModel::correct()
 {
     if (mesh_.changing())
diff --git a/src/TurbulenceModels/turbulenceModels/turbulenceModel.H b/src/TurbulenceModels/turbulenceModels/turbulenceModel.H
index a634cedcbe5..43b848b23f0 100644
--- a/src/TurbulenceModels/turbulenceModels/turbulenceModel.H
+++ b/src/TurbulenceModels/turbulenceModels/turbulenceModel.H
@@ -205,6 +205,10 @@ public:
         //- Return the Reynolds stress tensor
         virtual tmp<volSymmTensorField> R() const = 0;
 
+        //- Validate the turbulence fields after construction
+        //  Update derived fields as required
+        virtual void validate();
+
         //- Solve the turbulence equations and correct the turbulence viscosity
         virtual void correct() = 0;
 };
-- 
GitLab


From 3dfe844d9a87e5b79f7823cc3db2425dac8bf66a Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Tue, 1 Dec 2015 10:25:38 +0000
Subject: [PATCH 122/141] applications/solvers: Added call to validate the
 turbulence model after construction

See also commit 52d83407f3ce33063f7a0cc07ec9dd173b3fe66b
---
 .../solvers/combustion/XiFoam/Make/options    | 20 +++++++++----------
 .../solvers/combustion/XiFoam/XiFoam.C        |  2 ++
 .../coldEngineFoam/coldEngineFoam.C           |  2 ++
 .../combustion/engineFoam/engineFoam.C        |  2 ++
 .../solvers/combustion/fireFoam/fireFoam.C    |  2 ++
 .../combustion/reactingFoam/reactingFoam.C    |  2 ++
 .../rhoReactingBuoyantFoam.C                  |  2 ++
 .../rhoReactingFoam/rhoReactingFoam.C         |  2 ++
 .../rhoCentralDyMFoam/rhoCentralDyMFoam.C     |  2 ++
 .../rhoCentralFoam/rhoCentralFoam.C           |  2 ++
 .../rhoPimpleDyMFoam/rhoPimpleDyMFoam.C       |  2 ++
 .../rhoPimpleFoam/rhoPimpleFoam.C             |  2 ++
 .../rhoPorousSimpleFoam/rhoPorousSimpleFoam.C |  2 ++
 .../rhoSimpleFoam/rhoSimpleFoam.C             |  2 ++
 .../sonicFoam/sonicDyMFoam/sonicDyMFoam.C     |  2 ++
 .../compressible/sonicFoam/sonicFoam.C        |  2 ++
 .../buoyantBoussinesqPimpleFoam.C             |  2 ++
 .../buoyantBoussinesqSimpleFoam.C             |  2 ++
 .../buoyantPimpleFoam/buoyantPimpleFoam.C     |  2 ++
 .../buoyantSimpleFoam/buoyantSimpleFoam.C     |  2 ++
 .../fluid/createFluidFields.H                 |  2 ++
 .../fluid/createFluidFields.H                 |  2 ++
 .../pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C  |  2 ++
 .../pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C  |  2 ++
 .../incompressible/pimpleFoam/pimpleFoam.C    |  2 ++
 .../incompressible/pisoFoam/pisoFoam.C        |  2 ++
 .../simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C  |  2 ++
 .../solvers/incompressible/simpleFoam/UEqn.H  |  2 +-
 .../porousSimpleFoam/porousSimpleFoam.C       |  2 ++
 .../incompressible/simpleFoam/simpleFoam.C    |  2 ++
 .../coalChemistryFoam/coalChemistryFoam.C     |  2 ++
 .../reactingParcelFilmFoam.C                  |  2 ++
 .../reactingParcelFoam/reactingParcelFoam.C   |  2 ++
 .../simpleReactingParcelFoam.C                |  2 ++
 .../sprayFoam/sprayDyMFoam/sprayDyMFoam.C     |  2 ++
 .../sprayEngineFoam/sprayEngineFoam.C         |  2 ++
 .../solvers/lagrangian/sprayFoam/sprayFoam.C  |  2 ++
 .../cavitatingDyMFoam/cavitatingDyMFoam.C     |  2 ++
 .../cavitatingFoam/cavitatingFoam.C           |  2 ++
 .../compressibleInterDyMFoam.C                |  2 ++
 .../compressibleInterFoam.C                   |  2 ++
 .../compressibleMultiphaseInterFoam.C         |  2 ++
 .../multiphase/driftFluxFoam/driftFluxFoam.C  |  2 ++
 .../interFoam/interDyMFoam/interDyMFoam.C     |  2 ++
 .../solvers/multiphase/interFoam/interFoam.C  |  2 ++
 .../interFoam/interMixingFoam/createFields.H  |  2 ++
 .../interMixingFoam/interMixingFoam.C         |  2 ++
 .../interPhaseChangeDyMFoam.C                 |  2 ++
 .../interPhaseChangeFoam.C                    |  2 ++
 .../multiphaseEulerFoam/multiphaseEulerFoam.C |  2 ++
 .../multiphaseInterDyMFoam.C                  |  2 ++
 .../multiphaseInterFoam/multiphaseInterFoam.C |  2 ++
 .../potentialFreeSurfaceDyMFoam.C             |  2 ++
 .../potentialFreeSurfaceFoam.C                |  2 ++
 .../twoLiquidMixingFoam/twoLiquidMixingFoam.C |  2 ++
 55 files changed, 117 insertions(+), 11 deletions(-)

diff --git a/applications/solvers/combustion/XiFoam/Make/options b/applications/solvers/combustion/XiFoam/Make/options
index c30b39fdee3..b23284d841e 100644
--- a/applications/solvers/combustion/XiFoam/Make/options
+++ b/applications/solvers/combustion/XiFoam/Make/options
@@ -1,8 +1,4 @@
 EXE_INC = \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
-    -I$(LIB_SRC)/sampling/lnInclude \
-    -I$(LIB_SRC)/meshTools/lnInclude\
     -I$(LIB_SRC)/engine/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
     -I$(LIB_SRC)/transportModels/compressible/lnInclude \
@@ -10,13 +6,13 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
-    -I$(LIB_SRC)/thermophysicalModels/laminarFlameSpeed/lnInclude
+    -I$(LIB_SRC)/thermophysicalModels/laminarFlameSpeed/lnInclude \
+    -I$(LIB_SRC)/finiteVolume/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
+    -I$(LIB_SRC)/sampling/lnInclude \
+    -I$(LIB_SRC)/meshTools/lnInclude
 
 EXE_LIBS = \
-    -lfiniteVolume \
-    -lfvOptions \
-    -lsampling \
-    -lmeshTools \
     -lengine \
     -lturbulenceModels \
     -lcompressibleTurbulenceModels \
@@ -24,4 +20,8 @@ EXE_LIBS = \
     -lfluidThermophysicalModels \
     -lreactionThermophysicalModels \
     -lspecie \
-    -llaminarFlameSpeedModels
+    -llaminarFlameSpeedModels \
+    -lfiniteVolume \
+    -lfvOptions \
+    -lsampling \
+    -lmeshTools
diff --git a/applications/solvers/combustion/XiFoam/XiFoam.C b/applications/solvers/combustion/XiFoam/XiFoam.C
index c216e76be3e..c0f050beaaa 100644
--- a/applications/solvers/combustion/XiFoam/XiFoam.C
+++ b/applications/solvers/combustion/XiFoam/XiFoam.C
@@ -78,6 +78,8 @@ int main(int argc, char *argv[])
     #include "compressibleCourantNo.H"
     #include "setInitialDeltaT.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C b/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C
index e85010239b8..27e43448b5d 100644
--- a/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C
+++ b/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C
@@ -59,6 +59,8 @@ int main(int argc, char *argv[])
     #include "setInitialDeltaT.H"
     #include "startSummary.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/combustion/engineFoam/engineFoam.C b/applications/solvers/combustion/engineFoam/engineFoam.C
index 4602eac9976..4c58ba12414 100644
--- a/applications/solvers/combustion/engineFoam/engineFoam.C
+++ b/applications/solvers/combustion/engineFoam/engineFoam.C
@@ -83,6 +83,8 @@ int main(int argc, char *argv[])
     #include "setInitialDeltaT.H"
     #include "startSummary.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/combustion/fireFoam/fireFoam.C b/applications/solvers/combustion/fireFoam/fireFoam.C
index 31ace4dda83..016cdf55813 100644
--- a/applications/solvers/combustion/fireFoam/fireFoam.C
+++ b/applications/solvers/combustion/fireFoam/fireFoam.C
@@ -67,6 +67,8 @@ int main(int argc, char *argv[])
     #include "setInitialDeltaT.H"
     #include "readPyrolysisTimeControls.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/combustion/reactingFoam/reactingFoam.C b/applications/solvers/combustion/reactingFoam/reactingFoam.C
index 8bc61a6f105..4eb99144a72 100644
--- a/applications/solvers/combustion/reactingFoam/reactingFoam.C
+++ b/applications/solvers/combustion/reactingFoam/reactingFoam.C
@@ -55,6 +55,8 @@ int main(int argc, char *argv[])
     #include "createMRF.H"
     #include "createFvOptions.H"
 
+    turbulence->validate();
+
     if (!LTS)
     {
         #include "compressibleCourantNo.H"
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C
index e8645bb47c0..09d952b5daf 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C
@@ -57,6 +57,8 @@ int main(int argc, char *argv[])
     #include "createMRF.H"
     #include "createFvOptions.H"
 
+    turbulence->validate();
+
     if (!LTS)
     {
         #include "compressibleCourantNo.H"
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C
index 1691c719ace..33c7186bb84 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C
@@ -56,6 +56,8 @@ int main(int argc, char *argv[])
     #include "createMRF.H"
     #include "createFvOptions.H"
 
+    turbulence->validate();
+
     if (!LTS)
     {
         #include "compressibleCourantNo.H"
diff --git a/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C b/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C
index 38ffddc7796..922aa72a95c 100644
--- a/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C
+++ b/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C
@@ -49,6 +49,8 @@ int main(int argc, char *argv[])
     #include "createFields.H"
     #include "createTimeControls.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     #include "readFluxScheme.H"
diff --git a/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C b/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C
index 4faed39f75b..7b85b5b11bd 100644
--- a/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C
+++ b/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C
@@ -51,6 +51,8 @@ int main(int argc, char *argv[])
     #include "createTimeControls.H"
     #include "createRDeltaT.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     #include "readFluxScheme.H"
diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/rhoPimpleDyMFoam.C b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/rhoPimpleDyMFoam.C
index bd30b60a90c..2aebd187016 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/rhoPimpleDyMFoam.C
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/rhoPimpleDyMFoam.C
@@ -65,6 +65,8 @@ int main(int argc, char *argv[])
     #include "createRhoUf.H"
     #include "createControls.H"
 
+    turbulence->validate();
+
     if (!LTS)
     {
         #include "compressibleCourantNo.H"
diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C
index 382d041fd95..124590cf0f4 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C
@@ -59,6 +59,8 @@ int main(int argc, char *argv[])
     #include "createMRF.H"
     #include "createFvOptions.H"
 
+    turbulence->validate();
+
     if (!LTS)
     {
         #include "compressibleCourantNo.H"
diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C
index a7482b3df14..4aea286bfcd 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C
@@ -54,6 +54,8 @@ int main(int argc, char *argv[])
     #include "createZones.H"
     #include "initContinuityErrs.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C b/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C
index d554931e628..8d0bfa06837 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C
@@ -51,6 +51,8 @@ int main(int argc, char *argv[])
     #include "createFvOptions.H"
     #include "initContinuityErrs.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/compressible/sonicFoam/sonicDyMFoam/sonicDyMFoam.C b/applications/solvers/compressible/sonicFoam/sonicDyMFoam/sonicDyMFoam.C
index 8d913919d29..24733abf2d4 100644
--- a/applications/solvers/compressible/sonicFoam/sonicDyMFoam/sonicDyMFoam.C
+++ b/applications/solvers/compressible/sonicFoam/sonicDyMFoam/sonicDyMFoam.C
@@ -60,6 +60,8 @@ int main(int argc, char *argv[])
     #include "compressibleCourantNo.H"
     #include "setInitialDeltaT.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/compressible/sonicFoam/sonicFoam.C b/applications/solvers/compressible/sonicFoam/sonicFoam.C
index 95a4b4cc9d9..90b0f4b8084 100644
--- a/applications/solvers/compressible/sonicFoam/sonicFoam.C
+++ b/applications/solvers/compressible/sonicFoam/sonicFoam.C
@@ -54,6 +54,8 @@ int main(int argc, char *argv[])
     #include "createFvOptions.H"
     #include "initContinuityErrs.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C
index e71cd3febe2..0905de35a2a 100644
--- a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C
+++ b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C
@@ -72,6 +72,8 @@ int main(int argc, char *argv[])
     #include "CourantNo.H"
     #include "setInitialDeltaT.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C
index 75f0c23abc7..1b968a31153 100644
--- a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C
+++ b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C
@@ -69,6 +69,8 @@ int main(int argc, char *argv[])
     #include "createFvOptions.H"
     #include "initContinuityErrs.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C b/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C
index aec50069be2..ee68bf0c31f 100644
--- a/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C
+++ b/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C
@@ -60,6 +60,8 @@ int main(int argc, char *argv[])
     #include "compressibleCourantNo.H"
     #include "setInitialDeltaT.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C b/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C
index 8950122e32d..071edb4e6fb 100644
--- a/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C
+++ b/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C
@@ -54,6 +54,8 @@ int main(int argc, char *argv[])
     #include "createRadiationModel.H"
     #include "initContinuityErrs.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H
index f3b0655405a..65b5d2e91e0 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H
@@ -256,4 +256,6 @@ forAll(fluidRegions, i)
         i,
         new fv::IOoptionList(fluidRegions[i])
     );
+
+    turbulence[i].validate();
 }
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H
index 2097833ed9d..d9927500c66 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H
@@ -246,4 +246,6 @@ forAll(fluidRegions, i)
         i,
         new fv::IOoptionList(fluidRegions[i])
     );
+
+    turbulence[i].validate();
 }
diff --git a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C
index bfa86ea1d9b..ba19716a4d7 100644
--- a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C
+++ b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C
@@ -54,6 +54,8 @@ int main(int argc, char *argv[])
     #include "createFvOptions.H"
     #include "initContinuityErrs.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C
index cb01c03d63c..fc97e7bfc5b 100644
--- a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C
+++ b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C
@@ -60,6 +60,8 @@ int main(int argc, char *argv[])
     #include "CourantNo.H"
     #include "setInitialDeltaT.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C b/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C
index 72c6178d723..919b54437bc 100644
--- a/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C
+++ b/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C
@@ -57,6 +57,8 @@ int main(int argc, char *argv[])
     #include "createFvOptions.H"
     #include "initContinuityErrs.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/incompressible/pisoFoam/pisoFoam.C b/applications/solvers/incompressible/pisoFoam/pisoFoam.C
index 482b695cb94..449439a2830 100644
--- a/applications/solvers/incompressible/pisoFoam/pisoFoam.C
+++ b/applications/solvers/incompressible/pisoFoam/pisoFoam.C
@@ -54,6 +54,8 @@ int main(int argc, char *argv[])
     #include "createFvOptions.H"
     #include "initContinuityErrs.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C
index 97617bd925f..37f8a16b2a6 100644
--- a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C
+++ b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C
@@ -51,6 +51,8 @@ int main(int argc, char *argv[])
     #include "createFvOptions.H"
     #include "initContinuityErrs.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/incompressible/simpleFoam/UEqn.H b/applications/solvers/incompressible/simpleFoam/UEqn.H
index 032e0e044b0..12b56216366 100644
--- a/applications/solvers/incompressible/simpleFoam/UEqn.H
+++ b/applications/solvers/incompressible/simpleFoam/UEqn.H
@@ -7,7 +7,7 @@
         fvm::div(phi, U)
       + MRF.DDt(U)
       + turbulence->divDevReff(U)
-      ==
+     ==
         fvOptions(U)
     );
 
diff --git a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C
index 3c9ef15c954..4c6f89aee21 100644
--- a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C
+++ b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C
@@ -54,6 +54,8 @@ int main(int argc, char *argv[])
     #include "createFvOptions.H"
     #include "initContinuityErrs.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/incompressible/simpleFoam/simpleFoam.C b/applications/solvers/incompressible/simpleFoam/simpleFoam.C
index eeb7bc1e345..21d724f0b83 100644
--- a/applications/solvers/incompressible/simpleFoam/simpleFoam.C
+++ b/applications/solvers/incompressible/simpleFoam/simpleFoam.C
@@ -50,6 +50,8 @@ int main(int argc, char *argv[])
     #include "createFvOptions.H"
     #include "initContinuityErrs.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C b/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C
index 3bfb2be7764..6b77d9b11cd 100644
--- a/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C
+++ b/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C
@@ -68,6 +68,8 @@ int main(int argc, char *argv[])
     #include "createClouds.H"
     #include "createRadiationModel.H"
 
+    turbulence->validate();
+
     if (!LTS)
     {
         #include "compressibleCourantNo.H"
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/reactingParcelFilmFoam.C b/applications/solvers/lagrangian/reactingParcelFilmFoam/reactingParcelFilmFoam.C
index 98b33ff2854..df00466e099 100644
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/reactingParcelFilmFoam.C
+++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/reactingParcelFilmFoam.C
@@ -63,6 +63,8 @@ int main(int argc, char *argv[])
     #include "compressibleCourantNo.H"
     #include "setInitialDeltaT.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C
index b3e758df12f..7aeb3ccd826 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C
+++ b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C
@@ -63,6 +63,8 @@ int main(int argc, char *argv[])
     #include "createMRF.H"
     #include "createFvOptions.H"
 
+    turbulence->validate();
+
     if (!LTS)
     {
         #include "compressibleCourantNo.H"
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/simpleReactingParcelFoam.C b/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/simpleReactingParcelFoam.C
index 9a49318c23e..67df9100f23 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/simpleReactingParcelFoam.C
+++ b/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/simpleReactingParcelFoam.C
@@ -60,6 +60,8 @@ int main(int argc, char *argv[])
     #include "createFvOptions.H"
     #include "initContinuityErrs.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/sprayDyMFoam.C b/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/sprayDyMFoam.C
index 38ac4e515b6..04b897541ef 100644
--- a/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/sprayDyMFoam.C
+++ b/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/sprayDyMFoam.C
@@ -63,6 +63,8 @@ int main(int argc, char *argv[])
     #include "compressibleCourantNo.H"
     #include "setInitialDeltaT.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/sprayEngineFoam.C b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/sprayEngineFoam.C
index 730d0f3fb46..31c337627af 100644
--- a/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/sprayEngineFoam.C
+++ b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/sprayEngineFoam.C
@@ -65,6 +65,8 @@ int main(int argc, char *argv[])
     #include "setInitialDeltaT.H"
     #include "startSummary.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/lagrangian/sprayFoam/sprayFoam.C b/applications/solvers/lagrangian/sprayFoam/sprayFoam.C
index 066ce82f68b..bd2f951d935 100644
--- a/applications/solvers/lagrangian/sprayFoam/sprayFoam.C
+++ b/applications/solvers/lagrangian/sprayFoam/sprayFoam.C
@@ -61,6 +61,8 @@ int main(int argc, char *argv[])
     #include "compressibleCourantNo.H"
     #include "setInitialDeltaT.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/cavitatingDyMFoam.C b/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/cavitatingDyMFoam.C
index 189208de950..58c1483b240 100644
--- a/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/cavitatingDyMFoam.C
+++ b/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/cavitatingDyMFoam.C
@@ -59,6 +59,8 @@ int main(int argc, char *argv[])
     #include "CourantNo.H"
     #include "setInitialDeltaT.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/multiphase/cavitatingFoam/cavitatingFoam.C b/applications/solvers/multiphase/cavitatingFoam/cavitatingFoam.C
index b521f5b9c62..e40105aab70 100644
--- a/applications/solvers/multiphase/cavitatingFoam/cavitatingFoam.C
+++ b/applications/solvers/multiphase/cavitatingFoam/cavitatingFoam.C
@@ -55,6 +55,8 @@ int main(int argc, char *argv[])
     #include "CourantNo.H"
     #include "setInitialDeltaT.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/compressibleInterDyMFoam.C b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/compressibleInterDyMFoam.C
index 4e40addf207..410bb604bbc 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/compressibleInterDyMFoam.C
+++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/compressibleInterDyMFoam.C
@@ -66,6 +66,8 @@ int main(int argc, char *argv[])
     #include "CourantNo.H"
     #include "setInitialDeltaT.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
     Info<< "\nStarting time loop\n" << endl;
 
diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFoam.C b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFoam.C
index 7736099eaa8..1db6fc06f2f 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFoam.C
+++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFoam.C
@@ -61,6 +61,8 @@ int main(int argc, char *argv[])
     #include "CourantNo.H"
     #include "setInitialDeltaT.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseInterFoam.C b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseInterFoam.C
index 4fd75efebff..c968a4e3130 100644
--- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseInterFoam.C
+++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseInterFoam.C
@@ -56,6 +56,8 @@ int main(int argc, char *argv[])
     #include "CourantNo.H"
     #include "setInitialDeltaT.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/multiphase/driftFluxFoam/driftFluxFoam.C b/applications/solvers/multiphase/driftFluxFoam/driftFluxFoam.C
index 3b88b1b9567..c97fc51c02d 100644
--- a/applications/solvers/multiphase/driftFluxFoam/driftFluxFoam.C
+++ b/applications/solvers/multiphase/driftFluxFoam/driftFluxFoam.C
@@ -63,6 +63,8 @@ int main(int argc, char *argv[])
     #include "createFvOptions.H"
     #include "initContinuityErrs.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C b/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C
index f30a1958069..fd74565c422 100644
--- a/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C
+++ b/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C
@@ -82,6 +82,8 @@ int main(int argc, char *argv[])
     #include "correctPhi.H"
     #include "createUf.H"
 
+    turbulence->validate();
+
     if (!LTS)
     {
         #include "CourantNo.H"
diff --git a/applications/solvers/multiphase/interFoam/interFoam.C b/applications/solvers/multiphase/interFoam/interFoam.C
index 26f22af205a..34ca9248150 100644
--- a/applications/solvers/multiphase/interFoam/interFoam.C
+++ b/applications/solvers/multiphase/interFoam/interFoam.C
@@ -70,6 +70,8 @@ int main(int argc, char *argv[])
     #include "createFvOptions.H"
     #include "correctPhi.H"
 
+    turbulence->validate();
+
     if (!LTS)
     {
         #include "readTimeControls.H"
diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/createFields.H b/applications/solvers/multiphase/interFoam/interMixingFoam/createFields.H
index 1a0ae893c2a..59180b87239 100644
--- a/applications/solvers/multiphase/interFoam/interMixingFoam/createFields.H
+++ b/applications/solvers/multiphase/interFoam/interMixingFoam/createFields.H
@@ -79,10 +79,12 @@ autoPtr<incompressible::turbulenceModel> turbulence
     incompressible::turbulenceModel::New(U, phi, mixture)
 );
 
+
 #include "readGravitationalAcceleration.H"
 #include "readhRef.H"
 #include "gh.H"
 
+
 volScalarField p
 (
     IOobject
diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C b/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C
index 86a05e71f1a..ded5d63fe46 100644
--- a/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C
+++ b/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C
@@ -60,6 +60,8 @@ int main(int argc, char *argv[])
     #include "createFvOptions.H"
     #include "correctPhi.H"
 
+    turbulence->validate();
+
     if (!LTS)
     {
         #include "readTimeControls.H"
diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/interPhaseChangeDyMFoam.C b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/interPhaseChangeDyMFoam.C
index 93e4ebc0d11..f21ab75b9e3 100644
--- a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/interPhaseChangeDyMFoam.C
+++ b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/interPhaseChangeDyMFoam.C
@@ -86,6 +86,8 @@ int main(int argc, char *argv[])
     #include "CourantNo.H"
     #include "setInitialDeltaT.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeFoam.C b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeFoam.C
index 8552126034e..32d8270d670 100644
--- a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeFoam.C
+++ b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeFoam.C
@@ -66,6 +66,8 @@ int main(int argc, char *argv[])
     #include "CourantNo.H"
     #include "setInitialDeltaT.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam.C
index 8244f739d75..61cc90547d1 100644
--- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam.C
+++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam.C
@@ -61,6 +61,8 @@ int main(int argc, char *argv[])
     #include "CourantNo.H"
     #include "setInitialDeltaT.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterDyMFoam/multiphaseInterDyMFoam.C b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterDyMFoam/multiphaseInterDyMFoam.C
index a04341c7ba9..bae70ae1142 100644
--- a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterDyMFoam/multiphaseInterDyMFoam.C
+++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterDyMFoam/multiphaseInterDyMFoam.C
@@ -76,6 +76,8 @@ int main(int argc, char *argv[])
     #include "CourantNo.H"
     #include "setInitialDeltaT.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C
index 0fb8ff1208f..12c0884c519 100644
--- a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C
+++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C
@@ -59,6 +59,8 @@ int main(int argc, char *argv[])
     #include "CourantNo.H"
     #include "setInitialDeltaT.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/potentialFreeSurfaceDyMFoam.C b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/potentialFreeSurfaceDyMFoam.C
index b740ab2b9b1..7c72c40030c 100644
--- a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/potentialFreeSurfaceDyMFoam.C
+++ b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/potentialFreeSurfaceDyMFoam.C
@@ -79,6 +79,8 @@ int main(int argc, char *argv[])
     #include "correctPhi.H"
     #include "createUf.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C
index b98bdb694d5..21c5560ab1e 100644
--- a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C
+++ b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C
@@ -58,6 +58,8 @@ int main(int argc, char *argv[])
     #include "createFvOptions.H"
     #include "initContinuityErrs.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
diff --git a/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C b/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C
index d8519d6182b..298d5366caa 100644
--- a/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C
+++ b/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C
@@ -55,6 +55,8 @@ int main(int argc, char *argv[])
     #include "CourantNo.H"
     #include "setInitialDeltaT.H"
 
+    turbulence->validate();
+
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
     Info<< "\nStarting time loop\n" << endl;
-- 
GitLab


From 8e5f7e0889d86c440e5cc8f57631a258298b1d0a Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Tue, 1 Dec 2015 13:10:51 +0000
Subject: [PATCH 123/141] fvOptions: wmakeLnInclude before building the
 TurbulenceModels libraries Do not link the fvOptions library into the
 TurbulenceModels libraries due to cyclic dependency

---
 src/Allwmake                                     | 2 ++
 src/TurbulenceModels/compressible/Make/options   | 3 +--
 src/TurbulenceModels/incompressible/Make/options | 3 +--
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/Allwmake b/src/Allwmake
index c0ea041c37a..2a3d9b7b6f4 100755
--- a/src/Allwmake
+++ b/src/Allwmake
@@ -41,6 +41,8 @@ wmake $targetType edgeMesh
 parallel/decompose/AllwmakeLnInclude
 dummyThirdParty/Allwmake $targetType $*
 
+wmakeLnInclude fvOptions
+
 wmake $targetType finiteVolume
 wmake $targetType lagrangian/basic
 wmake $targetType lagrangian/distributionModels
diff --git a/src/TurbulenceModels/compressible/Make/options b/src/TurbulenceModels/compressible/Make/options
index d0c99293d11..4b17e1ec6fd 100644
--- a/src/TurbulenceModels/compressible/Make/options
+++ b/src/TurbulenceModels/compressible/Make/options
@@ -17,5 +17,4 @@ LIB_LIBS = \
     -lturbulenceModels \
     -lspecie \
     -lfiniteVolume \
-    -lmeshTools \
-    -lfvOptions
+    -lmeshTools
diff --git a/src/TurbulenceModels/incompressible/Make/options b/src/TurbulenceModels/incompressible/Make/options
index 3d11423ccd5..f5a5d9d8185 100644
--- a/src/TurbulenceModels/incompressible/Make/options
+++ b/src/TurbulenceModels/incompressible/Make/options
@@ -9,5 +9,4 @@ LIB_LIBS = \
     -lincompressibleTransportModels \
     -lturbulenceModels \
     -lfiniteVolume \
-    -lmeshTools \
-    -lfvOptions
+    -lmeshTools
-- 
GitLab


From ba2f46f12a76784bc9a6a32aa40f71a373d76472 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Tue, 1 Dec 2015 16:09:19 +0000
Subject: [PATCH 124/141] applications: Added fvOptions library to link

---
 applications/solvers/compressible/rhoCentralFoam/Make/options  | 1 +
 .../compressible/rhoCentralFoam/rhoCentralDyMFoam/Make/options | 1 +
 applications/solvers/lagrangian/DPMFoam/MPPICFoam/Make/options | 1 +
 applications/solvers/lagrangian/DPMFoam/Make/options           | 1 +
 .../lagrangian/icoUncoupledKinematicParcelFoam/Make/options    | 1 +
 .../icoUncoupledKinematicParcelDyMFoam/Make/options            | 1 +
 .../lagrangian/uncoupledKinematicParcelFoam/Make/options       | 1 +
 applications/solvers/multiphase/cavitatingFoam/Make/options    | 1 +
 .../multiphase/cavitatingFoam/cavitatingDyMFoam/Make/options   | 1 +
 .../solvers/multiphase/compressibleInterFoam/Make/options      | 1 +
 .../compressibleInterDyMFoam/Make/options                      | 3 ++-
 .../multiphase/compressibleMultiphaseInterFoam/Make/options    | 1 +
 .../solvers/multiphase/multiphaseEulerFoam/Make/options        | 1 +
 .../solvers/multiphase/twoLiquidMixingFoam/Make/options        | 1 +
 applications/utilities/mesh/advanced/PDRMesh/Make/options      | 3 ++-
 applications/utilities/miscellaneous/foamHelp/Make/options     | 3 ++-
 .../utilities/postProcessing/turbulence/R/Make/options         | 1 +
 .../turbulence/createTurbulenceFields/Make/options             | 1 +
 .../utilities/postProcessing/velocityField/Pe/Make/options     | 1 +
 .../utilities/postProcessing/wall/wallHeatFlux/Make/options    | 1 +
 .../utilities/postProcessing/wall/wallShearStress/Make/options | 1 +
 applications/utilities/postProcessing/wall/yPlus/Make/options  | 1 +
 .../utilities/preProcessing/applyBoundaryLayer/Make/options    | 3 ++-
 .../createExternalCoupledPatchGeometry/Make/options            | 1 +
 24 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/applications/solvers/compressible/rhoCentralFoam/Make/options b/applications/solvers/compressible/rhoCentralFoam/Make/options
index 453c3460400..24fc2d966e4 100644
--- a/applications/solvers/compressible/rhoCentralFoam/Make/options
+++ b/applications/solvers/compressible/rhoCentralFoam/Make/options
@@ -11,6 +11,7 @@ EXE_INC = \
 
 EXE_LIBS = \
     -lfiniteVolume \
+    -lfvOptions \
     -lcompressibleTransportModels \
     -lfluidThermophysicalModels \
     -lspecie \
diff --git a/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/Make/options b/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/Make/options
index fd02717d86f..29b8a6faa45 100644
--- a/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/Make/options
+++ b/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/Make/options
@@ -13,6 +13,7 @@ EXE_INC = \
 
 EXE_LIBS = \
     -lfiniteVolume \
+    -lfvOptions \
     -lcompressibleTransportModels \
     -lfluidThermophysicalModels \
     -lspecie \
diff --git a/applications/solvers/lagrangian/DPMFoam/MPPICFoam/Make/options b/applications/solvers/lagrangian/DPMFoam/MPPICFoam/Make/options
index 21a47f8893c..aed69697244 100644
--- a/applications/solvers/lagrangian/DPMFoam/MPPICFoam/Make/options
+++ b/applications/solvers/lagrangian/DPMFoam/MPPICFoam/Make/options
@@ -20,6 +20,7 @@ EXE_INC = \
 
 EXE_LIBS = \
     -lfiniteVolume \
+    -lfvOptions \
     -lmeshTools \
     -llagrangian \
     -llagrangianIntermediate \
diff --git a/applications/solvers/lagrangian/DPMFoam/Make/options b/applications/solvers/lagrangian/DPMFoam/Make/options
index 75f2b0a88cf..8ab44318e61 100644
--- a/applications/solvers/lagrangian/DPMFoam/Make/options
+++ b/applications/solvers/lagrangian/DPMFoam/Make/options
@@ -32,4 +32,5 @@ EXE_LIBS = \
     -lsurfaceFilmModels \
     -lsampling \
     -lfiniteVolume \
+    -lfvOptions \
     -lmeshTools
diff --git a/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/Make/options b/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/Make/options
index 1f2e7a32db3..0004a128e41 100644
--- a/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/Make/options
+++ b/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/Make/options
@@ -28,6 +28,7 @@ EXE_LIBS = \
     -lincompressibleTurbulenceModels \
     -lincompressibleTransportModels \
     -lfiniteVolume \
+    -lfvOptions \
     -lmeshTools \
     -lregionModels \
     -lsurfaceFilmModels
diff --git a/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelDyMFoam/Make/options b/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelDyMFoam/Make/options
index a6a35147e96..4f94e7f64f8 100644
--- a/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelDyMFoam/Make/options
+++ b/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelDyMFoam/Make/options
@@ -32,6 +32,7 @@ EXE_LIBS = \
     -lincompressibleTurbulenceModels \
     -lincompressibleTransportModels \
     -lfiniteVolume \
+    -lfvOptions \
     -lmeshTools \
     -lregionModels \
     -lsurfaceFilmModels \
diff --git a/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/Make/options b/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/Make/options
index 0726b90a3fe..f9056dd7905 100644
--- a/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/Make/options
+++ b/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/Make/options
@@ -25,6 +25,7 @@ EXE_LIBS = \
     -lturbulenceModels \
     -lcompressibleTurbulenceModels \
     -lfiniteVolume \
+    -lfvOptions \
     -lmeshTools \
     -lregionModels \
     -lsurfaceFilmModels
diff --git a/applications/solvers/multiphase/cavitatingFoam/Make/options b/applications/solvers/multiphase/cavitatingFoam/Make/options
index c4628e34984..02d5a1cc3ee 100644
--- a/applications/solvers/multiphase/cavitatingFoam/Make/options
+++ b/applications/solvers/multiphase/cavitatingFoam/Make/options
@@ -14,4 +14,5 @@ EXE_LIBS = \
     -lincompressibleTurbulenceModels \
     -lbarotropicCompressibilityModel \
     -lfiniteVolume \
+    -lfvOptions \
     -lmeshTools
diff --git a/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/Make/options b/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/Make/options
index 5ec5c9a72c2..b5d7b2cdfac 100644
--- a/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/Make/options
+++ b/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/Make/options
@@ -17,6 +17,7 @@ EXE_LIBS = \
     -lincompressibleTurbulenceModels \
     -lbarotropicCompressibilityModel \
     -lfiniteVolume \
+    -lfvOptions \
     -ldynamicMesh \
     -ldynamicFvMesh \
     -lmeshTools
diff --git a/applications/solvers/multiphase/compressibleInterFoam/Make/options b/applications/solvers/multiphase/compressibleInterFoam/Make/options
index af8f0442e19..e24e6697f95 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/Make/options
+++ b/applications/solvers/multiphase/compressibleInterFoam/Make/options
@@ -20,4 +20,5 @@ EXE_LIBS = \
     -lturbulenceModels \
     -lcompressibleTurbulenceModels \
     -lfiniteVolume \
+    -lfvOptions \
     -lmeshTools
diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/Make/options b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/Make/options
index 01b2a8d5a16..cc7d5a28329 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/Make/options
+++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/Make/options
@@ -25,4 +25,5 @@ EXE_LIBS = \
     -ldynamicMesh \
     -lmeshTools \
     -ldynamicFvMesh \
-    -lfiniteVolume
+    -lfiniteVolume \
+    -lfvOptions
diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/Make/options b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/Make/options
index 59a9ba5a266..b2373539853 100644
--- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/Make/options
+++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/Make/options
@@ -19,4 +19,5 @@ EXE_LIBS = \
     -lturbulenceModels \
     -lcompressibleTurbulenceModels \
     -lfiniteVolume \
+    -lfvOptions \
     -lmeshTools
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/Make/options b/applications/solvers/multiphase/multiphaseEulerFoam/Make/options
index a18d189f7c1..2cb9a28a022 100644
--- a/applications/solvers/multiphase/multiphaseEulerFoam/Make/options
+++ b/applications/solvers/multiphase/multiphaseEulerFoam/Make/options
@@ -22,4 +22,5 @@ EXE_LIBS = \
     -lturbulenceModels \
     -lincompressibleTurbulenceModels \
     -lfiniteVolume \
+    -lfvOptions \
     -lmeshTools
diff --git a/applications/solvers/multiphase/twoLiquidMixingFoam/Make/options b/applications/solvers/multiphase/twoLiquidMixingFoam/Make/options
index 256d7391873..04e5d53a91b 100644
--- a/applications/solvers/multiphase/twoLiquidMixingFoam/Make/options
+++ b/applications/solvers/multiphase/twoLiquidMixingFoam/Make/options
@@ -14,4 +14,5 @@ EXE_LIBS = \
     -lturbulenceModels \
     -lincompressibleTurbulenceModels \
     -lfiniteVolume \
+    -lfvOptions \
     -lmeshTools
diff --git a/applications/utilities/mesh/advanced/PDRMesh/Make/options b/applications/utilities/mesh/advanced/PDRMesh/Make/options
index acd5a23a15a..4e7c20058c0 100644
--- a/applications/utilities/mesh/advanced/PDRMesh/Make/options
+++ b/applications/utilities/mesh/advanced/PDRMesh/Make/options
@@ -10,4 +10,5 @@ EXE_LIBS = \
     -lfluidThermophysicalModels \
     -lmeshTools \
     -ldynamicMesh \
-    -lfiniteVolume
+    -lfiniteVolume \
+    -lfvOptions
diff --git a/applications/utilities/miscellaneous/foamHelp/Make/options b/applications/utilities/miscellaneous/foamHelp/Make/options
index b5098371d22..f7125e1e957 100644
--- a/applications/utilities/miscellaneous/foamHelp/Make/options
+++ b/applications/utilities/miscellaneous/foamHelp/Make/options
@@ -11,4 +11,5 @@ EXE_LIBS = \
     -lradiationModels \
     -lfluidThermophysicalModels \
     -lfiniteVolume \
-    -lmeshTools
+    -lmeshTools \
+    -lfvOptions
diff --git a/applications/utilities/postProcessing/turbulence/R/Make/options b/applications/utilities/postProcessing/turbulence/R/Make/options
index f9c82ba46ff..accfb3afd5b 100644
--- a/applications/utilities/postProcessing/turbulence/R/Make/options
+++ b/applications/utilities/postProcessing/turbulence/R/Make/options
@@ -17,6 +17,7 @@ EXE_LIBS = \
     -lfluidThermophysicalModels \
     -lspecie \
     -lfiniteVolume \
+    -lfvOptions \
     -lgenericPatchFields \
     -lmeshTools \
     -lsampling
diff --git a/applications/utilities/postProcessing/turbulence/createTurbulenceFields/Make/options b/applications/utilities/postProcessing/turbulence/createTurbulenceFields/Make/options
index 9778b15c09d..9443f06071a 100644
--- a/applications/utilities/postProcessing/turbulence/createTurbulenceFields/Make/options
+++ b/applications/utilities/postProcessing/turbulence/createTurbulenceFields/Make/options
@@ -12,4 +12,5 @@ EXE_LIBS = \
     -lincompressibleTransportModels \
     -lgenericPatchFields \
     -lfiniteVolume \
+    -lfvOptions \
     -lmeshTools
diff --git a/applications/utilities/postProcessing/velocityField/Pe/Make/options b/applications/utilities/postProcessing/velocityField/Pe/Make/options
index 628f2fab13e..94361e96877 100644
--- a/applications/utilities/postProcessing/velocityField/Pe/Make/options
+++ b/applications/utilities/postProcessing/velocityField/Pe/Make/options
@@ -20,6 +20,7 @@ EXE_LIBS = \
     -lfluidThermophysicalModels \
     -lspecie \
     -lfiniteVolume \
+    -lfvOptions \
     -lgenericPatchFields \
     -lmeshTools \
     -lsampling
diff --git a/applications/utilities/postProcessing/wall/wallHeatFlux/Make/options b/applications/utilities/postProcessing/wall/wallHeatFlux/Make/options
index fdcd3d7b8da..1d4a46267ac 100644
--- a/applications/utilities/postProcessing/wall/wallHeatFlux/Make/options
+++ b/applications/utilities/postProcessing/wall/wallHeatFlux/Make/options
@@ -19,4 +19,5 @@ EXE_LIBS = \
     -lfluidThermophysicalModels \
     -lsolidThermo \
     -lfiniteVolume \
+    -lfvOptions \
     -lmeshTools
diff --git a/applications/utilities/postProcessing/wall/wallShearStress/Make/options b/applications/utilities/postProcessing/wall/wallShearStress/Make/options
index 24f457bb65c..0128cf8401e 100644
--- a/applications/utilities/postProcessing/wall/wallShearStress/Make/options
+++ b/applications/utilities/postProcessing/wall/wallShearStress/Make/options
@@ -19,4 +19,5 @@ EXE_LIBS = \
     -lspecie \
     -lgenericPatchFields \
     -lfiniteVolume \
+    -lfvOptions \
     -lmeshTools
diff --git a/applications/utilities/postProcessing/wall/yPlus/Make/options b/applications/utilities/postProcessing/wall/yPlus/Make/options
index d46a9cbb90b..bca86c931d4 100644
--- a/applications/utilities/postProcessing/wall/yPlus/Make/options
+++ b/applications/utilities/postProcessing/wall/yPlus/Make/options
@@ -18,6 +18,7 @@ EXE_LIBS = \
     -lfluidThermophysicalModels \
     -lspecie \
     -lfiniteVolume \
+    -lfvOptions \
     -lgenericPatchFields \
     -lmeshTools \
     -lsampling
diff --git a/applications/utilities/preProcessing/applyBoundaryLayer/Make/options b/applications/utilities/preProcessing/applyBoundaryLayer/Make/options
index 9778b15c09d..c0efa093637 100644
--- a/applications/utilities/preProcessing/applyBoundaryLayer/Make/options
+++ b/applications/utilities/preProcessing/applyBoundaryLayer/Make/options
@@ -12,4 +12,5 @@ EXE_LIBS = \
     -lincompressibleTransportModels \
     -lgenericPatchFields \
     -lfiniteVolume \
-    -lmeshTools
+    -lmeshTools \
+    -lfvOptions
diff --git a/applications/utilities/preProcessing/createExternalCoupledPatchGeometry/Make/options b/applications/utilities/preProcessing/createExternalCoupledPatchGeometry/Make/options
index 518432cbd9e..7672e4c94e7 100644
--- a/applications/utilities/preProcessing/createExternalCoupledPatchGeometry/Make/options
+++ b/applications/utilities/preProcessing/createExternalCoupledPatchGeometry/Make/options
@@ -6,4 +6,5 @@ EXE_LIBS = \
     -lturbulenceModels \
     -lcompressibleTurbulenceModels \
     -lfiniteVolume \
+    -lfvOptions \
     -lmeshTools
-- 
GitLab


From 6ed6b93c34e56bd885399726c752fb862caa335e Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Tue, 1 Dec 2015 16:20:37 +0000
Subject: [PATCH 125/141] radiationModels: Correct handling of ECont and make
 P1 and fvDOM consistent Patch provided by Timo Niemi Resolved bug-report
 http://www.openfoam.org/mantisbt/view.php?id=1636

This correction corresponds to option 3 of the options proposed by Timo:

Define both ECont and EDisp to be the total emission per surface area,
apply multiplication by 4 in cloudAbsorptionEmission model (the only
place that uses EDisp?). Do not multiply E in P1 at all, divide both
ECont and EDisp in fvDOM.
---
 .../cloudAbsorptionEmission.C                 |  8 ++++----
 .../radiation/radiationModels/P1/P1.C         |  4 ++--
 .../radiativeIntensityRay.C                   | 20 ++++++++-----------
 3 files changed, 14 insertions(+), 18 deletions(-)

diff --git a/src/lagrangian/intermediate/submodels/addOns/radiation/absorptionEmission/cloudAbsorptionEmission/cloudAbsorptionEmission.C b/src/lagrangian/intermediate/submodels/addOns/radiation/absorptionEmission/cloudAbsorptionEmission/cloudAbsorptionEmission.C
index 94884519b79..56153ff88bc 100644
--- a/src/lagrangian/intermediate/submodels/addOns/radiation/absorptionEmission/cloudAbsorptionEmission/cloudAbsorptionEmission.C
+++ b/src/lagrangian/intermediate/submodels/addOns/radiation/absorptionEmission/cloudAbsorptionEmission/cloudAbsorptionEmission.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-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,9 +24,8 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "cloudAbsorptionEmission.H"
-#include "addToRunTimeSelectionTable.H"
-
 #include "thermoCloud.H"
+#include "addToRunTimeSelectionTable.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
@@ -159,7 +158,8 @@ Foam::radiation::cloudAbsorptionEmission::EDisp(const label bandI) const
         tE() += tc.Ep();
     }
 
-    return tE;
+    // Total emission is 4 times the projected emission
+    return 4*tE;
 }
 
 
diff --git a/src/thermophysicalModels/radiation/radiationModels/P1/P1.C b/src/thermophysicalModels/radiation/radiationModels/P1/P1.C
index 4f892892089..68c7422580f 100644
--- a/src/thermophysicalModels/radiation/radiationModels/P1/P1.C
+++ b/src/thermophysicalModels/radiation/radiationModels/P1/P1.C
@@ -239,7 +239,7 @@ void Foam::radiation::P1::calculate()
         fvm::laplacian(gamma, G_)
       - fvm::Sp(a_, G_)
      ==
-      - 4.0*(e_*physicoChemical::sigma*pow4(T_) + E_)
+      - 4.0*(e_*physicoChemical::sigma*pow4(T_) ) - E_
     );
 
     // Calculate radiative heat flux on boundaries.
@@ -286,7 +286,7 @@ Foam::radiation::P1::Ru() const
     const DimensionedField<scalar, volMesh> a =
         absorptionEmission_->aCont()().dimensionedInternalField();
 
-    return a*G - 4.0*E;
+    return a*G - E;
 }
 
 
diff --git a/src/thermophysicalModels/radiation/radiationModels/fvDOM/radiativeIntensityRay/radiativeIntensityRay.C b/src/thermophysicalModels/radiation/radiationModels/fvDOM/radiativeIntensityRay/radiativeIntensityRay.C
index 64e42b85bbe..c27520f4e58 100644
--- a/src/thermophysicalModels/radiation/radiationModels/fvDOM/radiativeIntensityRay/radiativeIntensityRay.C
+++ b/src/thermophysicalModels/radiation/radiationModels/fvDOM/radiativeIntensityRay/radiativeIntensityRay.C
@@ -30,8 +30,10 @@ License
 
 using namespace Foam::constant;
 
-const Foam::word
-Foam::radiation::radiativeIntensityRay::intensityPrefix("ILambda");
+const Foam::word Foam::radiation::radiativeIntensityRay::intensityPrefix
+(
+    "ILambda"
+);
 
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
@@ -148,7 +150,7 @@ Foam::radiation::radiativeIntensityRay::radiativeIntensityRay
             IOobject::AUTO_WRITE
         );
 
-        // check if field exists and can be read
+        // Check if field exists and can be read
         if (IHeader.headerOk())
         {
             ILambda_.set
@@ -203,7 +205,7 @@ Foam::radiation::radiativeIntensityRay::~radiativeIntensityRay()
 
 Foam::scalar Foam::radiation::radiativeIntensityRay::correct()
 {
-    // reset boundary heat flux to zero
+    // Reset boundary heat flux to zero
     Qr_.boundaryField() = 0.0;
 
     scalar maxResidual = -GREAT;
@@ -229,10 +231,7 @@ Foam::scalar Foam::radiation::radiativeIntensityRay::correct()
                     (k - absorptionEmission_.aDisp(lambdaI))
                    *blackBody_.bLambda(lambdaI)
 
-                  + absorptionEmission_.ECont(lambdaI)
-
-                    // Add EDisp term from parcels
-                  + absorptionEmission_.EDisp(lambdaI)
+                  + absorptionEmission_.E(lambdaI)/4
                 )
             );
         }
@@ -249,10 +248,7 @@ Foam::scalar Foam::radiation::radiativeIntensityRay::correct()
                    (k - absorptionEmission_.aDisp(lambdaI))
                   *blackBody_.bLambda(lambdaI)
 
-                 + absorptionEmission_.ECont(lambdaI)
-
-                   // Add EDisp term from parcels
-                 + absorptionEmission_.EDisp(lambdaI)
+                 + absorptionEmission_.E(lambdaI)/4
                )
             );
         }
-- 
GitLab


From 2c055f2b393b1c4dbb510721fe2657a580492fab Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Tue, 1 Dec 2015 16:31:32 +0000
Subject: [PATCH 126/141] porousBafflePressureFvPatchField: Corrected handling
 of mass-flux Resolves the bug-report
 http://www.openfoam.org/mantisbt/view.php?id=1934

---
 .../porousBafflePressure/porousBafflePressureFvPatchField.C     | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.C b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.C
index 5abd82f3ebd..b7b49ca3f4f 100644
--- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.C
+++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.C
@@ -130,7 +130,7 @@ void Foam::porousBafflePressureFvPatchField::updateCoeffs()
 
     scalarField Un(phip/patch().magSf());
 
-    if (phi.dimensions() == dimensionSet(0, 3, -1, 0, 0))
+    if (phi.dimensions() == dimDensity*dimVelocity*dimArea)
     {
         Un /= patch().lookupPatchField<volScalarField, scalar>(rhoName_);
     }
-- 
GitLab


From ac2a275a7518a96ab02004439fa015e40677e275 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Wed, 2 Dec 2015 11:47:11 +0000
Subject: [PATCH 127/141] wallHeatFlux: Corrected sign of radiative heat-flux
 Corrects feature-request http://www.openfoam.org/mantisbt/view.php?id=1856
 Patch provided by Juho Peltola

---
 .../utilities/postProcessing/wall/wallHeatFlux/wallHeatFlux.C | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/applications/utilities/postProcessing/wall/wallHeatFlux/wallHeatFlux.C b/applications/utilities/postProcessing/wall/wallHeatFlux/wallHeatFlux.C
index 76550b96993..d1c37e70cc4 100644
--- a/applications/utilities/postProcessing/wall/wallHeatFlux/wallHeatFlux.C
+++ b/applications/utilities/postProcessing/wall/wallHeatFlux/wallHeatFlux.C
@@ -82,7 +82,7 @@ int main(int argc, char *argv[])
             if (isA<wallFvPatch>(mesh.boundary()[patchi]))
             {
                 scalar convFlux = gSum(magSf[patchi]*patchHeatFlux[patchi]);
-                scalar radFlux = gSum(magSf[patchi]*patchRadHeatFlux[patchi]);
+                scalar radFlux = -gSum(magSf[patchi]*patchRadHeatFlux[patchi]);
 
                 Info<< mesh.boundary()[patchi].name() << endl
                     << "    convective: " << convFlux << endl
@@ -135,7 +135,7 @@ int main(int argc, char *argv[])
             forAll(totalWallHeatFlux.boundaryField(), patchi)
             {
                 totalWallHeatFlux.boundaryField()[patchi] =
-                    patchHeatFlux[patchi] + patchRadHeatFlux[patchi];
+                    patchHeatFlux[patchi] - patchRadHeatFlux[patchi];
             }
 
             totalWallHeatFlux.write();
-- 
GitLab


From 736621b945f771f9c382cf1a7cca74026677fbca Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Wed, 2 Dec 2015 11:49:52 +0000
Subject: [PATCH 128/141] fvOptions: Reorganized and updated to simplify use in
 sub-models and maintenance

fvOptions are transferred to the database on construction using
fv::options::New which returns a reference.  The same function can be
use for construction and lookup so that fvOptions are now entirely
demand-driven.

The abstract base-classes for fvOptions now reside in the finiteVolume
library simplifying compilation and linkage.  The concrete
implementations of fvOptions are still in the single monolithic
fvOptions library but in the future this will be separated into smaller
libraries based on application area which may be linked at run-time in
the same manner as functionObjects.
---
 .../solvers/basic/potentialFoam/Make/options  |  2 -
 .../basic/potentialFoam/potentialFoam.C       |  2 -
 .../basic/scalarTransportFoam/Make/options    |  1 -
 .../scalarTransportFoam/scalarTransportFoam.C |  2 +-
 .../solvers/combustion/PDRFoam/Make/options   |  1 -
 .../solvers/combustion/PDRFoam/PDRFoam.C      |  2 +-
 .../solvers/combustion/XiFoam/Make/options    |  1 -
 .../solvers/combustion/XiFoam/XiFoam.C        |  2 +-
 .../combustion/coldEngineFoam/Make/options    |  1 -
 .../coldEngineFoam/coldEngineFoam.C           |  2 +-
 .../combustion/engineFoam/Make/options        |  1 -
 .../combustion/engineFoam/engineFoam.C        |  2 +-
 .../solvers/combustion/fireFoam/Make/options  |  1 -
 .../solvers/combustion/fireFoam/fireFoam.C    |  2 +-
 .../combustion/reactingFoam/Make/options      |  1 -
 .../combustion/reactingFoam/reactingFoam.C    |  2 +-
 .../rhoReactingBuoyantFoam/Make/options       |  1 -
 .../rhoReactingBuoyantFoam.C                  |  2 +-
 .../reactingFoam/rhoReactingFoam/Make/options |  1 -
 .../rhoReactingFoam/rhoReactingFoam.C         |  2 +-
 .../compressible/rhoPimpleFoam/Make/options   |  1 -
 .../rhoPimpleDyMFoam/Make/options             |  1 -
 .../rhoPimpleDyMFoam/rhoPimpleDyMFoam.C       |  2 +-
 .../rhoPimpleFoam/rhoPimpleFoam.C             |  2 +-
 .../compressible/rhoSimpleFoam/Make/options   |  1 -
 .../rhoPorousSimpleFoam/Make/options          |  1 -
 .../rhoPorousSimpleFoam/rhoPorousSimpleFoam.C |  2 +-
 .../rhoSimpleFoam/rhoSimpleFoam.C             |  2 +-
 .../compressible/sonicFoam/Make/options       |  1 -
 .../sonicFoam/sonicDyMFoam/Make/options       |  1 -
 .../sonicFoam/sonicDyMFoam/sonicDyMFoam.C     |  2 +-
 .../compressible/sonicFoam/sonicFoam.C        |  2 +-
 .../buoyantBoussinesqPimpleFoam/Make/options  |  1 -
 .../buoyantBoussinesqPimpleFoam.C             |  2 +-
 .../buoyantBoussinesqSimpleFoam/Make/options  |  1 -
 .../buoyantBoussinesqSimpleFoam.C             |  2 +-
 .../buoyantPimpleFoam/Make/options            |  1 -
 .../buoyantPimpleFoam/buoyantPimpleFoam.C     |  2 +-
 .../buoyantSimpleFoam/Make/options            |  1 -
 .../buoyantSimpleFoam/buoyantSimpleFoam.C     |  2 +-
 .../chtMultiRegionFoam/Make/options           |  1 -
 .../chtMultiRegionFoam/chtMultiRegionFoam.C   |  2 +-
 .../chtMultiRegionSimpleFoam/Make/options     |  1 -
 .../chtMultiRegionSimpleFoam.C                |  2 +-
 .../fluid/createFluidFields.H                 |  4 +-
 .../fluid/setRegionFluidFields.H              |  2 +-
 .../fluid/createFluidFields.H                 |  4 +-
 .../fluid/setRegionFluidFields.H              |  2 +-
 .../solid/createSolidFields.H                 |  4 +-
 .../solid/setRegionSolidFields.H              |  2 +-
 .../heatTransfer/thermoFoam/Make/options      |  1 -
 .../heatTransfer/thermoFoam/thermoFoam.C      |  2 +-
 .../adjointShapeOptimizationFoam/Make/options |  1 -
 .../adjointShapeOptimizationFoam.C            |  2 +-
 .../incompressible/boundaryFoam/Make/options  |  1 -
 .../boundaryFoam/boundaryFoam.C               |  2 +-
 .../incompressible/pimpleFoam/Make/options    |  1 -
 .../pimpleFoam/SRFPimpleFoam/Make/options     |  1 -
 .../pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C  |  2 +-
 .../pimpleFoam/pimpleDyMFoam/Make/options     |  1 -
 .../pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C  |  2 +-
 .../incompressible/pimpleFoam/pimpleFoam.C    |  2 +-
 .../incompressible/pisoFoam/Make/options      |  1 -
 .../incompressible/pisoFoam/pisoFoam.C        |  2 +-
 .../incompressible/simpleFoam/Make/options    |  1 -
 .../simpleFoam/SRFSimpleFoam/Make/options     |  1 -
 .../simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C  |  2 +-
 .../simpleFoam/porousSimpleFoam/Make/options  |  1 -
 .../porousSimpleFoam/porousSimpleFoam.C       |  2 +-
 .../incompressible/simpleFoam/simpleFoam.C    |  2 +-
 .../DPMFoam/DPMTurbulenceModels/Make/options  |  3 +-
 .../lagrangian/coalChemistryFoam/Make/options |  1 -
 .../coalChemistryFoam/coalChemistryFoam.C     |  2 +-
 .../reactingParcelFilmFoam/Make/options       |  1 -
 .../reactingParcelFilmFoam.C                  |  2 +-
 .../reactingParcelFoam/Make/options           |  1 -
 .../reactingParcelFoam/reactingParcelFoam.C   |  2 +-
 .../simpleReactingParcelFoam/Make/options     |  1 -
 .../simpleReactingParcelFoam.C                |  2 +-
 .../solvers/lagrangian/sprayFoam/Make/options |  1 -
 .../sprayFoam/sprayDyMFoam/Make/options       |  1 -
 .../sprayFoam/sprayDyMFoam/sprayDyMFoam.C     |  2 +-
 .../sprayFoam/sprayEngineFoam/Make/options    |  1 -
 .../sprayEngineFoam/sprayEngineFoam.C         |  2 +-
 .../solvers/lagrangian/sprayFoam/sprayFoam.C  |  2 +-
 .../multiphase/driftFluxFoam/Make/options     |  1 -
 .../multiphase/driftFluxFoam/driftFluxFoam.C  |  2 +-
 .../solvers/multiphase/interFoam/Make/options |  1 -
 .../interFoam/interDyMFoam/Make/options       |  1 -
 .../interFoam/interDyMFoam/interDyMFoam.C     |  2 +-
 .../solvers/multiphase/interFoam/interFoam.C  |  2 +-
 .../interFoam/interMixingFoam/Make/options    |  1 -
 .../interMixingFoam/interMixingFoam.C         |  2 +-
 .../interPhaseChangeFoam/Make/options         |  1 -
 .../interPhaseChangeDyMFoam/Make/options      |  1 -
 .../interPhaseChangeDyMFoam.C                 |  2 +-
 .../interPhaseChangeFoam.C                    |  2 +-
 .../multiphaseInterFoam/Make/options          |  1 -
 .../multiphaseInterDyMFoam/Make/options       |  1 -
 .../multiphaseInterDyMFoam.C                  |  2 +-
 .../multiphaseInterFoam/multiphaseInterFoam.C |  2 +-
 .../potentialFreeSurfaceFoam/Make/options     |  1 -
 .../potentialFreeSurfaceDyMFoam/Make/options  |  1 -
 .../potentialFreeSurfaceDyMFoam.C             |  2 +-
 .../potentialFreeSurfaceFoam.C                |  2 +-
 .../phaseSystems/Make/options                 |  1 -
 .../phaseSystems/phaseSystem/phaseSystem.H    |  6 +--
 .../phaseSystems/phaseSystem/phaseSystemI.H   |  2 +-
 .../reactingMultiphaseEulerFoam/Make/options  |  1 -
 .../createFields.H                            |  2 +-
 .../Make/options                              |  1 -
 .../multiphaseSystem/Make/options             |  1 -
 .../reactingTwoPhaseEulerFoam/Make/options    |  1 -
 .../reactingTwoPhaseEulerFoam/createFields.H  |  2 +-
 .../Make/options                              |  1 -
 .../twoPhaseSystem/Make/options               |  1 -
 .../twoPhaseSystem/diameterModels/IATE/IATE.C |  9 +---
 .../multiphase/twoPhaseEulerFoam/Make/options |  1 -
 .../Make/options                              |  1 -
 .../twoPhaseEulerFoam/twoPhaseEulerFoam.C     |  2 +-
 .../twoPhaseSystem/Make/options               |  1 -
 .../twoPhaseSystem/diameterModels/IATE/IATE.C |  9 +---
 .../execFlowFunctionObjects/Make/options      |  1 -
 .../execFlowFunctionObjects.C                 |  4 +-
 .../compressible/Make/options                 |  1 -
 .../incompressible/Make/options               |  1 -
 .../turbulenceModels/RAS/kEpsilon/kEpsilon.C  | 20 ++------
 src/finiteVolume/Make/files                   |  6 +++
 .../cfdTools/general/fvOptions}/fvOption.C    |  0
 .../cfdTools/general/fvOptions}/fvOption.H    |  0
 .../cfdTools/general/fvOptions}/fvOptionI.H   |  0
 .../cfdTools/general/fvOptions}/fvOptionIO.C  |  0
 .../general/fvOptions}/fvOptionList.C         |  0
 .../general/fvOptions}/fvOptionList.H         |  0
 .../fvOptions}/fvOptionListTemplates.C        |  0
 .../cfdTools/general/fvOptions/fvOptions.C}   | 48 ++++++++++++++++---
 .../cfdTools/general/fvOptions/fvOptions.H}   | 32 ++++++++-----
 .../general/fvOptions}/makeFvOption.H         |  0
 .../general/include/createFvOptions.H         |  1 +
 src/fvOptions/Make/files                      |  5 --
 src/fvOptions/include/createFvOptions.H       |  1 -
 .../sources/general/codedSource/CodedSource.C |  1 -
 .../functionObjects/utilities/Make/options    |  1 -
 143 files changed, 141 insertions(+), 192 deletions(-)
 rename src/{fvOptions/fvOption => finiteVolume/cfdTools/general/fvOptions}/fvOption.C (100%)
 rename src/{fvOptions/fvOption => finiteVolume/cfdTools/general/fvOptions}/fvOption.H (100%)
 rename src/{fvOptions/fvOption => finiteVolume/cfdTools/general/fvOptions}/fvOptionI.H (100%)
 rename src/{fvOptions/fvOption => finiteVolume/cfdTools/general/fvOptions}/fvOptionIO.C (100%)
 rename src/{fvOptions/fvOption => finiteVolume/cfdTools/general/fvOptions}/fvOptionList.C (100%)
 rename src/{fvOptions/fvOption => finiteVolume/cfdTools/general/fvOptions}/fvOptionList.H (100%)
 rename src/{fvOptions/fvOption => finiteVolume/cfdTools/general/fvOptions}/fvOptionListTemplates.C (100%)
 rename src/{fvOptions/fvOption/fvIOoptionList.C => finiteVolume/cfdTools/general/fvOptions/fvOptions.C} (74%)
 rename src/{fvOptions/fvOption/fvIOoptionList.H => finiteVolume/cfdTools/general/fvOptions/fvOptions.H} (81%)
 rename src/{fvOptions/fvOption => finiteVolume/cfdTools/general/fvOptions}/makeFvOption.H (100%)
 create mode 100644 src/finiteVolume/cfdTools/general/include/createFvOptions.H
 delete mode 100644 src/fvOptions/include/createFvOptions.H

diff --git a/applications/solvers/basic/potentialFoam/Make/options b/applications/solvers/basic/potentialFoam/Make/options
index 159afb0f461..b4ad3d8bdff 100644
--- a/applications/solvers/basic/potentialFoam/Make/options
+++ b/applications/solvers/basic/potentialFoam/Make/options
@@ -1,11 +1,9 @@
 EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 EXE_LIBS = \
     -lfiniteVolume \
     -lmeshTools \
-    -lfvOptions \
     -lsampling
diff --git a/applications/solvers/basic/potentialFoam/potentialFoam.C b/applications/solvers/basic/potentialFoam/potentialFoam.C
index 5c561337882..2e4a569ae1a 100644
--- a/applications/solvers/basic/potentialFoam/potentialFoam.C
+++ b/applications/solvers/basic/potentialFoam/potentialFoam.C
@@ -36,7 +36,6 @@ Description
 
 #include "fvCFD.H"
 #include "pisoControl.H"
-#include "fvIOoptionList.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -81,7 +80,6 @@ int main(int argc, char *argv[])
 
     #include "createFields.H"
     #include "createMRF.H"
-    #include "createFvOptions.H"
 
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/applications/solvers/basic/scalarTransportFoam/Make/options b/applications/solvers/basic/scalarTransportFoam/Make/options
index 51402dfc993..acbe7a64753 100644
--- a/applications/solvers/basic/scalarTransportFoam/Make/options
+++ b/applications/solvers/basic/scalarTransportFoam/Make/options
@@ -1,6 +1,5 @@
 EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
diff --git a/applications/solvers/basic/scalarTransportFoam/scalarTransportFoam.C b/applications/solvers/basic/scalarTransportFoam/scalarTransportFoam.C
index 2430732e6dd..bef59237005 100644
--- a/applications/solvers/basic/scalarTransportFoam/scalarTransportFoam.C
+++ b/applications/solvers/basic/scalarTransportFoam/scalarTransportFoam.C
@@ -30,7 +30,7 @@ Description
 \*---------------------------------------------------------------------------*/
 
 #include "fvCFD.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "simpleControl.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/combustion/PDRFoam/Make/options b/applications/solvers/combustion/PDRFoam/Make/options
index a415be99b6e..405f5bcf626 100644
--- a/applications/solvers/combustion/PDRFoam/Make/options
+++ b/applications/solvers/combustion/PDRFoam/Make/options
@@ -17,7 +17,6 @@ EXE_INC = \
     -I$(LIB_SRC)/dynamicMesh/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/triSurface/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude
 
 EXE_LIBS = \
     -lengine \
diff --git a/applications/solvers/combustion/PDRFoam/PDRFoam.C b/applications/solvers/combustion/PDRFoam/PDRFoam.C
index 65f52e2ee4c..f2a659ba1e3 100644
--- a/applications/solvers/combustion/PDRFoam/PDRFoam.C
+++ b/applications/solvers/combustion/PDRFoam/PDRFoam.C
@@ -77,7 +77,7 @@ Description
 #include "Switch.H"
 #include "bound.H"
 #include "pimpleControl.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/applications/solvers/combustion/XiFoam/Make/options b/applications/solvers/combustion/XiFoam/Make/options
index b23284d841e..f659b4dcbee 100644
--- a/applications/solvers/combustion/XiFoam/Make/options
+++ b/applications/solvers/combustion/XiFoam/Make/options
@@ -8,7 +8,6 @@ EXE_INC = \
     -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/laminarFlameSpeed/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude
 
diff --git a/applications/solvers/combustion/XiFoam/XiFoam.C b/applications/solvers/combustion/XiFoam/XiFoam.C
index c0f050beaaa..0b90884ad10 100644
--- a/applications/solvers/combustion/XiFoam/XiFoam.C
+++ b/applications/solvers/combustion/XiFoam/XiFoam.C
@@ -56,7 +56,7 @@ Description
 #include "ignition.H"
 #include "Switch.H"
 #include "pimpleControl.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/applications/solvers/combustion/coldEngineFoam/Make/options b/applications/solvers/combustion/coldEngineFoam/Make/options
index 0878858de7f..6ef06f89919 100644
--- a/applications/solvers/combustion/coldEngineFoam/Make/options
+++ b/applications/solvers/combustion/coldEngineFoam/Make/options
@@ -12,7 +12,6 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude
 
 EXE_LIBS = \
     -lengine \
diff --git a/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C b/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C
index 27e43448b5d..654c59f1bc1 100644
--- a/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C
+++ b/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C
@@ -35,7 +35,7 @@ Description
 #include "psiThermo.H"
 #include "turbulentFluidThermoModel.H"
 #include "OFstream.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "pimpleControl.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/combustion/engineFoam/Make/options b/applications/solvers/combustion/engineFoam/Make/options
index ab0bbe9ffa3..6fe414c1bbb 100644
--- a/applications/solvers/combustion/engineFoam/Make/options
+++ b/applications/solvers/combustion/engineFoam/Make/options
@@ -1,7 +1,6 @@
 EXE_INC = \
     -I$(FOAM_SOLVERS)/combustion/XiFoam \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/engine/lnInclude \
diff --git a/applications/solvers/combustion/engineFoam/engineFoam.C b/applications/solvers/combustion/engineFoam/engineFoam.C
index 4c58ba12414..f72e111a2a6 100644
--- a/applications/solvers/combustion/engineFoam/engineFoam.C
+++ b/applications/solvers/combustion/engineFoam/engineFoam.C
@@ -59,7 +59,7 @@ Description
 #include "OFstream.H"
 #include "mathematicalConstants.H"
 #include "pimpleControl.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/applications/solvers/combustion/fireFoam/Make/options b/applications/solvers/combustion/fireFoam/Make/options
index fa336e9798f..2d2d441e248 100644
--- a/applications/solvers/combustion/fireFoam/Make/options
+++ b/applications/solvers/combustion/fireFoam/Make/options
@@ -1,6 +1,5 @@
 EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I${LIB_SRC}/meshTools/lnInclude \
     -I${LIB_SRC}/sampling/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
diff --git a/applications/solvers/combustion/fireFoam/fireFoam.C b/applications/solvers/combustion/fireFoam/fireFoam.C
index 016cdf55813..34e97b634e3 100644
--- a/applications/solvers/combustion/fireFoam/fireFoam.C
+++ b/applications/solvers/combustion/fireFoam/fireFoam.C
@@ -40,7 +40,7 @@ Description
 #include "solidChemistryModel.H"
 #include "psiCombustionModel.H"
 #include "pimpleControl.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/combustion/reactingFoam/Make/options b/applications/solvers/combustion/reactingFoam/Make/options
index b6a03d74d80..6363f6d80d7 100644
--- a/applications/solvers/combustion/reactingFoam/Make/options
+++ b/applications/solvers/combustion/reactingFoam/Make/options
@@ -1,6 +1,5 @@
 EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
diff --git a/applications/solvers/combustion/reactingFoam/reactingFoam.C b/applications/solvers/combustion/reactingFoam/reactingFoam.C
index 4eb99144a72..34e4265fc4b 100644
--- a/applications/solvers/combustion/reactingFoam/reactingFoam.C
+++ b/applications/solvers/combustion/reactingFoam/reactingFoam.C
@@ -34,7 +34,7 @@ Description
 #include "psiCombustionModel.H"
 #include "multivariateScheme.H"
 #include "pimpleControl.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "localEulerDdtScheme.H"
 #include "fvcSmooth.H"
 
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/Make/options b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/Make/options
index c5ced108f01..e7b46c4e008 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/Make/options
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/Make/options
@@ -1,7 +1,6 @@
 EXE_INC = \
     -I$(FOAM_SOLVERS)/combustion/reactingFoam \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C
index 09d952b5daf..11c028d166c 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C
@@ -35,7 +35,7 @@ Description
 #include "turbulentFluidThermoModel.H"
 #include "multivariateScheme.H"
 #include "pimpleControl.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
 #include "localEulerDdtScheme.H"
 #include "fvcSmooth.H"
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/Make/options b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/Make/options
index c5ced108f01..e7b46c4e008 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/Make/options
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/Make/options
@@ -1,7 +1,6 @@
 EXE_INC = \
     -I$(FOAM_SOLVERS)/combustion/reactingFoam \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C
index 33c7186bb84..3db03fc454a 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C
@@ -35,7 +35,7 @@ Description
 #include "turbulentFluidThermoModel.H"
 #include "multivariateScheme.H"
 #include "pimpleControl.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "localEulerDdtScheme.H"
 #include "fvcSmooth.H"
 
diff --git a/applications/solvers/compressible/rhoPimpleFoam/Make/options b/applications/solvers/compressible/rhoPimpleFoam/Make/options
index 2a9889aa1a3..0bf2d5dee74 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/Make/options
+++ b/applications/solvers/compressible/rhoPimpleFoam/Make/options
@@ -7,7 +7,6 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude
 
 EXE_LIBS = \
     -lcompressibleTransportModels \
diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/Make/options b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/Make/options
index cff9147b314..9d6c2d38506 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/Make/options
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/Make/options
@@ -8,7 +8,6 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/dynamicFvMesh/lnInclude \
     -I$(LIB_SRC)/dynamicMesh/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/rhoPimpleDyMFoam.C b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/rhoPimpleDyMFoam.C
index 2aebd187016..667d78cd300 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/rhoPimpleDyMFoam.C
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/rhoPimpleDyMFoam.C
@@ -43,7 +43,7 @@ Description
 #include "bound.H"
 #include "pimpleControl.H"
 #include "CorrectPhi.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "localEulerDdtScheme.H"
 #include "fvcSmooth.H"
 
diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C
index 124590cf0f4..dd05b578957 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C
@@ -38,7 +38,7 @@ Description
 #include "turbulentFluidThermoModel.H"
 #include "bound.H"
 #include "pimpleControl.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "localEulerDdtScheme.H"
 #include "fvcSmooth.H"
 
diff --git a/applications/solvers/compressible/rhoSimpleFoam/Make/options b/applications/solvers/compressible/rhoSimpleFoam/Make/options
index b30fe8bd005..aecfa919e7f 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/Make/options
+++ b/applications/solvers/compressible/rhoSimpleFoam/Make/options
@@ -7,7 +7,6 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude
 
 EXE_LIBS = \
     -lcompressibleTransportModels \
diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/options b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/options
index ee0ed0de421..0c899c3171f 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/options
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/options
@@ -8,7 +8,6 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude
 
 EXE_LIBS = \
     -lcompressibleTransportModels \
diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C
index 4aea286bfcd..38ed77a2bd8 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C
@@ -34,7 +34,7 @@ Description
 #include "fvCFD.H"
 #include "rhoThermo.H"
 #include "turbulentFluidThermoModel.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "IOporosityModelList.H"
 #include "simpleControl.H"
 
diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C b/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C
index 8d0bfa06837..fc4dc8cee8a 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C
@@ -34,7 +34,7 @@ Description
 #include "psiThermo.H"
 #include "turbulentFluidThermoModel.H"
 #include "simpleControl.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/applications/solvers/compressible/sonicFoam/Make/options b/applications/solvers/compressible/sonicFoam/Make/options
index 6e90739a0b6..f66a8538ae4 100644
--- a/applications/solvers/compressible/sonicFoam/Make/options
+++ b/applications/solvers/compressible/sonicFoam/Make/options
@@ -6,7 +6,6 @@ EXE_INC = \
     -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude
 
 EXE_LIBS = \
diff --git a/applications/solvers/compressible/sonicFoam/sonicDyMFoam/Make/options b/applications/solvers/compressible/sonicFoam/sonicDyMFoam/Make/options
index a638d4dc9c5..c6a648d2034 100644
--- a/applications/solvers/compressible/sonicFoam/sonicDyMFoam/Make/options
+++ b/applications/solvers/compressible/sonicFoam/sonicDyMFoam/Make/options
@@ -9,7 +9,6 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/cfdTools \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/dynamicFvMesh/lnInclude \
     -I$(LIB_SRC)/dynamicMesh/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
diff --git a/applications/solvers/compressible/sonicFoam/sonicDyMFoam/sonicDyMFoam.C b/applications/solvers/compressible/sonicFoam/sonicDyMFoam/sonicDyMFoam.C
index 24733abf2d4..ac2614c2ddb 100644
--- a/applications/solvers/compressible/sonicFoam/sonicDyMFoam/sonicDyMFoam.C
+++ b/applications/solvers/compressible/sonicFoam/sonicDyMFoam/sonicDyMFoam.C
@@ -39,7 +39,7 @@ Description
 #include "turbulentFluidThermoModel.H"
 #include "pimpleControl.H"
 #include "CorrectPhi.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/applications/solvers/compressible/sonicFoam/sonicFoam.C b/applications/solvers/compressible/sonicFoam/sonicFoam.C
index 90b0f4b8084..8abeef16144 100644
--- a/applications/solvers/compressible/sonicFoam/sonicFoam.C
+++ b/applications/solvers/compressible/sonicFoam/sonicFoam.C
@@ -37,7 +37,7 @@ Description
 #include "psiThermo.H"
 #include "turbulentFluidThermoModel.H"
 #include "pimpleControl.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/Make/options b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/Make/options
index 9a60cac4333..c14a8799f6f 100644
--- a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/Make/options
+++ b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/Make/options
@@ -7,7 +7,6 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude
 
 EXE_LIBS = \
diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C
index 0905de35a2a..cead654669b 100644
--- a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C
+++ b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C
@@ -49,7 +49,7 @@ Description
 #include "singlePhaseTransportModel.H"
 #include "turbulentTransportModel.H"
 #include "radiationModel.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "pimpleControl.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
 
diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/Make/options b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/Make/options
index 5f9e3238723..9046994122c 100644
--- a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/Make/options
+++ b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/Make/options
@@ -7,7 +7,6 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude
 
 EXE_LIBS = \
     -lturbulenceModels \
diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C
index 1b968a31153..35b49c8b8b2 100644
--- a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C
+++ b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C
@@ -49,7 +49,7 @@ Description
 #include "singlePhaseTransportModel.H"
 #include "turbulentTransportModel.H"
 #include "radiationModel.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "simpleControl.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
 
diff --git a/applications/solvers/heatTransfer/buoyantPimpleFoam/Make/options b/applications/solvers/heatTransfer/buoyantPimpleFoam/Make/options
index 7138a3dad03..934083f2bba 100644
--- a/applications/solvers/heatTransfer/buoyantPimpleFoam/Make/options
+++ b/applications/solvers/heatTransfer/buoyantPimpleFoam/Make/options
@@ -2,7 +2,6 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/transportModels/compressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
diff --git a/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C b/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C
index ee68bf0c31f..d683e8fbeb2 100644
--- a/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C
+++ b/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C
@@ -37,7 +37,7 @@ Description
 #include "rhoThermo.H"
 #include "turbulentFluidThermoModel.H"
 #include "radiationModel.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "pimpleControl.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
 
diff --git a/applications/solvers/heatTransfer/buoyantSimpleFoam/Make/options b/applications/solvers/heatTransfer/buoyantSimpleFoam/Make/options
index ac34158a6eb..0d9433bac7d 100644
--- a/applications/solvers/heatTransfer/buoyantSimpleFoam/Make/options
+++ b/applications/solvers/heatTransfer/buoyantSimpleFoam/Make/options
@@ -1,6 +1,5 @@
 EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/transportModels/compressible/lnInclude \
diff --git a/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C b/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C
index 071edb4e6fb..21a9ed95255 100644
--- a/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C
+++ b/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C
@@ -35,7 +35,7 @@ Description
 #include "turbulentFluidThermoModel.H"
 #include "radiationModel.H"
 #include "simpleControl.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/Make/options b/applications/solvers/heatTransfer/chtMultiRegionFoam/Make/options
index a470461654a..2b6f5e7e704 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/Make/options
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/Make/options
@@ -15,7 +15,6 @@ EXE_INC = \
     -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/regionModels/regionModel/lnInclude
 
 
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C
index 7fe33fab37f..ec0532c11bb 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C
@@ -43,7 +43,7 @@ Description
 #include "solidRegionDiffNo.H"
 #include "solidThermo.H"
 #include "radiationModel.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "coordinateSystem.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
 
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/Make/options b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/Make/options
index 22155c7aa48..252ecae022b 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/Make/options
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/Make/options
@@ -12,7 +12,6 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/regionModels/regionModel/lnInclude
 
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/chtMultiRegionSimpleFoam.C b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/chtMultiRegionSimpleFoam.C
index 6c07dcbdfc4..625737aed17 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/chtMultiRegionSimpleFoam.C
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/chtMultiRegionSimpleFoam.C
@@ -36,7 +36,7 @@ Description
 #include "regionProperties.H"
 #include "solidThermo.H"
 #include "radiationModel.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "coordinateSystem.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
 
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H
index 65b5d2e91e0..aabee1cd37f 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H
@@ -20,7 +20,7 @@ PtrList<dimensionedScalar> rhoMax(fluidRegions.size());
 PtrList<dimensionedScalar> rhoMin(fluidRegions.size());
 
 PtrList<IOMRFZoneList> MRFfluid(fluidRegions.size());
-PtrList<fv::IOoptionList> fluidFvOptions(fluidRegions.size());
+PtrList<fv::options> fluidFvOptions(fluidRegions.size());
 
 // Populate fluid field pointer lists
 forAll(fluidRegions, i)
@@ -254,7 +254,7 @@ forAll(fluidRegions, i)
     fluidFvOptions.set
     (
         i,
-        new fv::IOoptionList(fluidRegions[i])
+        new fv::options(fluidRegions[i])
     );
 
     turbulence[i].validate();
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/setRegionFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/setRegionFluidFields.H
index a008b0c1d4f..6cde0ec06bb 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/setRegionFluidFields.H
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/setRegionFluidFields.H
@@ -13,7 +13,7 @@
     const volScalarField& psi = thermo.psi();
 
     IOMRFZoneList& MRF = MRFfluid[i];
-    fv::IOoptionList& fvOptions = fluidFvOptions[i];
+    fv::options& fvOptions = fluidFvOptions[i];
 
     const dimensionedScalar initialMass
     (
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H
index d9927500c66..be3ec79a2cc 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H
@@ -17,7 +17,7 @@ List<scalar> initialMassFluid(fluidRegions.size());
 List<bool> frozenFlowFluid(fluidRegions.size(), false);
 
 PtrList<IOMRFZoneList> MRFfluid(fluidRegions.size());
-PtrList<fv::IOoptionList> fluidFvOptions(fluidRegions.size());
+PtrList<fv::options> fluidFvOptions(fluidRegions.size());
 
 // Populate fluid field pointer lists
 forAll(fluidRegions, i)
@@ -244,7 +244,7 @@ forAll(fluidRegions, i)
     fluidFvOptions.set
     (
         i,
-        new fv::IOoptionList(fluidRegions[i])
+        new fv::options(fluidRegions[i])
     );
 
     turbulence[i].validate();
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/setRegionFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/setRegionFluidFields.H
index e61f0573164..8d3a291bef9 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/setRegionFluidFields.H
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/setRegionFluidFields.H
@@ -23,7 +23,7 @@
     radiation::radiationModel& rad = radiation[i];
 
     IOMRFZoneList& MRF = MRFfluid[i];
-    fv::IOoptionList& fvOptions = fluidFvOptions[i];
+    fv::options& fvOptions = fluidFvOptions[i];
 
     const dimensionedScalar initialMass
     (
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/createSolidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/createSolidFields.H
index cb9be11787a..d80e0537276 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/createSolidFields.H
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/createSolidFields.H
@@ -2,7 +2,7 @@
     PtrList<coordinateSystem> coordinates(solidRegions.size());
     PtrList<solidThermo> thermos(solidRegions.size());
     PtrList<radiation::radiationModel> radiations(solidRegions.size());
-    PtrList<fv::IOoptionList> solidHeatSources(solidRegions.size());
+    PtrList<fv::options> solidHeatSources(solidRegions.size());
     PtrList<volScalarField> betavSolid(solidRegions.size());
     PtrList<volSymmTensorField> aniAlphas(solidRegions.size());
 
@@ -22,7 +22,7 @@
         solidHeatSources.set
         (
             i,
-            new fv::IOoptionList(solidRegions[i])
+            new fv::options(solidRegions[i])
         );
 
         if (!thermos[i].isotropic())
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/setRegionSolidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/setRegionSolidFields.H
index ab168a20165..9eb71909c16 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/setRegionSolidFields.H
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/setRegionSolidFields.H
@@ -29,4 +29,4 @@ volScalarField& h = thermo.he();
 
 const volScalarField& betav = betavSolid[i];
 
-fv::IOoptionList& fvOptions = solidHeatSources[i];
+fv::options& fvOptions = solidHeatSources[i];
diff --git a/applications/solvers/heatTransfer/thermoFoam/Make/options b/applications/solvers/heatTransfer/thermoFoam/Make/options
index 7138a3dad03..934083f2bba 100644
--- a/applications/solvers/heatTransfer/thermoFoam/Make/options
+++ b/applications/solvers/heatTransfer/thermoFoam/Make/options
@@ -2,7 +2,6 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/transportModels/compressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
diff --git a/applications/solvers/heatTransfer/thermoFoam/thermoFoam.C b/applications/solvers/heatTransfer/thermoFoam/thermoFoam.C
index a23ce288e3c..a3687213df6 100644
--- a/applications/solvers/heatTransfer/thermoFoam/thermoFoam.C
+++ b/applications/solvers/heatTransfer/thermoFoam/thermoFoam.C
@@ -35,7 +35,7 @@ Description
 #include "turbulentFluidThermoModel.H"
 #include "LESModel.H"
 #include "radiationModel.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "simpleControl.H"
 #include "pimpleControl.H"
 
diff --git a/applications/solvers/incompressible/adjointShapeOptimizationFoam/Make/options b/applications/solvers/incompressible/adjointShapeOptimizationFoam/Make/options
index 690caa73743..48a0b023a7d 100644
--- a/applications/solvers/incompressible/adjointShapeOptimizationFoam/Make/options
+++ b/applications/solvers/incompressible/adjointShapeOptimizationFoam/Make/options
@@ -6,7 +6,6 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude
 
 EXE_LIBS = \
     -lturbulenceModels \
diff --git a/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointShapeOptimizationFoam.C b/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointShapeOptimizationFoam.C
index 75c706137d6..baf2518aa15 100644
--- a/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointShapeOptimizationFoam.C
+++ b/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointShapeOptimizationFoam.C
@@ -49,7 +49,7 @@ Description
 #include "singlePhaseTransportModel.H"
 #include "turbulentTransportModel.H"
 #include "simpleControl.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 
 template<class Type>
 void zeroCells
diff --git a/applications/solvers/incompressible/boundaryFoam/Make/options b/applications/solvers/incompressible/boundaryFoam/Make/options
index 20feab872f6..9af500124c9 100644
--- a/applications/solvers/incompressible/boundaryFoam/Make/options
+++ b/applications/solvers/incompressible/boundaryFoam/Make/options
@@ -5,7 +5,6 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 EXE_LIBS = \
diff --git a/applications/solvers/incompressible/boundaryFoam/boundaryFoam.C b/applications/solvers/incompressible/boundaryFoam/boundaryFoam.C
index a08632abbae..ff72dd93ddf 100644
--- a/applications/solvers/incompressible/boundaryFoam/boundaryFoam.C
+++ b/applications/solvers/incompressible/boundaryFoam/boundaryFoam.C
@@ -38,7 +38,7 @@ Description
 #include "fvCFD.H"
 #include "singlePhaseTransportModel.H"
 #include "turbulentTransportModel.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "wallFvPatch.H"
 #include "makeGraph.H"
 
diff --git a/applications/solvers/incompressible/pimpleFoam/Make/options b/applications/solvers/incompressible/pimpleFoam/Make/options
index 20feab872f6..9af500124c9 100644
--- a/applications/solvers/incompressible/pimpleFoam/Make/options
+++ b/applications/solvers/incompressible/pimpleFoam/Make/options
@@ -5,7 +5,6 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 EXE_LIBS = \
diff --git a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/Make/options b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/Make/options
index 20feab872f6..9af500124c9 100644
--- a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/Make/options
+++ b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/Make/options
@@ -5,7 +5,6 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 EXE_LIBS = \
diff --git a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C
index ba19716a4d7..94d7657b255 100644
--- a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C
+++ b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C
@@ -37,7 +37,7 @@ Description
 #include "turbulentTransportModel.H"
 #include "pimpleControl.H"
 #include "SRFModel.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/Make/options b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/Make/options
index 90e43d56aa1..41aeca934cd 100644
--- a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/Make/options
+++ b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/Make/options
@@ -5,7 +5,6 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/dynamicFvMesh/lnInclude \
     -I$(LIB_SRC)/dynamicMesh/lnInclude \
diff --git a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C
index fc97e7bfc5b..54c94d9c722 100644
--- a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C
+++ b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C
@@ -38,7 +38,7 @@ Description
 #include "turbulentTransportModel.H"
 #include "pimpleControl.H"
 #include "CorrectPhi.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C b/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C
index 919b54437bc..feeeaa000ed 100644
--- a/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C
+++ b/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C
@@ -38,7 +38,7 @@ Description
 #include "singlePhaseTransportModel.H"
 #include "turbulentTransportModel.H"
 #include "pimpleControl.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/incompressible/pisoFoam/Make/options b/applications/solvers/incompressible/pisoFoam/Make/options
index 20feab872f6..9af500124c9 100644
--- a/applications/solvers/incompressible/pisoFoam/Make/options
+++ b/applications/solvers/incompressible/pisoFoam/Make/options
@@ -5,7 +5,6 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 EXE_LIBS = \
diff --git a/applications/solvers/incompressible/pisoFoam/pisoFoam.C b/applications/solvers/incompressible/pisoFoam/pisoFoam.C
index 449439a2830..7d18261528e 100644
--- a/applications/solvers/incompressible/pisoFoam/pisoFoam.C
+++ b/applications/solvers/incompressible/pisoFoam/pisoFoam.C
@@ -37,7 +37,7 @@ Description
 #include "singlePhaseTransportModel.H"
 #include "turbulentTransportModel.H"
 #include "pisoControl.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/applications/solvers/incompressible/simpleFoam/Make/options b/applications/solvers/incompressible/simpleFoam/Make/options
index bc0201f371c..1d9ded80bfa 100644
--- a/applications/solvers/incompressible/simpleFoam/Make/options
+++ b/applications/solvers/incompressible/simpleFoam/Make/options
@@ -5,7 +5,6 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 
diff --git a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/Make/options b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/Make/options
index a888499d85d..90df6010799 100644
--- a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/Make/options
+++ b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/Make/options
@@ -6,7 +6,6 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 
diff --git a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C
index 37f8a16b2a6..89e54c37839 100644
--- a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C
+++ b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C
@@ -35,7 +35,7 @@ Description
 #include "turbulentTransportModel.H"
 #include "SRFModel.H"
 #include "simpleControl.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/Make/options b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/Make/options
index a888499d85d..90df6010799 100644
--- a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/Make/options
+++ b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/Make/options
@@ -6,7 +6,6 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 
diff --git a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C
index 4c6f89aee21..cfb93bd92b6 100644
--- a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C
+++ b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C
@@ -36,7 +36,7 @@ Description
 #include "turbulentTransportModel.H"
 #include "simpleControl.H"
 #include "IOporosityModelList.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/applications/solvers/incompressible/simpleFoam/simpleFoam.C b/applications/solvers/incompressible/simpleFoam/simpleFoam.C
index 21d724f0b83..f2fc0e8e6ed 100644
--- a/applications/solvers/incompressible/simpleFoam/simpleFoam.C
+++ b/applications/solvers/incompressible/simpleFoam/simpleFoam.C
@@ -33,7 +33,7 @@ Description
 #include "singlePhaseTransportModel.H"
 #include "turbulentTransportModel.H"
 #include "simpleControl.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/applications/solvers/lagrangian/DPMFoam/DPMTurbulenceModels/Make/options b/applications/solvers/lagrangian/DPMFoam/DPMTurbulenceModels/Make/options
index 50f1c4f124d..902afe59e4f 100644
--- a/applications/solvers/lagrangian/DPMFoam/DPMTurbulenceModels/Make/options
+++ b/applications/solvers/lagrangian/DPMFoam/DPMTurbulenceModels/Make/options
@@ -7,5 +7,4 @@ EXE_INC = \
     -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/phaseIncompressible/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude
+    -I$(LIB_SRC)/meshTools/lnInclude
diff --git a/applications/solvers/lagrangian/coalChemistryFoam/Make/options b/applications/solvers/lagrangian/coalChemistryFoam/Make/options
index 35e1cb7fb61..9c23effa573 100644
--- a/applications/solvers/lagrangian/coalChemistryFoam/Make/options
+++ b/applications/solvers/lagrangian/coalChemistryFoam/Make/options
@@ -24,7 +24,6 @@ EXE_INC = \
     -I$(LIB_SRC)/ODE/lnInclude \
     -I$(LIB_SRC)/combustionModels/lnInclude \
     -I$(FOAM_SOLVERS)/combustion/reactingFoam \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 EXE_LIBS = \
diff --git a/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C b/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C
index 6b77d9b11cd..7a67cb8cf2d 100644
--- a/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C
+++ b/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C
@@ -40,7 +40,7 @@ Description
 #include "basicThermoCloud.H"
 #include "coalCloud.H"
 #include "psiCombustionModel.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "radiationModel.H"
 #include "SLGThermo.H"
 #include "pimpleControl.H"
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/Make/options b/applications/solvers/lagrangian/reactingParcelFilmFoam/Make/options
index fedb72a15ca..8b2729e8c09 100644
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/Make/options
+++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/Make/options
@@ -1,6 +1,5 @@
 EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I${LIB_SRC}/sampling/lnInclude \
     -I${LIB_SRC}/meshTools/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/reactingParcelFilmFoam.C b/applications/solvers/lagrangian/reactingParcelFilmFoam/reactingParcelFilmFoam.C
index df00466e099..220e2f28a84 100644
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/reactingParcelFilmFoam.C
+++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/reactingParcelFilmFoam.C
@@ -37,7 +37,7 @@ Description
 #include "psiCombustionModel.H"
 #include "radiationModel.H"
 #include "SLGThermo.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "pimpleControl.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
 
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/Make/options b/applications/solvers/lagrangian/reactingParcelFoam/Make/options
index a797d28efb2..755aa59e9a9 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/Make/options
+++ b/applications/solvers/lagrangian/reactingParcelFoam/Make/options
@@ -23,7 +23,6 @@ EXE_INC = \
     -I$(LIB_SRC)/regionModels/regionModel/lnInclude \
     -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
     -I$(LIB_SRC)/combustionModels/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(FOAM_SOLVERS)/combustion/reactingFoam
 
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C
index 7aeb3ccd826..46a8e0ab93d 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C
+++ b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C
@@ -36,7 +36,7 @@ Description
 #include "basicReactingMultiphaseCloud.H"
 #include "rhoCombustionModel.H"
 #include "radiationModel.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "SLGThermo.H"
 #include "pimpleControl.H"
 #include "localEulerDdtScheme.H"
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/Make/options b/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/Make/options
index a797d28efb2..755aa59e9a9 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/Make/options
+++ b/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/Make/options
@@ -23,7 +23,6 @@ EXE_INC = \
     -I$(LIB_SRC)/regionModels/regionModel/lnInclude \
     -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
     -I$(LIB_SRC)/combustionModels/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(FOAM_SOLVERS)/combustion/reactingFoam
 
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/simpleReactingParcelFoam.C b/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/simpleReactingParcelFoam.C
index 67df9100f23..a74cbabe6cf 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/simpleReactingParcelFoam.C
+++ b/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/simpleReactingParcelFoam.C
@@ -37,7 +37,7 @@ Description
 #include "rhoCombustionModel.H"
 #include "radiationModel.H"
 #include "IOporosityModelList.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "SLGThermo.H"
 #include "simpleControl.H"
 
diff --git a/applications/solvers/lagrangian/sprayFoam/Make/options b/applications/solvers/lagrangian/sprayFoam/Make/options
index 5e01b76369a..af719ec4c2f 100644
--- a/applications/solvers/lagrangian/sprayFoam/Make/options
+++ b/applications/solvers/lagrangian/sprayFoam/Make/options
@@ -24,7 +24,6 @@ EXE_INC = \
     -I$(LIB_SRC)/ODE/lnInclude \
     -I$(LIB_SRC)/regionModels/regionModel/lnInclude \
     -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/combustionModels/lnInclude
 
 EXE_LIBS = \
diff --git a/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/Make/options b/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/Make/options
index 6ffe1ddd9fb..75d59e0933f 100644
--- a/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/Make/options
+++ b/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/Make/options
@@ -26,7 +26,6 @@ EXE_INC = \
     -I$(LIB_SRC)/ODE/lnInclude \
     -I$(LIB_SRC)/regionModels/regionModel/lnInclude \
     -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/combustionModels/lnInclude \
     -I$(LIB_SRC)/dynamicFvMesh/lnInclude \
     -I$(LIB_SRC)/dynamicMesh/lnInclude \
diff --git a/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/sprayDyMFoam.C b/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/sprayDyMFoam.C
index 04b897541ef..0f19b4ecf18 100644
--- a/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/sprayDyMFoam.C
+++ b/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/sprayDyMFoam.C
@@ -39,7 +39,7 @@ Description
 #include "SLGThermo.H"
 #include "pimpleControl.H"
 #include "CorrectPhi.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/Make/options b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/Make/options
index 576c8921499..69fd826ce61 100644
--- a/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/Make/options
+++ b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/Make/options
@@ -27,7 +27,6 @@ EXE_INC = \
     -I$(LIB_SRC)/engine/lnInclude \
     -I$(LIB_SRC)/regionModels/regionModel/lnInclude \
     -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/combustionModels/lnInclude
 
 
diff --git a/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/sprayEngineFoam.C b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/sprayEngineFoam.C
index 31c337627af..5b6a75993a0 100644
--- a/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/sprayEngineFoam.C
+++ b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/sprayEngineFoam.C
@@ -39,7 +39,7 @@ Description
 #include "radiationModel.H"
 #include "SLGThermo.H"
 #include "pimpleControl.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/applications/solvers/lagrangian/sprayFoam/sprayFoam.C b/applications/solvers/lagrangian/sprayFoam/sprayFoam.C
index bd2f951d935..f670f388b18 100644
--- a/applications/solvers/lagrangian/sprayFoam/sprayFoam.C
+++ b/applications/solvers/lagrangian/sprayFoam/sprayFoam.C
@@ -37,7 +37,7 @@ Description
 #include "radiationModel.H"
 #include "SLGThermo.H"
 #include "pimpleControl.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/applications/solvers/multiphase/driftFluxFoam/Make/options b/applications/solvers/multiphase/driftFluxFoam/Make/options
index b237960a087..a92f5998207 100644
--- a/applications/solvers/multiphase/driftFluxFoam/Make/options
+++ b/applications/solvers/multiphase/driftFluxFoam/Make/options
@@ -5,7 +5,6 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/compressible/lnInclude \
     -I$(LIB_SRC)/transportModels/twoPhaseMixture/lnInclude \
diff --git a/applications/solvers/multiphase/driftFluxFoam/driftFluxFoam.C b/applications/solvers/multiphase/driftFluxFoam/driftFluxFoam.C
index c97fc51c02d..a026a32faf9 100644
--- a/applications/solvers/multiphase/driftFluxFoam/driftFluxFoam.C
+++ b/applications/solvers/multiphase/driftFluxFoam/driftFluxFoam.C
@@ -41,7 +41,7 @@ Description
 #include "turbulenceModel.H"
 #include "CompressibleTurbulenceModel.H"
 #include "pimpleControl.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
 #include "gaussLaplacianScheme.H"
 #include "uncorrectedSnGrad.H"
diff --git a/applications/solvers/multiphase/interFoam/Make/options b/applications/solvers/multiphase/interFoam/Make/options
index df659a93d2a..cfe4a920729 100644
--- a/applications/solvers/multiphase/interFoam/Make/options
+++ b/applications/solvers/multiphase/interFoam/Make/options
@@ -7,7 +7,6 @@ EXE_INC = \
     -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/immiscibleIncompressibleTwoPhaseMixture/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
diff --git a/applications/solvers/multiphase/interFoam/interDyMFoam/Make/options b/applications/solvers/multiphase/interFoam/interDyMFoam/Make/options
index 2e8c289ff7f..33aac0ab4ab 100644
--- a/applications/solvers/multiphase/interFoam/interDyMFoam/Make/options
+++ b/applications/solvers/multiphase/interFoam/interDyMFoam/Make/options
@@ -11,7 +11,6 @@ EXE_INC = \
     -I$(LIB_SRC)/dynamicMesh/lnInclude \
     -I$(LIB_SRC)/dynamicFvMesh/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 EXE_LIBS = \
diff --git a/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C b/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C
index fd74565c422..af6c779a0ce 100644
--- a/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C
+++ b/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C
@@ -42,7 +42,7 @@ Description
 #include "immiscibleIncompressibleTwoPhaseMixture.H"
 #include "turbulentTransportModel.H"
 #include "pimpleControl.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "CorrectPhi.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
 #include "localEulerDdtScheme.H"
diff --git a/applications/solvers/multiphase/interFoam/interFoam.C b/applications/solvers/multiphase/interFoam/interFoam.C
index 34ca9248150..63d9a344e8f 100644
--- a/applications/solvers/multiphase/interFoam/interFoam.C
+++ b/applications/solvers/multiphase/interFoam/interFoam.C
@@ -46,7 +46,7 @@ Description
 #include "immiscibleIncompressibleTwoPhaseMixture.H"
 #include "turbulentTransportModel.H"
 #include "pimpleControl.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "CorrectPhi.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
 #include "localEulerDdtScheme.H"
diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/Make/options b/applications/solvers/multiphase/interFoam/interMixingFoam/Make/options
index 7198616b30f..53234dcaeeb 100644
--- a/applications/solvers/multiphase/interFoam/interMixingFoam/Make/options
+++ b/applications/solvers/multiphase/interFoam/interMixingFoam/Make/options
@@ -11,7 +11,6 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 EXE_LIBS = \
diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C b/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C
index ded5d63fe46..19afacf2e12 100644
--- a/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C
+++ b/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C
@@ -36,7 +36,7 @@ Description
 #include "immiscibleIncompressibleThreePhaseMixture.H"
 #include "turbulentTransportModel.H"
 #include "pimpleControl.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "CorrectPhi.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
 #include "localEulerDdtScheme.H"
diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/Make/options b/applications/solvers/multiphase/interPhaseChangeFoam/Make/options
index 254f3ad8be1..a29ad660e85 100644
--- a/applications/solvers/multiphase/interPhaseChangeFoam/Make/options
+++ b/applications/solvers/multiphase/interPhaseChangeFoam/Make/options
@@ -8,7 +8,6 @@ EXE_INC = \
     -IphaseChangeTwoPhaseMixtures/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude\
     -I$(LIB_SRC)/sampling/lnInclude
 
 EXE_LIBS = \
diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/Make/options b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/Make/options
index 0512ee1946f..0a4397e0632 100644
--- a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/Make/options
+++ b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/Make/options
@@ -11,7 +11,6 @@ EXE_INC = \
     -I$(LIB_SRC)/dynamicMesh/lnInclude \
     -I$(LIB_SRC)/dynamicFvMesh/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude\
     -I$(LIB_SRC)/sampling/lnInclude
 
 EXE_LIBS = \
diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/interPhaseChangeDyMFoam.C b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/interPhaseChangeDyMFoam.C
index f21ab75b9e3..cf7ffd88741 100644
--- a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/interPhaseChangeDyMFoam.C
+++ b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/interPhaseChangeDyMFoam.C
@@ -49,7 +49,7 @@ Description
 #include "phaseChangeTwoPhaseMixture.H"
 #include "turbulentTransportModel.H"
 #include "pimpleControl.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "CorrectPhi.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
 
diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeFoam.C b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeFoam.C
index 32d8270d670..003d9a58a09 100644
--- a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeFoam.C
+++ b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeFoam.C
@@ -47,7 +47,7 @@ Description
 #include "phaseChangeTwoPhaseMixture.H"
 #include "turbulentTransportModel.H"
 #include "pimpleControl.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/multiphase/multiphaseInterFoam/Make/options b/applications/solvers/multiphase/multiphaseInterFoam/Make/options
index 2eb366fd985..0cd432b02ca 100644
--- a/applications/solvers/multiphase/multiphaseInterFoam/Make/options
+++ b/applications/solvers/multiphase/multiphaseInterFoam/Make/options
@@ -7,7 +7,6 @@ EXE_INC = \
     -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterDyMFoam/Make/options b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterDyMFoam/Make/options
index f6419312ce8..1a210c20e68 100644
--- a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterDyMFoam/Make/options
+++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterDyMFoam/Make/options
@@ -11,7 +11,6 @@ EXE_INC = \
     -I$(LIB_SRC)/dynamicMesh/lnInclude \
     -I$(LIB_SRC)/dynamicFvMesh/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterDyMFoam/multiphaseInterDyMFoam.C b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterDyMFoam/multiphaseInterDyMFoam.C
index bae70ae1142..c93056f329f 100644
--- a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterDyMFoam/multiphaseInterDyMFoam.C
+++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterDyMFoam/multiphaseInterDyMFoam.C
@@ -37,7 +37,7 @@ Description
 #include "multiphaseMixture.H"
 #include "turbulentTransportModel.H"
 #include "pimpleControl.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "CorrectPhi.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
 
diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C
index 12c0884c519..4bc2f55c4e7 100644
--- a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C
+++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C
@@ -36,7 +36,7 @@ Description
 #include "multiphaseMixture.H"
 #include "turbulentTransportModel.H"
 #include "pimpleControl.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "CorrectPhi.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
 
diff --git a/applications/solvers/multiphase/potentialFreeSurfaceFoam/Make/options b/applications/solvers/multiphase/potentialFreeSurfaceFoam/Make/options
index 72a106ba1e3..2026e36fb6d 100644
--- a/applications/solvers/multiphase/potentialFreeSurfaceFoam/Make/options
+++ b/applications/solvers/multiphase/potentialFreeSurfaceFoam/Make/options
@@ -5,7 +5,6 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 
diff --git a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/Make/options b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/Make/options
index df44bd78a00..4c789c10bb4 100644
--- a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/Make/options
+++ b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/Make/options
@@ -9,7 +9,6 @@ EXE_INC = \
     -I$(LIB_SRC)/dynamicMesh/lnInclude \
     -I$(LIB_SRC)/dynamicFvMesh/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 
diff --git a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/potentialFreeSurfaceDyMFoam.C b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/potentialFreeSurfaceDyMFoam.C
index 7c72c40030c..9b1a8db083c 100644
--- a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/potentialFreeSurfaceDyMFoam.C
+++ b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/potentialFreeSurfaceDyMFoam.C
@@ -42,7 +42,7 @@ Description
 #include "singlePhaseTransportModel.H"
 #include "turbulentTransportModel.H"
 #include "pimpleControl.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "CorrectPhi.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
 
diff --git a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C
index 21c5560ab1e..2db15eb8308 100644
--- a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C
+++ b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C
@@ -38,7 +38,7 @@ Description
 #include "singlePhaseTransportModel.H"
 #include "turbulentTransportModel.H"
 #include "pimpleControl.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/Make/options b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/Make/options
index db17065417e..b93dd16af68 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/Make/options
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/Make/options
@@ -10,7 +10,6 @@ EXE_INC = \
     -I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude \
     -I$(LIB_SRC)/combustionModels/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystem.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystem.H
index ba446ef32a8..c5ec2aa501b 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystem.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystem.H
@@ -45,7 +45,7 @@ SourceFiles
 #include "PtrListDictionary.H"
 
 #include "IOMRFZoneList.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 
 #include "volFields.H"
 #include "surfaceFields.H"
@@ -177,7 +177,7 @@ protected:
         IOMRFZoneList MRF_;
 
         //- Optional FV-options
-        mutable fv::IOoptionList fvOptions_;
+        mutable fv::options fvOptions_;
 
         //- Blending methods
         blendingMethodTable blendingMethods_;
@@ -320,7 +320,7 @@ public:
         inline const IOMRFZoneList& MRF() const;
 
         //- Optional FV-options
-        inline fv::IOoptionList& fvOptions() const;
+        inline fv::options& fvOptions() const;
 
         //- Access a sub model between a phase pair
         template <class modelType>
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystemI.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystemI.H
index 0f9aef50335..125d286d9d4 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystemI.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystemI.H
@@ -82,7 +82,7 @@ inline const Foam::IOMRFZoneList& Foam::phaseSystem::MRF() const
 }
 
 
-inline Foam::fv::IOoptionList& Foam::phaseSystem::fvOptions() const
+inline Foam::fv::options& Foam::phaseSystem::fvOptions() const
 {
     return fvOptions_;
 }
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/Make/options b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/Make/options
index 9acc2a5f82d..656a9941a61 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/Make/options
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/Make/options
@@ -9,7 +9,6 @@ EXE_INC = \
     -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/createFields.H b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/createFields.H
index 1375db8c406..6e7b6aacc88 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/createFields.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/createFields.H
@@ -50,4 +50,4 @@ setRefCell
 mesh.setFluxRequired(p_rgh.name());
 
 const IOMRFZoneList& MRF = fluid.MRF();
-fv::IOoptionList& fvOptions = fluid.fvOptions();
+fv::options& fvOptions = fluid.fvOptions();
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseCompressibleTurbulenceModels/Make/options b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseCompressibleTurbulenceModels/Make/options
index 553f60638c2..5bdb4cea140 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseCompressibleTurbulenceModels/Make/options
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseCompressibleTurbulenceModels/Make/options
@@ -9,5 +9,4 @@ EXE_INC = \
     -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/Make/options b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/Make/options
index 222f3b3ba4f..2ba7197d42d 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/Make/options
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/Make/options
@@ -12,7 +12,6 @@ EXE_INC = \
     -I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude \
     -I$(LIB_SRC)/combustionModels/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Make/options b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Make/options
index 6d3bc54b85a..5216efaa9c6 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Make/options
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Make/options
@@ -10,7 +10,6 @@ EXE_INC = \
     -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/createFields.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/createFields.H
index 60d17c251fb..75d7de420ee 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/createFields.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/createFields.H
@@ -74,4 +74,4 @@ setRefCell
 mesh.setFluxRequired(p_rgh.name());
 
 const IOMRFZoneList& MRF = fluid.MRF();
-fv::IOoptionList& fvOptions = fluid.fvOptions();
+fv::options& fvOptions = fluid.fvOptions();
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/Make/options b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/Make/options
index f003ce22813..3c3db948dda 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/Make/options
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/Make/options
@@ -10,5 +10,4 @@ EXE_INC = \
     -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/Make/options b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/Make/options
index 7321f6ef68c..3fa406f3d31 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/Make/options
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/Make/options
@@ -11,7 +11,6 @@ EXE_INC = \
     -I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude \
     -I$(LIB_SRC)/combustionModels/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.C
index aaee131eeb0..e085403f76a 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.C
@@ -31,7 +31,7 @@ License
 #include "fvcDdt.H"
 #include "fvcDiv.H"
 #include "fvcAverage.H"
-#include "fvOptionList.H"
+#include "fvOptions.H"
 #include "mathematicalConstants.H"
 #include "fundamentalConstants.H"
 #include "addToRunTimeSelectionTable.H"
@@ -155,12 +155,7 @@ void Foam::diameterModels::IATE::correct()
         R -= sources_[j].R();
     }
 
-    // const_cast needed because the operators and functions of fvOptions
-    // are currently non-const.
-    fv::optionList& fvOptions = const_cast<fv::optionList&>
-    (
-        phase_.mesh().lookupObject<fv::optionList>("fvOptions")
-    );
+    fv::options& fvOptions(fv::options::New(phase_.mesh()));
 
     // Construct the interfacial curvature equation
     fvScalarMatrix kappaiEqn
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/Make/options b/applications/solvers/multiphase/twoPhaseEulerFoam/Make/options
index 7faa436e572..6bc8c074415 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/Make/options
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/Make/options
@@ -10,7 +10,6 @@ EXE_INC = \
     -IinterfacialModels/lnInclude \
     -ItwoPhaseSystem/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/Make/options b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/Make/options
index 1035e5526eb..84786bdc5db 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/Make/options
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/Make/options
@@ -8,5 +8,4 @@ EXE_INC = \
     -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C
index 646b340c826..3027ae88b39 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C
@@ -34,7 +34,7 @@ Description
 #include "twoPhaseSystem.H"
 #include "PhaseCompressibleTurbulenceModel.H"
 #include "pimpleControl.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "fixedFluxPressureFvPatchScalarField.H"
 #include "fixedValueFvsPatchFields.H"
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/Make/options b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/Make/options
index ee40ebbc68a..7c0e7485a96 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/Make/options
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/Make/options
@@ -8,7 +8,6 @@ EXE_INC = \
     -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.C
index 6999c184cd8..afa96a571a5 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.C
@@ -32,7 +32,7 @@ License
 #include "fvcDdt.H"
 #include "fvcDiv.H"
 #include "fvcAverage.H"
-#include "fvOptionList.H"
+#include "fvOptions.H"
 #include "mathematicalConstants.H"
 #include "fundamentalConstants.H"
 #include "addToRunTimeSelectionTable.H"
@@ -156,12 +156,7 @@ void Foam::diameterModels::IATE::correct()
         R -= sources_[j].R();
     }
 
-    // const_cast needed because the operators and functions of fvOptions
-    // are currently non-const.
-    fv::optionList& fvOptions = const_cast<fv::optionList&>
-    (
-        phase_.U().mesh().lookupObject<fv::optionList>("fvOptions")
-    );
+    fv::options& fvOptions(fv::options::New(phase_.mesh()));
 
     // Construct the interfacial curvature equation
     fvScalarMatrix kappaiEqn
diff --git a/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/Make/options b/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/Make/options
index 33c0f0a1712..8f3674d5136 100644
--- a/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/Make/options
+++ b/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/Make/options
@@ -8,7 +8,6 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels/compressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
diff --git a/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/execFlowFunctionObjects.C b/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/execFlowFunctionObjects.C
index aa4ecba0926..9f2f03dc54f 100644
--- a/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/execFlowFunctionObjects.C
+++ b/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/execFlowFunctionObjects.C
@@ -43,7 +43,7 @@ Description
 #include "pointFields.H"
 #include "uniformDimensionedFields.H"
 #include "ReadFields.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 
 #include "singlePhaseTransportModel.H"
 #include "turbulentTransportModel.H"
@@ -286,8 +286,6 @@ void calc
             mesh
         );
 
-        #include "createFvOptions.H"
-
         if (phi.dimensions() == dimVolume/dimTime)
         {
             IOobject turbulencePropertiesHeader
diff --git a/src/TurbulenceModels/compressible/Make/options b/src/TurbulenceModels/compressible/Make/options
index 4b17e1ec6fd..4a6578d6285 100644
--- a/src/TurbulenceModels/compressible/Make/options
+++ b/src/TurbulenceModels/compressible/Make/options
@@ -7,7 +7,6 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/solidSpecie/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude
 
 LIB_LIBS = \
     -lcompressibleTransportModels \
diff --git a/src/TurbulenceModels/incompressible/Make/options b/src/TurbulenceModels/incompressible/Make/options
index f5a5d9d8185..c44e9ae61c9 100644
--- a/src/TurbulenceModels/incompressible/Make/options
+++ b/src/TurbulenceModels/incompressible/Make/options
@@ -3,7 +3,6 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fvOptions/lnInclude
 
 LIB_LIBS = \
     -lincompressibleTransportModels \
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C b/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C
index 75d9a3d1b84..6a9266e8b02 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C
@@ -24,7 +24,7 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "kEpsilon.H"
-#include "fvOptionList.H"
+#include "fvOptions.H"
 #include "bound.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -42,14 +42,7 @@ void kEpsilon<BasicTurbulenceModel>::correctNut()
     this->nut_ = Cmu_*sqr(k_)/epsilon_;
     this->nut_.correctBoundaryConditions();
 
-    // const_cast needed because the operators and functions of fvOptions
-    // are currently non-const.
-    fv::optionList& fvOptions = const_cast<fv::optionList&>
-    (
-        this->mesh_.objectRegistry::template
-            lookupObject<fv::optionList>("fvOptions")
-    );
-
+    fv::options& fvOptions(fv::options::New(this->mesh_));
     fvOptions.correct(this->nut_);
 
     BasicTurbulenceModel::correctNut();
@@ -240,14 +233,7 @@ void kEpsilon<BasicTurbulenceModel>::correct()
     const surfaceScalarField& alphaRhoPhi = this->alphaRhoPhi_;
     const volVectorField& U = this->U_;
     volScalarField& nut = this->nut_;
-
-    // const_cast needed because the operators and functions of fvOptions
-    // are currently non-const.
-    fv::optionList& fvOptions = const_cast<fv::optionList&>
-    (
-        this->mesh_.objectRegistry::template
-            lookupObject<fv::optionList>("fvOptions")
-    );
+    fv::options& fvOptions(fv::options::New(this->mesh_));
 
     eddyViscosity<RASModel<BasicTurbulenceModel> >::correct();
 
diff --git a/src/finiteVolume/Make/files b/src/finiteVolume/Make/files
index a8eaa086398..331f1439f5d 100644
--- a/src/finiteVolume/Make/files
+++ b/src/finiteVolume/Make/files
@@ -425,4 +425,10 @@ $(SRF)/SRFModel/rpm/rpm.C
 $(SRF)/derivedFvPatchFields/SRFVelocityFvPatchVectorField/SRFVelocityFvPatchVectorField.C
 $(SRF)/derivedFvPatchFields/SRFFreestreamVelocityFvPatchVectorField/SRFFreestreamVelocityFvPatchVectorField.C
 
+fvOptions = $(general)/fvOptions
+$(fvOptions)/fvOption.C
+$(fvOptions)/fvOptionIO.C
+$(fvOptions)/fvOptionList.C
+$(fvOptions)/fvOptions.C
+
 LIB = $(FOAM_LIBBIN)/libfiniteVolume
diff --git a/src/fvOptions/fvOption/fvOption.C b/src/finiteVolume/cfdTools/general/fvOptions/fvOption.C
similarity index 100%
rename from src/fvOptions/fvOption/fvOption.C
rename to src/finiteVolume/cfdTools/general/fvOptions/fvOption.C
diff --git a/src/fvOptions/fvOption/fvOption.H b/src/finiteVolume/cfdTools/general/fvOptions/fvOption.H
similarity index 100%
rename from src/fvOptions/fvOption/fvOption.H
rename to src/finiteVolume/cfdTools/general/fvOptions/fvOption.H
diff --git a/src/fvOptions/fvOption/fvOptionI.H b/src/finiteVolume/cfdTools/general/fvOptions/fvOptionI.H
similarity index 100%
rename from src/fvOptions/fvOption/fvOptionI.H
rename to src/finiteVolume/cfdTools/general/fvOptions/fvOptionI.H
diff --git a/src/fvOptions/fvOption/fvOptionIO.C b/src/finiteVolume/cfdTools/general/fvOptions/fvOptionIO.C
similarity index 100%
rename from src/fvOptions/fvOption/fvOptionIO.C
rename to src/finiteVolume/cfdTools/general/fvOptions/fvOptionIO.C
diff --git a/src/fvOptions/fvOption/fvOptionList.C b/src/finiteVolume/cfdTools/general/fvOptions/fvOptionList.C
similarity index 100%
rename from src/fvOptions/fvOption/fvOptionList.C
rename to src/finiteVolume/cfdTools/general/fvOptions/fvOptionList.C
diff --git a/src/fvOptions/fvOption/fvOptionList.H b/src/finiteVolume/cfdTools/general/fvOptions/fvOptionList.H
similarity index 100%
rename from src/fvOptions/fvOption/fvOptionList.H
rename to src/finiteVolume/cfdTools/general/fvOptions/fvOptionList.H
diff --git a/src/fvOptions/fvOption/fvOptionListTemplates.C b/src/finiteVolume/cfdTools/general/fvOptions/fvOptionListTemplates.C
similarity index 100%
rename from src/fvOptions/fvOption/fvOptionListTemplates.C
rename to src/finiteVolume/cfdTools/general/fvOptions/fvOptionListTemplates.C
diff --git a/src/fvOptions/fvOption/fvIOoptionList.C b/src/finiteVolume/cfdTools/general/fvOptions/fvOptions.C
similarity index 74%
rename from src/fvOptions/fvOption/fvIOoptionList.C
rename to src/finiteVolume/cfdTools/general/fvOptions/fvOptions.C
index b26f40649cd..b9fe6d14933 100644
--- a/src/fvOptions/fvOption/fvIOoptionList.C
+++ b/src/finiteVolume/cfdTools/general/fvOptions/fvOptions.C
@@ -23,20 +23,31 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 #include "fvMesh.H"
 #include "Time.H"
 
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+namespace Foam
+{
+    namespace fv
+    {
+        defineTypeNameAndDebug(options, 0);
+    }
+}
+
+
 // * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * * //
 
-Foam::IOobject Foam::fv::IOoptionList::createIOobject
+Foam::IOobject Foam::fv::options::createIOobject
 (
     const fvMesh& mesh
 ) const
 {
     IOobject io
     (
-        "fvOptions",
+        typeName,
         mesh.time().constant(),
         mesh,
         IOobject::MUST_READ,
@@ -79,7 +90,7 @@ Foam::IOobject Foam::fv::IOoptionList::createIOobject
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::fv::IOoptionList::IOoptionList
+Foam::fv::options::options
 (
     const fvMesh& mesh
 )
@@ -89,9 +100,34 @@ Foam::fv::IOoptionList::IOoptionList
 {}
 
 
-bool Foam::fv::IOoptionList::read()
+Foam::fv::options& Foam::fv::options::New(const fvMesh& mesh)
+{
+    if (mesh.thisDb().foundObject<options>(typeName))
+    {
+        return const_cast<options&>
+        (
+            mesh.lookupObject<options>(typeName)
+        );
+    }
+    else
+    {
+        if (debug)
+        {
+            InfoInFunction
+                << "Constructing " << typeName
+                << " for region " << mesh.name() << endl;
+        }
+
+        options* objectPtr = new options(mesh);
+        regIOobject::store(objectPtr);
+        return *objectPtr;
+    }
+}
+
+
+bool Foam::fv::options::read()
 {
-    if (regIOobject::read())
+    if (IOdictionary::regIOobject::read())
     {
         optionList::read(*this);
         return true;
diff --git a/src/fvOptions/fvOption/fvIOoptionList.H b/src/finiteVolume/cfdTools/general/fvOptions/fvOptions.H
similarity index 81%
rename from src/fvOptions/fvOption/fvIOoptionList.H
rename to src/finiteVolume/cfdTools/general/fvOptions/fvOptions.H
index 135c3367fac..3d4ffefe357 100644
--- a/src/fvOptions/fvOption/fvIOoptionList.H
+++ b/src/finiteVolume/cfdTools/general/fvOptions/fvOptions.H
@@ -22,18 +22,18 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::fv::IOoptionList
+    Foam::fv::options
 
 Description
-    IOoptionList
+    Finite-volume options
 
 SourceFiles
-    IOoptionList.C
+    options.C
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef IOoptionList_H
-#define IOoptionList_H
+#ifndef options_H
+#define options_H
 
 #include "fvOptionList.H"
 #include "IOdictionary.H"
@@ -47,38 +47,44 @@ namespace fv
 {
 
 /*---------------------------------------------------------------------------*\
-                        Class IOoptionList Declaration
+                        Class options Declaration
 \*---------------------------------------------------------------------------*/
 
-class IOoptionList
+class options
 :
     public IOdictionary,
     public optionList
 {
-private:
-
     // Private Member Functions
 
         //- Create IO object if dictionary is present
         IOobject createIOobject(const fvMesh& mesh) const;
 
         //- Disallow default bitwise copy construct
-        IOoptionList(const IOoptionList&);
+        options(const options&);
 
         //- Disallow default bitwise assignment
-        void operator=(const IOoptionList&);
+        void operator=(const options&);
 
 
 public:
 
+    // Declare name of the class and its debug switch
+    ClassName("fvOptions");
+
+
     // Constructors
 
         //- Construct from components with list of field names
-        IOoptionList(const fvMesh& mesh);
+        options(const fvMesh& mesh);
+
+        //- Construct fvOptions and register to datbase if not present
+        //  otherwise lookup and return
+        static options& New(const fvMesh& mesh);
 
 
     //- Destructor
-    virtual ~IOoptionList()
+    virtual ~options()
     {}
 
 
diff --git a/src/fvOptions/fvOption/makeFvOption.H b/src/finiteVolume/cfdTools/general/fvOptions/makeFvOption.H
similarity index 100%
rename from src/fvOptions/fvOption/makeFvOption.H
rename to src/finiteVolume/cfdTools/general/fvOptions/makeFvOption.H
diff --git a/src/finiteVolume/cfdTools/general/include/createFvOptions.H b/src/finiteVolume/cfdTools/general/include/createFvOptions.H
new file mode 100644
index 00000000000..aa02a3604dd
--- /dev/null
+++ b/src/finiteVolume/cfdTools/general/include/createFvOptions.H
@@ -0,0 +1 @@
+fv::options& fvOptions(fv::options::New(mesh));
diff --git a/src/fvOptions/Make/files b/src/fvOptions/Make/files
index 70347d182a6..4d172dbf076 100644
--- a/src/fvOptions/Make/files
+++ b/src/fvOptions/Make/files
@@ -1,8 +1,3 @@
-fvOption/fvOption.C
-fvOption/fvOptionIO.C
-fvOption/fvOptionList.C
-fvOption/fvIOoptionList.C
-
 cellSetOption/cellSetOption.C
 cellSetOption/cellSetOptionIO.C
 
diff --git a/src/fvOptions/include/createFvOptions.H b/src/fvOptions/include/createFvOptions.H
deleted file mode 100644
index a4882baac19..00000000000
--- a/src/fvOptions/include/createFvOptions.H
+++ /dev/null
@@ -1 +0,0 @@
-fv::IOoptionList fvOptions(mesh);
diff --git a/src/fvOptions/sources/general/codedSource/CodedSource.C b/src/fvOptions/sources/general/codedSource/CodedSource.C
index 091ea2ec665..c657bf55faf 100644
--- a/src/fvOptions/sources/general/codedSource/CodedSource.C
+++ b/src/fvOptions/sources/general/codedSource/CodedSource.C
@@ -65,7 +65,6 @@ void Foam::fv::CodedSource<Type>::prepare
     dynCode.setMakeOptions
         (
             "EXE_INC = -g \\\n"
-            "-I$(LIB_SRC)/fvOptions/lnInclude \\\n"
             "-I$(LIB_SRC)/finiteVolume/lnInclude \\\n"
             "-I$(LIB_SRC)/meshTools/lnInclude \\\n"
             "-I$(LIB_SRC)/sampling/lnInclude \\\n"
diff --git a/src/postProcessing/functionObjects/utilities/Make/options b/src/postProcessing/functionObjects/utilities/Make/options
index b59c6b86db4..ad4e27c1967 100644
--- a/src/postProcessing/functionObjects/utilities/Make/options
+++ b/src/postProcessing/functionObjects/utilities/Make/options
@@ -1,5 +1,4 @@
 EXE_INC = \
-    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/lagrangian/basic/lnInclude \
     -I$(LIB_SRC)/lagrangian/DSMC/lnInclude \
     -I$(LIB_SRC)/transportModels \
-- 
GitLab


From ae95edeea4fd636771954f7d8013b283908b20f6 Mon Sep 17 00:00:00 2001
From: Andrew Heather <a.heather@opencfd.co.uk>
Date: Tue, 8 Dec 2015 11:09:22 +0000
Subject: [PATCH 129/141] ENH: Lagrangian sub models - tidied autoPtr clone
 usage

---
 .../InjectionModel/CellZoneInjection/CellZoneInjection.C      | 4 ++--
 .../Kinematic/InjectionModel/ConeInjection/ConeInjection.C    | 4 ++--
 .../InjectionModel/ConeNozzleInjection/ConeNozzleInjection.C  | 4 ++--
 .../FieldActivatedInjection/FieldActivatedInjection.C         | 4 ++--
 .../InjectionModel/InflationInjection/InflationInjection.C    | 4 ++--
 .../InjectionModel/ManualInjection/ManualInjection.C          | 4 ++--
 .../PatchFlowRateInjection/PatchFlowRateInjection.C           | 4 ++--
 .../Kinematic/InjectionModel/PatchInjection/PatchInjection.C  | 4 ++--
 8 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/CellZoneInjection/CellZoneInjection.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/CellZoneInjection/CellZoneInjection.C
index 083b0b6cb93..c6375d1dd9b 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/CellZoneInjection/CellZoneInjection.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/CellZoneInjection/CellZoneInjection.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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -204,7 +204,7 @@ Foam::CellZoneInjection<CloudType>::CellZoneInjection
     injectorTetPts_(im.injectorTetPts_),
     diameters_(im.diameters_),
     U0_(im.U0_),
-    sizeDistribution_(im.sizeDistribution_().clone().ptr())
+    sizeDistribution_(im.sizeDistribution_, false)
 {}
 
 
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeInjection/ConeInjection.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeInjection/ConeInjection.C
index d71e1b070eb..33889711787 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeInjection/ConeInjection.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeInjection/ConeInjection.C
@@ -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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -147,7 +147,7 @@ Foam::ConeInjection<CloudType>::ConeInjection
     Umag_(im.Umag_),
     thetaInner_(im.thetaInner_),
     thetaOuter_(im.thetaOuter_),
-    sizeDistribution_(im.sizeDistribution_().clone().ptr()),
+    sizeDistribution_(im.sizeDistribution_, false),
     nInjected_(im.nInjected_),
     tanVec1_(im.tanVec1_),
     tanVec2_(im.tanVec2_)
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeNozzleInjection/ConeNozzleInjection.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeNozzleInjection/ConeNozzleInjection.C
index 58538988d91..abe80140fc6 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeNozzleInjection/ConeNozzleInjection.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeNozzleInjection/ConeNozzleInjection.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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -221,7 +221,7 @@ Foam::ConeNozzleInjection<CloudType>::ConeNozzleInjection
     flowRateProfile_(im.flowRateProfile_),
     thetaInner_(im.thetaInner_),
     thetaOuter_(im.thetaOuter_),
-    sizeDistribution_(im.sizeDistribution_().clone().ptr()),
+    sizeDistribution_(im.sizeDistribution_, false),
     tanVec1_(im.tanVec1_),
     tanVec2_(im.tanVec1_),
     normal_(im.normal_),
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/FieldActivatedInjection/FieldActivatedInjection.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/FieldActivatedInjection/FieldActivatedInjection.C
index d6b59b9043c..b5528c1b387 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/FieldActivatedInjection/FieldActivatedInjection.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/FieldActivatedInjection/FieldActivatedInjection.C
@@ -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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -119,7 +119,7 @@ Foam::FieldActivatedInjection<CloudType>::FieldActivatedInjection
     nParcelsInjected_(im.nParcelsInjected_),
     U0_(im.U0_),
     diameters_(im.diameters_),
-    sizeDistribution_(im.sizeDistribution_().clone().ptr())
+    sizeDistribution_(im.sizeDistribution_, false)
 {}
 
 
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InflationInjection/InflationInjection.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InflationInjection/InflationInjection.C
index 8b80a42b9e9..f3442fc61d2 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InflationInjection/InflationInjection.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InflationInjection/InflationInjection.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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -140,7 +140,7 @@ Foam::InflationInjection<CloudType>::InflationInjection
     fraction_(im.fraction_),
     selfSeed_(im.selfSeed_),
     dSeed_(im.dSeed_),
-    sizeDistribution_(im.sizeDistribution_().clone().ptr())
+    sizeDistribution_(im.sizeDistribution_, false)
 {}
 
 
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ManualInjection/ManualInjection.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ManualInjection/ManualInjection.C
index 418ad79e287..24f39864652 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ManualInjection/ManualInjection.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ManualInjection/ManualInjection.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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -97,7 +97,7 @@ Foam::ManualInjection<CloudType>::ManualInjection
     injectorTetFaces_(im.injectorTetFaces_),
     injectorTetPts_(im.injectorTetPts_),
     U0_(im.U0_),
-    sizeDistribution_(im.sizeDistribution_().clone().ptr()),
+    sizeDistribution_(im.sizeDistribution_, false),
     ignoreOutOfBounds_(im.ignoreOutOfBounds_)
 {}
 
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/PatchFlowRateInjection/PatchFlowRateInjection.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/PatchFlowRateInjection/PatchFlowRateInjection.C
index da721e70b23..11f6a28ca03 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/PatchFlowRateInjection/PatchFlowRateInjection.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/PatchFlowRateInjection/PatchFlowRateInjection.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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -90,7 +90,7 @@ Foam::PatchFlowRateInjection<CloudType>::PatchFlowRateInjection
     duration_(im.duration_),
     concentration_(im.concentration_),
     parcelConcentration_(im.parcelConcentration_),
-    sizeDistribution_(im.sizeDistribution_().clone().ptr())
+    sizeDistribution_(im.sizeDistribution_, false)
 {}
 
 
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/PatchInjection/PatchInjection.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/PatchInjection/PatchInjection.C
index c858a27d01d..cee8eaa3dbd 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/PatchInjection/PatchInjection.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/PatchInjection/PatchInjection.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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -84,7 +84,7 @@ Foam::PatchInjection<CloudType>::PatchInjection
     parcelsPerSecond_(im.parcelsPerSecond_),
     U0_(im.U0_),
     flowRateProfile_(im.flowRateProfile_),
-    sizeDistribution_(im.sizeDistribution_().clone().ptr())
+    sizeDistribution_(im.sizeDistribution_, false)
 {}
 
 
-- 
GitLab


From eafd5a385072d8d7ad6229efca4bbc68049da4d6 Mon Sep 17 00:00:00 2001
From: Andrew Heather <a.heather@opencfd.co.uk>
Date: Tue, 8 Dec 2015 11:15:39 +0000
Subject: [PATCH 130/141] ENH: Updated Info, Warning and Error messages

---
 .../magneticFoam/createFields.H               |   2 +-
 .../conversion/tetgenToFoam/tetgenToFoam.C    |   8 +-
 .../extrudeToRegionMesh/extrudeToRegionMesh.C |  16 +--
 .../mesh/manipulation/checkMesh/checkTools.C  |   4 +-
 .../redistributePar/redistributePar.C         |  32 ++---
 .../createZeroDirectory/boundaryTemplates.C   | 125 ++----------------
 .../createZeroDirectory/caseInfo.C            |  41 ++----
 .../createZeroDirectory/createZeroDirectory.C |   4 +-
 .../createZeroDirectory/solverTemplate.C      |  36 +----
 .../preProcessing/mapFieldsPar/mapFieldsPar.C |   2 +-
 .../surfaceBooleanFeatures.C                  |  18 +--
 .../surface/surfaceCheck/surfaceCheck.C       |   2 +-
 .../surfaceFeatureExtract.C                   |  10 +-
 .../surface/surfaceInflate/surfaceInflate.C   |   7 +-
 .../searchableSurfaceModifier/cut.C           |  10 +-
 .../searchableSurfaceModifier.C               |   7 +-
 .../IOobjects/CompactIOList/CompactIOList.C   |  22 +--
 src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C |   2 +-
 .../functionObjectStateTemplates.C            |   6 +-
 .../fields/Fields/Field/FieldMapper.H         |   2 +-
 src/OpenFOAM/global/argList/argList.C         |   2 +-
 .../mapDistribute/mapDistributeBase.C         |  30 +----
 .../mapDistributeBaseTemplates.C              |  19 +--
 .../mapDistribute/mapDistributePolyMesh.C     |   2 +-
 ...allHeatFluxTemperatureFvPatchScalarField.C |  15 +--
 .../schemes/DEShybrid/DEShybrid.H             |  18 +--
 .../DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C       |   7 +-
 .../fvMeshAdder/fvMeshAdderTemplates.C        |   2 +-
 .../IOmapDistributePolyMesh.C                 |  12 +-
 .../fvMeshDistribute/fvMeshDistribute.C       |  28 ++--
 .../fvMeshDistributeTemplates.C               |   3 +-
 .../displacement/displacementMotionSolver.C   |  26 +---
 .../polyTopoChange/addPatchCellLayer.C        |   2 +-
 .../hexRef8/refinementHistory.C               |  14 +-
 .../extendedEdgeMesh/extendedEdgeMesh.C       |   9 +-
 ...IDControlInletVelocityFvPatchVectorField.C |  15 +--
 .../displacementInterpolationMotionSolver.C   |   2 +-
 .../motionInterpolation/motionInterpolation.C |   6 +-
 .../patchCorrectedInterpolation.C             |   7 +-
 .../patchTransformedInterpolation.C           |   7 +-
 ...irectionalPressureGradientExplicitSource.C |  48 +------
 .../tabulatedNTUHeatTransfer.C                |  36 +----
 .../autoHexMeshDriver/autoLayerDriver.C       |   4 +-
 .../autoHexMeshDriver/autoSnapDriver.C        |   2 +-
 .../meshRefinement/meshRefinement.C           |  34 ++---
 .../meshRefinement/meshRefinementBaffles.C    |  28 ++--
 .../meshRefinement/meshRefinementGapRefine.C  |   2 +-
 .../refinementSurfaces/refinementSurfaces.C   |  29 ++--
 .../autoHexMesh/shellSurfaces/shellSurfaces.C |   7 +-
 .../offsetSurface/offsetSurface.C             |   4 +-
 .../cyclicPeriodicAMIPolyPatch.C              |  36 ++---
 .../algorithms/MeshWave/FaceCellWave.C        |  18 +--
 src/meshTools/regionSplit/regionSplit.C       |   4 +-
 .../searchableSurface/subTriSurfaceMesh.C     |  11 +-
 .../decompositionConstraint.C                 |  11 +-
 .../preserveBafflesConstraint.C               |   7 +-
 .../field/fieldMinMax/fieldMinMax.C           |   2 +-
 .../fieldValueDelta/fieldValueDelta.C         |   7 +-
 .../nearWallFields/nearWallFieldsTemplates.C  |   8 +-
 .../field/streamLine/streamLineBase.C         |  10 +-
 .../field/valueAverage/valueAverage.C         |   2 +-
 .../functionObjects/forces/forces/forces.C    |   6 +-
 .../fieldVisualisationBase.C                  |  16 +--
 .../functionObjectCloud.C                     |  11 +-
 .../functionObjectLine.C                      |  11 +-
 .../functionObjectSurface.C                   |  11 +-
 .../runTimePostProcessing/geometrySurface.C   |  12 +-
 .../graphics/runTimePostProcessing/pathline.C |  14 +-
 .../runTimePostProcessing/pointData.C         |  14 +-
 .../runTimePostProcessing.C                   |   8 +-
 .../runTimePostProcessingTemplates.C          |  12 +-
 .../graphics/runTimePostProcessing/scene.C    |  25 ++--
 .../graphics/runTimePostProcessing/surface.C  |  14 +-
 .../externalCoupledFunctionObject.C           |  57 ++------
 .../externalCoupledFunctionObjectTemplates.C  |  34 +----
 .../averageCondition/averageCondition.C       |   2 +-
 .../equationInitialResidualCondition.C        |  21 +--
 .../equationMaxIterCondition.C                |  16 +--
 .../minMaxCondition/minMaxCondition.C         |   2 +-
 .../runTimeCondition/runTimeConditionNew.C    |  14 +-
 .../runTimeControl/runTimeControl.C           |   4 +-
 .../DESModelRegions/DESModelRegions.C         |  12 +-
 .../utilities/blendingFactor/blendingFactor.C |   2 +-
 .../utilities/fluxSummary/fluxSummary.C       |  75 ++---------
 .../utilities/pressureTools/pressureTools.C   |   8 +-
 .../functionObjects/utilities/yPlus/yPlus.C   |   6 +-
 .../utilities/yPlus/yPlusTemplates.C          |   1 -
 .../cellVolumeWeight/cellVolumeWeightMethod.C |   4 +-
 .../correctedCellVolumeWeightMethod.C         |  12 +-
 .../distributedWeightedFvPatchFieldMapper.H   |  14 +-
 src/sampling/meshToMesh/meshToMeshTemplates.C |  24 +---
 src/sampling/probes/probes.C                  |   4 +-
 .../sampledSurface/isoSurface/isoSurface.C    |   8 +-
 ...emperatureCoupledMixedFvPatchScalarField.C |  25 +---
 94 files changed, 351 insertions(+), 1040 deletions(-)

diff --git a/applications/solvers/electromagnetics/magneticFoam/createFields.H b/applications/solvers/electromagnetics/magneticFoam/createFields.H
index 22d40089213..189ef5d1058 100644
--- a/applications/solvers/electromagnetics/magneticFoam/createFields.H
+++ b/applications/solvers/electromagnetics/magneticFoam/createFields.H
@@ -58,7 +58,7 @@
 
         if (magnetZonei == -1)
         {
-            FatalIOErrorIn(args.executable().c_str(), transportProperties)
+            FatalIOErrorInFunction(transportProperties)
                 << "Cannot find faceZone for magnet " << magnets[i].name()
                 << exit(FatalIOError);
         }
diff --git a/applications/utilities/mesh/conversion/tetgenToFoam/tetgenToFoam.C b/applications/utilities/mesh/conversion/tetgenToFoam/tetgenToFoam.C
index 2a4de9c57b0..c3baad34584 100644
--- a/applications/utilities/mesh/conversion/tetgenToFoam/tetgenToFoam.C
+++ b/applications/utilities/mesh/conversion/tetgenToFoam/tetgenToFoam.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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -225,7 +225,7 @@ int main(int argc, char *argv[])
         }
         if (pointI != nNodes)
         {
-            FatalIOErrorIn(args.executable().c_str(), nodeStream)
+            FatalIOErrorInFunction(nodeStream)
                 << "Only " << pointI << " nodes present instead of " << nNodes
                 << " from header." << exit(FatalIOError);
         }
@@ -258,7 +258,7 @@ int main(int argc, char *argv[])
 
     if (nPtsPerTet != 4)
     {
-        FatalIOErrorIn(args.executable().c_str(), eleStream)
+        FatalIOErrorInFunction(eleStream)
             << "Cannot handle tets with "
             << nPtsPerTet << " points per tetrahedron in .ele file" << endl
             << "Can only handle tetrahedra with four points"
@@ -377,7 +377,7 @@ int main(int argc, char *argv[])
 
         if (nFaceAttr != 1)
         {
-            FatalIOErrorIn(args.executable().c_str(), faceStream)
+            FatalIOErrorInFunction(faceStream)
                 << "Expect boundary markers to be"
                 << " present in .face file." << endl
                 << "This is the second number in the header which is now:"
diff --git a/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/extrudeToRegionMesh.C b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/extrudeToRegionMesh.C
index ff0837e690c..1174444fe0e 100644
--- a/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/extrudeToRegionMesh.C
+++ b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/extrudeToRegionMesh.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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -1523,7 +1523,7 @@ int main(int argc, char *argv[])
         // Check
         if (dict.found("faceSets"))
         {
-            FatalIOErrorIn(args.executable().c_str(), dict)
+            FatalIOErrorInFunction(dict)
                 << "Please supply faces to extrude either through 'faceZones'"
                 << " or 'faceSets' entry. Found both."
                 << exit(FatalIOError);
@@ -1567,7 +1567,7 @@ int main(int argc, char *argv[])
 
     if (shellRegionName == regionName)
     {
-        FatalIOErrorIn(args.executable().c_str(), dict)
+        FatalIOErrorInFunction(dict)
             << "Cannot extrude into same region as mesh." << endl
             << "Mesh region : " << regionName << endl
             << "Shell region : " << shellRegionName
@@ -1693,7 +1693,7 @@ int main(int argc, char *argv[])
             meshZoneID[i] = faceZones.findZoneID(zoneNames[i]);
             if (meshZoneID[i] == -1)
             {
-                FatalIOErrorIn(args.executable().c_str(), dict)
+                FatalIOErrorInFunction(dict)
                     << "Cannot find zone " << zoneNames[i] << endl
                     << "Valid zones are " << faceZones.names()
                     << exit(FatalIOError);
@@ -1740,7 +1740,7 @@ int main(int argc, char *argv[])
                 zoneShadowIDs[i] = faceZones.findZoneID(zoneShadowNames[i]);
                 if (zoneShadowIDs[i] == -1)
                 {
-                    FatalIOErrorIn(args.executable().c_str(), dict)
+                    FatalIOErrorInFunction(dict)
                         << "Cannot find zone " << zoneShadowNames[i] << endl
                         << "Valid zones are " << faceZones.names()
                         << exit(FatalIOError);
@@ -1803,7 +1803,7 @@ int main(int argc, char *argv[])
                 label faceI = iter.key();
                 if (mesh.isInternalFace(faceI))
                 {
-                    FatalIOErrorIn(args.executable().c_str(), dict)
+                    FatalIOErrorInFunction(dict)
                         << "faceSet " << fz.name()
                         << "contains internal faces."
                         << " This is not permitted."
@@ -1843,7 +1843,7 @@ int main(int argc, char *argv[])
 
             if (nExtrudeFaces != nShadowFaces)
             {
-                FatalIOErrorIn(args.executable().c_str(), dict)
+                FatalIOErrorInFunction(dict)
                     << "Extruded faces " << nExtrudeFaces << endl
                     << "is different from shadow faces. " << nShadowFaces
                     << "This is not permitted " << endl
@@ -1863,7 +1863,7 @@ int main(int argc, char *argv[])
                     label faceI = iter.key();
                     if (mesh.isInternalFace(faceI))
                     {
-                        FatalIOErrorIn(args.executable().c_str(), dict)
+                        FatalIOErrorInFunction(dict)
                             << "faceSet " << fz.name()
                             << "contains internal faces."
                             << " This is not permitted."
diff --git a/applications/utilities/mesh/manipulation/checkMesh/checkTools.C b/applications/utilities/mesh/manipulation/checkMesh/checkTools.C
index 49ef7325255..249fe6b90d2 100644
--- a/applications/utilities/mesh/manipulation/checkMesh/checkTools.C
+++ b/applications/utilities/mesh/manipulation/checkMesh/checkTools.C
@@ -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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -60,7 +60,7 @@ void Foam::printMeshStats(const polyMesh& mesh, const bool allTopology)
 
         if (returnReduce(mesh.nInternalPoints(), minOp<label>()) == -1)
         {
-            WarningIn("Foam::printMeshStats(const polyMesh&, const bool)")
+            WarningInFunction
                 << "Some processors have their points sorted into internal"
                 << " and external and some do not." << endl
                 << "This can cause problems later on." << endl;
diff --git a/applications/utilities/parallelProcessing/redistributePar/redistributePar.C b/applications/utilities/parallelProcessing/redistributePar/redistributePar.C
index 7bc942bacd2..c2667c60d7b 100644
--- a/applications/utilities/parallelProcessing/redistributePar/redistributePar.C
+++ b/applications/utilities/parallelProcessing/redistributePar/redistributePar.C
@@ -300,7 +300,7 @@ void determineDecomposition
 
     if (!decomposer.parallelAware())
     {
-        WarningIn("determineDecomposition(..)")
+        WarningInFunction
             << "You have selected decomposition method "
             << decomposer.typeName
             << " which does" << endl
@@ -543,11 +543,8 @@ void writeProcAddressing
 
     if (!cellOk || !faceOk || !pointOk || !patchOk)
     {
-        WarningIn
-        (
-            "void writeProcAddressing"
-            "(const bool, const fvMesh&, const mapDistributePolyMesh&)"
-        )   << "Failed to write " << cellMap.objectPath()
+        WarningInFunction
+            << "Failed to write " << cellMap.objectPath()
             << ", " << faceMap.objectPath()
             << ", " << pointMap.objectPath()
             << ", " << patchMap.objectPath()
@@ -785,7 +782,7 @@ void correctCoupledBoundaryConditions(fvMesh& mesh)
         }
         else
         {
-            FatalErrorIn("correctCoupledBoundaryConditions()")
+            FatalErrorInFunction
                 << "Unsuported communications type "
                 << Pstream::commsTypeNames[Pstream::defaultCommsType]
                 << exit(FatalError);
@@ -865,7 +862,7 @@ autoPtr<mapDistributePolyMesh> redistributeAndWrite
 
             if (nonProcI == -1)
             {
-                FatalErrorIn("redistributeAndWrite(..)")
+                FatalErrorInFunction
                     << "Cannot find non-processor patch on processor "
                     << Pstream::myProcNo() << endl
                     << " Current patches:" << patches.names()
@@ -1508,11 +1505,8 @@ void readProcAddressing
          || mesh.boundaryMesh().size() != boundaryProcAddressing.size()
         )
         {
-            FatalErrorIn
-            (
-                "readProcAddressing(const fvMesh&, const autoPtr<fvMesh>&,"
-                "autoPtr<mapDistributePolyMesh>&"
-            )   << "Read addressing inconsistent with mesh sizes" << nl
+            FatalErrorInFunction
+                << "Read addressing inconsistent with mesh sizes" << nl
                 << "cells:" << mesh.nCells()
                 << " addressing:" << cellProcAddressing.objectPath()
                 << " size:" << cellProcAddressing.size() << nl
@@ -2173,7 +2167,7 @@ int main(int argc, char *argv[])
 
     if (env("FOAM_SIGFPE"))
     {
-        WarningIn(args.executable())
+        WarningInFunction
             << "Detected floating point exception trapping (FOAM_SIGFPE)."
             << " This might give" << nl
             << "    problems when mapping fields. Switch it off in case"
@@ -2191,7 +2185,7 @@ int main(int argc, char *argv[])
         Info<< "Decomposing case (like decomposePar)" << nl << endl;
         if (reconstruct)
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "Cannot specify both -decompose and -reconstruct"
                 << exit(FatalError);
         }
@@ -2206,7 +2200,7 @@ int main(int argc, char *argv[])
     {
         if (!overwrite)
         {
-            WarningIn(args.executable())
+            WarningInFunction
                 << "Working in decompose or reconstruction mode automatically"
                 << " implies -overwrite" << nl << endl;
             overwrite = true;
@@ -2216,7 +2210,7 @@ int main(int argc, char *argv[])
 
     if (!Pstream::parRun())
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << ": This utility can only be run parallel"
             << exit(FatalError);
     }
@@ -2224,7 +2218,7 @@ int main(int argc, char *argv[])
 
     if (!isDir(args.rootPath()))
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << ": cannot open root directory " << args.rootPath()
             << exit(FatalError);
     }
@@ -2375,7 +2369,7 @@ int main(int argc, char *argv[])
 
         if (timeDirs.empty())
         {
-            FatalErrorIn(args.executable())
+            FatalErrorInFunction
                 << "No times selected"
                 << exit(FatalError);
         }
diff --git a/applications/utilities/preProcessing/createZeroDirectory/boundaryTemplates.C b/applications/utilities/preProcessing/createZeroDirectory/boundaryTemplates.C
index 6e831745d80..193334e37de 100644
--- a/applications/utilities/preProcessing/createZeroDirectory/boundaryTemplates.C
+++ b/applications/utilities/preProcessing/createZeroDirectory/boundaryTemplates.C
@@ -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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -192,7 +192,8 @@ Foam::dictionary Foam::boundaryTemplates::generatePatchDict
 
                 if (!regionOptions.found(category))
                 {
-                    FatalError<< "No options available for category "
+                    FatalErrorInFunction
+                        << "No options available for category "
                         << category << exit(FatalError);
                 }
 
@@ -207,19 +208,7 @@ Foam::dictionary Foam::boundaryTemplates::generatePatchDict
                     word selected;
                     if (!conditionOptions.readIfPresent(option, selected))
                     {
-                        FatalErrorIn
-                        (
-                            "Foam::dictionary "
-                            "Foam::boundaryTemplates::generatePatchDict"
-                            "("
-                                "const word&, "
-                                "const word&, "
-                                "const word&, "
-                                "const word&, "
-                                "const word&, "
-                                "const dictionary&"
-                            ") const"
-                        )
+                        FatalErrorInFunction
                             << "Condition " << condition << ": "
                             << "No option '" << option
                             << "' available for category '" << category
@@ -231,19 +220,7 @@ Foam::dictionary Foam::boundaryTemplates::generatePatchDict
 
                     if (!dict.found(option))
                     {
-                        FatalErrorIn
-                        (
-                            "Foam::dictionary "
-                            "Foam::boundaryTemplates::generatePatchDict"
-                            "("
-                                "const word&, "
-                                "const word&, "
-                                "const word&, "
-                                "const word&, "
-                                "const word&, "
-                                "const dictionary&"
-                            ") const"
-                        )
+                        FatalErrorInFunction
                             << "Condition " << condition << ": "
                             << "No option '" << option
                             << "' available for category '" << category
@@ -256,19 +233,7 @@ Foam::dictionary Foam::boundaryTemplates::generatePatchDict
 
                     if (!optionDict.found(selected))
                     {
-                        FatalErrorIn
-                        (
-                            "Foam::dictionary "
-                            "Foam::boundaryTemplates::generatePatchDict"
-                            "("
-                                "const word&, "
-                                "const word&, "
-                                "const word&, "
-                                "const word&, "
-                                "const word&, "
-                                "const dictionary&"
-                            ") const"
-                        )
+                        FatalErrorInFunction
                             << "Condition " << condition << ": "
                             << "No option '" << selected
                             << "' available for category '" << category
@@ -307,19 +272,7 @@ Foam::dictionary Foam::boundaryTemplates::generatePatchDict
             }
             else
             {
-                FatalErrorIn
-                (
-                    "Foam::dictionary "
-                    "Foam::boundaryTemplates::generatePatchDict"
-                    "("
-                        "const word&, "
-                        "const word&, "
-                        "const word&, "
-                        "const word&, "
-                        "const word&, "
-                        "const dictionary&"
-                    ") const"
-                )
+                FatalErrorInFunction
                     << "Condition " << condition << ": "
                     << "No '" << patchType
                     << "' condition found for field '" << fieldName
@@ -329,19 +282,7 @@ Foam::dictionary Foam::boundaryTemplates::generatePatchDict
         }
         else
         {
-            FatalErrorIn
-            (
-                "Foam::dictionary "
-                "Foam::boundaryTemplates::generatePatchDict"
-                "("
-                    "const word&, "
-                    "const word&, "
-                    "const word&, "
-                    "const word&, "
-                    "const word&, "
-                    "const dictionary&"
-                ") const"
-            )
+            FatalErrorInFunction
                 << "Condition " << condition << ": "
                 << "No '" << patchType << "' boundary types defined in "
                 << categoryDict.dictName() << " templates.  "
@@ -351,19 +292,7 @@ Foam::dictionary Foam::boundaryTemplates::generatePatchDict
     }
     else
     {
-        FatalErrorIn
-        (
-            "Foam::dictionary "
-            "Foam::boundaryTemplates::generatePatchDict"
-            "("
-                "const word&, "
-                "const word&, "
-                "const word&, "
-                "const word&, "
-                "const word&, "
-                "const dictionary&"
-            ") const"
-        )
+        FatalErrorInFunction
             << "Condition " << condition << ": "
             << "Invalid boundary condition type '" << patchType
             << "'.  Valid types are:" << regionTemplates.toc()
@@ -386,14 +315,7 @@ void Foam::boundaryTemplates::checkPatch
 
     if (!regionTemplates.found(category))
     {
-        FatalErrorIn
-        (
-            "void Foam::boundaryTemplates::checkPatch"
-            "("
-                "const word&, "
-                "const word&"
-            ") const"
-        )
+        FatalErrorInFunction
             << "Condition " << condition << ": "
             << "Unknown category '" << category
             << "'.  Valid categories are: " << regionTemplates.toc()
@@ -404,14 +326,7 @@ void Foam::boundaryTemplates::checkPatch
 
     if (!categoryDict.found(patchType))
     {
-        FatalErrorIn
-        (
-            "void Foam::boundaryTemplates::checkPatch"
-            "("
-                "const word&, "
-                "const word&"
-            ") const"
-        )
+        FatalErrorInFunction
             << "Condition " << condition << ": "
             << "Unknown type '" << patchType << "' in category '"
             << category << "'.  Valid types are: " << categoryDict.toc()
@@ -444,14 +359,7 @@ bool Foam::boundaryTemplates::optionsRequired
         }
         else
         {
-            FatalErrorIn
-            (
-                "bool Foam::boundaryTemplates::optionsRequired"
-                "("
-                    "const word&, "
-                    "const word&"
-                ") const"
-            )
+            FatalErrorInFunction
                 << "No type '" << patchType << "' found in category '"
                 << category << "'.  Valid types are "
                 << categoryDict.toc()
@@ -460,14 +368,7 @@ bool Foam::boundaryTemplates::optionsRequired
     }
     else
     {
-        FatalErrorIn
-        (
-            "bool Foam::boundaryTemplates::optionsRequired"
-            "("
-                "const word&, "
-                "const word&"
-            ") const"
-        )
+        FatalErrorInFunction
             << "No category '" << category << "' found in templates.  "
             << "Valid categories are " << templates_.toc()
             << exit(FatalError);
diff --git a/applications/utilities/preProcessing/createZeroDirectory/caseInfo.C b/applications/utilities/preProcessing/createZeroDirectory/caseInfo.C
index 0548ba35393..d48b7c2da58 100644
--- a/applications/utilities/preProcessing/createZeroDirectory/caseInfo.C
+++ b/applications/utilities/preProcessing/createZeroDirectory/caseInfo.C
@@ -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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -40,7 +40,7 @@ Foam::label Foam::caseInfo::findPatchConditionID
 {
     const wordList& patchGroups = boundaryInfo_.groups()[patchI];
 
-    // assign condition according to last condition applied, wins
+    // Assign condition according to last condition applied, wins
     forAllReverse(conditionNames_, conditionI)
     {
         const wordReList& patchNames = patchNames_[conditionI];
@@ -49,17 +49,17 @@ Foam::label Foam::caseInfo::findPatchConditionID
         {
             if (patchNames[nameI] == patchName)
             {
-                // check for explicit match
+                // Check for explicit match
                 return conditionI;
             }
             else if (patchNames[nameI].match(patchName))
             {
-                // check wildcards
+                // Check wildcards
                 return conditionI;
             }
             else
             {
-                // check for group match
+                // Check for group match
                 forAll(patchGroups, groupI)
                 {
                     if (patchNames[nameI] == patchGroups[groupI])
@@ -71,14 +71,7 @@ Foam::label Foam::caseInfo::findPatchConditionID
         }
     }
 
-    FatalErrorIn
-    (
-        "Foam::label Foam::caseInfo::findPatchConditionID"
-        "("
-            "const label, "
-            "const word&"
-        ") const"
-    )
+    FatalErrorInFunction
         << "Boundary patch " << patchName << " not defined"
         << exit(FatalError);
 
@@ -94,7 +87,7 @@ void Foam::caseInfo::updateGeometricBoundaryField()
 
         if (!boundaryInfo_.constraint()[i])
         {
-            // condition ID to apply to mesh boundary patch name
+            // Condition ID to apply to mesh boundary patch name
             const label conditionI = findPatchConditionID(i, patchName);
 
             const word& category = patchCategories_[conditionI];
@@ -130,7 +123,7 @@ Foam::caseInfo::caseInfo(const Time& runTime, const word& regionName)
     patchCategories_(conditionNames_.size()),
     patchTypes_(conditionNames_.size())
 {
-    // read the (user-supplied) boundary condition information
+    // Read the (user-supplied) boundary condition information
     Info<< "    Reading case properties" << endl;
 
     forAll(conditionNames_, i)
@@ -153,7 +146,7 @@ void Foam::caseInfo::checkPatches
     const boundaryTemplates& bcTemplates
 ) const
 {
-    // check that all conditions have been specified correctly wrt templates
+    // Check that all conditions have been specified correctly wrt templates
     forAll(conditionNames_, i)
     {
         bcTemplates.checkPatch
@@ -209,26 +202,18 @@ Foam::dictionary Foam::caseInfo::generateBoundaryField
             dictionary patchDict = dictionary::null;
             patchDict.add("type", boundaryInfo_.types()[j]);
 
-            // add value for processor patches
+            // Add value for processor patches
             patchDict.add("value", "${:internalField}");
             boundaryField.add(patchName.c_str(), patchDict);
         }
         else
         {
-            // condition ID to apply to mesh boundary patch name
+            // Condition ID to apply to mesh boundary patch name
             const label conditionI = findPatchConditionID(j, patchName);
 
             if (conditionI == -1)
             {
-                FatalErrorIn
-                (
-                    "Foam::dictionary Foam::caseInfo::generateBoundaryField"
-                    "("
-                        "const word&, "
-                        "const word&, "
-                        "const boundaryTemplates&"
-                    ") const"
-                )
+                FatalErrorInFunction
                     << "Unable to find patch " << patchName
                     << " in list of boundary conditions"
                     << exit(FatalError);
@@ -246,7 +231,7 @@ Foam::dictionary Foam::caseInfo::generateBoundaryField
                 optionDict = bcDict_.subDict(condition).subDict("options");
             }
 
-            // create the patch dictionary entry
+            // Create the patch dictionary entry
             dictionary patchDict
             (
                 bcTemplates.generatePatchDict
diff --git a/applications/utilities/preProcessing/createZeroDirectory/createZeroDirectory.C b/applications/utilities/preProcessing/createZeroDirectory/createZeroDirectory.C
index 2d23c9d8362..e7da8405472 100644
--- a/applications/utilities/preProcessing/createZeroDirectory/createZeroDirectory.C
+++ b/applications/utilities/preProcessing/createZeroDirectory/createZeroDirectory.C
@@ -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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -243,7 +243,7 @@ int main(int argc, char *argv[])
 
     if (!isDir(baseDir))
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "templateDir " << baseDir
             << " should point to the folder containing the "
             << "case set-up templates" << exit(FatalError);
diff --git a/applications/utilities/preProcessing/createZeroDirectory/solverTemplate.C b/applications/utilities/preProcessing/createZeroDirectory/solverTemplate.C
index 19018d1b3a4..becbc614ad2 100644
--- a/applications/utilities/preProcessing/createZeroDirectory/solverTemplate.C
+++ b/applications/utilities/preProcessing/createZeroDirectory/solverTemplate.C
@@ -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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -59,14 +59,7 @@ Foam::word Foam::solverTemplate::readFromDict
 {
     if (!dictHeader.headerOk())
     {
-        FatalErrorIn
-        (
-            "Foam::word Foam::solverTemplate::readFromDict"
-            "("
-                "IOobject&, "
-                "const word&"
-            ") const"
-        )
+        FatalErrorInFunction
             << "Unable to open file "
             << dictHeader.objectPath()
             << exit(FatalError);
@@ -142,33 +135,16 @@ Foam::dictionary Foam::solverTemplate::readFluidFieldTemplates
             }
             else
             {
-                FatalErrorIn
-                (
-                    "Foam::dictionary "
-                    "Foam::solverTemplate::readFluidFieldTemplates"
-                    "("
-                        "const word&, "
-                        "const fileName&, "
-                        "const dictionary&, "
-                        "const Time&"
-                    ") const"
-                )   << "Unhandled turbulence model option " << simulationType
+                FatalErrorInFunction
+                    << "Unhandled turbulence model option " << simulationType
                     << ". Valid options are laminar, RAS, LES"
                     << exit(FatalError);
             }
         }
         else
         {
-            FatalErrorIn
-            (
-                "Foam::dictionary Foam::solverTemplate::readFluidFieldTemplates"
-                "("
-                    "const word&, "
-                    "const fileName&, "
-                    "const dictionary&, "
-                    "const Time&"
-                ") const"
-            )   << "Unhandled turbulence model option " << simulationType
+            FatalErrorInFunction
+                << "Unhandled turbulence model option " << simulationType
                 << ". Valid options are turbulenceModel"
                 << exit(FatalError);
         }
diff --git a/applications/utilities/preProcessing/mapFieldsPar/mapFieldsPar.C b/applications/utilities/preProcessing/mapFieldsPar/mapFieldsPar.C
index 9f16746adbb..515dc664592 100644
--- a/applications/utilities/preProcessing/mapFieldsPar/mapFieldsPar.C
+++ b/applications/utilities/preProcessing/mapFieldsPar/mapFieldsPar.C
@@ -277,7 +277,7 @@ int main(int argc, char *argv[])
 
     if (patchMapMethod.empty())
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "No valid patchMapMethod for method " << mapMethod
             << ". Please supply one through the 'patchMapMethod' option"
             << exit(FatalError);
diff --git a/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C b/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C
index 14bb961731f..7c3fa7eeb12 100644
--- a/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C
+++ b/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C
@@ -406,8 +406,9 @@ void visitPointRegion
         }
         else
         {
-            FatalErrorIn("visitPointRegion(..)")
+            FatalErrorInFunction
                 << "problem" << exit(FatalError);
+
             nextFaceI = -1;
         }
 
@@ -440,7 +441,7 @@ void visitPointRegion
 
             if (nextEdgeI == -1)
             {
-                FatalErrorIn("visitPointRegion()")
+                FatalErrorInFunction
                     << "Problem: cannot find edge out of " << fEdges
                     << "on face " << nextFaceI << " that uses point " << pointI
                     << " and is not edge " << startEdgeI << abort(FatalError);
@@ -576,7 +577,7 @@ label dupNonManifoldPoints(triSurface& s, labelList& pointMap)
 
             if (mag(dupPt-sPt) > SMALL)
             {
-                FatalErrorIn("dupNonManifoldPoints(..)")
+                FatalErrorInFunction
                     << "dupPt:" << dupPt
                     << " sPt:" << sPt
                     << exit(FatalError);
@@ -803,7 +804,8 @@ labelList matchEdges
 {
     if (pointMap.size() != subSurf.nPoints())
     {
-        FatalErrorIn("findEdges(..)") << "problem" << exit(FatalError);
+        FatalErrorInFunction
+            << "problem" << exit(FatalError);
     }
 
     labelList edgeMap(subSurf.nEdges(), -1);
@@ -835,7 +837,7 @@ labelList matchEdges
                 }
                 else if (edgeMap[subEdgeI] != edgeI)
                 {
-                    WarningIn("findEdges(..)") << "sub edge "
+                    FatalErrorInFunction
                         << subE << " points:"
                         << subE.line(subSurf.localPoints())
                         << " matches to " << edgeI
@@ -851,7 +853,7 @@ labelList matchEdges
 
         if (edgeMap[subEdgeI] == -1)
         {
-            FatalErrorIn("findEdges(..)") << "did not find edge matching "
+            FatalErrorInFunction
                 << subE << " at:" << subSurf.localPoints()[subE[0]]
                 << subSurf.localPoints()[subE[1]]
                 << exit(FatalError);
@@ -1563,7 +1565,7 @@ int main(int argc, char *argv[])
 
     if (!validActions.found(action))
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Unsupported action " << action << endl
             << "Supported actions:" << validActions.toc() << abort(FatalError);
     }
@@ -1620,7 +1622,7 @@ int main(int argc, char *argv[])
 
     if (invertedSpace && validActions[action] == booleanSurface::DIFFERENCE)
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Inverted space only makes sense for union or intersection."
             << exit(FatalError);
     }
diff --git a/applications/utilities/surface/surfaceCheck/surfaceCheck.C b/applications/utilities/surface/surfaceCheck/surfaceCheck.C
index c4783d19fe7..4a2a4a372d4 100644
--- a/applications/utilities/surface/surfaceCheck/surfaceCheck.C
+++ b/applications/utilities/surface/surfaceCheck/surfaceCheck.C
@@ -430,7 +430,7 @@ int main(int argc, char *argv[])
 
             if (f[0] == f[1] || f[0] == f[2] || f[1] == f[2])
             {
-                //WarningIn(args.executable())
+                //WarningInFunction
                 //    << "Illegal triangle " << faceI << " vertices " << f
                 //    << " coords " << f.points(surf.points()) << endl;
             }
diff --git a/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C b/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C
index a763c90c29d..0ee2abbfbd4 100644
--- a/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C
+++ b/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -1454,7 +1454,7 @@ int main(int argc, char *argv[])
                 {
                     drawHitProblem(fI, surf, start, faceCentres, end, hitInfo);
 
-                    // FatalErrorIn(args.executable())
+                    // FatalErrorInFunction
                     //     << "findLineAll did not hit its own face."
                     //     << exit(FatalError);
                 }
@@ -1462,7 +1462,7 @@ int main(int argc, char *argv[])
                 {
                     if (!hitInfo[0].hit())
                     {
-                        // FatalErrorIn(args.executable())
+                        // FatalErrorInFunction
                         //     << "findLineAll did not hit any face."
                         //     << exit(FatalError);
                     }
@@ -1478,7 +1478,7 @@ int main(int argc, char *argv[])
                             hitInfo
                         );
 
-                        // FatalErrorIn(args.executable())
+                        // FatalErrorInFunction
                         //     << "findLineAll did not hit its own face."
                         //     << exit(FatalError);
                     }
@@ -1511,7 +1511,7 @@ int main(int argc, char *argv[])
                             hitInfo
                         );
 
-                        // FatalErrorIn(args.executable())
+                        // FatalErrorInFunction
                         //     << "findLineAll did not hit its own face."
                         //     << exit(FatalError);
                     }
diff --git a/applications/utilities/surface/surfaceInflate/surfaceInflate.C b/applications/utilities/surface/surfaceInflate/surfaceInflate.C
index dfc41543217..008e6789a23 100644
--- a/applications/utilities/surface/surfaceInflate/surfaceInflate.C
+++ b/applications/utilities/surface/surfaceInflate/surfaceInflate.C
@@ -71,7 +71,7 @@ scalar calcVertexNormalWeight
 
     if (index == -1)
     {
-        FatalErrorIn("calcVertexNormals()")
+        FatalErrorInFunction
             << "Point not in face" << abort(FatalError);
     }
 
@@ -199,7 +199,8 @@ tmp<vectorField> calcPointNormals
     {
         if (mag(mag(pointNormals[pointI])-1) > SMALL)
         {
-            FatalErrorIn("calcPointNormals()") << "unitialised"
+            FatalErrorInFunction
+                << "unitialised"
                 << exit(FatalError);
         }
     }
@@ -626,7 +627,7 @@ int main(int argc, char *argv[])
 
     if (extendFactor < 1 || extendFactor > 10)
     {
-        FatalErrorIn(args.executable())
+        FatalErrorInFunction
             << "Illegal safety factor " << extendFactor
             << ". It is usually 1..2"
             << exit(FatalError);
diff --git a/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/cut.C b/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/cut.C
index c04c47da0b5..944c2465557 100644
--- a/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/cut.C
+++ b/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/cut.C
@@ -118,14 +118,8 @@ Foam::triSurface& Foam::searchableSurfaceModifiers::cut::triangulate
     }
     else
     {
-        FatalErrorIn
-        (
-            "searchableSurfaceModifiers::cut::triangulate\n"
-            "(\n"
-            "    const searchableSurface&,\n"
-            "    triSurface&\n"
-            ")"
-        )   << "Triangulation only supported for triSurfaceMesh, searchableBox"
+        FatalErrorInFunction
+            << "Triangulation only supported for triSurfaceMesh, searchableBox"
             << ", not for surface " << cutter.name()
             << " of type " << cutter.type()
             << exit(FatalError);
diff --git a/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/searchableSurfaceModifier.C b/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/searchableSurfaceModifier.C
index e28036012c2..dab502db72d 100644
--- a/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/searchableSurfaceModifier.C
+++ b/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/searchableSurfaceModifier.C
@@ -69,11 +69,8 @@ Foam::searchableSurfaceModifier::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "searchableSurfaceModifier::New"
-            "(const word&, const searchableSurfaces&, const dictionary&)"
-        )   << "Unknown searchableSurfaceModifier type "
+        FatalErrorInFunction
+            << "Unknown searchableSurfaceModifier type "
             << type << nl << nl
             << "Valid searchableSurfaceModifier types : " << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/OpenFOAM/db/IOobjects/CompactIOList/CompactIOList.C b/src/OpenFOAM/db/IOobjects/CompactIOList/CompactIOList.C
index 441b0730aca..6feb58cbc56 100644
--- a/src/OpenFOAM/db/IOobjects/CompactIOList/CompactIOList.C
+++ b/src/OpenFOAM/db/IOobjects/CompactIOList/CompactIOList.C
@@ -45,10 +45,8 @@ void Foam::CompactIOList<T, BaseType>::readFromStream()
     }
     else
     {
-        FatalIOErrorInFunction
-        (
-            is
-        )   << "unexpected class name " << headerClassName()
+        FatalIOErrorInFunction(is)
+            << "unexpected class name " << headerClassName()
             << " expected " << typeName << " or " << IOList<T>::typeName
             << endl
             << "    while reading object " << name()
@@ -196,12 +194,8 @@ bool Foam::CompactIOList<T, BaseType>::writeObject
     }
     else if (overflows())
     {
-        WarningIn
-        (
-            "CompactIOList<T, BaseType>::writeObject"
-            "(IOstream::streamFormat, IOstream::versionNumber"
-            ", IOstream::compressionType) const"
-        )   << "Overall number of elements of CompactIOList of size "
+        WarningInFunction
+            << "Overall number of elements of CompactIOList of size "
             << this->size() << " overflows the representation of a label"
             << endl << "    Switching to ascii writing" << endl;
 
@@ -308,12 +302,8 @@ Foam::Ostream& Foam::operator<<
 
             if (start[i] < prev)
             {
-                FatalIOErrorIn
-                (
-                    "operator<<"
-                    "(Ostream& os, const CompactIOList<T, BaseType>&)",
-                    os
-                )   << "Overall number of elements " << start[i]
+                FatalIOErrorInFunction(os)
+                    << "Overall number of elements " << start[i]
                     << " of CompactIOList of size "
                     << L.size() << " overflows the representation of a label"
                     << endl << "Please recompile with a larger representation"
diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C b/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C
index 8dfc4cb025c..87b21b43b3e 100644
--- a/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C
+++ b/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C
@@ -83,7 +83,7 @@ void Foam::UPstream::setParRun(const label nProcs)
         label comm = allocateCommunicator(-1, identity(nProcs), true);
         if (comm != UPstream::worldComm)
         {
-            FatalErrorIn("UPstream::setParRun(const label)")
+            FatalErrorInFunction
                 << "problem : comm:" << comm
                 << "  UPstream::worldComm:" << UPstream::worldComm
                 << Foam::exit(FatalError);
diff --git a/src/OpenFOAM/db/functionObjects/functionObjectState/functionObjectStateTemplates.C b/src/OpenFOAM/db/functionObjects/functionObjectState/functionObjectStateTemplates.C
index fb27b2668c0..5b48e6c48fe 100644
--- a/src/OpenFOAM/db/functionObjects/functionObjectState/functionObjectStateTemplates.C
+++ b/src/OpenFOAM/db/functionObjects/functionObjectState/functionObjectStateTemplates.C
@@ -32,10 +32,8 @@ bool Foam::functionObjectState::setActive()
 
     if (!isA<Type>(obr_))
     {
-        WarningIn
-        (
-            "void Foam::functionObjectState::setActive()"
-        )   << "No " << Type::typeName << " available, deactivating " << name_
+        WarningInFunction
+            << "No " << Type::typeName << " available, deactivating " << name_
             << endl;
 
         active_ = false;
diff --git a/src/OpenFOAM/fields/Fields/Field/FieldMapper.H b/src/OpenFOAM/fields/Fields/Field/FieldMapper.H
index 13cc98e11ec..32f446cbae0 100644
--- a/src/OpenFOAM/fields/Fields/Field/FieldMapper.H
+++ b/src/OpenFOAM/fields/Fields/Field/FieldMapper.H
@@ -73,7 +73,7 @@ public:
 
         virtual const mapDistributeBase& distributeMap() const
         {
-            FatalErrorIn("FieldMapper::distributeMap() const")
+            FatalErrorInFunction
                 << "attempt to access null distributeMap"
                 << abort(FatalError);
             return *reinterpret_cast<mapDistributeBase*>(NULL);
diff --git a/src/OpenFOAM/global/argList/argList.C b/src/OpenFOAM/global/argList/argList.C
index e40181e5d3d..45adb22276f 100644
--- a/src/OpenFOAM/global/argList/argList.C
+++ b/src/OpenFOAM/global/argList/argList.C
@@ -817,7 +817,7 @@ void Foam::argList::parse
                 // the same build
                 if (slaveBuild != Foam::FOAMbuild)
                 {
-                    FatalErrorIn(executable())
+                    FatalError
                         << "Master is running version " << Foam::FOAMbuild
                         << "; slave " << procI << " is running version "
                         << slaveBuild
diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBase.C b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBase.C
index 6ac881c880c..2cdf3d0af21 100644
--- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBase.C
+++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBase.C
@@ -190,19 +190,8 @@ void Foam::mapDistributeBase::checkReceivedSize
 {
     if (receivedSize != expectedSize)
     {
-        FatalErrorIn
-        (
-            "template<class T>\n"
-            "void mapDistributeBase::distribute\n"
-            "(\n"
-            "    const Pstream::commsTypes commsType,\n"
-            "    const List<labelPair>& schedule,\n"
-            "    const label constructSize,\n"
-            "    const labelListList& subMap,\n"
-            "    const labelListList& constructMap,\n"
-            "    List<T>& field\n"
-            ")\n"
-        )   << "Expected from processor " << procI
+        FatalErrorInFunction
+            << "Expected from processor " << procI
             << " " << expectedSize << " but received "
             << receivedSize << " elements."
             << abort(FatalError);
@@ -265,7 +254,7 @@ void Foam::mapDistributeBase::printLayout(Ostream& os) const
             {
                 if (minIndex[procI] != offset)
                 {
-                    FatalErrorIn("mapDistributeBase::printLayout(..)")
+                    FatalErrorInFunction
                         << "offset:" << offset
                         << " procI:" << procI
                         << " minIndex:" << minIndex[procI]
@@ -604,11 +593,8 @@ Foam::mapDistributeBase::mapDistributeBase
 {
     if (sendProcs.size() != recvProcs.size())
     {
-        FatalErrorIn
-        (
-            "mapDistributeBase::mapDistributeBase"
-            "(const labelList&, const labelList&)"
-        )   << "The send and receive data is not the same length. sendProcs:"
+        FatalErrorInFunction
+            << "The send and receive data is not the same length. sendProcs:"
             << sendProcs.size() << " recvProcs:" << recvProcs.size()
             << abort(FatalError);
     }
@@ -1248,10 +1234,8 @@ void Foam::mapDistributeBase::operator=(const mapDistributeBase& rhs)
     // Check for assignment to self
     if (this == &rhs)
     {
-        FatalErrorIn
-        (
-            "Foam::mapDistributeBase::operator=(const Foam::mapDistributeBase&)"
-        )   << "Attempted assignment to self"
+        FatalErrorInFunction
+            << "Attempted assignment to self"
             << abort(FatalError);
     }
     constructSize_ = rhs.constructSize_;
diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C
index f205072d0ac..111424e5893 100644
--- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C
+++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C
@@ -57,7 +57,7 @@ void Foam::mapDistributeBase::flipAndCombine
             }
             else
             {
-                FatalErrorIn("mapDistributeBase::combine(..)")
+                FatalErrorInFunction
                     << "At index " << i << " out of " << map.size()
                     << " have illegal index " << map[i]
                     << " for field " << rhs.size() << " with flipMap"
@@ -97,7 +97,7 @@ T Foam::mapDistributeBase::accessAndFlip
         }
         else
         {
-            FatalErrorIn("mapDistributeBase::accessAndFlip(..)")
+            FatalErrorInFunction
                 << "Illegal index " << index
                 << " into field of size " << fld.size()
                 << " with face-flipping"
@@ -590,7 +590,7 @@ void Foam::mapDistributeBase::distribute
     }
     else
     {
-        FatalErrorIn("mapDistributeBase::distribute(..)")
+        FatalErrorInFunction
             << "Unknown communication schedule " << commsType
             << abort(FatalError);
     }
@@ -1066,7 +1066,7 @@ void Foam::mapDistributeBase::distribute
     }
     else
     {
-        FatalErrorIn("mapDistributeBase::distribute(..)")
+        FatalErrorInFunction
             << "Unknown communication schedule " << commsType
             << abort(FatalError);
     }
@@ -1125,15 +1125,8 @@ const
 
             if (recvField.size() != map.size())
             {
-                FatalErrorIn
-                (
-                    "template<class T>\n"
-                    "void mapDistributeBase::receive\n"
-                    "(\n"
-                    "    PstreamBuffers&,\n"
-                    "    List<T>&\n"
-                    ")\n"
-                )   << "Expected from processor " << domain
+                FatalErrorInFunction
+                    << "Expected from processor " << domain
                     << " " << map.size() << " but received "
                     << recvField.size() << " elements."
                     << abort(FatalError);
diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributePolyMesh.C b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributePolyMesh.C
index 422e0b0ba0c..48f2830b656 100644
--- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributePolyMesh.C
+++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributePolyMesh.C
@@ -48,7 +48,7 @@ void Foam::mapDistributePolyMesh::calcPatchSizes()
 
         if (min(oldPatchSizes_) < 0)
         {
-            FatalErrorIn("mapDistributePolyMesh::calcPatchSizes()")
+            FatalErrorInFunction
                 << "Calculated negative old patch size:" << oldPatchSizes_ << nl
                 << "Error in mapping data" << abort(FatalError);
         }
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C
index 41273c43045..fff73ccb418 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -143,17 +143,8 @@ externalWallHeatFluxTemperatureFvPatchScalarField
 
             if (thicknessLayers_.size() != kappaLayers_.size())
             {
-                FatalIOErrorIn
-                (
-                    "externalWallHeatFluxTemperatureFvPatchScalarField::"
-                    "externalWallHeatFluxTemperatureFvPatchScalarField\n"
-                    "(\n"
-                    "    const fvPatch&,\n"
-                    "    const DimensionedField<scalar, volMesh>&,\n"
-                    "    const dictionary&\n"
-                    ")\n",
-                    dict
-                )   << "\n number of layers for thicknessLayers and "
+                FatalIOErrorInFunction(dict)
+                    << "\n number of layers for thicknessLayers and "
                     << "kappaLayers must be the same"
                     << "\n for patch " << p.name()
                     << " of field " << dimensionedInternalField().name()
diff --git a/src/TurbulenceModels/schemes/DEShybrid/DEShybrid.H b/src/TurbulenceModels/schemes/DEShybrid/DEShybrid.H
index e7607005ea4..df2642e27ea 100644
--- a/src/TurbulenceModels/schemes/DEShybrid/DEShybrid.H
+++ b/src/TurbulenceModels/schemes/DEShybrid/DEShybrid.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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -212,13 +212,13 @@ public:
         {
             if (invTau_.value() <= 0)
             {
-                FatalErrorIn("DEShybrid(const fvMesh&, Istream&)")
+                FatalErrorInFunction
                     << "invTau coefficient must be greater than 0. "
                     << "Current value: " << invTau_ << exit(FatalError);
             }
             if (sigmaMax_ > 1)
             {
-                FatalErrorIn("DEShybrid(const fvMesh&, Istream&)")
+                FatalErrorInFunction
                     << "sigmaMax coefficient must be less than or equal to 1. "
                     << "Current value: " << sigmaMax_ << exit(FatalError);
             }
@@ -249,13 +249,13 @@ public:
         {
             if (invTau_.value() <= 0)
             {
-                FatalErrorIn("DEShybrid(const fvMesh&, Istream&)")
+                FatalErrorInFunction
                     << "invTau coefficient must be greater than 0. "
                     << "Current value: " << invTau_ << exit(FatalError);
             }
             if (sigmaMax_ > 1)
             {
-                FatalErrorIn("DEShybrid(const fvMesh&, Istream&)")
+                FatalErrorInFunction
                     << "sigmaMax coefficient must be less than or equal to 1. "
                     << "Current value: " << sigmaMax_ << exit(FatalError);
             }
@@ -303,13 +303,7 @@ public:
             }
             else
             {
-                FatalErrorIn
-                (
-                    "virtual tmp<surfaceScalarField> DEShybrid::blendingFactor"
-                    "("
-                         "const GeometricField<Type, fvPatchField, volMesh>&"
-                    ") const"
-                )
+                FatalErrorInFunction
                     << "Scheme requires a turbulence model to be present. "
                     << "Unable to retrieve turbulence model from the mesh "
                     << "database" << exit(FatalError);
diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C
index 9b12fb86a16..797f42407bf 100644
--- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C
+++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.C
@@ -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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -39,10 +39,7 @@ const IDDESDelta& kOmegaSSTIDDES<BasicTurbulenceModel>::setDelta() const
 {
     if (!isA<IDDESDelta>(this->delta_()))
     {
-        FatalErrorIn
-        (
-            "const kOmegaSSTIDDES<BasicTurbulenceModel>::setDelta() const"
-        )
+        FatalErrorInFunction
             << "The delta function must be set to a " << IDDESDelta::typeName
             << " -based model" << exit(FatalError);
     }
diff --git a/src/dynamicMesh/fvMeshAdder/fvMeshAdderTemplates.C b/src/dynamicMesh/fvMeshAdder/fvMeshAdderTemplates.C
index 0818bb12935..ca4f59cdbd7 100644
--- a/src/dynamicMesh/fvMeshAdder/fvMeshAdderTemplates.C
+++ b/src/dynamicMesh/fvMeshAdder/fvMeshAdderTemplates.C
@@ -707,7 +707,7 @@ void Foam::fvMeshAdder::MapDimFields
         }
         else
         {
-            WarningIn("fvMeshAdder::MapDimFields(..)")
+            WarningInFunction
                 << "Not mapping field " << fld.name()
                 << " since not present on mesh to add"
                 << endl;
diff --git a/src/dynamicMesh/fvMeshDistribute/IOmapDistributePolyMesh.C b/src/dynamicMesh/fvMeshDistribute/IOmapDistributePolyMesh.C
index c476a1ed2cb..bf0dcd03fc9 100644
--- a/src/dynamicMesh/fvMeshDistribute/IOmapDistributePolyMesh.C
+++ b/src/dynamicMesh/fvMeshDistribute/IOmapDistributePolyMesh.C
@@ -42,10 +42,8 @@ Foam::IOmapDistributePolyMesh::IOmapDistributePolyMesh(const IOobject& io)
     // Temporary warning
     if (io.readOpt() == IOobject::MUST_READ_IF_MODIFIED)
     {
-        WarningIn
-        (
-            "IOmapDistributePolyMesh::IOmapDistributePolyMesh(const IOobject&)"
-        )   << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
+        WarningInFunction
+            << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
             << " does not support automatic rereading."
             << endl;
     }
@@ -76,10 +74,8 @@ Foam::IOmapDistributePolyMesh::IOmapDistributePolyMesh
     // Temporary warning
     if (io.readOpt() == IOobject::MUST_READ_IF_MODIFIED)
     {
-        WarningIn
-        (
-            "IOmapDistributePolyMesh::IOmapDistributePolyMesh(const IOobject&)"
-        )   << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
+        WarningInFunction
+            << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
             << " does not support automatic rereading."
             << endl;
     }
diff --git a/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C b/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C
index e23ffac020f..902e4d85bf4 100644
--- a/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C
+++ b/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C
@@ -119,10 +119,8 @@ void Foam::fvMeshDistribute::inplaceRenumberWithFlip
                 }
                 else
                 {
-                    FatalErrorIn
-                    (
-                        "fvMeshDistribute::inplaceRenumberWithFlip(..)"
-                    )   << "Problem : zero value " << val
+                    FatalErrorInFunction
+                        << "Problem : zero value " << val
                         << " at index " << elemI << " out of " << lst.size()
                         << " list with flip bit" << exit(FatalError);
                 }
@@ -145,10 +143,8 @@ void Foam::fvMeshDistribute::inplaceRenumberWithFlip
                 }
                 else
                 {
-                    FatalErrorIn
-                    (
-                        "fvMeshDistribute::inplaceRenumberWithFlip(..)"
-                    )   << "Problem : zero value " << newVal
+                    FatalErrorInFunction
+                        << "Problem : zero value " << newVal
                         << " at index " << elemI << " out of "
                         << oldToNew.size()
                         << " list with flip bit" << exit(FatalError);
@@ -452,11 +448,9 @@ void Foam::fvMeshDistribute::testField(const surfaceScalarField& fld)
 
         if (mag(cos-fld[faceI]) > 1e-6)
         {
-            //FatalErrorIn
-            WarningIn
-            (
-                "fvMeshDistribute::testField(const surfaceScalarField&)"
-            )   << "On internal face " << faceI << " at "
+            //FatalErrorInFunction
+            WarningInFunction
+                << "On internal face " << faceI << " at "
                 << mesh.faceCentres()[faceI]
                 << " the field value is " << fld[faceI]
                 << " whereas cos angle of " << testNormal
@@ -478,11 +472,9 @@ void Foam::fvMeshDistribute::testField(const surfaceScalarField& fld)
             if (mag(cos-fvp[i]) > 1e-6)
             {
                 label faceI = fvp.patch().start()+i;
-                //FatalErrorIn
-                WarningIn
-                (
-                    "fvMeshDistribute::testField(const surfaceScalarField&)"
-                )   << "On face " << faceI
+                //FatalErrorInFunction
+                WarningInFunction
+                    << "On face " << faceI
                     << " on patch " << fvp.patch().name()
                     << " at " << mesh.faceCentres()[faceI]
                     << " the field value is " << fvp[i]
diff --git a/src/dynamicMesh/fvMeshDistribute/fvMeshDistributeTemplates.C b/src/dynamicMesh/fvMeshDistribute/fvMeshDistributeTemplates.C
index a6d6f8dc7b0..6d4f6d64f19 100644
--- a/src/dynamicMesh/fvMeshDistribute/fvMeshDistributeTemplates.C
+++ b/src/dynamicMesh/fvMeshDistribute/fvMeshDistributeTemplates.C
@@ -191,7 +191,8 @@ void Foam::fvMeshDistribute::mapExposedFaces
 
     if (flds.size() != oldFlds.size())
     {
-        FatalErrorIn("fvMeshDistribute::mapExposedFaces(..)") << "problem"
+        FatalErrorInFunction
+            << "problem"
             << abort(FatalError);
     }
 
diff --git a/src/dynamicMesh/motionSolver/displacement/displacementMotionSolver.C b/src/dynamicMesh/motionSolver/displacement/displacementMotionSolver.C
index bb3acd5ec04..71e9538f77b 100644
--- a/src/dynamicMesh/motionSolver/displacement/displacementMotionSolver.C
+++ b/src/dynamicMesh/motionSolver/displacement/displacementMotionSolver.C
@@ -166,18 +166,8 @@ Foam::displacementMotionSolver::displacementMotionSolver
 {
     if (points0_.size() != mesh.nPoints())
     {
-        FatalErrorIn
-        (
-            "displacementMotionSolver::"
-            "displacementMotionSolver\n"
-            "(\n"
-            "    const polyMesh&,\n"
-            "    const IOdictionary&,\n"
-            "    const pointVectorField&,\n"
-            "    const pointIOField&,\n"
-            "    const word&\n"
-            ")"
-        )   << "Number of points in mesh " << mesh.nPoints()
+        FatalErrorInFunction
+            << "Number of points in mesh " << mesh.nPoints()
             << " differs from number of points " << points0_.size()
             << " read from file " << points0.filePath()
             << exit(FatalError);
@@ -210,10 +200,8 @@ Foam::displacementMotionSolver::New
 
     if (!displacementConstructorTablePtr_)
     {
-        FatalErrorIn
-        (
-            "displacementMotionSolver::New(const polyMesh& mesh)"
-        )   << "solver table is empty"
+        FatalErrorInFunction
+            << "solver table is empty"
             << exit(FatalError);
     }
 
@@ -222,10 +210,8 @@ Foam::displacementMotionSolver::New
 
     if (cstrIter == displacementConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "displacementMotionSolver::New(const polyMesh&)"
-        )   << "Unknown solver type "
+        FatalErrorInFunction
+            << "Unknown solver type "
             << solverTypeName << nl << nl
             << "Valid solver types are:" << endl
             << displacementConstructorTablePtr_->sortedToc()
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/addPatchCellLayer.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/addPatchCellLayer.C
index 762ef4cc732..93489a1644d 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/addPatchCellLayer.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/addPatchCellLayer.C
@@ -493,7 +493,7 @@ void Foam::addPatchCellLayer::setFaceProps
 
         if (!found)
         {
-            FatalErrorIn("addPatchCellLayer::setFaceProps(..)")
+            FatalErrorInFunction
                 << "Problem: cannot find patch edge " << ppEdgeI
                 << " with mesh vertices " << patchEdge
                 << " at " << patchEdge.line(mesh.points())
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/refinementHistory.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/refinementHistory.C
index 704a9e72424..bdf93b42ea5 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/refinementHistory.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/refinementHistory.C
@@ -661,11 +661,8 @@ Foam::refinementHistory::refinementHistory
     // Temporary warning
     if (io.readOpt() == IOobject::MUST_READ_IF_MODIFIED)
     {
-<<<<<<< HEAD:src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/refinementHistory.C
-        WarningIn
-        (
-            "refinementHistory::refinementHistory(const IOobject&)"
-        )   << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
+        WarningInFunction
+            << "Specified IOobject::MUST_READ_IF_MODIFIED but class"
             << " does not support automatic rereading."
             << endl;
     }
@@ -808,11 +805,8 @@ Foam::refinementHistory::refinementHistory
      || (io.readOpt() == IOobject::READ_IF_PRESENT && headerOk())
     )
     {
-        WarningIn
-        (
-            "refinementHistory::refinementHistory(const IOobject&"
-            ", const labelListList&, const PtrList<refinementHistory>&)"
-        )   << "read option IOobject::MUST_READ, READ_IF_PRESENT or "
+        WarningInFunction
+            << "read option IOobject::MUST_READ, READ_IF_PRESENT or "
             << "MUST_READ_IF_MODIFIED"
             << " suggests that a read constructor would be more appropriate."
             << endl;
diff --git a/src/edgeMesh/extendedEdgeMesh/extendedEdgeMesh.C b/src/edgeMesh/extendedEdgeMesh/extendedEdgeMesh.C
index f2e379b4937..8ce9f94ee0d 100644
--- a/src/edgeMesh/extendedEdgeMesh/extendedEdgeMesh.C
+++ b/src/edgeMesh/extendedEdgeMesh/extendedEdgeMesh.C
@@ -2260,7 +2260,8 @@ void Foam::extendedEdgeMesh::sortedOrder
             break;
 
             default:
-                FatalErrorIn("order(..)") << "Problem" << exit(FatalError);
+                FatalErrorInFunction
+                    << "Problem" << exit(FatalError);
             break;
         }
     }
@@ -2334,7 +2335,8 @@ void Foam::extendedEdgeMesh::sortedOrder
 
             case extendedEdgeMesh::NONE:
             default:
-                FatalErrorIn("order(..)") << "Problem" << exit(FatalError);
+                FatalErrorInFunction
+                    << "Problem" << exit(FatalError);
             break;
         }
     }
@@ -2378,7 +2380,8 @@ void Foam::extendedEdgeMesh::sortedOrder
 
             case extendedEdgeMesh::NONE:
             default:
-                FatalErrorIn("order(..)") << "Problem" << exit(FatalError);
+                FatalErrorInFunction
+                    << "Problem" << exit(FatalError);
             break;
         }
     }
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/pressurePIDControlInletVelocity/pressurePIDControlInletVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/pressurePIDControlInletVelocity/pressurePIDControlInletVelocityFvPatchVectorField.C
index f4098267d84..9eac00835fd 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/pressurePIDControlInletVelocity/pressurePIDControlInletVelocityFvPatchVectorField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/pressurePIDControlInletVelocity/pressurePIDControlInletVelocityFvPatchVectorField.C
@@ -305,12 +305,8 @@ void Foam::pressurePIDControlInletVelocityFvPatchVectorField::updateCoeffs()
     }
     else
     {
-        FatalErrorIn
-        (
-            "void Foam::"
-            "pressurePIDControlInletVelocityFvPatchVectorField::"
-            "updateCoeffs()"
-        )   << "The dimensions of the field " << phiName_
+        FatalErrorInFunction
+            << "The dimensions of the field " << phiName_
             << "are not recognised. The dimensions are " << phi.dimensions()
             << ". The dimensions should be either " << dimVelocity*dimArea
             << " for an incompressible case, or "
@@ -346,11 +342,8 @@ void Foam::pressurePIDControlInletVelocityFvPatchVectorField::updateCoeffs()
     }
     else
     {
-        WarningIn
-        (
-            "void Foam::pressurePIDControlInletVelocityFvPatchVectorField::"
-            "updateCoeffs()"
-        )   << "The pressure field name, \"pName\", is \"" << pName_ << "\", "
+        WarningInFunction
+            << "The pressure field name, \"pName\", is \"" << pName_ << "\", "
             << "but a field of that name was not found. The inlet velocity "
             << "will be set to an analytical value calculated from the "
             << "specified pressure drop. No PID control will be done and "
diff --git a/src/fvMotionSolver/fvMotionSolvers/displacement/interpolation/displacementInterpolationMotionSolver.C b/src/fvMotionSolver/fvMotionSolvers/displacement/interpolation/displacementInterpolationMotionSolver.C
index ed9f08ddc8f..156815f45ec 100644
--- a/src/fvMotionSolver/fvMotionSolvers/displacement/interpolation/displacementInterpolationMotionSolver.C
+++ b/src/fvMotionSolver/fvMotionSolvers/displacement/interpolation/displacementInterpolationMotionSolver.C
@@ -82,7 +82,7 @@ void Foam::displacementInterpolationMotionSolver::calcInterpolation()
         {
             FatalErrorInFunction
                 << "Cannot find zone " << zoneName << endl
-                << "Valid zones are " << mesh.faceZones().names()
+                << "Valid zones are " << fZones.names()
                 << exit(FatalError);
         }
 
diff --git a/src/fvMotionSolver/motionInterpolation/motionInterpolation/motionInterpolation.C b/src/fvMotionSolver/motionInterpolation/motionInterpolation/motionInterpolation.C
index b293e5f491b..4e73a2cd4b9 100644
--- a/src/fvMotionSolver/motionInterpolation/motionInterpolation/motionInterpolation.C
+++ b/src/fvMotionSolver/motionInterpolation/motionInterpolation/motionInterpolation.C
@@ -79,10 +79,8 @@ Foam::motionInterpolation::New(const fvMesh& mesh, Istream& entry)
 
     if (cstrIter == IstreamConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "motionInterpolation::New(const fvMesh&, const Istream&)"
-        )   << "Unknown interpolation type "
+        FatalErrorInFunction
+            << "Unknown interpolation type "
             << type << nl << nl
             << "Valid interpolation types are :" << endl
             << IstreamConstructorTablePtr_->sortedToc()
diff --git a/src/fvMotionSolver/motionInterpolation/patchCorrected/patchCorrectedInterpolation.C b/src/fvMotionSolver/motionInterpolation/patchCorrected/patchCorrectedInterpolation.C
index 8d0c6b74fa8..a389e7e08c4 100644
--- a/src/fvMotionSolver/motionInterpolation/patchCorrected/patchCorrectedInterpolation.C
+++ b/src/fvMotionSolver/motionInterpolation/patchCorrected/patchCorrectedInterpolation.C
@@ -66,11 +66,8 @@ Foam::labelListList Foam::patchCorrectedInterpolation::getPatchGroups
 
             if (patchGroups[patchI][patchJ] == -1)
             {
-                FatalErrorIn
-                (
-                    "Foam::patchCorrectedInterpolation::getPatchGroups"
-                    "(Istream&) const"
-                )   << "patch \"" << patchGroupNames[patchI][patchJ]
+                FatalErrorInFunction
+                    << "patch \"" << patchGroupNames[patchI][patchJ]
                     << "\" not found" << exit(FatalError);
             }
         }
diff --git a/src/fvMotionSolver/motionInterpolation/patchTransformed/patchTransformedInterpolation.C b/src/fvMotionSolver/motionInterpolation/patchTransformed/patchTransformedInterpolation.C
index f99e668cc03..60aae0ec6dc 100644
--- a/src/fvMotionSolver/motionInterpolation/patchTransformed/patchTransformedInterpolation.C
+++ b/src/fvMotionSolver/motionInterpolation/patchTransformed/patchTransformedInterpolation.C
@@ -66,11 +66,8 @@ Foam::labelList Foam::patchTransformedInterpolation::getPatches
 
         if (patches[patchI] == -1)
         {
-            FatalErrorIn
-            (
-                "Foam::patchTransformedInterpolation::getPatches"
-                "(Istream&) const"
-            )   << "patch \"" << patchNames[patchI]
+            FatalErrorInFunction
+                << "patch \"" << patchNames[patchI]
                 << "\" not found" << exit(FatalError);
         }
     }
diff --git a/src/fvOptions/sources/derived/directionalPressureGradientExplicitSource/directionalPressureGradientExplicitSource.C b/src/fvOptions/sources/derived/directionalPressureGradientExplicitSource/directionalPressureGradientExplicitSource.C
index a63a606b2c4..23160e83800 100644
--- a/src/fvOptions/sources/derived/directionalPressureGradientExplicitSource/directionalPressureGradientExplicitSource.C
+++ b/src/fvOptions/sources/derived/directionalPressureGradientExplicitSource/directionalPressureGradientExplicitSource.C
@@ -202,33 +202,14 @@ directionalPressureGradientExplicitSource
 
     if (fieldNames_.size() != 1)
     {
-        FatalErrorIn
-        (
-            "Foam::fv::directionalPressureGradientExplicitSource::"
-            "directionalPressureGradientExplicitSource"
-            "("
-                "const word&, "
-                "const word&, "
-                "const dictionary&, "
-                "const fvMesh&"
-            ")"
-        )   << "Source can only be applied to a single field.  Current "
+        FatalErrorInFunction
+            << "Source can only be applied to a single field.  Current "
             << "settings are:" << fieldNames_ << exit(FatalError);
     }
 
     if (zoneID_ < 0)
     {
-        FatalErrorIn
-        (
-            "directionalPressureGradientExplicitSource::"
-            "directionalPressureGradientExplicitSource\n"
-            "(\n"
-                "const word&,\n "
-                "const word&,\n "
-                "const dictionary&, \n"
-                "const fvMesh& \n"
-            ")\n"
-        )
+        FatalErrorInFunction
             << type() << " " << this->name() << ": "
             << "    Unknown face zone name: " << faceZoneName_
             << ". Valid face zones are: " << mesh_.faceZones().names()
@@ -251,17 +232,7 @@ directionalPressureGradientExplicitSource
     }
     else
     {
-        FatalErrorIn
-        (
-            "directionalPressureGradientExplicitSource::"
-            "directionalPressureGradientExplicitSource\n"
-            "(\n"
-                "const word&, \n"
-                "const word&, \n"
-                "const dictionary&, \n"
-                "const fvMesh& \n"
-            ") \n"
-        )
+        FatalErrorInFunction
             << "Did not find mode " << model_
             << nl
             << "Please set 'model' to one of "
@@ -407,15 +378,8 @@ void Foam::fv::directionalPressureGradientExplicitSource::correct
         }
         else if (meshToLocal[masterCellI] == -1)
         {
-            FatalErrorIn
-            (
-                "directionalPressureGradientExplicitSource::"
-                "directionalPressureGradientExplicitSource\n"
-                "correct"
-                "("
-                "   volVectorField& U \n"
-                ")"
-            )   << "Did not find  cell " << masterCellI
+            FatalErrorInFunction
+                << "Did not find  cell " << masterCellI
                 << "in cellZone :" << cellSetName()
                 << exit(FatalError);
         }
diff --git a/src/fvOptions/sources/interRegion/interRegionHeatTransfer/tabulatedNTUHeatTransfer/tabulatedNTUHeatTransfer.C b/src/fvOptions/sources/interRegion/interRegionHeatTransfer/tabulatedNTUHeatTransfer/tabulatedNTUHeatTransfer.C
index 08d3ccdbc9c..12b3f3714f8 100644
--- a/src/fvOptions/sources/interRegion/interRegionHeatTransfer/tabulatedNTUHeatTransfer/tabulatedNTUHeatTransfer.C
+++ b/src/fvOptions/sources/interRegion/interRegionHeatTransfer/tabulatedNTUHeatTransfer/tabulatedNTUHeatTransfer.C
@@ -79,13 +79,8 @@ const Foam::basicThermo& Foam::fv::tabulatedNTUHeatTransfer::thermo
 {
     if (!mesh.foundObject<basicThermo>("thermophysicalProperties"))
     {
-        FatalErrorIn
-        (
-            "void Foam::fv::tabulatedHeatTransferMassFlow::thermo"
-            "("
-                "const fvMesh&"
-            ")"
-        )   << " on mesh " << mesh.name()
+        FatalErrorInFunction
+            << " on mesh " << mesh.name()
             << " could not find thermophysicalProperties "
             << exit(FatalError);
     }
@@ -126,12 +121,7 @@ void Foam::fv::tabulatedNTUHeatTransfer::initialiseGeometry()
 
                 if ((alpha < 0) || (alpha > 1))
                 {
-                    FatalErrorIn
-                    (
-                        "void "
-                        "Foam::fv::tabulatedNTUHeatTransfer::"
-                        "initialiseGeometry()"
-                    )
+                    FatalErrorInFunction
                         << "Inlet patch blockage ratio must be between 0 and 1"
                         << ".  Current value: " << alpha
                         << abort(FatalError);
@@ -144,12 +134,7 @@ void Foam::fv::tabulatedNTUHeatTransfer::initialiseGeometry()
 
                 if ((alphaNbr < 0) || (alphaNbr > 1))
                 {
-                    FatalErrorIn
-                    (
-                        "void "
-                        "Foam::fv::tabulatedNTUHeatTransfer::"
-                        "initialiseGeometry()"
-                    )
+                    FatalErrorInFunction
                         << "Inlet patch neighbour blockage ratio must be "
                         << "between 0 and 1.  Current value: " << alphaNbr
                         << abort(FatalError);
@@ -171,12 +156,7 @@ void Foam::fv::tabulatedNTUHeatTransfer::initialiseGeometry()
 
                 if ((beta < 0) || (beta > 1))
                 {
-                    FatalErrorIn
-                    (
-                        "void "
-                        "Foam::fv::tabulatedNTUHeatTransfer::"
-                        "initialiseGeometry()"
-                    )
+                    FatalErrorInFunction
                         << "Core volume blockage ratio must be between 0 and 1"
                         << ".  Current value: " << beta
                         << abort(FatalError);
@@ -202,11 +182,7 @@ void Foam::fv::tabulatedNTUHeatTransfer::initialiseGeometry()
             }
             default:
             {
-                FatalErrorIn
-                (
-                    "void "
-                    "Foam::fv::tabulatedNTUHeatTransfer::initialiseGeometry()"
-                )
+                FatalErrorInFunction
                     << "Unhandled enumeration " << geometryMode_
                     << abort(FatalError);
             }
diff --git a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoLayerDriver.C b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoLayerDriver.C
index 23f8a5d6d5c..bd0d7d696dc 100644
--- a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoLayerDriver.C
+++ b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoLayerDriver.C
@@ -2479,7 +2479,7 @@ Foam::List<Foam::labelPair> Foam::autoLayerDriver::getBafflesOnAddedMesh
             }
             else
             {
-                FatalErrorIn("addLayers(..)")
+                FatalErrorInFunction
                     << "Problem:" << faceI << " at:"
                     << mesh.faceCentres()[faceI]
                     << " is on same baffle as " << p[0]
@@ -4107,7 +4107,7 @@ void Foam::autoLayerDriver::addLayers
                     const point& dupPt = mesh.points()[dupI];
                     if (mag(pt-dupPt) > meshRefiner_.mergeDistance())
                     {
-                        WarningIn("autoLayerDriver::addLayers(..)")
+                        WarningInFunction
                             << "Trying to merge points "
                             << pointI << " at:" << pt
                             << "and " << dupI << " at:" << dupPt
diff --git a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriver.C b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriver.C
index 8d5d942438e..a88fc283e43 100644
--- a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriver.C
+++ b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriver.C
@@ -2975,7 +2975,7 @@ void Foam::autoSnapDriver::doSnap
 
                     if (mag(fc0-fc1) > meshRefiner_.mergeDistance())
                     {
-                        FatalErrorIn("autoSnapDriver::doSnap(..)")
+                        FatalErrorInFunction
                             << "Separated baffles : f0:" << p[0]
                             << " centre:" << fc0
                             << " f1:" << p[1] << " centre:" << fc1
diff --git a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinement.C b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinement.C
index 8eb362c03b8..f71860f4ddb 100644
--- a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinement.C
+++ b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinement.C
@@ -935,7 +935,7 @@ Foam::label Foam::meshRefinement::splitFacesUndo
                     }
                     else
                     {
-                        FatalErrorIn("meshRefinement::splitFacesUndo()")
+                        FatalErrorInFunction
                             << "problem: twoFaces:" << twoFaces
                             << exit(FatalError);
                     }
@@ -966,7 +966,7 @@ Foam::label Foam::meshRefinement::splitFacesUndo
 
             if (baffle.first() == -1 || baffle.second() == -1)
             {
-                FatalErrorIn("meshRefinement::splitFacesUndo()")
+                FatalErrorInFunction
                     << "Removed baffle : faces:" << baffle
                     << exit(FatalError);
             }
@@ -1149,7 +1149,7 @@ Foam::label Foam::meshRefinement::splitFacesUndo
                     // Faces still split
                     if (new0 < 0 || new1 < 0)
                     {
-                        FatalErrorIn("meshRefinement::splitFacesUndo()")
+                        FatalErrorInFunction
                             << "Problem: oldFaces:" << oldSplit
                             << " newFaces:" << labelPair(new0, new1)
                             << exit(FatalError);
@@ -1168,7 +1168,7 @@ Foam::label Foam::meshRefinement::splitFacesUndo
                     // Merged face. Only new0 kept.
                     if (new0 < 0 || new1 == -1)
                     {
-                        FatalErrorIn("meshRefinement::splitFacesUndo()")
+                        FatalErrorInFunction
                             << "Problem: oldFaces:" << oldSplit
                             << " newFace:" << labelPair(new0, new1)
                             << exit(FatalError);
@@ -1207,7 +1207,7 @@ Foam::label Foam::meshRefinement::splitFacesUndo
 
                 if (baffle.first() == -1 || baffle.second() == -1)
                 {
-                    FatalErrorIn("meshRefinement::splitFacesUndo()")
+                    FatalErrorInFunction
                         << "Removed baffle : faces:" << baffle
                         << exit(FatalError);
                 }
@@ -1518,7 +1518,7 @@ Foam::autoPtr<Foam::mapDistributePolyMesh> Foam::meshRefinement::balance
 
                         if (patchI >= 0 && pbm[patchI].coupled())
                         {
-                            WarningIn("meshRefinement::balance(..)")
+                            WarningInFunction
                                 << "Face at " << mesh_.faceCentres()[faceI]
                                 << " on zone " << fZone.name()
                                 << " is on coupled patch " << pbm[patchI].name()
@@ -2299,12 +2299,8 @@ Foam::label Foam::meshRefinement::findRegion
 //    {
 //        if (regions[i] == -1)
 //        {
-//            FatalErrorIn
-//            (
-//                "meshRefinement::findRegion"
-//                "(const polyMesh&, const labelList&, const vector&"
-//                  ", const pointField&)"
-//            )   << "Point " << pts[i]
+//            FatalErrorInFunction
+//                << "Point " << pts[i]
 //                << " is not inside the mesh." << nl
 //                << "Bounding box of the mesh:" << mesh.bounds()
 //                //<< "All points " << pts
@@ -2381,7 +2377,7 @@ void Foam::meshRefinement::findRegions
             label index = findIndex(insideRegions, regionI);
             if (index != -1)
             {
-                FatalErrorIn("meshRefinement::findRegions(..)")
+                FatalErrorInFunction
                     << "Location in mesh " << locationsInMesh[index]
                     << " is inside same mesh region " << regionI
                     << " as location outside mesh "
@@ -2475,10 +2471,8 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::splitMeshRegions
         label nExposedFaces = returnReduce(exposedFaces.size(), sumOp<label>());
         if (nExposedFaces)
         {
-            //FatalErrorIn
-            //(
-            //    "meshRefinement::splitMeshRegions(const point&)"
-            //)   << "Removing non-reachable cells should only expose"
+            // FatalErrorInFunction
+            //    << "Removing non-reachable cells should only expose"
             //    << " boundary faces" << nl
             //    << "ExposedFaces:" << exposedFaces << abort(FatalError);
 
@@ -2489,10 +2483,8 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::splitMeshRegions
                 defaultPatch = globalToMasterPatch[0];
             }
 
-            WarningIn
-            (
-                "meshRefinement::splitMeshRegions(const point&)"
-            )   << "Removing non-reachable cells exposes "
+            WarningInFunction
+                << "Removing non-reachable cells exposes "
                 << nExposedFaces << " internal or coupled faces." << endl
                 << "    These get put into patch " << defaultPatch << endl;
             exposedPatch.setSize(exposedFaces.size(), defaultPatch);
diff --git a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C
index 5c806d9ce0b..6fe484ac27c 100644
--- a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C
+++ b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C
@@ -775,7 +775,7 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::createZoneBaffles
 
             if (masterPatchI == -1 || slavePatchI == -1)
             {
-                FatalErrorIn("meshRefinement::createZoneBaffles(..)")
+                FatalErrorInFunction
                     << "Problem: masterPatchI:" << masterPatchI
                     << " slavePatchI:" << slavePatchI << exit(FatalError);
             }
@@ -1270,7 +1270,7 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::mergeBaffles
 
             if (!mesh_.isInternalFace(faceI))
             {
-                FatalErrorIn("meshRefinement::mergeBaffles(..)")
+                FatalErrorInFunction
                     << "problem: face:" << faceI
                     << " at:" << mesh_.faceCentres()[faceI]
                     << "(wanted patch:" << patchI
@@ -1770,12 +1770,8 @@ void Foam::meshRefinement::findCellZoneInsideWalk
 
         if (keepRegionI == -1)
         {
-            FatalErrorIn
-            (
-                "meshRefinement::findCellZoneInsideWalk"
-                "(const labelList&, const labelList&"
-                ", const labelList&, const labelList&)"
-            )   << "Point " << insidePoint
+            FatalErrorInFunction
+                << "Point " << insidePoint
                 << " is not inside the mesh." << nl
                 << "Bounding box of the mesh:" << mesh_.bounds()
                 << exit(FatalError);
@@ -1804,12 +1800,8 @@ void Foam::meshRefinement::findCellZoneInsideWalk
                 {
                     if (nWarnings < 10)
                     {
-                        WarningIn
-                        (
-                            "meshRefinement::findCellZoneInsideWalk"
-                            "(const labelList&, const labelList&"
-                            ", const labelList&, const labelList&)"
-                        )   << "Cell " << cellI
+                        WarningInFunction
+                            << "Cell " << cellI
                             << " at " << mesh_.cellCentres()[cellI]
                             << " is inside cellZone " << zonesInMesh[i]
                             << " from locationInMesh " << insidePoint
@@ -2003,12 +1995,8 @@ void Foam::meshRefinement::findCellZoneTopo
 
         if (keepRegionI == -1)
         {
-            FatalErrorIn
-            (
-                "meshRefinement::findCellZoneTopo"
-                "(const point&, const labelList&"
-                ", const labelList&, labelList&)"
-            )   << "Point " << keepPoint
+            FatalErrorInFunction
+                << "Point " << keepPoint
                 << " is not inside the mesh." << nl
                 << "Bounding box of the mesh:" << mesh_.bounds()
                 << exit(FatalError);
diff --git a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementGapRefine.C b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementGapRefine.C
index d73ea12a0ba..fbfcef9273c 100644
--- a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementGapRefine.C
+++ b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementGapRefine.C
@@ -1504,7 +1504,7 @@ Foam::label Foam::meshRefinement::markSmallFeatureRefinement
             {
                 if (!info[i].hit())
                 {
-                    FatalErrorIn("meshRefinement::markSmallFeatureRefinement")
+                    FatalErrorInFunction
                         << "fc:" << ctrs[i]
                         << " radius:" << radiusSqr[i]
                         << exit(FatalError);
diff --git a/src/mesh/autoMesh/autoHexMesh/refinementSurfaces/refinementSurfaces.C b/src/mesh/autoMesh/autoHexMesh/refinementSurfaces/refinementSurfaces.C
index 2fa3704d284..60975cf1775 100644
--- a/src/mesh/autoMesh/autoHexMesh/refinementSurfaces/refinementSurfaces.C
+++ b/src/mesh/autoMesh/autoHexMesh/refinementSurfaces/refinementSurfaces.C
@@ -210,10 +210,8 @@ Foam::refinementSurfaces::refinementSurfaces
              || globalLevelIncr[surfI] < 0
             )
             {
-                FatalIOErrorInFunction
-                (
-                    dict
-                )   << "Illegal level specification for surface "
+                FatalIOErrorInFunction(dict)
+                    << "Illegal level specification for surface "
                     << names_[surfI]
                     << " : minLevel:" << globalMinLevel[surfI]
                     << " maxLevel:" << globalMaxLevel[surfI]
@@ -246,12 +244,8 @@ Foam::refinementSurfaces::refinementSurfaces
              || globalGapLevel[surfI][1] > globalGapLevel[surfI][2]
             )
             {
-                FatalIOErrorIn
-                (
-                    "refinementSurfaces::refinementSurfaces"
-                    "(const searchableSurfaces&, const dictionary>&",
-                    dict
-                )   << "Illegal gapLevel specification for surface "
+                FatalIOErrorInFunction(dict)
+                    << "Illegal gapLevel specification for surface "
                     << names_[surfI]
                     << " : gapLevel:" << globalGapLevel[surfI]
                     << " gapMode:" << volumeType::names[globalGapMode[surfI]]
@@ -308,10 +302,8 @@ Foam::refinementSurfaces::refinementSurfaces
                          || levelIncr < 0
                         )
                         {
-                            FatalIOErrorInFunction
-                            (
-                                dict
-                            )   << "Illegal level specification for surface "
+                            FatalIOErrorInFunction(dict)
+                                << "Illegal level specification for surface "
                                 << names_[surfI] << " region "
                                 << regionNames[regionI]
                                 << " : minLevel:" << refLevel[0]
@@ -354,13 +346,8 @@ Foam::refinementSurfaces::refinementSurfaces
                          || gapSpec[1] > gapSpec[2]
                         )
                         {
-                            FatalIOErrorIn
-                            (
-                                "refinementSurfaces::refinementSurfaces"
-                                "(const searchableSurfaces&,"
-                                " const dictionary>&",
-                                dict
-                            )   << "Illegal gapLevel specification for surface "
+                            FatalIOErrorInFunction(dict)
+                                << "Illegal gapLevel specification for surface "
                                 << names_[surfI]
                                 << " : gapLevel:" << gapSpec
                                 << " gapMode:" << volumeType::names[gapModeSpec]
diff --git a/src/mesh/autoMesh/autoHexMesh/shellSurfaces/shellSurfaces.C b/src/mesh/autoMesh/autoHexMesh/shellSurfaces/shellSurfaces.C
index dea3a16498f..05ca28a1bf2 100644
--- a/src/mesh/autoMesh/autoHexMesh/shellSurfaces/shellSurfaces.C
+++ b/src/mesh/autoMesh/autoHexMesh/shellSurfaces/shellSurfaces.C
@@ -159,11 +159,8 @@ void Foam::shellSurfaces::checkGapLevels
         {
             if (modes_[shellI] == DISTANCE)
             {
-                FatalIOErrorIn
-                (
-                    "shellSurfaces::shellSurfaces(..)",
-                    shellDict
-                )   << "'gapLevel' specification cannot be used with mode "
+                FatalIOErrorInFunction(shellDict)
+                    << "'gapLevel' specification cannot be used with mode "
                     << refineModeNames_[DISTANCE]
                     << " for shell " << shell.name()
                     << exit(FatalIOError);
diff --git a/src/mesh/extrudeModel/offsetSurface/offsetSurface.C b/src/mesh/extrudeModel/offsetSurface/offsetSurface.C
index 1b2872279f0..987f376bfa4 100644
--- a/src/mesh/extrudeModel/offsetSurface/offsetSurface.C
+++ b/src/mesh/extrudeModel/offsetSurface/offsetSurface.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -76,7 +76,7 @@ offsetSurface::offsetSurface(const dictionary& dict)
      || b.nEdges() != o.nEdges()
     )
     {
-        FatalIOErrorIn("offsetSurface::offsetSurface(const dictionary&)", dict)
+        FatalIOErrorInFunction(dict)
             << "offsetSurface " << offsetName
             << " should have exactly the same topology as the baseSurface "
             << baseName << exit(FatalIOError);
diff --git a/src/meshTools/AMIInterpolation/patches/cyclicPeriodicAMI/cyclicPeriodicAMIPolyPatch/cyclicPeriodicAMIPolyPatch.C b/src/meshTools/AMIInterpolation/patches/cyclicPeriodicAMI/cyclicPeriodicAMIPolyPatch/cyclicPeriodicAMIPolyPatch.C
index dd9b431c43f..8e683b11692 100644
--- a/src/meshTools/AMIInterpolation/patches/cyclicPeriodicAMI/cyclicPeriodicAMIPolyPatch/cyclicPeriodicAMIPolyPatch.C
+++ b/src/meshTools/AMIInterpolation/patches/cyclicPeriodicAMI/cyclicPeriodicAMIPolyPatch/cyclicPeriodicAMIPolyPatch.C
@@ -86,12 +86,8 @@ void Foam::cyclicPeriodicAMIPolyPatch::syncTransforms() const
         {
             if (periodicPatch.separation().size() > 1)
             {
-                FatalErrorIn
-                (
-                    "cyclicPeriodicAMIPolyPatch::resetAMI"
-                    "(const AMIPatchToPatchInterpolation::interpolationMethod&"
-                    ") const"
-                )   << "Periodic patch " << periodicPatchName_
+                FatalErrorInFunction
+                    << "Periodic patch " << periodicPatchName_
                     << " has non-uniform separation vector "
                     << periodicPatch.separation()
                     << "This is not allowed inside " << type()
@@ -101,12 +97,8 @@ void Foam::cyclicPeriodicAMIPolyPatch::syncTransforms() const
 
             if (periodicPatch.forwardT().size() > 1)
             {
-                FatalErrorIn
-                (
-                    "cyclicPeriodicAMIPolyPatch::resetAMI"
-                    "(const AMIPatchToPatchInterpolation::interpolationMethod&"
-                    ") const"
-                )   << "Periodic patch " << periodicPatchName_
+                FatalErrorInFunction
+                    << "Periodic patch " << periodicPatchName_
                     << " has non-uniform transformation tensor "
                     << periodicPatch.forwardT()
                     << "This is not allowed inside " << type()
@@ -362,7 +354,7 @@ void Foam::cyclicPeriodicAMIPolyPatch::resetAMI
         scalar srcSum(gAverage(AMIPtr_->srcWeightsSum()));
         scalar tgtSum(gAverage(AMIPtr_->tgtWeightsSum()));
 
-        // Direction (or rather side of AMI : this or nbr patch) of 
+        // Direction (or rather side of AMI : this or nbr patch) of
         // geometry replication
         bool direction = nTransforms_ >= 0;
 
@@ -501,13 +493,7 @@ void Foam::cyclicPeriodicAMIPolyPatch::resetAMI
             // so for now this situation is flagged as a SeriousError instead of
             // a FatalError since the default matchTolerance is quite strict
             // (0.001) and can get triggered far into the simulation.
-            SeriousErrorIn
-            (
-                "void Foam::cyclicPeriodicAMIPolyPatch::resetPeriodicAMI"
-                "("
-                    "const AMIPatchToPatchInterpolation::interpolationMethod&"
-                ") const"
-            )
+            SeriousErrorInFunction
                 << "Patches " << name() << " and " << neighbPatch().name()
                 << " do not couple to within a tolerance of "
                 << matchTolerance()
@@ -534,13 +520,7 @@ void Foam::cyclicPeriodicAMIPolyPatch::resetAMI
             // This check means that e.g. different numbers of stator and
             // rotor partitions are not allowed.
             // Again see the section above about tolerances.
-            SeriousErrorIn
-            (
-                "void Foam::cyclicPeriodicAMIPolyPatch::resetPeriodicAMI"
-                "("
-                    "const AMIPatchToPatchInterpolation::interpolationMethod&"
-                ") const"
-            )
+            SeriousErrorInFunction
                 << "Patches " << name() << " and " << neighbPatch().name()
                 << " do not overlap an integer number of times when transformed"
                 << " according to the periodic patch "
@@ -676,7 +656,7 @@ Foam::label Foam::cyclicPeriodicAMIPolyPatch::periodicPatchID() const
 
         if (periodicPatchID_ == -1)
         {
-            FatalErrorIn("cyclicPolyAMIPatch::periodicPatchID() const")
+            FatalErrorInFunction
                 << "Illegal periodicPatch name " << periodicPatchName_
                 << nl << "Valid patch names are "
                 << this->boundaryMesh().names()
diff --git a/src/meshTools/algorithms/MeshWave/FaceCellWave.C b/src/meshTools/algorithms/MeshWave/FaceCellWave.C
index e0f65840375..f51b33af809 100644
--- a/src/meshTools/algorithms/MeshWave/FaceCellWave.C
+++ b/src/meshTools/algorithms/MeshWave/FaceCellWave.C
@@ -1036,13 +1036,8 @@ Foam::FaceCellWave<Type, TrackingData>::FaceCellWave
      || allCellInfo.size() != mesh_.nCells()
     )
     {
-        FatalErrorIn
-        (
-            "FaceCellWave<Type, TrackingData>::FaceCellWave"
-            "(const polyMesh&, const List<labelPair>&, const labelList&"
-            ", const List<Type>,"
-            " UList<Type>&, UList<Type>&, const label maxIter)"
-        )   << "face and cell storage not the size of mesh faces, cells:"
+        FatalErrorInFunction
+            << "face and cell storage not the size of mesh faces, cells:"
             << endl
             << "    allFaceInfo   :" << allFaceInfo.size() << endl
             << "    mesh_.nFaces():" << mesh_.nFaces() << endl
@@ -1059,13 +1054,8 @@ Foam::FaceCellWave<Type, TrackingData>::FaceCellWave
 
     if ((maxIter > 0) && (iter >= maxIter))
     {
-        FatalErrorIn
-        (
-            "FaceCellWave<Type, TrackingData>::FaceCellWave"
-            "(const polyMesh&, const List<labelPair>&, const labelList&"
-            ", const List<Type>, UList<Type>&, UList<Type>&"
-            ", const label maxIter)"
-        )   << "Maximum number of iterations reached. Increase maxIter." << endl
+        FatalErrorInFunction
+            << "Maximum number of iterations reached. Increase maxIter." << endl
             << "    maxIter:" << maxIter << endl
             << "    nChangedCells:" << nChangedCells_ << endl
             << "    nChangedFaces:" << nChangedFaces_ << endl
diff --git a/src/meshTools/regionSplit/regionSplit.C b/src/meshTools/regionSplit/regionSplit.C
index 1a8de0fa152..ea4a86551a8 100644
--- a/src/meshTools/regionSplit/regionSplit.C
+++ b/src/meshTools/regionSplit/regionSplit.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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -119,7 +119,7 @@ void Foam::regionSplit::calcNonCompactRegionSplit
 
             if (blockedFace.size() && !blockedFace[faceI])
             {
-                FatalErrorIn("regionSplit::calcNonCompactRegionSplit(..)")
+                FatalErrorInFunction
                     << "Problem: unblocked face " << faceI
                     << " at " << mesh().faceCentres()[faceI]
                     << " on unassigned cell " << cellI
diff --git a/src/meshTools/searchableSurface/subTriSurfaceMesh.C b/src/meshTools/searchableSurface/subTriSurfaceMesh.C
index dfffbd793e2..2f5c142bfd7 100644
--- a/src/meshTools/searchableSurface/subTriSurfaceMesh.C
+++ b/src/meshTools/searchableSurface/subTriSurfaceMesh.C
@@ -98,15 +98,8 @@ Foam::triSurface Foam::subTriSurfaceMesh::subset
 
     if (regionMap.size() == 0)
     {
-        FatalIOErrorIn
-        (
-            "subTriSurfaceMesh::subset"
-            "(\n"
-            "    const IOobject&,\n"
-            "    const dictionary&\n"
-            ")",
-            dict
-        )   << "Found no regions in triSurface matching " << regionNames
+        FatalIOErrorInFunction(dict)
+            << "Found no regions in triSurface matching " << regionNames
             << ". Valid regions are " << patchNames(s)
             << exit(FatalIOError);
     }
diff --git a/src/parallel/decompose/decompositionMethods/decompositionConstraints/decompositionConstraint/decompositionConstraint.C b/src/parallel/decompose/decompositionMethods/decompositionConstraints/decompositionConstraint/decompositionConstraint.C
index 397433ff68d..8faed6fd9ee 100644
--- a/src/parallel/decompose/decompositionMethods/decompositionConstraints/decompositionConstraint/decompositionConstraint.C
+++ b/src/parallel/decompose/decompositionMethods/decompositionConstraints/decompositionConstraint/decompositionConstraint.C
@@ -62,15 +62,8 @@ Foam::decompositionConstraint::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalIOErrorIn
-        (
-            "decompositionConstraint::New"
-            "("
-                "const dictionary&, "
-                "const word&"
-            ")",
-            dict
-        )   << "Unknown decompositionConstraint type "
+        FatalIOErrorInFunction(dict)
+            << "Unknown decompositionConstraint type "
             << modelType << nl << nl
             << "Valid decompositionConstraint types:" << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/parallel/decompose/decompositionMethods/decompositionConstraints/preserveBaffles/preserveBafflesConstraint.C b/src/parallel/decompose/decompositionMethods/decompositionConstraints/preserveBaffles/preserveBafflesConstraint.C
index a22f683c04a..0601af2299d 100644
--- a/src/parallel/decompose/decompositionMethods/decompositionConstraints/preserveBaffles/preserveBafflesConstraint.C
+++ b/src/parallel/decompose/decompositionMethods/decompositionConstraints/preserveBaffles/preserveBafflesConstraint.C
@@ -132,11 +132,8 @@ void Foam::decompositionConstraints::preserveBafflesConstraint::add
             {
                 label p0Slave = faceToFace[p[0]];
                 label p1Slave = faceToFace[p[1]];
-                IOWarningIn
-                (
-                    "preserveBafflesConstraint::add(..)",
-                    coeffDict_
-                )   << "When adding baffle between faces "
+                IOWarningInFunction(coeffDict_)
+                    << "When adding baffle between faces "
                     << p[0] << " at " << mesh.faceCentres()[p[0]]
                     << " and "
                     << p[1] << " at " << mesh.faceCentres()[p[1]]
diff --git a/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.C b/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.C
index 2d46430e5cb..eacb6220395 100644
--- a/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.C
+++ b/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.C
@@ -160,7 +160,7 @@ void Foam::fieldMinMax::write()
 {
     if (active_)
     {
-        if (!writeLocation_) writeTime(obr_.time().value());
+        if (!writeLocation_) writeTime(file());
 
         if (log_) Info<< type() << " " << name_ <<  " output:" << nl;
 
diff --git a/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.C b/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.C
index 1e6ff10e9f9..52a32dd5dbb 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.C
+++ b/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.C
@@ -180,7 +180,7 @@ void Foam::fieldValues::fieldValueDelta::execute()
 
         if (entries1.size() != entries2.size())
         {
-            FatalErrorIn("void Foam::fieldValues::fieldValueDelta::execute()")
+            FatalErrorInFunction
                 << name_ << ": objects must generate the same number of results"
                 << nl
                 << "    " << name1 << " objects: " << entries1 << nl
@@ -197,10 +197,7 @@ void Foam::fieldValues::fieldValueDelta::execute()
 
             if (type1 != type2)
             {
-                FatalErrorIn
-                (
-                    "void Foam::fieldValues::fieldValueDelta::execute()"
-                )
+                FatalErrorInFunction
                     << name_
                     << ": input values for operation must be of the same type"
                     << nl
diff --git a/src/postProcessing/functionObjects/field/nearWallFields/nearWallFieldsTemplates.C b/src/postProcessing/functionObjects/field/nearWallFields/nearWallFieldsTemplates.C
index ab7fe887872..275d98a0936 100644
--- a/src/postProcessing/functionObjects/field/nearWallFields/nearWallFieldsTemplates.C
+++ b/src/postProcessing/functionObjects/field/nearWallFields/nearWallFieldsTemplates.C
@@ -47,13 +47,7 @@ void Foam::nearWallFields::createFields
 
             if (obr_.found(sampleFldName))
             {
-                WarningIn
-                (
-                    "void Foam::nearWallFields::createFields"
-                    "("
-                        "PtrList<GeometricField<Type, fvPatchField, volMesh> >&"
-                    ") const"
-                )
+                WarningInFunction
                     << "    a field named " << sampleFldName
                     << " already exists on the mesh"
                     << endl;
diff --git a/src/postProcessing/functionObjects/field/streamLine/streamLineBase.C b/src/postProcessing/functionObjects/field/streamLine/streamLineBase.C
index e319081bf9a..c7e421a5040 100644
--- a/src/postProcessing/functionObjects/field/streamLine/streamLineBase.C
+++ b/src/postProcessing/functionObjects/field/streamLine/streamLineBase.C
@@ -165,7 +165,7 @@ void Foam::streamLineBase::initInterpolations
             }
             else
             {
-                FatalErrorIn("streamLineBase::track()")
+                FatalErrorInFunction
                     << "Cannot find field " << fields_[i] << nl
                     << "Valid scalar fields are:"
                     << mesh.names(volScalarField::typeName) << nl
@@ -238,7 +238,7 @@ void Foam::streamLineBase::initInterpolations
 
     if (UIndex == -1)
     {
-        FatalErrorIn("streamLineBase::track()")
+        FatalErrorInFunction
             << "Cannot find field to move particles with : " << UName_ << nl
             << "This field has to be present in the sampled fields " << fields_
             << " and in the objectRegistry."
@@ -575,7 +575,7 @@ void Foam::streamLineBase::read(const dictionary& dict)
             UName_ = "U";
             if (dict.found("U"))
             {
-                IOWarningIn("streamLineBase::read(const dictionary&)", dict)
+                IOWarningInFunction(dict)
                     << "Using deprecated entry \"U\"."
                     << " Please use \"UName\" instead."
                     << endl;
@@ -585,7 +585,7 @@ void Foam::streamLineBase::read(const dictionary& dict)
 
         if (findIndex(fields_, UName_) == -1)
         {
-            FatalIOErrorIn("streamLineBase::read(const dictionary&)", dict)
+            FatalIOErrorInFunction(dict)
                 << "Velocity field for tracking " << UName_
                 << " should be present in the list of fields " << fields_
                 << exit(FatalIOError);
@@ -596,7 +596,7 @@ void Foam::streamLineBase::read(const dictionary& dict)
         dict.lookup("lifeTime") >> lifeTime_;
         if (lifeTime_ < 1)
         {
-            FatalErrorIn(":streamLineBase::read(const dictionary&)")
+            FatalErrorInFunction
                 << "Illegal value " << lifeTime_ << " for lifeTime"
                 << exit(FatalError);
         }
diff --git a/src/postProcessing/functionObjects/field/valueAverage/valueAverage.C b/src/postProcessing/functionObjects/field/valueAverage/valueAverage.C
index a8e0a8d51e5..d7c95a18e1c 100644
--- a/src/postProcessing/functionObjects/field/valueAverage/valueAverage.C
+++ b/src/postProcessing/functionObjects/field/valueAverage/valueAverage.C
@@ -162,7 +162,7 @@ void Foam::valueAverage::execute()
 
     if (unprocessedFields.size())
     {
-        WarningIn("bool Foam::valueAverage::execute()")
+        WarningInFunction
             << "From function object: " << functionObjectName_ << nl
             << "Unprocessed fields:" << nl;
 
diff --git a/src/postProcessing/functionObjects/forces/forces/forces.C b/src/postProcessing/functionObjects/forces/forces/forces.C
index 83cd89c66e0..6fbe8255820 100644
--- a/src/postProcessing/functionObjects/forces/forces/forces.C
+++ b/src/postProcessing/functionObjects/forces/forces/forces.C
@@ -923,10 +923,8 @@ void Foam::forces::read(const dictionary& dict)
 
         if (nBin_ < 0)
         {
-            FatalIOErrorIn
-            (
-                "void Foam::forces::read(const dictionary&)", dict
-            )   << "Number of bins (nBin) must be zero or greater"
+            FatalIOErrorInFunction(dict)
+                << "Number of bins (nBin) must be zero or greater"
                 << exit(FatalIOError);
         }
         else if (nBin_ == 0)
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/fieldVisualisationBase.C b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/fieldVisualisationBase.C
index e7de2eb2d9a..ed48eb60c01 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/fieldVisualisationBase.C
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/fieldVisualisationBase.C
@@ -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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -407,19 +407,7 @@ void Foam::fieldVisualisationBase::addGlyphs
     }
     else
     {
-        WarningIn
-        (
-            "void Foam::fieldVisualisationBase::addGlyphs"
-            "("
-                "const scalar, "
-                "const word&, "
-                "const word&, "
-                "const scalar, "
-                "vtkPolyData*, "
-                "vtkActor*, "
-                "vtkRenderer*"
-            ") const"
-        )
+        WarningInFunction
             << "Glyphs can only be added to " << pTraits<scalar>::typeName
             << " and " << pTraits<vector>::typeName << " fields. "
             << " Field " << scaleFieldName << " has " << nComponents
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectCloud.C b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectCloud.C
index fe863c2cf2e..8c1f4e8535d 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectCloud.C
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectCloud.C
@@ -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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -102,14 +102,7 @@ void Foam::functionObjectCloud::addGeometryToScene
 
     if (fName.empty())
     {
-        WarningIn
-        (
-            "void Foam::functionObjectCloud::addToScene"
-            "("
-                "const scalar, "
-                "vtkRenderer*"
-            ")"
-        )
+        WarningInFunction
             << "Unable to find function object " << functionObject_
             << " output for field " << fieldName_
             << ". Line will not be processed"
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectLine.C b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectLine.C
index 0298da6fdca..d9509975986 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectLine.C
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectLine.C
@@ -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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -93,14 +93,7 @@ void Foam::functionObjectLine::addGeometryToScene
     fileName fName;
     if (!dict.readIfPresent("file", fName))
     {
-        WarningIn
-        (
-            "void Foam::functionObjectLine::addToScene"
-            "("
-                "const scalar, "
-                "vtkRenderer*"
-            ")"
-        )
+        WarningInFunction
             << "Unable to find function object " << functionObject_
             << " output for field " << fieldName_
             << ". Line will not be processed"
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectSurface.C b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectSurface.C
index 9139dcf9056..e7c6c691760 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectSurface.C
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/functionObjectSurface.C
@@ -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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -95,14 +95,7 @@ void Foam::functionObjectSurface::addGeometryToScene
     fileName fName;
     if (!dict.readIfPresent("file", fName))
     {
-        WarningIn
-        (
-            "void Foam::functionObjectSurface::addToScene"
-            "("
-                "const scalar, "
-                "vtkRenderer*"
-            ")"
-        )
+        WarningInFunction
             << "Unable to find function object " << functionObject_
             << " output for field " << fieldName_
             << ". Surface will not be processed"
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/geometrySurface.C b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/geometrySurface.C
index 49a3964c68c..535cdddc99c 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/geometrySurface.C
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/geometrySurface.C
@@ -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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -64,15 +64,7 @@ void Foam::geometrySurface::addGeometryToScene
 {
     if (representation_ == rtGlyph)
     {
-        FatalErrorIn
-        (
-            "void Foam::geometrySurface::addGeometryToScene"
-            "("
-                "const label, "
-                "vtkRenderer*, "
-                "const fileName&"
-            ") const"
-        )
+        FatalErrorInFunction
             << "Glyph representation not available for " << typeName
             << "object" << exit(FatalError);
     }
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/pathline.C b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/pathline.C
index 925baae2cdd..744c092cf8f 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/pathline.C
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/pathline.C
@@ -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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -182,16 +182,8 @@ Foam::autoPtr<Foam::pathline> Foam::pathline::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "Foam::autoPtr<Foam::pathline> Foam::pathline::New"
-            "("
-                "const runTimePostProcessing&, "
-                "const dictionary&, "
-                "const HashPtrTable<DataEntry<vector>, word>&, "
-                "const word&"
-            ")"
-        )   << "Unknown pathline type "
+        FatalErrorInFunction
+            << "Unknown pathline type "
             << pathlineType << nl << nl
             << "Valid pathline types are:" << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/pointData.C b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/pointData.C
index f85686325c0..cae1853e657 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/pointData.C
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/pointData.C
@@ -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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -142,16 +142,8 @@ Foam::autoPtr<Foam::pointData> Foam::pointData::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "Foam::autoPtr<Foam::pointData> Foam::pointData::New"
-            "("
-                "const runTimePostProcessing&, "
-                "const dictionary&, "
-                "const HashPtrTable<DataEntry<vector>, word>&, "
-                "const word&"
-            ")"
-        )   << "Unknown pointData type "
+        FatalErrorInFunction
+            << "Unknown pointData type "
             << pointDataType << nl << nl
             << "Valid pointData types are:" << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/runTimePostProcessing.C b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/runTimePostProcessing.C
index 78ab1c37351..88857bf9248 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/runTimePostProcessing.C
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/runTimePostProcessing.C
@@ -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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -102,11 +102,7 @@ void Foam::runTimePostProcessing::read(const dictionary& dict)
     {
         if (!iter().isDict())
         {
-            FatalIOErrorIn
-            (
-                "void Foam::runTimePostProcessing::read(const dictionary&)",
-                textDict
-            )
+            FatalIOErrorInFunction(textDict)
                 << "text must be specified in dictionary format"
                 << exit(FatalIOError);
         }
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/runTimePostProcessingTemplates.C b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/runTimePostProcessingTemplates.C
index 713506e488d..47540015eb4 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/runTimePostProcessingTemplates.C
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/runTimePostProcessingTemplates.C
@@ -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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -37,15 +37,7 @@ void Foam::runTimePostProcessing::readObjects
     {
         if (!iter().isDict())
         {
-            FatalIOErrorIn
-            (
-                "void Foam::runTimePostProcessing::readObjects"
-                "("
-                    "const dictionary&, "
-                    "PtrList<Type>&"
-                ")",
-                dict
-            )
+            FatalIOErrorInFunction(dict)
                 << dict.dictName()
                 << " objects must be specified in dictionary format"
                 << exit(FatalIOError);
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/scene.C b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/scene.C
index 9a1d8da5932..3ceace96954 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/scene.C
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/scene.C
@@ -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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -61,11 +61,8 @@ void Foam::scene::readCamera(const dictionary& dict)
     {
         if (nFrameTotal_ < 1)
         {
-            FatalIOErrorIn
-            (
-                "void Foam::scene::readCamera(const dictionary&)",
-                dict
-            )   << "nFrameTotal must be 1 or greater"
+            FatalIOErrorInFunction(dict)
+                << "nFrameTotal must be 1 or greater"
                 << exit(FatalIOError);
         }
     }
@@ -74,11 +71,8 @@ void Foam::scene::readCamera(const dictionary& dict)
     {
         if ((position_ < 0) || (position_ > 1))
         {
-            FatalIOErrorIn
-            (
-                "void Foam::scene::readCamera(const dictionary&)",
-                dict
-            )   << "startPosition must be in the range 0-1"
+            FatalIOErrorInFunction(dict)
+                << "startPosition must be in the range 0-1"
                 << exit(FatalIOError);
         }
     }
@@ -91,11 +85,8 @@ void Foam::scene::readCamera(const dictionary& dict)
         scalar endPosition = dict.lookupOrDefault<scalar>("endPosition", 1);
         if ((endPosition < 0) || (endPosition > 1))
         {
-            FatalIOErrorIn
-            (
-                "void Foam::scene::readCamera(const dictionary&)",
-                dict
-            )   << "endPosition must be in the range 0-1"
+            FatalIOErrorInFunction(dict)
+                << "endPosition must be in the range 0-1"
                 << exit(FatalIOError);
         }
         dPosition_ = (endPosition - position_)/scalar(nFrameTotal_ - 1);
@@ -137,7 +128,7 @@ void Foam::scene::readCamera(const dictionary& dict)
         }
         default:
         {
-            FatalErrorIn("void Foam::scene::read(const dictionary&)")
+            FatalErrorInFunction
                 << "Unhandled enumeration " << modeTypeNames_[mode_]
                 << abort(FatalError);
         }
diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/surface.C b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/surface.C
index cd9b241c96d..1cb877d9cb7 100644
--- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/surface.C
+++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/surface.C
@@ -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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -205,16 +205,8 @@ Foam::autoPtr<Foam::surface> Foam::surface::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "Foam::autoPtr<Foam::surface> Foam::surface::New"
-            "("
-                "const runTimePostProcessing&, "
-                "const dictionary&, "
-                "const HashPtrTable<DataEntry<vector>, word>&, "
-                "const word&"
-            ")"
-        )   << "Unknown surface type "
+        FatalErrorInFunction
+            << "Unknown surface type "
             << surfaceType << nl << nl
             << "Valid surface types are:" << endl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/postProcessing/functionObjects/jobControl/externalCoupled/externalCoupledFunctionObject.C b/src/postProcessing/functionObjects/jobControl/externalCoupled/externalCoupledFunctionObject.C
index ca9905c0371..46d44f65a31 100644
--- a/src/postProcessing/functionObjects/jobControl/externalCoupled/externalCoupledFunctionObject.C
+++ b/src/postProcessing/functionObjects/jobControl/externalCoupled/externalCoupledFunctionObject.C
@@ -203,12 +203,7 @@ void Foam::externalCoupledFunctionObject::wait() const
         {
             if (totalTime > timeOut_)
             {
-                FatalErrorIn
-                (
-                    "void "
-                    "Foam::externalCoupledFunctionObject::wait() "
-                    "const"
-                )
+                FatalErrorInFunction
                     << "Wait time exceeded time out time of " << timeOut_
                     << " s" << abort(FatalError);
             }
@@ -280,11 +275,8 @@ void Foam::externalCoupledFunctionObject::readColumns
                 {
                     if (!masterFilePtr().good())
                     {
-                        FatalIOErrorIn
-                        (
-                            "externalCoupledFunctionObject::readColumns()",
-                            masterFilePtr()
-                        )   << "Trying to read data for processor " << procI
+                        FatalIOErrorInFunction(masterFilePtr())
+                            << "Trying to read data for processor " << procI
                             << " row " << rowI
                             << ". Does your file have as many rows as there are"
                             << " patch faces (" << globalFaces.size()
@@ -347,11 +339,8 @@ void Foam::externalCoupledFunctionObject::readLines
                 {
                     if (!masterFilePtr().good())
                     {
-                        FatalIOErrorIn
-                        (
-                            "externalCoupledFunctionObject::readColumns()",
-                            masterFilePtr()
-                        )   << "Trying to read data for processor " << procI
+                        FatalIOErrorInFunction(masterFilePtr())
+                            << "Trying to read data for processor " << procI
                             << " row " << rowI
                             << ". Does your file have as many rows as there are"
                             << " patch faces (" << globalFaces.size()
@@ -542,10 +531,8 @@ Foam::word Foam::externalCoupledFunctionObject::compositeName
 {
     if (regionNames.size() == 0)
     {
-        FatalErrorIn
-        (
-            "externalCoupledFunctionObject::compositeName(const wordList&)"
-        )   << "Empty regionNames" << abort(FatalError);
+        FatalErrorInFunction
+            << "Empty regionNames" << abort(FatalError);
         return word::null;
     }
     else if (regionNames.size() == 1)
@@ -586,10 +573,8 @@ void Foam::externalCoupledFunctionObject::checkOrder
     sortedOrder(regionNames, order);
     if (order != identity(regionNames.size()))
     {
-        FatalErrorIn
-        (
-            "externalCoupledFunctionObject::checkOrder(const wordList&)"
-        )   << "regionNames " << regionNames << " not in alphabetical order :"
+        FatalErrorInFunction
+            << "regionNames " << regionNames << " not in alphabetical order :"
             << order << exit(FatalError);
     }
 }
@@ -655,10 +640,7 @@ void Foam::externalCoupledFunctionObject::readData()
 
                 if (!ok)
                 {
-                    WarningIn
-                    (
-                        "void Foam::externalCoupledFunctionObject::readData()"
-                    )
+                    WarningInFunction
                         << "Field " << fieldName << " in regions " << compName
                         << " was not found." << endl;
                 }
@@ -728,10 +710,7 @@ void Foam::externalCoupledFunctionObject::writeData() const
 
                 if (!ok)
                 {
-                    WarningIn
-                    (
-                        "void Foam::externalCoupledFunctionObject::writeData()"
-                    )
+                    WarningInFunction
                         << "Field " << fieldName << " in regions " << compName
                         << " was not found." << endl;
                 }
@@ -948,12 +927,7 @@ bool Foam::externalCoupledFunctionObject::read(const dictionary& dict)
     {
         if (!iter().isDict())
         {
-            FatalIOErrorIn
-            (
-                "void Foam::externalCoupledFunctionObject::read"
-                "(const dictionary&)",
-                allRegionsDict
-            )
+            FatalIOErrorInFunction(allRegionsDict)
                 << "Regions must be specified in dictionary format"
                 << exit(FatalIOError);
         }
@@ -973,12 +947,7 @@ bool Foam::externalCoupledFunctionObject::read(const dictionary& dict)
         {
             if (!regionIter().isDict())
             {
-                FatalIOErrorIn
-                (
-                    "void Foam::externalCoupledFunctionObject::read"
-                    "(const dictionary&)",
-                    regionDict
-                )
+                FatalIOErrorInFunction(regionDict)
                     << "Regions must be specified in dictionary format"
                     << exit(FatalIOError);
             }
diff --git a/src/postProcessing/functionObjects/jobControl/externalCoupled/externalCoupledFunctionObjectTemplates.C b/src/postProcessing/functionObjects/jobControl/externalCoupled/externalCoupledFunctionObjectTemplates.C
index f483ecb71e1..7cb6ef9b175 100644
--- a/src/postProcessing/functionObjects/jobControl/externalCoupled/externalCoupledFunctionObjectTemplates.C
+++ b/src/postProcessing/functionObjects/jobControl/externalCoupled/externalCoupledFunctionObjectTemplates.C
@@ -73,16 +73,8 @@ bool Foam::externalCoupledFunctionObject::readData
 
         if (!masterFilePtr().good())
         {
-            FatalIOErrorIn
-            (
-                "void externalCoupledFunctionObject::readData"
-                "("
-                    "const UPtrList<const fvMesh>&, "
-                    "const wordRe&, "
-                    "const word&"
-               ")",
-                masterFilePtr()
-            )   << "Cannot open file for region " << compositeName(regionNames)
+            FatalIOErrorInFunction(masterFilePtr())
+                << "Cannot open file for region " << compositeName(regionNames)
                 << ", field " << fieldName
                 << exit(FatalIOError);
         }
@@ -285,15 +277,7 @@ bool Foam::externalCoupledFunctionObject::readData
             }
             else
             {
-                FatalErrorIn
-                (
-                    "void externalCoupledFunctionObject::readData"
-                    "("
-                        "const UPtrList<const fvMesh>&, "
-                        "const wordRe&, "
-                        "const word&"
-                   ")"
-                )
+                FatalErrorInFunction
                     << "Unsupported boundary condition " << bf[patchI].type()
                     << " for patch " << bf[patchI].patch().name()
                     << " in region " << mesh.name()
@@ -389,16 +373,8 @@ bool Foam::externalCoupledFunctionObject::writeData
 
         if (!masterFilePtr().good())
         {
-            FatalIOErrorIn
-            (
-                "externalCoupledFunctionObject::writeData"
-                "("
-                    "const UPtrList<const fvMesh>&, "
-                    "const wordRe&, "
-                    "const word&"
-                ") const",
-                masterFilePtr()
-            )   << "Cannot open file for region " << compositeName(regionNames)
+            FatalIOErrorInFunction(masterFilePtr())
+                << "Cannot open file for region " << compositeName(regionNames)
                 << ", field " << fieldName
                 << exit(FatalIOError);
         }
diff --git a/src/postProcessing/functionObjects/jobControl/runTimeControl/runTimeCondition/averageCondition/averageCondition.C b/src/postProcessing/functionObjects/jobControl/runTimeControl/runTimeCondition/averageCondition/averageCondition.C
index 1c47a2ea1f6..486a70c7972 100644
--- a/src/postProcessing/functionObjects/jobControl/runTimeControl/runTimeCondition/averageCondition/averageCondition.C
+++ b/src/postProcessing/functionObjects/jobControl/runTimeControl/runTimeCondition/averageCondition/averageCondition.C
@@ -135,7 +135,7 @@ bool Foam::averageCondition::apply()
 
     if (unprocessedFields.size())
     {
-        WarningIn("bool Foam::averageCondition::apply()")
+        WarningInFunction
             << "From function object: " << functionObjectName_ << nl
             << "Unprocessed fields:" << nl;
 
diff --git a/src/postProcessing/functionObjects/jobControl/runTimeControl/runTimeCondition/equationInitialResidualCondition/equationInitialResidualCondition.C b/src/postProcessing/functionObjects/jobControl/runTimeControl/runTimeCondition/equationInitialResidualCondition/equationInitialResidualCondition.C
index 73de3e3f3d4..9db4093b8b8 100644
--- a/src/postProcessing/functionObjects/jobControl/runTimeControl/runTimeCondition/equationInitialResidualCondition/equationInitialResidualCondition.C
+++ b/src/postProcessing/functionObjects/jobControl/runTimeControl/runTimeCondition/equationInitialResidualCondition/equationInitialResidualCondition.C
@@ -74,17 +74,7 @@ Foam::equationInitialResidualCondition::equationInitialResidualCondition
 {
     if (!fieldNames_.size())
     {
-        WarningIn
-        (
-            "Foam::equationInitialResidualCondition::"
-            "equationInitialResidualCondition"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "functionObjectState&"
-            ")"
-        )
+        WarningInFunction
             << "No fields supplied: deactivating" << endl;
 
         active_ = false;
@@ -151,10 +141,7 @@ bool Foam::equationInitialResidualCondition::apply()
                 }
                 default:
                 {
-                    FatalErrorIn
-                    (
-                        "bool Foam::equationInitialResidualCondition::apply()"
-                    )
+                    FatalErrorInFunction
                         << "Unhandled enumeration "
                         << operatingModeNames[mode_]
                         << abort(FatalError);
@@ -168,7 +155,7 @@ bool Foam::equationInitialResidualCondition::apply()
     {
         if (result[i] < 0)
         {
-            WarningIn("bool Foam::equationInitialResidualCondition::apply()")
+            WarningInFunction
                 << "Initial residual data not found for field "
                 << fieldNames_[i] << endl;
         }
@@ -180,7 +167,7 @@ bool Foam::equationInitialResidualCondition::apply()
 
     if (!valid)
     {
-        WarningIn("bool Foam::equationInitialResidualCondition::apply()")
+        WarningInFunction
             << "Initial residual data not found for any fields: "
             << "deactivating" << endl;
 
diff --git a/src/postProcessing/functionObjects/jobControl/runTimeControl/runTimeCondition/equationMaxIterCondition/equationMaxIterCondition.C b/src/postProcessing/functionObjects/jobControl/runTimeControl/runTimeCondition/equationMaxIterCondition/equationMaxIterCondition.C
index ebad50629d8..0788cf81bf0 100644
--- a/src/postProcessing/functionObjects/jobControl/runTimeControl/runTimeCondition/equationMaxIterCondition/equationMaxIterCondition.C
+++ b/src/postProcessing/functionObjects/jobControl/runTimeControl/runTimeCondition/equationMaxIterCondition/equationMaxIterCondition.C
@@ -59,17 +59,7 @@ Foam::equationMaxIterCondition::equationMaxIterCondition
 {
     if (!fieldNames_.size())
     {
-        WarningIn
-        (
-            "Foam::equationMaxIterCondition::"
-            "equationMaxIterCondition"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "functionObjectState&"
-            ")"
-        )
+        WarningInFunction
             << "No fields supplied: deactivating" << endl;
 
         active_ = false;
@@ -129,7 +119,7 @@ bool Foam::equationMaxIterCondition::apply()
     {
         if (result[i] < 0)
         {
-            WarningIn("bool Foam::equationMaxIterCondition::apply()")
+            WarningInFunction
                 << "Number of iterations data not found for field "
                 << fieldNames_[i] << endl;
         }
@@ -141,7 +131,7 @@ bool Foam::equationMaxIterCondition::apply()
 
     if (!valid)
     {
-        WarningIn("bool Foam::equationMaxIterCondition::apply()")
+        WarningInFunction
             << "Number of iterations data not found for any fields: "
             << "deactivating" << endl;
 
diff --git a/src/postProcessing/functionObjects/jobControl/runTimeControl/runTimeCondition/minMaxCondition/minMaxCondition.C b/src/postProcessing/functionObjects/jobControl/runTimeControl/runTimeCondition/minMaxCondition/minMaxCondition.C
index ba86537e091..26418217b69 100644
--- a/src/postProcessing/functionObjects/jobControl/runTimeControl/runTimeCondition/minMaxCondition/minMaxCondition.C
+++ b/src/postProcessing/functionObjects/jobControl/runTimeControl/runTimeCondition/minMaxCondition/minMaxCondition.C
@@ -104,7 +104,7 @@ bool Foam::minMaxCondition::apply()
 
         if (valueType == word::null)
         {
-            WarningIn("bool Foam::minMaxCondition::apply()")
+            WarningInFunction
                 << "Unable to find entry " << fieldName
                 << " for function object " << functionObjectName_
                 << ".  Condition will not be applied."
diff --git a/src/postProcessing/functionObjects/jobControl/runTimeControl/runTimeCondition/runTimeCondition/runTimeConditionNew.C b/src/postProcessing/functionObjects/jobControl/runTimeControl/runTimeCondition/runTimeCondition/runTimeConditionNew.C
index 72c5d99ca6c..000dbe1142f 100644
--- a/src/postProcessing/functionObjects/jobControl/runTimeControl/runTimeCondition/runTimeCondition/runTimeConditionNew.C
+++ b/src/postProcessing/functionObjects/jobControl/runTimeControl/runTimeCondition/runTimeCondition/runTimeConditionNew.C
@@ -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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -44,16 +44,8 @@ Foam::autoPtr<Foam::runTimeCondition> Foam::runTimeCondition::New
 
     if (cstrIter == dictionaryConstructorTablePtr_->end())
     {
-        FatalErrorIn
-        (
-            "runTimeCondition::New"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "functionObjectState&"
-            ")"
-        )   << "Unknown runTimeCondition type "
+        FatalErrorInFunction
+            << "Unknown runTimeCondition type "
             << conditionType << nl << nl
             << "Valid runTimeCondition types are:" << nl
             << dictionaryConstructorTablePtr_->sortedToc()
diff --git a/src/postProcessing/functionObjects/jobControl/runTimeControl/runTimeControl.C b/src/postProcessing/functionObjects/jobControl/runTimeControl/runTimeControl.C
index 27e1c4e1802..ccabf77d126 100644
--- a/src/postProcessing/functionObjects/jobControl/runTimeControl/runTimeControl.C
+++ b/src/postProcessing/functionObjects/jobControl/runTimeControl/runTimeControl.C
@@ -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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -163,7 +163,7 @@ void Foam::runTimeControl::execute()
 
             if (conditionIter == groupMap_.end())
             {
-                FatalErrorIn("void Foam::runTimeControl::execute()")
+                FatalErrorInFunction
                     << "group " << groupI << " not found in map"
                     << abort(FatalError);
             }
diff --git a/src/postProcessing/functionObjects/utilities/DESModelRegions/DESModelRegions.C b/src/postProcessing/functionObjects/utilities/DESModelRegions/DESModelRegions.C
index 53e961de554..befe184985d 100644
--- a/src/postProcessing/functionObjects/utilities/DESModelRegions/DESModelRegions.C
+++ b/src/postProcessing/functionObjects/utilities/DESModelRegions/DESModelRegions.C
@@ -70,16 +70,8 @@ Foam::DESModelRegions::DESModelRegions
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "DESModelRegions::DESModelRegions"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_ << nl
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_ << nl
             << endl;
     }
 
diff --git a/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactor.C b/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactor.C
index 73277fc27fb..16b4c78b0c5 100644
--- a/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactor.C
+++ b/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactor.C
@@ -126,7 +126,7 @@ void Foam::blendingFactor::read(const dictionary& dict)
         dict.readIfPresent("tolerance", tolerance_);
         if ((tolerance_ < 0) || (tolerance_ > 1))
         {
-            FatalErrorIn("void Foam::blendingFactor::read(const dictionary&)")
+            FatalErrorInFunction
                 << "tolerance must be in the range 0 to 1.  Supplied value: "
                 << tolerance_ << exit(FatalError);
         }
diff --git a/src/postProcessing/functionObjects/utilities/fluxSummary/fluxSummary.C b/src/postProcessing/functionObjects/utilities/fluxSummary/fluxSummary.C
index e1b078a4170..5469c232a53 100644
--- a/src/postProcessing/functionObjects/utilities/fluxSummary/fluxSummary.C
+++ b/src/postProcessing/functionObjects/utilities/fluxSummary/fluxSummary.C
@@ -75,17 +75,7 @@ void Foam::fluxSummary::initialiseFaceZone
 
     if (zoneI == -1)
     {
-        FatalErrorIn
-        (
-            "void  Foam::fluxSummary::initialiseFaceZone"
-            "("
-                "const word&, "
-                "DynamicList<word>&, "
-                "DynamicList<List<label> >&, "
-                "DynamicList<List<label> >&, "
-                "DynamicList<List<scalar> >&"
-            ") const"
-        )
+        FatalErrorInFunction
             << "Unable to find faceZone " << faceZoneName
             << ".  Valid faceZones are: " << mesh.faceZones().names()
             << exit(FatalError);
@@ -178,19 +168,7 @@ void Foam::fluxSummary::initialiseFaceZoneAndDirection
 
     if (zoneI == -1)
     {
-        FatalErrorIn
-        (
-            "void  Foam::fluxSummary::initialiseFaceZoneAndDirection"
-            "("
-                "const word&, "
-                "const vector&, "
-                "DynamicList<vector>&, "
-                "DynamicList<word>&, "
-                "DynamicList<List<label> >&, "
-                "DynamicList<List<label> >&, "
-                "DynamicList<List<scalar> >&"
-            ") const"
-        )
+         FatalErrorInFunction
             << "Unable to find faceZone " << faceZoneName
             << ".  Valid faceZones are: " << mesh.faceZones().names()
             << exit(FatalError);
@@ -299,19 +277,7 @@ void Foam::fluxSummary::initialiseCellZoneAndDirection
 
     if (cellZoneI == -1)
     {
-        FatalErrorIn
-        (
-            "void Foam::fluxSummary::initialiseCellZoneAndDirection"
-            "("
-                "const word&, "
-                "const vector&, "
-                "DynamicList<vector>&, "
-                "DynamicList<word>&, "
-                "DynamicList<List<label> >&, "
-                "DynamicList<List<label> >&, "
-                "DynamicList<List<scalar> >&"
-            ") const"
-        )
+        FatalErrorInFunction
             << "Unable to find cellZone " << cellZoneName
             << ". Valid zones are: " << mesh.cellZones().names()
             << exit(FatalError);
@@ -474,19 +440,8 @@ void Foam::fluxSummary::initialiseCellZoneAndDirection
             {
                 if (allEdgeInfo[fEdges[i]].region() != -1)
                 {
-                    WarningIn
-                    (
-                        "void Foam::fluxSummary::initialiseCellZoneAndDirection"
-                        "("
-                            "const word&, "
-                            "const vector&, "
-                            "DynamicList<vector>&, "
-                            "DynamicList<word>&, "
-                            "DynamicList<List<label> >&, "
-                            "DynamicList<List<label> >&, "
-                            "DynamicList<List<scalar> >&"
-                        ") const"
-                    )   << "Problem in edge face wave: attempted to assign a "
+                    WarningInFunction
+                        << "Problem in edge face wave: attempted to assign a "
                         << "value to an edge that has already been visited. "
                         << "Edge info: " << allEdgeInfo[fEdges[i]]
                         << endl;
@@ -650,16 +605,8 @@ Foam::fluxSummary::fluxSummary
     if (!isA<fvMesh>(obr_))
     {
         active_ = false;
-        WarningIn
-        (
-            "fluxSummary::fluxSummary"
-            "("
-                "const word&, "
-                "const objectRegistry&, "
-                "const dictionary&, "
-                "const bool"
-            ")"
-        )   << "No fvMesh available, deactivating " << name_
+        WarningInFunction
+            << "No fvMesh available, deactivating " << name_
             << endl;
     }
 
@@ -759,11 +706,7 @@ void Foam::fluxSummary::read(const dictionary& dict)
         }
         default:
         {
-            FatalIOErrorIn
-            (
-                "void Foam::fluxSummary::read(const dictionary&)",
-                dict
-            )
+            FatalIOErrorInFunction(dict)
                 << "unhandled enumeration " << modeTypeNames_[mode_]
                 << abort(FatalIOError);
         }
@@ -887,7 +830,7 @@ void Foam::fluxSummary::write()
     }
     else
     {
-        FatalErrorIn("void Foam::fluxSummary::write()")
+        FatalErrorInFunction
             << "Unsupported flux field " << phi.name() << " with dimensions "
             << phi.dimensions() << ".  Expected eithe mass flow or volumetric "
             << "flow rate" << abort(FatalError);
diff --git a/src/postProcessing/functionObjects/utilities/pressureTools/pressureTools.C b/src/postProcessing/functionObjects/utilities/pressureTools/pressureTools.C
index ec2e73c88e0..7691cd4939e 100644
--- a/src/postProcessing/functionObjects/utilities/pressureTools/pressureTools.C
+++ b/src/postProcessing/functionObjects/utilities/pressureTools/pressureTools.C
@@ -66,13 +66,7 @@ Foam::tmp<Foam::volScalarField> Foam::pressureTools::rho
     {
         if (!rhoInfInitialised_)
         {
-            FatalErrorIn
-            (
-                "Foam::tmp<Foam::volScalarField> Foam::pressureTools::rho"
-                "("
-                "    const volScalarField&"
-                ") const"
-            )
+            FatalErrorInFunction
                 << type() << " " << name_ << ": "
                 << "pressure identified as incompressible, but reference "
                 << "density is not set.  Please set rhoName to rhoInf, and "
diff --git a/src/postProcessing/functionObjects/utilities/yPlus/yPlus.C b/src/postProcessing/functionObjects/utilities/yPlus/yPlus.C
index 0be0fc4430b..a649b1239d3 100644
--- a/src/postProcessing/functionObjects/utilities/yPlus/yPlus.C
+++ b/src/postProcessing/functionObjects/utilities/yPlus/yPlus.C
@@ -162,7 +162,7 @@ void Foam::yPlus::execute()
             }
             else
             {
-                WarningIn("void Foam::yPlus::execute()")
+                WarningInFunction
                     << "Unable to find compressible turbulence model in the "
                     << "database: yPlus will not be calculated" << endl;
             }
@@ -181,14 +181,14 @@ void Foam::yPlus::execute()
             }
             else
             {
-                WarningIn("void Foam::yPlus::execute()")
+                WarningInFunction
                     << "Unable to find incompressible turbulence model in the "
                     << "database: yPlus will not be calculated" << endl;
             }
         }
         else
         {
-            WarningIn("void Foam::yPlus::execute()")
+            WarningInFunction
                 << "Unknown " << phiName_ << " dimensions: "
                 << phi.dimensions() << nl
                 << "Expected either " << dimMass/dimTime << " or "
diff --git a/src/postProcessing/functionObjects/utilities/yPlus/yPlusTemplates.C b/src/postProcessing/functionObjects/utilities/yPlus/yPlusTemplates.C
index 7af26d2e0ac..7173a932823 100644
--- a/src/postProcessing/functionObjects/utilities/yPlus/yPlusTemplates.C
+++ b/src/postProcessing/functionObjects/utilities/yPlus/yPlusTemplates.C
@@ -80,7 +80,6 @@ void Foam::yPlus::calcYPlus
                 << token::TAB << maxYplus
                 << token::TAB << avgYplus
                 << endl;
-            }
         }
         else if (isA<wallFvPatch>(patch))
         {
diff --git a/src/sampling/meshToMesh/calcMethod/cellVolumeWeight/cellVolumeWeightMethod.C b/src/sampling/meshToMesh/calcMethod/cellVolumeWeight/cellVolumeWeightMethod.C
index 722521a71ef..ba2f2b39221 100644
--- a/src/sampling/meshToMesh/calcMethod/cellVolumeWeight/cellVolumeWeightMethod.C
+++ b/src/sampling/meshToMesh/calcMethod/cellVolumeWeight/cellVolumeWeightMethod.C
@@ -199,7 +199,7 @@ void Foam::cellVolumeWeightMethod::calculateAddressing
 
             if (mag(srcVol) > ROOTVSMALL && mag((tgtVol-srcVol)/srcVol) > 1e-6)
             {
-                WarningIn("cellVolumeWeightMethod::calculateAddressing(..)")
+                WarningInFunction
                     << "At cell " << cellI << " cc:"
                     << src_.cellCentres()[cellI]
                     << " vol:" << srcVol
@@ -215,7 +215,7 @@ void Foam::cellVolumeWeightMethod::calculateAddressing
 
             if (mag(tgtVol) > ROOTVSMALL && mag((srcVol-tgtVol)/tgtVol) > 1e-6)
             {
-                WarningIn("cellVolumeWeightMethod::calculateAddressing(..)")
+                WarningInFunction
                     << "At cell " << cellI << " cc:"
                     << tgt_.cellCentres()[cellI]
                     << " vol:" << tgtVol
diff --git a/src/sampling/meshToMesh/calcMethod/correctedCellVolumeWeight/correctedCellVolumeWeightMethod.C b/src/sampling/meshToMesh/calcMethod/correctedCellVolumeWeight/correctedCellVolumeWeightMethod.C
index 2acc2b72c1d..db7d034b25d 100644
--- a/src/sampling/meshToMesh/calcMethod/correctedCellVolumeWeight/correctedCellVolumeWeightMethod.C
+++ b/src/sampling/meshToMesh/calcMethod/correctedCellVolumeWeight/correctedCellVolumeWeightMethod.C
@@ -164,10 +164,8 @@ void Foam::correctedCellVolumeWeightMethod::calculateAddressing
 
             if (mag(srcVol) > ROOTVSMALL && mag((tgtVol-srcVol)/srcVol) > 1e-6)
             {
-                WarningIn
-                (
-                    "correctedCellVolumeWeightMethod::calculateAddressing(..)"
-                )   << "At cell " << cellI << " cc:"
+                WarningInFunction
+                    << "At cell " << cellI << " cc:"
                     << src_.cellCentres()[cellI]
                     << " vol:" << srcVol
                     << " total overlap volume:" << tgtVol
@@ -182,10 +180,8 @@ void Foam::correctedCellVolumeWeightMethod::calculateAddressing
 
             if (mag(tgtVol) > ROOTVSMALL && mag((srcVol-tgtVol)/tgtVol) > 1e-6)
             {
-                WarningIn
-                (
-                    "correctedCellVolumeWeightMethod::calculateAddressing(..)"
-                )   << "At cell " << cellI << " cc:"
+                WarningInFunction
+                    << "At cell " << cellI << " cc:"
                     << tgt_.cellCentres()[cellI]
                     << " vol:" << tgtVol
                     << " total overlap volume:" << srcVol
diff --git a/src/sampling/meshToMesh/distributedWeightedFvPatchFieldMapper.H b/src/sampling/meshToMesh/distributedWeightedFvPatchFieldMapper.H
index 930c502ca1d..adaaa5fb1af 100644
--- a/src/sampling/meshToMesh/distributedWeightedFvPatchFieldMapper.H
+++ b/src/sampling/meshToMesh/distributedWeightedFvPatchFieldMapper.H
@@ -87,11 +87,8 @@ public:
 
             if ((singlePatchProc_ == -1) != (distMapPtr_ != NULL))
             {
-                FatalErrorIn
-                (
-                    "distributedWeightedFvPatchFieldMapper::"
-                    "distributedWeightedFvPatchFieldMapper(..)"
-                )   << "Supply a mapDistributeBase if and only if "
+                FatalErrorInFunction
+                    << "Supply a mapDistributeBase if and only if "
                     << "singlePatchProc is -1"
                     << " singlePatchProc_:" << singlePatchProc_
                     << " distMapPtr_:" << (distMapPtr_ != NULL)
@@ -132,11 +129,8 @@ public:
         {
             if (!distMapPtr_)
             {
-                FatalErrorIn
-                (
-                    "distributedWeightedFvPatchFieldMapper::"
-                    "distributeMap()"
-                )   << "Cannot ask for distributeMap on a non-distributed"
+                FatalErrorInFunction
+                    << "Cannot ask for distributeMap on a non-distributed"
                     << " mapper" << exit(FatalError);
             }
             return *distMapPtr_;
diff --git a/src/sampling/meshToMesh/meshToMeshTemplates.C b/src/sampling/meshToMesh/meshToMeshTemplates.C
index 723f5c6196a..3e5c097b35a 100644
--- a/src/sampling/meshToMesh/meshToMeshTemplates.C
+++ b/src/sampling/meshToMesh/meshToMeshTemplates.C
@@ -155,16 +155,8 @@ void Foam::meshToMesh::mapSrcToTgt
 {
     if (result.size() != tgtToSrcCellAddr_.size())
     {
-        FatalErrorIn
-        (
-            "void Foam::meshToMesh::mapSrcToTgt"
-            "("
-                "const UList<Type>&, "
-                "const UList<typename outerProduct<vector, Type>::type>&, "
-                "const CombineOp&, "
-                "List<Type>&"
-            ") const"
-        )   << "Supplied field size is not equal to target mesh size" << nl
+        FatalErrorInFunction
+            << "Supplied field size is not equal to target mesh size" << nl
             << "    source mesh    = " << srcToTgtCellAddr_.size() << nl
             << "    target mesh    = " << tgtToSrcCellAddr_.size() << nl
             << "    supplied field = " << result.size()
@@ -376,16 +368,8 @@ void Foam::meshToMesh::mapTgtToSrc
 {
     if (result.size() != srcToTgtCellAddr_.size())
     {
-        FatalErrorIn
-        (
-            "void Foam::meshToMesh::mapTgtToSrc"
-            "("
-                "const UList<Type>&, "
-                "const UList<typename outerProduct<vector, Type>::type>&, "
-                "const CombineOp&, "
-                "List<Type>&"
-            ") const"
-        )   << "Supplied field size is not equal to source mesh size" << nl
+        FatalErrorInFunction
+            << "Supplied field size is not equal to source mesh size" << nl
             << "    source mesh    = " << srcToTgtCellAddr_.size() << nl
             << "    target mesh    = " << tgtToSrcCellAddr_.size() << nl
             << "    supplied field = " << result.size()
diff --git a/src/sampling/probes/probes.C b/src/sampling/probes/probes.C
index 0a3677f066a..862d4870630 100644
--- a/src/sampling/probes/probes.C
+++ b/src/sampling/probes/probes.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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -275,7 +275,7 @@ void Foam::probes::readDict(const dictionary& dict)
     {
         if (!fixedLocations_ && interpolationScheme_ != "cell")
         {
-            WarningIn("void Foam::probes::read(const dictionary&)")
+            WarningInFunction
                 << "Only cell interpolation can be applied when "
                 << "not using fixedLocations. InterpolationScheme "
                 << "entry will be ignored";
diff --git a/src/sampling/sampledSurface/isoSurface/isoSurface.C b/src/sampling/sampledSurface/isoSurface/isoSurface.C
index c9c6347f9b5..f14b84e4195 100644
--- a/src/sampling/sampledSurface/isoSurface/isoSurface.C
+++ b/src/sampling/sampledSurface/isoSurface/isoSurface.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) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -1279,7 +1279,7 @@ bool Foam::isoSurface::validTri(const triSurface& surf, const label faceI)
      || (f[2] < 0) || (f[2] >= surf.points().size())
     )
     {
-        WarningIn("validTri(const triSurface&, const label)")
+        WarningInFunction
             << "triangle " << faceI << " vertices " << f
             << " uses point indices outside point range 0.."
             << surf.points().size()-1 << endl;
@@ -1289,7 +1289,7 @@ bool Foam::isoSurface::validTri(const triSurface& surf, const label faceI)
 
     if ((f[0] == f[1]) || (f[0] == f[2]) || (f[1] == f[2]))
     {
-        WarningIn("validTri(const triSurface&, const label)")
+        WarningInFunction
             << "triangle " << faceI
             << " uses non-unique vertices " << f
             << endl;
@@ -1321,7 +1321,7 @@ bool Foam::isoSurface::validTri(const triSurface& surf, const label faceI)
          && ((f[2] == nbrF[0]) || (f[2] == nbrF[1]) || (f[2] == nbrF[2]))
         )
         {
-            WarningIn("validTri(const triSurface&, const label)")
+            WarningInFunction
                 << "triangle " << faceI << " vertices " << f
                 << " fc:" << f.centre(surf.points())
                 << " has the same vertices as triangle " << nbrFaceI
diff --git a/src/thermophysicalModels/properties/liquidPropertiesFvPatchFields/humidityTemperatureCoupledMixed/humidityTemperatureCoupledMixedFvPatchScalarField.C b/src/thermophysicalModels/properties/liquidPropertiesFvPatchFields/humidityTemperatureCoupledMixed/humidityTemperatureCoupledMixedFvPatchScalarField.C
index 1bc31648218..42c2133c1f6 100644
--- a/src/thermophysicalModels/properties/liquidPropertiesFvPatchFields/humidityTemperatureCoupledMixed/humidityTemperatureCoupledMixedFvPatchScalarField.C
+++ b/src/thermophysicalModels/properties/liquidPropertiesFvPatchFields/humidityTemperatureCoupledMixed/humidityTemperatureCoupledMixedFvPatchScalarField.C
@@ -243,17 +243,8 @@ humidityTemperatureCoupledMixedFvPatchScalarField
 {
     if (!isA<mappedPatchBase>(this->patch().patch()))
     {
-        FatalIOErrorIn
-        (
-            "humidityTemperatureCoupledMixedFvPatchScalarField::"
-            "humidityTemperatureCoupledMixedFvPatchScalarField\n"
-            "(\n"
-            "    const fvPatch&,\n"
-            "    const DimensionedField<scalar, volMesh>&,\n"
-            "    const dictionary&\n"
-            ")\n",
-            dict
-        )   << "\n    patch type '" << p.type()
+        FatalIOErrorInFunction(dict)
+            << "\n    patch type '" << p.type()
             << "' not type '" << mappedPatchBase::typeName << "'"
             << "\n    for patch " << p.name()
             << " of field " << dimensionedInternalField().name()
@@ -312,17 +303,7 @@ humidityTemperatureCoupledMixedFvPatchScalarField
             }
             default:
             {
-                FatalIOErrorIn
-                (
-                    "humidityTemperatureCoupledMixedFvPatchScalarField::"
-                    "humidityTemperatureCoupledMixedFvPatchScalarField\n"
-                    "(\n"
-                    "    const fvPatch&,\n"
-                    "    const DimensionedField<scalar, volMesh>&,\n"
-                    "    const dictionary& \n"
-                    ")\n",
-                    dict
-                )
+                FatalIOErrorInFunction(dict)
                     << "Did not find mode " << mode_
                     << " on  patch " << patch().name()
                     << nl
-- 
GitLab


From dbea5806ce106e97f7b0c817f503f82b3fc4ff79 Mon Sep 17 00:00:00 2001
From: Andrew Heather <a.heather@opencfd.co.uk>
Date: Tue, 8 Dec 2015 12:14:13 +0000
Subject: [PATCH 131/141] ENH: Tutorials - removing fluxRequired from fvSchemes

---
 .../XiDyMFoam/annularCombustorTurbine/system/fvSchemes    | 8 --------
 .../XiDyMFoam/oscillatingCylinder/system/fvSchemes        | 7 -------
 .../system/bottomWater/fvSchemes                          | 5 -----
 .../externalCoupledMultiRegionHeater/system/fvSchemes     | 4 ----
 .../system/heater/fvSchemes                               | 4 ----
 .../windshieldCondensation/system/cabin/fvSchemes         | 6 ------
 .../windshieldCondensation/system/fvSchemes               | 4 ----
 .../windshieldCondensation/system/windshield/fvSchemes    | 4 ----
 .../oscillatingInletPeriodicAMI2D/system/fvSchemes        | 7 -------
 tutorials/mesh/parallel/cavity/system/fvSchemes           | 6 ------
 tutorials/mesh/parallel/filter/system/fvSchemes           | 6 ------
 .../mesh/snappyHexMesh/gap_detection/system/fvSchemes     | 6 ------
 .../RAS/wallBoiling/system/fvSchemes                      | 5 -----
 .../laminar/steamInjection/system/fvSchemes               | 5 -----
 .../createZeroDirectory/cavity/system/fvSchemes           | 6 ------
 .../snappyMultiRegionHeater/system/bottomAir/fvSchemes    | 5 -----
 .../snappyMultiRegionHeater/system/fvSchemes              | 4 ----
 .../snappyMultiRegionHeater/system/heater/fvSchemes       | 4 ----
 .../snappyMultiRegionHeater/system/leftSolid/fvSchemes    | 4 ----
 .../snappyMultiRegionHeater/system/rightSolid/fvSchemes   | 4 ----
 .../snappyMultiRegionHeater/system/topAir/fvSchemes       | 5 -----
 21 files changed, 109 deletions(-)

diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/fvSchemes b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/fvSchemes
index 92222546f5f..667a1f84d25 100644
--- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/fvSchemes
+++ b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/fvSchemes
@@ -69,13 +69,5 @@ snGradSchemes
     default         corrected;
 }
 
-fluxRequired
-{
-    default         no;
-    p               ;
-    Phi             ;
-    pcorr           ;
-}
-
 
 // ************************************************************************* //
diff --git a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/system/fvSchemes b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/system/fvSchemes
index e2a9ff14141..7266f7d0c85 100644
--- a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/system/fvSchemes
+++ b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/system/fvSchemes
@@ -68,12 +68,5 @@ snGradSchemes
     default         corrected;
 }
 
-fluxRequired
-{
-    default         no;
-    p               ;
-    pcorr           ;
-}
-
 
 // ************************************************************************* //
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/bottomWater/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/bottomWater/fvSchemes
index 1278f2856a5..8e9cd0937f5 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/bottomWater/fvSchemes
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/bottomWater/fvSchemes
@@ -53,10 +53,5 @@ snGradSchemes
     default         corrected;
 }
 
-fluxRequired
-{
-    default         no;
-    p_rgh;
-}
 
 // ************************************************************************* //
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/fvSchemes
index e7d321e9594..a61bdb780e6 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/fvSchemes
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/fvSchemes
@@ -38,9 +38,5 @@ snGradSchemes
 {
 }
 
-fluxRequired
-{
-}
-
 
 // ************************************************************************* //
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/heater/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/heater/fvSchemes
index d1227f9fad6..0f849214106 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/heater/fvSchemes
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/heater/fvSchemes
@@ -45,9 +45,5 @@ snGradSchemes
     default         corrected;
 }
 
-fluxRequired
-{
-    default         no;
-}
 
 // ************************************************************************* //
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/cabin/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/cabin/fvSchemes
index 01521bab5ef..3dae59d479b 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/cabin/fvSchemes
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/cabin/fvSchemes
@@ -60,12 +60,6 @@ snGradSchemes
     default         corrected;
 }
 
-fluxRequired
-{
-    default         no;
-    p_rgh               ;
-}
-
 wallDist
 {
     method meshWave;
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/fvSchemes
index 89e17c63878..fc41e23e3ef 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/fvSchemes
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/fvSchemes
@@ -39,9 +39,5 @@ snGradSchemes
 {
 }
 
-fluxRequired
-{
-}
-
 
 // ************************************************************************* //
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/windshield/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/windshield/fvSchemes
index 8a14cb557ad..2adcc274a32 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/windshield/fvSchemes
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/windshield/fvSchemes
@@ -45,9 +45,5 @@ snGradSchemes
     default         corrected;
 }
 
-fluxRequired
-{
-    default         no;
-}
 
 // ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleDyMFoam/oscillatingInletPeriodicAMI2D/system/fvSchemes b/tutorials/incompressible/pimpleDyMFoam/oscillatingInletPeriodicAMI2D/system/fvSchemes
index f65b5bf3979..5eab8e1c0b8 100644
--- a/tutorials/incompressible/pimpleDyMFoam/oscillatingInletPeriodicAMI2D/system/fvSchemes
+++ b/tutorials/incompressible/pimpleDyMFoam/oscillatingInletPeriodicAMI2D/system/fvSchemes
@@ -52,12 +52,5 @@ snGradSchemes
     default         limited corrected 0.33;
 }
 
-fluxRequired
-{
-    default         no;
-    pcorr           ;
-    p               ;
-}
-
 
 // ************************************************************************* //
diff --git a/tutorials/mesh/parallel/cavity/system/fvSchemes b/tutorials/mesh/parallel/cavity/system/fvSchemes
index dede0a6cba1..025dfc08189 100644
--- a/tutorials/mesh/parallel/cavity/system/fvSchemes
+++ b/tutorials/mesh/parallel/cavity/system/fvSchemes
@@ -47,11 +47,5 @@ snGradSchemes
     default         orthogonal;
 }
 
-fluxRequired
-{
-    default         no;
-    p               ;
-}
-
 
 // ************************************************************************* //
diff --git a/tutorials/mesh/parallel/filter/system/fvSchemes b/tutorials/mesh/parallel/filter/system/fvSchemes
index 536c43de095..bc634cf1f9a 100644
--- a/tutorials/mesh/parallel/filter/system/fvSchemes
+++ b/tutorials/mesh/parallel/filter/system/fvSchemes
@@ -55,11 +55,5 @@ snGradSchemes
     default         corrected;
 }
 
-fluxRequired
-{
-    default         no;
-    p               ;
-}
-
 
 // ************************************************************************* //
diff --git a/tutorials/mesh/snappyHexMesh/gap_detection/system/fvSchemes b/tutorials/mesh/snappyHexMesh/gap_detection/system/fvSchemes
index bba4ac8e0c1..02c0490fd17 100644
--- a/tutorials/mesh/snappyHexMesh/gap_detection/system/fvSchemes
+++ b/tutorials/mesh/snappyHexMesh/gap_detection/system/fvSchemes
@@ -53,11 +53,5 @@ snGradSchemes
     default         limited corrected 0.333;
 }
 
-fluxRequired
-{
-    default         no;
-    p_rgh           ;
-}
-
 
 // ************************************************************************* //
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/system/fvSchemes b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/system/fvSchemes
index e6e76891b6f..7b1bd04503a 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/system/fvSchemes
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoiling/system/fvSchemes
@@ -61,11 +61,6 @@ snGradSchemes
     default         uncorrected;
 }
 
-fluxRequired
-{
-    default         no;
-}
-
 wallDist
 {
     method          meshWave;
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/steamInjection/system/fvSchemes b/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/steamInjection/system/fvSchemes
index 2eb1993dc71..6c75d330b28 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/steamInjection/system/fvSchemes
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/steamInjection/system/fvSchemes
@@ -61,11 +61,6 @@ snGradSchemes
     default         uncorrected;
 }
 
-fluxRequired
-{
-    default         no;
-}
-
 wallDist
 {
     method          meshWave;
diff --git a/tutorials/preProcessing/createZeroDirectory/cavity/system/fvSchemes b/tutorials/preProcessing/createZeroDirectory/cavity/system/fvSchemes
index bc1f6595ce3..1a406b5c4c8 100644
--- a/tutorials/preProcessing/createZeroDirectory/cavity/system/fvSchemes
+++ b/tutorials/preProcessing/createZeroDirectory/cavity/system/fvSchemes
@@ -50,11 +50,5 @@ snGradSchemes
     default         orthogonal;
 }
 
-fluxRequired
-{
-    default         no;
-    p               ;
-}
-
 
 // ************************************************************************* //
diff --git a/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/bottomAir/fvSchemes b/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/bottomAir/fvSchemes
index ff700cbe3be..6022214b97a 100644
--- a/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/bottomAir/fvSchemes
+++ b/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/bottomAir/fvSchemes
@@ -52,10 +52,5 @@ snGradSchemes
     default         limited corrected 0.333;
 }
 
-fluxRequired
-{
-    default         no;
-    p_rgh;
-}
 
 // ************************************************************************* //
diff --git a/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/fvSchemes b/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/fvSchemes
index db1fbcd9a46..260bf663585 100644
--- a/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/fvSchemes
+++ b/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/fvSchemes
@@ -38,9 +38,5 @@ snGradSchemes
 {
 }
 
-fluxRequired
-{
-}
-
 
 // ************************************************************************* //
diff --git a/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/heater/fvSchemes b/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/heater/fvSchemes
index 1f65a56be67..9be4a16de6c 100644
--- a/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/heater/fvSchemes
+++ b/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/heater/fvSchemes
@@ -45,9 +45,5 @@ snGradSchemes
     default         limited corrected 0.333;
 }
 
-fluxRequired
-{
-    default         no;
-}
 
 // ************************************************************************* //
diff --git a/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/leftSolid/fvSchemes b/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/leftSolid/fvSchemes
index 1f65a56be67..9be4a16de6c 100644
--- a/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/leftSolid/fvSchemes
+++ b/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/leftSolid/fvSchemes
@@ -45,9 +45,5 @@ snGradSchemes
     default         limited corrected 0.333;
 }
 
-fluxRequired
-{
-    default         no;
-}
 
 // ************************************************************************* //
diff --git a/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/rightSolid/fvSchemes b/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/rightSolid/fvSchemes
index 1f65a56be67..9be4a16de6c 100644
--- a/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/rightSolid/fvSchemes
+++ b/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/rightSolid/fvSchemes
@@ -45,9 +45,5 @@ snGradSchemes
     default         limited corrected 0.333;
 }
 
-fluxRequired
-{
-    default         no;
-}
 
 // ************************************************************************* //
diff --git a/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/topAir/fvSchemes b/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/topAir/fvSchemes
index ff700cbe3be..6022214b97a 100644
--- a/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/topAir/fvSchemes
+++ b/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/topAir/fvSchemes
@@ -52,10 +52,5 @@ snGradSchemes
     default         limited corrected 0.333;
 }
 
-fluxRequired
-{
-    default         no;
-    p_rgh;
-}
 
 // ************************************************************************* //
-- 
GitLab


From d888867a33a73ea42a9a6b89e7b73ebcf652d502 Mon Sep 17 00:00:00 2001
From: Andrew Heather <a.heather@opencfd.co.uk>
Date: Tue, 8 Dec 2015 12:29:57 +0000
Subject: [PATCH 132/141] COMP: XiDyMFoam - updated fvOptions include file

---
 applications/solvers/combustion/XiFoam/XiDyMFoam/XiDyMFoam.C | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/applications/solvers/combustion/XiFoam/XiDyMFoam/XiDyMFoam.C b/applications/solvers/combustion/XiFoam/XiDyMFoam/XiDyMFoam.C
index d4cb0666e29..0fa0f9618a4 100644
--- a/applications/solvers/combustion/XiFoam/XiDyMFoam/XiDyMFoam.C
+++ b/applications/solvers/combustion/XiFoam/XiDyMFoam/XiDyMFoam.C
@@ -58,7 +58,7 @@ Description
 #include "Switch.H"
 #include "pimpleControl.H"
 #include "CorrectPhi.H"
-#include "fvIOoptionList.H"
+#include "fvOptions.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-- 
GitLab


From acecae7e4456cfaa40ba4494e3b6bfe3f2c60d10 Mon Sep 17 00:00:00 2001
From: mattijs <mattijs>
Date: Tue, 8 Dec 2015 14:18:35 +0000
Subject: [PATCH 133/141] COMP: subsetMesh: Make/options adapted for new
 location of fvMeshSubset

---
 .../utilities/mesh/manipulation/subsetMesh/Make/options         | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/applications/utilities/mesh/manipulation/subsetMesh/Make/options b/applications/utilities/mesh/manipulation/subsetMesh/Make/options
index 969020c4afa..024b277190a 100644
--- a/applications/utilities/mesh/manipulation/subsetMesh/Make/options
+++ b/applications/utilities/mesh/manipulation/subsetMesh/Make/options
@@ -1,8 +1,10 @@
 EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
+    -I$(LIB_SRC)/dynamicMesh/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude
 
 EXE_LIBS = \
     -lfiniteVolume \
     -lmeshTools \
+    -ldynamicMesh \
     -lgenericPatchFields
-- 
GitLab


From 2e7d7d16097e9e1694e6eeb4ef0f1cd6825bddb7 Mon Sep 17 00:00:00 2001
From: mattijs <mattijs>
Date: Tue, 8 Dec 2015 14:35:02 +0000
Subject: [PATCH 134/141] BUG: RunFunctions: missing fi. Renamed variable.
 Updated Allrun scripts

---
 bin/tools/RunFunctions                        | 41 +++++++------------
 .../annularCombustorTurbine/Allrun.mesh       |  4 +-
 tutorials/mesh/parallel/cavity/Allrun         | 14 +++----
 tutorials/mesh/parallel/filter/Allrun         |  4 +-
 4 files changed, 26 insertions(+), 37 deletions(-)

diff --git a/bin/tools/RunFunctions b/bin/tools/RunFunctions
index 9769c760938..f05567c7379 100644
--- a/bin/tools/RunFunctions
+++ b/bin/tools/RunFunctions
@@ -40,7 +40,7 @@ getApplication()
 
 runApplication()
 {
-    APP_LOGFILE=
+    LOG_NAME=
     APP_RUN=
     LOG_IGNORE=false
     LOG_APPEND=false
@@ -57,7 +57,7 @@ runApplication()
                 LOG_IGNORE=true
                 ;;
             -log)
-                APP_LOGFILE=$1
+                LOG_NAME=$2
                 shift
                 ;;
             *)
@@ -68,24 +68,24 @@ runApplication()
         shift
     done
 
-    APP_LOGFILE=${APP_LOGFILE:="log.$APP_NAME"}
+    LOG_NAME=${LOG_NAME:="log.$APP_NAME"}
 
-    if [ -f $APP_LOGFILE ] && [ "$LOG_IGNORE" = "false" ]
+    if [ -f $LOG_NAME ] && [ "$LOG_IGNORE" = "false" ]
     then
-        echo "$APP_NAME already run on $PWD: remove log file $APP_LOGFILE to re-run"
+        echo "$APP_NAME already run on $PWD: remove log file $LOG_NAME to re-run"
     else
         echo "Running $APP_RUN on $PWD"
-        $APP_RUN "$@" > $APP_LOGFILE 2>&1
         if [ "$LOG_APPEND" = "true" ]; then
-            $APP_RUN "$@" >> $APP_LOGFILE 2>&1
+            $APP_RUN "$@" >> $LOG_NAME 2>&1
         else
-            $APP_RUN "$@" > $APP_LOGFILE 2>&1
+            $APP_RUN "$@" > $LOG_NAME 2>&1
         fi
+    fi
 }
 
 runParallel()
 {
-    APP_LOGFILE=
+    LOG_NAME=
     APP_RUN=
     LOG_IGNORE=false
     LOG_APPEND=false
@@ -102,7 +102,7 @@ runParallel()
                 LOG_IGNORE=true
                 ;;
             -log)
-                APP_LOGFILE=$1
+                LOG_NAME=$2
                 shift
                 ;;
             *)
@@ -116,28 +116,17 @@ runParallel()
     shift
     done
 
-    APP_LOGFILE=${APP_LOGFILE:="log.$APP_NAME"}
+    LOG_NAME=${LOG_NAME:="log.$APP_NAME"}
 
-    if [ -f $APP_LOGFILE ] && [ "$LOG_IGNORE" = "false" ]
+    if [ -f $LOG_NAME ] && [ "$LOG_IGNORE" = "false" ]
     then
-        echo "$APP_NAME already run on $PWD: remove log file $APP_LOGFILE to re-run"
+        echo "$APP_NAME already run on $PWD: remove log file $LOG_NAME to re-run"
     else
-        nProcs=$1
-        shift
         echo "Running $APP_RUN in parallel on $PWD using $nProcs processes"
-
-        #if [ "$WM_SCHEDULER" ]
-        #then
-        #    echo "$PWD: $WM_SCHEDULER -np $nProcs" 1>&2
-        #    $WM_SCHEDULER -np $nProcs "( mpirun -np $nProcs $APP_RUN -parallel "$@" < /dev/null > $APP_LOGFILE 2>&1 )"
-        #else
-            ( mpirun -np $nProcs $APP_RUN -parallel "$@" < /dev/null > $APP_LOGFILE 2>&1 )
-        #fi
-
         if [ "$LOG_APPEND" = "true" ]; then
-            ( mpirun -np $nProcs $APP_RUN -parallel "$@" < /dev/null >> $APP_LOGFILE 2>&1 )
+            ( mpirun -np $nProcs $APP_RUN -parallel "$@" < /dev/null >> $LOG_NAME 2>&1 )
         else
-            ( mpirun -np $nProcs $APP_RUN -parallel "$@" < /dev/null > $APP_LOGFILE 2>&1 )
+            ( mpirun -np $nProcs $APP_RUN -parallel "$@" < /dev/null > $LOG_NAME 2>&1 )
         fi
     fi
 }
diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/Allrun.mesh b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/Allrun.mesh
index d031a53137d..43192922b45 100755
--- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/Allrun.mesh
+++ b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/Allrun.mesh
@@ -8,14 +8,14 @@ rm -f log.* constant/polyMesh/*Level
 
 runApplication blockMesh
 
-runApplication -l log.createPatch.cyclic \
+runApplication -log log.createPatch.cyclic \
     createPatch -dict system/createPatchDict.cyclic -overwrite
 
 runApplication snappyHexMesh -overwrite
 
 rm -rf 0
 
-runApplication -l log.createPatch.ami \
+runApplication -log log.createPatch.ami \
     createPatch -dict system/createPatchDict.ami -overwrite
 
 runApplication transformPoints -scale '(0.01 0.01 0.01)'
diff --git a/tutorials/mesh/parallel/cavity/Allrun b/tutorials/mesh/parallel/cavity/Allrun
index e6c76345f99..cc8f39f76f1 100755
--- a/tutorials/mesh/parallel/cavity/Allrun
+++ b/tutorials/mesh/parallel/cavity/Allrun
@@ -13,23 +13,23 @@ runApplication blockMesh
 runParallel redistributePar 2 -decompose
 
 #- bit of renumbering and running
-runParallel -l log.renumberMesh-CuthillMcKee renumberMesh 2 -overwrite
-runParallel -l log.icoFoam-CuthillMcKee icoFoam 2
+runParallel -log log.renumberMesh-CuthillMcKee renumberMesh 2 -overwrite
+runParallel -log log.icoFoam-CuthillMcKee icoFoam 2
 
 #- bit of bad renumbering and running
-runParallel -l log.renumberMesh-parallel renumberMesh 2 -overwrite -dict system/renumberMeshDict-random
-runParallel -l log.icoFoam-random icoFoam 2
+runParallel -log log.renumberMesh-parallel renumberMesh 2 -overwrite -dict system/renumberMeshDict-random
+runParallel -log log.icoFoam-random icoFoam 2
 
 #- pick up last result
 cp system/controlDict-latestTime system/controlDict
 
 #- redistribute to 5 processors
-runParallel -l log.redistributePar-5 redistributePar 5 -decomposeParDict system/decomposeParDict-5 -cellDist
+runParallel -log log.redistributePar-5 redistributePar 5 -decomposeParDict system/decomposeParDict-5 -cellDist
 #- run a bit more
-runParallel -l log.icoFoam-5 icoFoam 5 -decomposeParDict system/decomposeParDict-5
+runParallel -log log.icoFoam-5 icoFoam 5 -decomposeParDict system/decomposeParDict-5
 
 #- reconstruct mesh and results
-runParallel -l log.redistributePar-1 redistributePar 5 -reconstruct -decomposeParDict system/decomposeParDict
+runParallel -log log.redistributePar-1 redistributePar 5 -reconstruct -decomposeParDict system/decomposeParDict
 
 
 # ----------------------------------------------------------------- end-of-file
diff --git a/tutorials/mesh/parallel/filter/Allrun b/tutorials/mesh/parallel/filter/Allrun
index 47c1667d510..8367f6c36fe 100755
--- a/tutorials/mesh/parallel/filter/Allrun
+++ b/tutorials/mesh/parallel/filter/Allrun
@@ -24,10 +24,10 @@ runApplication $application
 runParallel redistributePar 3 -decompose -cellDist
 
 #- Continue running for a bit more
-runParallel -l log.reactingParcelFoam-par $application 3
+runParallel -log log.reactingParcelFoam-par $application 3
 
 #- Reconstruct all times
-runParallel -l log.redistributePar-1 redistributePar 3 -reconstruct
+runParallel -log log.redistributePar-1 redistributePar 3 -reconstruct
 
 
 # ----------------------------------------------------------------- end-of-file
-- 
GitLab


From c09571b2270e1a5a529adabcd7b4395275537684 Mon Sep 17 00:00:00 2001
From: Andrew Heather <a.heather@opencfd.co.uk>
Date: Tue, 8 Dec 2015 15:04:20 +0000
Subject: [PATCH 135/141] BUG: Correcetd merge error in RunFunctions

---
 bin/tools/RunFunctions | 1 +
 1 file changed, 1 insertion(+)

diff --git a/bin/tools/RunFunctions b/bin/tools/RunFunctions
index 9769c760938..a4ef12e0a8e 100644
--- a/bin/tools/RunFunctions
+++ b/bin/tools/RunFunctions
@@ -81,6 +81,7 @@ runApplication()
         else
             $APP_RUN "$@" > $APP_LOGFILE 2>&1
         fi
+    fi
 }
 
 runParallel()
-- 
GitLab


From e8118a9b0483aa4cf08480a6c7f103039f87209d Mon Sep 17 00:00:00 2001
From: Andrew Heather <a.heather@opencfd.co.uk>
Date: Tue, 8 Dec 2015 15:06:13 +0000
Subject: [PATCH 136/141] ENH: Tutorials - removed boundary files from
 repository

---
 .../constant/polyMesh/boundary                | 101 ------------------
 .../constant/polyMesh/boundary                |  61 -----------
 .../constant/polyMesh/boundary                |  54 ----------
 3 files changed, 216 deletions(-)
 delete mode 100644 tutorials/combustion/XiDyMFoam/annularCombustorTurbine/constant/polyMesh/boundary
 delete mode 100644 tutorials/combustion/XiDyMFoam/oscillatingCylinder/constant/polyMesh/boundary
 delete mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/polyMesh/boundary

diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/constant/polyMesh/boundary b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/constant/polyMesh/boundary
deleted file mode 100644
index ab02d692aee..00000000000
--- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/constant/polyMesh/boundary
+++ /dev/null
@@ -1,101 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev-OpenCFD.feature-periodicAMIAndXiDyMFoam|
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      binary;
-    class       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-9
-(
-    inlet
-    {
-        type            patch;
-        nFaces          274;
-        startFace       250645;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          1280;
-        startFace       250919;
-    }
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          10444;
-        startFace       252199;
-    }
-    cyclic0
-    {
-        type            cyclicSlip;
-        inGroups        1(cyclicSlip);
-        nFaces          3206;
-        startFace       262643;
-        matchTolerance  0.001;
-        transform       rotational;
-        neighbourPatch  cyclic1;
-        rotationAxis    (1 0 0);
-        rotationCentre  (0 0 0);
-    }
-    cyclic1
-    {
-        type            cyclicSlip;
-        inGroups        1(cyclicSlip);
-        nFaces          3206;
-        startFace       265849;
-        matchTolerance  0.001;
-        transform       rotational;
-        neighbourPatch  cyclic0;
-        rotationAxis    (1 0 0);
-        rotationCentre  (0 0 0);
-    }
-    blade1
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          2614;
-        startFace       269055;
-    }
-    blade2
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          2616;
-        startFace       271669;
-    }
-    ami0
-    {
-        type            cyclicPeriodicAMI;
-        inGroups        1(cyclicAMI);
-        nFaces          1280;
-        startFace       274285;
-        matchTolerance  0.001;
-        transform       unknown;
-        neighbourPatch  ami1;
-        periodicPatch   cyclic0;
-    }
-    ami1
-    {
-        type            cyclicPeriodicAMI;
-        inGroups        1(cyclicAMI);
-        nFaces          1280;
-        startFace       275565;
-        matchTolerance  0.001;
-        transform       unknown;
-        neighbourPatch  ami0;
-        periodicPatch   cyclic0;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/constant/polyMesh/boundary b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/constant/polyMesh/boundary
deleted file mode 100644
index 3ee1deefbe8..00000000000
--- a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/constant/polyMesh/boundary
+++ /dev/null
@@ -1,61 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev-OpenCFD.feature-periodicAMIAndXiDyMFoam|
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-6
-(
-    inletAir
-    {
-        type            patch;
-        nFaces          16;
-        startFace       5952;
-    }
-    inletFuel
-    {
-        type            patch;
-        nFaces          8;
-        startFace       5968;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          24;
-        startFace       5976;
-    }
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          240;
-        startFace       6000;
-    }
-    cylinder
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          96;
-        startFace       6240;
-    }
-    frontAndBack
-    {
-        type            empty;
-        inGroups        1(empty);
-        nFaces          6144;
-        startFace       6336;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/polyMesh/boundary b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/polyMesh/boundary
deleted file mode 100644
index 62bf6114b06..00000000000
--- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/constant/polyMesh/boundary
+++ /dev/null
@@ -1,54 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev-OpenCFD                           |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      binary;
-    class       polyBoundaryMesh;
-    location    "constant/polyMesh";
-    object      boundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-5
-(
-    inlet
-    {
-        type            patch;
-        nFaces          70;
-        startFace       648417;
-    }
-    outlet
-    {
-        type            patch;
-        nFaces          2250;
-        startFace       648487;
-    }
-    exterior
-    {
-        type            patch;
-        nFaces          2250;
-        startFace       650737;
-    }
-    symmetry
-    {
-        type            symmetryPlane;
-        inGroups        1(symmetryPlane);
-        nFaces          4365;
-        startFace       652987;
-    }
-    walls
-    {
-        type            wall;
-        inGroups        1(wall);
-        nFaces          15071;
-        startFace       657352;
-    }
-)
-
-// ************************************************************************* //
-- 
GitLab


From 53053fed78d35ffd71563124f6373bde675e2d43 Mon Sep 17 00:00:00 2001
From: Andrew Heather <a.heather@opencfd.co.uk>
Date: Tue, 8 Dec 2015 22:29:28 +0000
Subject: [PATCH 137/141] STYLE: Consistency update in OpenCFD copyright text

---
 .../db/functionObjects/functionObjectFile/functionObjectFile.C  | 2 +-
 .../db/functionObjects/functionObjectFile/functionObjectFile.H  | 2 +-
 .../db/functionObjects/functionObjectList/functionObjectList.C  | 2 +-
 .../db/functionObjects/functionObjectList/functionObjectList.H  | 2 +-
 .../functionObjects/functionObjectState/functionObjectState.C   | 2 +-
 .../functionObjects/functionObjectState/functionObjectState.H   | 2 +-
 .../functionObjectState/functionObjectStateTemplates.C          | 2 +-
 src/OpenFOAM/primitives/functions/DataEntry/Constant/Constant.C | 2 +-
 src/OpenFOAM/primitives/functions/DataEntry/Constant/Constant.H | 2 +-
 .../derived/uniformInletOutlet/uniformInletOutletFvPatchField.C | 2 +-
 .../directionalPressureGradientExplicitSource.C                 | 2 +-
 .../directionalPressureGradientExplicitSource.H                 | 2 +-
 .../directionalPressureGradientExplicitSourceIO.C               | 2 +-
 .../tabulatedNTUHeatTransfer/tabulatedNTUHeatTransfer.C         | 2 +-
 .../tabulatedNTUHeatTransfer/tabulatedNTUHeatTransfer.H         | 2 +-
 .../PatchInteractionModel/LocalInteraction/LocalInteraction.C   | 2 +-
 .../StandardWallInteraction/StandardWallInteraction.C           | 2 +-
 src/postProcessing/functionObjects/cloud/cloudInfo/cloudInfo.C  | 2 +-
 src/postProcessing/functionObjects/cloud/cloudInfo/cloudInfo.H  | 2 +-
 src/postProcessing/functionObjects/doc/functionObjects.dox      | 2 +-
 .../field/fieldAverage/fieldAverage/fieldAverage.C              | 2 +-
 .../field/fieldAverage/fieldAverage/fieldAverage.H              | 2 +-
 .../field/fieldAverage/fieldAverage/fieldAverageTemplates.C     | 2 +-
 .../functionObjects/field/fieldMinMax/fieldMinMax.C             | 2 +-
 .../functionObjects/field/fieldMinMax/fieldMinMax.H             | 2 +-
 .../functionObjects/field/fieldMinMax/fieldMinMaxTemplates.C    | 2 +-
 .../functionObjects/field/fieldValues/cellSource/cellSource.H   | 2 +-
 .../functionObjects/field/fieldValues/faceSource/faceSource.H   | 2 +-
 .../field/fieldValues/faceSource/faceSourceTemplates.C          | 2 +-
 .../functionObjects/field/fieldValues/fieldValue/fieldValue.C   | 2 +-
 .../functionObjects/field/fieldValues/fieldValue/fieldValue.H   | 2 +-
 .../functionObjects/field/fieldValues/fieldValue/fieldValueI.H  | 2 +-
 .../field/fieldValues/fieldValue/fieldValueTemplates.C          | 2 +-
 .../field/fieldValues/fieldValueDelta/fieldValueDelta.C         | 2 +-
 .../field/fieldValues/fieldValueDelta/fieldValueDelta.H         | 2 +-
 .../fieldValues/fieldValueDelta/fieldValueDeltaTemplates.C      | 2 +-
 .../field/regionSizeDistribution/regionSizeDistribution.C       | 2 +-
 .../field/regionSizeDistribution/regionSizeDistribution.H       | 2 +-
 .../functionObjects/forces/forceCoeffs/forceCoeffs.C            | 2 +-
 .../functionObjects/forces/forceCoeffs/forceCoeffs.H            | 2 +-
 src/postProcessing/functionObjects/forces/forces/forces.C       | 2 +-
 src/postProcessing/functionObjects/forces/forces/forces.H       | 2 +-
 .../functionObjects/utilities/pressureTools/pressureTools.H     | 2 +-
 .../functionObjects/utilities/residuals/residuals.C             | 2 +-
 .../functionObjects/utilities/residuals/residuals.H             | 2 +-
 .../functionObjects/utilities/residuals/residualsTemplates.C    | 2 +-
 .../utilities/turbulenceFields/turbulenceFields.H               | 2 +-
 .../functionObjects/utilities/wallShearStress/wallShearStress.C | 2 +-
 .../functionObjects/utilities/wallShearStress/wallShearStress.H | 2 +-
 src/postProcessing/functionObjects/utilities/yPlus/yPlus.C      | 2 +-
 src/postProcessing/functionObjects/utilities/yPlus/yPlus.H      | 2 +-
 .../functionObjects/utilities/yPlus/yPlusTemplates.C            | 2 +-
 src/sampling/sampledSet/sampledSets/sampledSets.C               | 2 +-
 src/sampling/sampledSet/sampledSets/sampledSets.H               | 2 +-
 src/sampling/sampledSet/sampledSets/sampledSetsTemplates.C      | 2 +-
 src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.H   | 2 +-
 .../sampledSurface/sampledSurfaces/sampledSurfacesTemplates.C   | 2 +-
 src/sampling/sampledSurface/writers/dx/dxSurfaceWriter.C        | 2 +-
 src/sampling/sampledSurface/writers/dx/dxSurfaceWriter.H        | 2 +-
 .../sampledSurface/writers/dx/dxSurfaceWriterTemplates.C        | 2 +-
 .../sampledSurface/writers/ensight/ensightSurfaceWriter.C       | 2 +-
 .../sampledSurface/writers/ensight/ensightSurfaceWriter.H       | 2 +-
 .../writers/ensight/ensightSurfaceWriterTemplates.C             | 2 +-
 .../sampledSurface/writers/foamFile/foamFileSurfaceWriter.C     | 2 +-
 .../sampledSurface/writers/foamFile/foamFileSurfaceWriter.H     | 2 +-
 .../writers/foamFile/foamFileSurfaceWriterTemplates.C           | 2 +-
 src/sampling/sampledSurface/writers/makeSurfaceWriterMethods.H  | 2 +-
 .../sampledSurface/writers/nastran/nastranSurfaceWriter.C       | 2 +-
 .../sampledSurface/writers/nastran/nastranSurfaceWriter.H       | 2 +-
 .../writers/nastran/nastranSurfaceWriterTemplates.C             | 2 +-
 src/sampling/sampledSurface/writers/proxy/proxySurfaceWriter.C  | 2 +-
 src/sampling/sampledSurface/writers/proxy/proxySurfaceWriter.H  | 2 +-
 src/sampling/sampledSurface/writers/raw/rawSurfaceWriter.C      | 2 +-
 src/sampling/sampledSurface/writers/raw/rawSurfaceWriter.H      | 2 +-
 .../sampledSurface/writers/raw/rawSurfaceWriterTemplates.C      | 2 +-
 .../sampledSurface/writers/starcd/starcdSurfaceWriter.C         | 2 +-
 .../sampledSurface/writers/starcd/starcdSurfaceWriter.H         | 2 +-
 .../writers/starcd/starcdSurfaceWriterTemplates.C               | 2 +-
 src/sampling/sampledSurface/writers/surfaceWriter.H             | 2 +-
 src/sampling/sampledSurface/writers/vtk/vtkSurfaceWriter.C      | 2 +-
 src/sampling/sampledSurface/writers/vtk/vtkSurfaceWriter.H      | 2 +-
 .../sampledSurface/writers/vtk/vtkSurfaceWriterTemplates.C      | 2 +-
 .../humidityTemperatureCoupledMixedFvPatchScalarField.C         | 2 +-
 .../humidityTemperatureCoupledMixedFvPatchScalarField.H         | 2 +-
 84 files changed, 84 insertions(+), 84 deletions(-)

diff --git a/src/OpenFOAM/db/functionObjects/functionObjectFile/functionObjectFile.C b/src/OpenFOAM/db/functionObjects/functionObjectFile/functionObjectFile.C
index 623a5515728..b8d24fff8a8 100644
--- a/src/OpenFOAM/db/functionObjects/functionObjectFile/functionObjectFile.C
+++ b/src/OpenFOAM/db/functionObjects/functionObjectFile/functionObjectFile.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/OpenFOAM/db/functionObjects/functionObjectFile/functionObjectFile.H b/src/OpenFOAM/db/functionObjects/functionObjectFile/functionObjectFile.H
index 69220d41649..c07d8df2348 100644
--- a/src/OpenFOAM/db/functionObjects/functionObjectFile/functionObjectFile.H
+++ b/src/OpenFOAM/db/functionObjects/functionObjectFile/functionObjectFile.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C
index 0c93b738d24..7845c5fbc6b 100644
--- a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C
+++ b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.H b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.H
index 681e135d0f8..6a46de60631 100644
--- a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.H
+++ b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/OpenFOAM/db/functionObjects/functionObjectState/functionObjectState.C b/src/OpenFOAM/db/functionObjects/functionObjectState/functionObjectState.C
index 37d57d06f10..ce0b1c850f7 100644
--- a/src/OpenFOAM/db/functionObjects/functionObjectState/functionObjectState.C
+++ b/src/OpenFOAM/db/functionObjects/functionObjectState/functionObjectState.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 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/OpenFOAM/db/functionObjects/functionObjectState/functionObjectState.H b/src/OpenFOAM/db/functionObjects/functionObjectState/functionObjectState.H
index c3c8b94c7ab..c945451dac0 100644
--- a/src/OpenFOAM/db/functionObjects/functionObjectState/functionObjectState.H
+++ b/src/OpenFOAM/db/functionObjects/functionObjectState/functionObjectState.H
@@ -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 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/OpenFOAM/db/functionObjects/functionObjectState/functionObjectStateTemplates.C b/src/OpenFOAM/db/functionObjects/functionObjectState/functionObjectStateTemplates.C
index 5b48e6c48fe..f102eb0a4c2 100644
--- a/src/OpenFOAM/db/functionObjects/functionObjectState/functionObjectStateTemplates.C
+++ b/src/OpenFOAM/db/functionObjects/functionObjectState/functionObjectStateTemplates.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 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/OpenFOAM/primitives/functions/DataEntry/Constant/Constant.C b/src/OpenFOAM/primitives/functions/DataEntry/Constant/Constant.C
index 87a78b64cb7..e07a0d182a9 100644
--- a/src/OpenFOAM/primitives/functions/DataEntry/Constant/Constant.C
+++ b/src/OpenFOAM/primitives/functions/DataEntry/Constant/Constant.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/OpenFOAM/primitives/functions/DataEntry/Constant/Constant.H b/src/OpenFOAM/primitives/functions/DataEntry/Constant/Constant.H
index 024eca67259..842f84770da 100644
--- a/src/OpenFOAM/primitives/functions/DataEntry/Constant/Constant.H
+++ b/src/OpenFOAM/primitives/functions/DataEntry/Constant/Constant.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchField.C
index 54e72bb0ad4..8ef6ab0d42e 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformInletOutlet/uniformInletOutletFvPatchField.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/fvOptions/sources/derived/directionalPressureGradientExplicitSource/directionalPressureGradientExplicitSource.C b/src/fvOptions/sources/derived/directionalPressureGradientExplicitSource/directionalPressureGradientExplicitSource.C
index 23160e83800..fec009d7f85 100644
--- a/src/fvOptions/sources/derived/directionalPressureGradientExplicitSource/directionalPressureGradientExplicitSource.C
+++ b/src/fvOptions/sources/derived/directionalPressureGradientExplicitSource/directionalPressureGradientExplicitSource.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2015 OpenCFD Ltd
+    \\  /    A nd           | Copyright (C) 2015 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/fvOptions/sources/derived/directionalPressureGradientExplicitSource/directionalPressureGradientExplicitSource.H b/src/fvOptions/sources/derived/directionalPressureGradientExplicitSource/directionalPressureGradientExplicitSource.H
index e1e79156295..a36cbfe2d6c 100644
--- a/src/fvOptions/sources/derived/directionalPressureGradientExplicitSource/directionalPressureGradientExplicitSource.H
+++ b/src/fvOptions/sources/derived/directionalPressureGradientExplicitSource/directionalPressureGradientExplicitSource.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2015 OpenCFD Ltd
+    \\  /    A nd           | Copyright (C) 2015 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/fvOptions/sources/derived/directionalPressureGradientExplicitSource/directionalPressureGradientExplicitSourceIO.C b/src/fvOptions/sources/derived/directionalPressureGradientExplicitSource/directionalPressureGradientExplicitSourceIO.C
index 08babda902c..f89a05ea062 100644
--- a/src/fvOptions/sources/derived/directionalPressureGradientExplicitSource/directionalPressureGradientExplicitSourceIO.C
+++ b/src/fvOptions/sources/derived/directionalPressureGradientExplicitSource/directionalPressureGradientExplicitSourceIO.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2015 OpenCFD Ltd
+    \\  /    A nd           | Copyright (C) 2015 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/fvOptions/sources/interRegion/interRegionHeatTransfer/tabulatedNTUHeatTransfer/tabulatedNTUHeatTransfer.C b/src/fvOptions/sources/interRegion/interRegionHeatTransfer/tabulatedNTUHeatTransfer/tabulatedNTUHeatTransfer.C
index 12b3f3714f8..0cb51e13bbd 100644
--- a/src/fvOptions/sources/interRegion/interRegionHeatTransfer/tabulatedNTUHeatTransfer/tabulatedNTUHeatTransfer.C
+++ b/src/fvOptions/sources/interRegion/interRegionHeatTransfer/tabulatedNTUHeatTransfer/tabulatedNTUHeatTransfer.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2015 OpenCFD Ltd
+    \\  /    A nd           | Copyright (C) 2015 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/fvOptions/sources/interRegion/interRegionHeatTransfer/tabulatedNTUHeatTransfer/tabulatedNTUHeatTransfer.H b/src/fvOptions/sources/interRegion/interRegionHeatTransfer/tabulatedNTUHeatTransfer/tabulatedNTUHeatTransfer.H
index 611b4b1ebc3..777d533af45 100644
--- a/src/fvOptions/sources/interRegion/interRegionHeatTransfer/tabulatedNTUHeatTransfer/tabulatedNTUHeatTransfer.H
+++ b/src/fvOptions/sources/interRegion/interRegionHeatTransfer/tabulatedNTUHeatTransfer/tabulatedNTUHeatTransfer.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2015 OpenCFD Ltd
+    \\  /    A nd           | Copyright (C) 2015 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/LocalInteraction.C b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/LocalInteraction.C
index 7813ece520f..8f3f43b7e40 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/LocalInteraction.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/LocalInteraction.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/StandardWallInteraction/StandardWallInteraction.C b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/StandardWallInteraction/StandardWallInteraction.C
index 8e09ebc8d7d..d24a3f6b7d1 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/StandardWallInteraction/StandardWallInteraction.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/StandardWallInteraction/StandardWallInteraction.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/cloud/cloudInfo/cloudInfo.C b/src/postProcessing/functionObjects/cloud/cloudInfo/cloudInfo.C
index 135286d4dd8..85595ab6a87 100644
--- a/src/postProcessing/functionObjects/cloud/cloudInfo/cloudInfo.C
+++ b/src/postProcessing/functionObjects/cloud/cloudInfo/cloudInfo.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/cloud/cloudInfo/cloudInfo.H b/src/postProcessing/functionObjects/cloud/cloudInfo/cloudInfo.H
index 9e160bbab46..760b56da9a7 100644
--- a/src/postProcessing/functionObjects/cloud/cloudInfo/cloudInfo.H
+++ b/src/postProcessing/functionObjects/cloud/cloudInfo/cloudInfo.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/doc/functionObjects.dox b/src/postProcessing/functionObjects/doc/functionObjects.dox
index 5651f555451..d39e82c1371 100644
--- a/src/postProcessing/functionObjects/doc/functionObjects.dox
+++ b/src/postProcessing/functionObjects/doc/functionObjects.dox
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverage.C b/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverage.C
index efe8989f091..dcdb62eff73 100644
--- a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverage.C
+++ b/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverage.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverage.H b/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverage.H
index 748b4ee1684..77216d11912 100644
--- a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverage.H
+++ b/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverage.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverageTemplates.C b/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverageTemplates.C
index 22ff1851580..e9a02774762 100644
--- a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverageTemplates.C
+++ b/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverageTemplates.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.C b/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.C
index eacb6220395..1ffe7b29fd0 100644
--- a/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.C
+++ b/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.H b/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.H
index 2c6f45e923d..16833752445 100644
--- a/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.H
+++ b/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMaxTemplates.C b/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMaxTemplates.C
index 3349c4c8148..78f28c3fa75 100644
--- a/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMaxTemplates.C
+++ b/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMaxTemplates.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.H b/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.H
index 8c59c8450d6..912b189d25e 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.H
+++ b/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.H b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.H
index 77fde515c4d..b85ebbf560e 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.H
+++ b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C
index 17cba2234a2..de2c0044bb4 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C
+++ b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValue.C b/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValue.C
index b744457cf71..0274a753ddd 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValue.C
+++ b/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValue.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValue.H b/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValue.H
index 5e3d4e3223a..529ae7afc43 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValue.H
+++ b/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValue.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValueI.H b/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValueI.H
index f1a88185f81..c57e4f70223 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValueI.H
+++ b/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValueI.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValueTemplates.C b/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValueTemplates.C
index d9945b95703..233af060577 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValueTemplates.C
+++ b/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValueTemplates.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.C b/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.C
index 52a32dd5dbb..cbdf8576065 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.C
+++ b/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.H b/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.H
index f4133d6a666..056b91f5b44 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.H
+++ b/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDeltaTemplates.C b/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDeltaTemplates.C
index 8e358231fac..31879f63ce5 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDeltaTemplates.C
+++ b/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDeltaTemplates.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C b/src/postProcessing/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C
index e51925c488e..d90f5992e46 100644
--- a/src/postProcessing/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C
+++ b/src/postProcessing/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/field/regionSizeDistribution/regionSizeDistribution.H b/src/postProcessing/functionObjects/field/regionSizeDistribution/regionSizeDistribution.H
index 680c34fe2c8..d89106bdde8 100644
--- a/src/postProcessing/functionObjects/field/regionSizeDistribution/regionSizeDistribution.H
+++ b/src/postProcessing/functionObjects/field/regionSizeDistribution/regionSizeDistribution.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/forces/forceCoeffs/forceCoeffs.C b/src/postProcessing/functionObjects/forces/forceCoeffs/forceCoeffs.C
index fbcf25ad14c..53ad2b94603 100644
--- a/src/postProcessing/functionObjects/forces/forceCoeffs/forceCoeffs.C
+++ b/src/postProcessing/functionObjects/forces/forceCoeffs/forceCoeffs.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/forces/forceCoeffs/forceCoeffs.H b/src/postProcessing/functionObjects/forces/forceCoeffs/forceCoeffs.H
index 939b0ad84aa..3addb5596ef 100644
--- a/src/postProcessing/functionObjects/forces/forceCoeffs/forceCoeffs.H
+++ b/src/postProcessing/functionObjects/forces/forceCoeffs/forceCoeffs.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/forces/forces/forces.C b/src/postProcessing/functionObjects/forces/forces/forces.C
index 6fbe8255820..2b45394aba1 100644
--- a/src/postProcessing/functionObjects/forces/forces/forces.C
+++ b/src/postProcessing/functionObjects/forces/forces/forces.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/forces/forces/forces.H b/src/postProcessing/functionObjects/forces/forces/forces.H
index 0f3654f5b17..db048f5aa8a 100644
--- a/src/postProcessing/functionObjects/forces/forces/forces.H
+++ b/src/postProcessing/functionObjects/forces/forces/forces.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/utilities/pressureTools/pressureTools.H b/src/postProcessing/functionObjects/utilities/pressureTools/pressureTools.H
index aa5623ebd54..0c70fe94d2f 100644
--- a/src/postProcessing/functionObjects/utilities/pressureTools/pressureTools.H
+++ b/src/postProcessing/functionObjects/utilities/pressureTools/pressureTools.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/utilities/residuals/residuals.C b/src/postProcessing/functionObjects/utilities/residuals/residuals.C
index b800113dd7c..f33d1db06d7 100644
--- a/src/postProcessing/functionObjects/utilities/residuals/residuals.C
+++ b/src/postProcessing/functionObjects/utilities/residuals/residuals.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 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/utilities/residuals/residuals.H b/src/postProcessing/functionObjects/utilities/residuals/residuals.H
index 09301663702..c0b392880aa 100644
--- a/src/postProcessing/functionObjects/utilities/residuals/residuals.H
+++ b/src/postProcessing/functionObjects/utilities/residuals/residuals.H
@@ -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 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/utilities/residuals/residualsTemplates.C b/src/postProcessing/functionObjects/utilities/residuals/residualsTemplates.C
index 5aa6abccc1f..28f017a846e 100644
--- a/src/postProcessing/functionObjects/utilities/residuals/residualsTemplates.C
+++ b/src/postProcessing/functionObjects/utilities/residuals/residualsTemplates.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 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/utilities/turbulenceFields/turbulenceFields.H b/src/postProcessing/functionObjects/utilities/turbulenceFields/turbulenceFields.H
index 7903afa246b..e7b39a7d964 100644
--- a/src/postProcessing/functionObjects/utilities/turbulenceFields/turbulenceFields.H
+++ b/src/postProcessing/functionObjects/utilities/turbulenceFields/turbulenceFields.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/utilities/wallShearStress/wallShearStress.C b/src/postProcessing/functionObjects/utilities/wallShearStress/wallShearStress.C
index 28567f074ca..a7870f21397 100644
--- a/src/postProcessing/functionObjects/utilities/wallShearStress/wallShearStress.C
+++ b/src/postProcessing/functionObjects/utilities/wallShearStress/wallShearStress.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/utilities/wallShearStress/wallShearStress.H b/src/postProcessing/functionObjects/utilities/wallShearStress/wallShearStress.H
index 83bafbab532..f0890d09e55 100644
--- a/src/postProcessing/functionObjects/utilities/wallShearStress/wallShearStress.H
+++ b/src/postProcessing/functionObjects/utilities/wallShearStress/wallShearStress.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/utilities/yPlus/yPlus.C b/src/postProcessing/functionObjects/utilities/yPlus/yPlus.C
index a649b1239d3..6f43a896eb9 100644
--- a/src/postProcessing/functionObjects/utilities/yPlus/yPlus.C
+++ b/src/postProcessing/functionObjects/utilities/yPlus/yPlus.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/utilities/yPlus/yPlus.H b/src/postProcessing/functionObjects/utilities/yPlus/yPlus.H
index 7c1461ae4e5..9852cd45afa 100644
--- a/src/postProcessing/functionObjects/utilities/yPlus/yPlus.H
+++ b/src/postProcessing/functionObjects/utilities/yPlus/yPlus.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/postProcessing/functionObjects/utilities/yPlus/yPlusTemplates.C b/src/postProcessing/functionObjects/utilities/yPlus/yPlusTemplates.C
index 7173a932823..64590399499 100644
--- a/src/postProcessing/functionObjects/utilities/yPlus/yPlusTemplates.C
+++ b/src/postProcessing/functionObjects/utilities/yPlus/yPlusTemplates.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/sampling/sampledSet/sampledSets/sampledSets.C b/src/sampling/sampledSet/sampledSets/sampledSets.C
index ecaf56ecbd1..e4dfaa638c5 100644
--- a/src/sampling/sampledSet/sampledSets/sampledSets.C
+++ b/src/sampling/sampledSet/sampledSets/sampledSets.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/sampling/sampledSet/sampledSets/sampledSets.H b/src/sampling/sampledSet/sampledSets/sampledSets.H
index a9cac56d0b4..168eee9c39a 100644
--- a/src/sampling/sampledSet/sampledSets/sampledSets.H
+++ b/src/sampling/sampledSet/sampledSets/sampledSets.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/sampling/sampledSet/sampledSets/sampledSetsTemplates.C b/src/sampling/sampledSet/sampledSets/sampledSetsTemplates.C
index 04c034ddb0a..778e2739534 100644
--- a/src/sampling/sampledSet/sampledSets/sampledSetsTemplates.C
+++ b/src/sampling/sampledSet/sampledSets/sampledSetsTemplates.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.H b/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.H
index 3958c7f5383..a94b38f0f57 100644
--- a/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.H
+++ b/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/sampling/sampledSurface/sampledSurfaces/sampledSurfacesTemplates.C b/src/sampling/sampledSurface/sampledSurfaces/sampledSurfacesTemplates.C
index 88718cf62d7..f43ffdf6eff 100644
--- a/src/sampling/sampledSurface/sampledSurfaces/sampledSurfacesTemplates.C
+++ b/src/sampling/sampledSurface/sampledSurfaces/sampledSurfacesTemplates.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/sampling/sampledSurface/writers/dx/dxSurfaceWriter.C b/src/sampling/sampledSurface/writers/dx/dxSurfaceWriter.C
index 73dd141780b..48e57afc25a 100644
--- a/src/sampling/sampledSurface/writers/dx/dxSurfaceWriter.C
+++ b/src/sampling/sampledSurface/writers/dx/dxSurfaceWriter.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/sampling/sampledSurface/writers/dx/dxSurfaceWriter.H b/src/sampling/sampledSurface/writers/dx/dxSurfaceWriter.H
index 047c3d65175..51eceeda3e5 100644
--- a/src/sampling/sampledSurface/writers/dx/dxSurfaceWriter.H
+++ b/src/sampling/sampledSurface/writers/dx/dxSurfaceWriter.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/sampling/sampledSurface/writers/dx/dxSurfaceWriterTemplates.C b/src/sampling/sampledSurface/writers/dx/dxSurfaceWriterTemplates.C
index cd3c11a04c9..835f2b2b952 100644
--- a/src/sampling/sampledSurface/writers/dx/dxSurfaceWriterTemplates.C
+++ b/src/sampling/sampledSurface/writers/dx/dxSurfaceWriterTemplates.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/sampling/sampledSurface/writers/ensight/ensightSurfaceWriter.C b/src/sampling/sampledSurface/writers/ensight/ensightSurfaceWriter.C
index 0df2913efce..89eadae4fe2 100644
--- a/src/sampling/sampledSurface/writers/ensight/ensightSurfaceWriter.C
+++ b/src/sampling/sampledSurface/writers/ensight/ensightSurfaceWriter.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/sampling/sampledSurface/writers/ensight/ensightSurfaceWriter.H b/src/sampling/sampledSurface/writers/ensight/ensightSurfaceWriter.H
index 773a86ee557..67da74a1939 100644
--- a/src/sampling/sampledSurface/writers/ensight/ensightSurfaceWriter.H
+++ b/src/sampling/sampledSurface/writers/ensight/ensightSurfaceWriter.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/sampling/sampledSurface/writers/ensight/ensightSurfaceWriterTemplates.C b/src/sampling/sampledSurface/writers/ensight/ensightSurfaceWriterTemplates.C
index 2a1fea54133..1d14ab01966 100644
--- a/src/sampling/sampledSurface/writers/ensight/ensightSurfaceWriterTemplates.C
+++ b/src/sampling/sampledSurface/writers/ensight/ensightSurfaceWriterTemplates.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/sampling/sampledSurface/writers/foamFile/foamFileSurfaceWriter.C b/src/sampling/sampledSurface/writers/foamFile/foamFileSurfaceWriter.C
index fbff527c526..e351afd676a 100644
--- a/src/sampling/sampledSurface/writers/foamFile/foamFileSurfaceWriter.C
+++ b/src/sampling/sampledSurface/writers/foamFile/foamFileSurfaceWriter.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/sampling/sampledSurface/writers/foamFile/foamFileSurfaceWriter.H b/src/sampling/sampledSurface/writers/foamFile/foamFileSurfaceWriter.H
index 1149091771d..9407ea7c1ba 100644
--- a/src/sampling/sampledSurface/writers/foamFile/foamFileSurfaceWriter.H
+++ b/src/sampling/sampledSurface/writers/foamFile/foamFileSurfaceWriter.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/sampling/sampledSurface/writers/foamFile/foamFileSurfaceWriterTemplates.C b/src/sampling/sampledSurface/writers/foamFile/foamFileSurfaceWriterTemplates.C
index f87b2591d99..2ab563fc10d 100644
--- a/src/sampling/sampledSurface/writers/foamFile/foamFileSurfaceWriterTemplates.C
+++ b/src/sampling/sampledSurface/writers/foamFile/foamFileSurfaceWriterTemplates.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/sampling/sampledSurface/writers/makeSurfaceWriterMethods.H b/src/sampling/sampledSurface/writers/makeSurfaceWriterMethods.H
index 16236bb8bf8..8fbcce27a97 100644
--- a/src/sampling/sampledSurface/writers/makeSurfaceWriterMethods.H
+++ b/src/sampling/sampledSurface/writers/makeSurfaceWriterMethods.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/sampling/sampledSurface/writers/nastran/nastranSurfaceWriter.C b/src/sampling/sampledSurface/writers/nastran/nastranSurfaceWriter.C
index 7cfaac42479..dfe2a9f8cea 100644
--- a/src/sampling/sampledSurface/writers/nastran/nastranSurfaceWriter.C
+++ b/src/sampling/sampledSurface/writers/nastran/nastranSurfaceWriter.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/sampling/sampledSurface/writers/nastran/nastranSurfaceWriter.H b/src/sampling/sampledSurface/writers/nastran/nastranSurfaceWriter.H
index 0d8f23fae88..733c1a0d070 100644
--- a/src/sampling/sampledSurface/writers/nastran/nastranSurfaceWriter.H
+++ b/src/sampling/sampledSurface/writers/nastran/nastranSurfaceWriter.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/sampling/sampledSurface/writers/nastran/nastranSurfaceWriterTemplates.C b/src/sampling/sampledSurface/writers/nastran/nastranSurfaceWriterTemplates.C
index d198fa42680..9b1815787d0 100644
--- a/src/sampling/sampledSurface/writers/nastran/nastranSurfaceWriterTemplates.C
+++ b/src/sampling/sampledSurface/writers/nastran/nastranSurfaceWriterTemplates.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/sampling/sampledSurface/writers/proxy/proxySurfaceWriter.C b/src/sampling/sampledSurface/writers/proxy/proxySurfaceWriter.C
index 33dc3263d45..c92c09d8f67 100644
--- a/src/sampling/sampledSurface/writers/proxy/proxySurfaceWriter.C
+++ b/src/sampling/sampledSurface/writers/proxy/proxySurfaceWriter.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/sampling/sampledSurface/writers/proxy/proxySurfaceWriter.H b/src/sampling/sampledSurface/writers/proxy/proxySurfaceWriter.H
index 7dc6e52a7d1..3ace22ea84c 100644
--- a/src/sampling/sampledSurface/writers/proxy/proxySurfaceWriter.H
+++ b/src/sampling/sampledSurface/writers/proxy/proxySurfaceWriter.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/sampling/sampledSurface/writers/raw/rawSurfaceWriter.C b/src/sampling/sampledSurface/writers/raw/rawSurfaceWriter.C
index 4447a16b938..0d62326da7c 100644
--- a/src/sampling/sampledSurface/writers/raw/rawSurfaceWriter.C
+++ b/src/sampling/sampledSurface/writers/raw/rawSurfaceWriter.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/sampling/sampledSurface/writers/raw/rawSurfaceWriter.H b/src/sampling/sampledSurface/writers/raw/rawSurfaceWriter.H
index 8cb999dac61..fbfccee75f9 100644
--- a/src/sampling/sampledSurface/writers/raw/rawSurfaceWriter.H
+++ b/src/sampling/sampledSurface/writers/raw/rawSurfaceWriter.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/sampling/sampledSurface/writers/raw/rawSurfaceWriterTemplates.C b/src/sampling/sampledSurface/writers/raw/rawSurfaceWriterTemplates.C
index 59b15c59b9c..3341378838d 100644
--- a/src/sampling/sampledSurface/writers/raw/rawSurfaceWriterTemplates.C
+++ b/src/sampling/sampledSurface/writers/raw/rawSurfaceWriterTemplates.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/sampling/sampledSurface/writers/starcd/starcdSurfaceWriter.C b/src/sampling/sampledSurface/writers/starcd/starcdSurfaceWriter.C
index a22f5a49eaa..2b58417a5bf 100644
--- a/src/sampling/sampledSurface/writers/starcd/starcdSurfaceWriter.C
+++ b/src/sampling/sampledSurface/writers/starcd/starcdSurfaceWriter.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/sampling/sampledSurface/writers/starcd/starcdSurfaceWriter.H b/src/sampling/sampledSurface/writers/starcd/starcdSurfaceWriter.H
index 9341f9816b2..aeaed7d30b7 100644
--- a/src/sampling/sampledSurface/writers/starcd/starcdSurfaceWriter.H
+++ b/src/sampling/sampledSurface/writers/starcd/starcdSurfaceWriter.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/sampling/sampledSurface/writers/starcd/starcdSurfaceWriterTemplates.C b/src/sampling/sampledSurface/writers/starcd/starcdSurfaceWriterTemplates.C
index 08733bb5a29..026b5b7425a 100644
--- a/src/sampling/sampledSurface/writers/starcd/starcdSurfaceWriterTemplates.C
+++ b/src/sampling/sampledSurface/writers/starcd/starcdSurfaceWriterTemplates.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/sampling/sampledSurface/writers/surfaceWriter.H b/src/sampling/sampledSurface/writers/surfaceWriter.H
index 7fd2af4a09b..bd4c4042035 100644
--- a/src/sampling/sampledSurface/writers/surfaceWriter.H
+++ b/src/sampling/sampledSurface/writers/surfaceWriter.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/sampling/sampledSurface/writers/vtk/vtkSurfaceWriter.C b/src/sampling/sampledSurface/writers/vtk/vtkSurfaceWriter.C
index 41cf0f5617c..f62f8869927 100644
--- a/src/sampling/sampledSurface/writers/vtk/vtkSurfaceWriter.C
+++ b/src/sampling/sampledSurface/writers/vtk/vtkSurfaceWriter.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/sampling/sampledSurface/writers/vtk/vtkSurfaceWriter.H b/src/sampling/sampledSurface/writers/vtk/vtkSurfaceWriter.H
index 6e648086e1a..03d00297270 100644
--- a/src/sampling/sampledSurface/writers/vtk/vtkSurfaceWriter.H
+++ b/src/sampling/sampledSurface/writers/vtk/vtkSurfaceWriter.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/sampling/sampledSurface/writers/vtk/vtkSurfaceWriterTemplates.C b/src/sampling/sampledSurface/writers/vtk/vtkSurfaceWriterTemplates.C
index 819dd567f82..aaf17bbfeb9 100644
--- a/src/sampling/sampledSurface/writers/vtk/vtkSurfaceWriterTemplates.C
+++ b/src/sampling/sampledSurface/writers/vtk/vtkSurfaceWriterTemplates.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  | Copyright (C) 2015 OpenCFD Ltd
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
diff --git a/src/thermophysicalModels/properties/liquidPropertiesFvPatchFields/humidityTemperatureCoupledMixed/humidityTemperatureCoupledMixedFvPatchScalarField.C b/src/thermophysicalModels/properties/liquidPropertiesFvPatchFields/humidityTemperatureCoupledMixed/humidityTemperatureCoupledMixedFvPatchScalarField.C
index 42c2133c1f6..4e32aedf592 100644
--- a/src/thermophysicalModels/properties/liquidPropertiesFvPatchFields/humidityTemperatureCoupledMixed/humidityTemperatureCoupledMixedFvPatchScalarField.C
+++ b/src/thermophysicalModels/properties/liquidPropertiesFvPatchFields/humidityTemperatureCoupledMixed/humidityTemperatureCoupledMixedFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2015 OpenCFD Ltd
+    \\  /    A nd           | Copyright (C) 2015 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/thermophysicalModels/properties/liquidPropertiesFvPatchFields/humidityTemperatureCoupledMixed/humidityTemperatureCoupledMixedFvPatchScalarField.H b/src/thermophysicalModels/properties/liquidPropertiesFvPatchFields/humidityTemperatureCoupledMixed/humidityTemperatureCoupledMixedFvPatchScalarField.H
index 9c94c4fcec3..11fc5abcb0c 100644
--- a/src/thermophysicalModels/properties/liquidPropertiesFvPatchFields/humidityTemperatureCoupledMixed/humidityTemperatureCoupledMixedFvPatchScalarField.H
+++ b/src/thermophysicalModels/properties/liquidPropertiesFvPatchFields/humidityTemperatureCoupledMixed/humidityTemperatureCoupledMixedFvPatchScalarField.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2015 OpenCFD Ltd
+    \\  /    A nd           | Copyright (C) 2015 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
-- 
GitLab


From 8400a1c19f6093527883d6a095ee3b37287f4de5 Mon Sep 17 00:00:00 2001
From: Andrew Heather <a.heather@opencfd.co.uk>
Date: Tue, 8 Dec 2015 22:56:15 +0000
Subject: [PATCH 138/141] ENH: Updated notImplemented(...)->NotImplemented
 messages

---
 .../surfacePatch/searchableSurfaceModifier/autoPatch.H   | 2 +-
 .../surface/surfacePatch/searchableSurfaceModifier/cut.H | 2 +-
 .../searchableSurfaceModifier.H                          | 2 +-
 .../mapPolyMesh/mapDistribute/mapDistributeBase.H        | 5 +----
 .../patchTransformed/patchTransformedInterpolation.C     | 9 +--------
 .../directionalPressureGradientExplicitSourceIO.C        | 8 +-------
 .../displacementMotionSolverMeshMover.H                  | 6 +-----
 src/mesh/blockMesh/curvedEdges/bezier.C                  | 2 +-
 src/meshTools/searchableSurface/searchableCone.H         | 8 ++------
 src/meshTools/searchableSurface/searchableRotatedBox.C   | 6 +-----
 src/meshTools/searchableSurface/searchableRotatedBox.H   | 5 +----
 11 files changed, 12 insertions(+), 43 deletions(-)

diff --git a/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/autoPatch.H b/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/autoPatch.H
index 4a7e0459b34..92c376611f3 100644
--- a/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/autoPatch.H
+++ b/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/autoPatch.H
@@ -75,7 +75,7 @@ public:
         //- Clone
         autoPtr<searchableSurfaceModifier> clone() const
         {
-            notImplemented("autoPtr<searchableSurfaceModifier> clone() const");
+            NotImplemented;
             return autoPtr<searchableSurfaceModifier>(NULL);
         }
 
diff --git a/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/cut.H b/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/cut.H
index 4081b753b35..fdc7ed1bd7a 100644
--- a/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/cut.H
+++ b/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/cut.H
@@ -99,7 +99,7 @@ public:
         //- Clone
         autoPtr<searchableSurfaceModifier> clone() const
         {
-            notImplemented("autoPtr<searchableSurfaceModifier> clone() const");
+            NotImplemented;
             return autoPtr<searchableSurfaceModifier>(NULL);
         }
 
diff --git a/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/searchableSurfaceModifier.H b/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/searchableSurfaceModifier.H
index 8955dea7416..c53eab8ac0f 100644
--- a/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/searchableSurfaceModifier.H
+++ b/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/searchableSurfaceModifier.H
@@ -95,7 +95,7 @@ public:
         //- Clone
         autoPtr<searchableSurfaceModifier> clone() const
         {
-            notImplemented("autoPtr<searchableSurfaceModifier> clone() const");
+            NotImplemented;
             return autoPtr<searchableSurfaceModifier>(NULL);
         }
 
diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBase.H b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBase.H
index 9f88e055349..80be2a8b9e4 100644
--- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBase.H
+++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBase.H
@@ -447,10 +447,7 @@ public:
             //- Correct for topo change.
             void updateMesh(const mapPolyMesh&)
             {
-                notImplemented
-                (
-                    "mapDistributeBase::updateMesh(const mapPolyMesh&)"
-                );
+                NotImplemented;
             }
 
     // Member Operators
diff --git a/src/fvMotionSolver/motionInterpolation/patchTransformed/patchTransformedInterpolation.C b/src/fvMotionSolver/motionInterpolation/patchTransformed/patchTransformedInterpolation.C
index 60aae0ec6dc..22c9d28c32e 100644
--- a/src/fvMotionSolver/motionInterpolation/patchTransformed/patchTransformedInterpolation.C
+++ b/src/fvMotionSolver/motionInterpolation/patchTransformed/patchTransformedInterpolation.C
@@ -102,14 +102,7 @@ void Foam::patchTransformedInterpolation::interpolate
     pointScalarField&
 ) const
 {
-    notImplemented
-    (
-        "void Foam::patchTransformedInterpolation::interpolate"
-        "("
-            "const volScalarField&"
-            "pointScalarField&"
-         ")"
-    );
+    NotImplemented;
 }
 
 
diff --git a/src/fvOptions/sources/derived/directionalPressureGradientExplicitSource/directionalPressureGradientExplicitSourceIO.C b/src/fvOptions/sources/derived/directionalPressureGradientExplicitSource/directionalPressureGradientExplicitSourceIO.C
index f89a05ea062..171b2dce209 100644
--- a/src/fvOptions/sources/derived/directionalPressureGradientExplicitSource/directionalPressureGradientExplicitSourceIO.C
+++ b/src/fvOptions/sources/derived/directionalPressureGradientExplicitSource/directionalPressureGradientExplicitSourceIO.C
@@ -32,13 +32,7 @@ void Foam::fv::directionalPressureGradientExplicitSource::writeData
     Ostream& os
 ) const
 {
-    notImplemented
-    (
-        "void Foam::fv::directionalPressureGradientExplicitSource::writeData"
-        "("
-            "Ostream&"
-        ") const"
-    );
+    NotImplemented;
 }
 
 
diff --git a/src/mesh/autoMesh/autoHexMesh/externalDisplacementMeshMover/displacementMotionSolverMeshMover.H b/src/mesh/autoMesh/autoHexMesh/externalDisplacementMeshMover/displacementMotionSolverMeshMover.H
index dd30d29c018..e7449d16cda 100644
--- a/src/mesh/autoMesh/autoHexMesh/externalDisplacementMeshMover/displacementMotionSolverMeshMover.H
+++ b/src/mesh/autoMesh/autoHexMesh/externalDisplacementMeshMover/displacementMotionSolverMeshMover.H
@@ -138,11 +138,7 @@ public:
         //-  Update local data for topology changes
         virtual void updateMesh(const mapPolyMesh&)
         {
-            notImplemented
-            (
-                "displacementMotionSolverMeshMover::updateMesh"
-                "(const mapPolyMesh&)"
-            );
+            NotImplemented;
         }
 };
 
diff --git a/src/mesh/blockMesh/curvedEdges/bezier.C b/src/mesh/blockMesh/curvedEdges/bezier.C
index 1d590457b9e..28363be4613 100644
--- a/src/mesh/blockMesh/curvedEdges/bezier.C
+++ b/src/mesh/blockMesh/curvedEdges/bezier.C
@@ -89,7 +89,7 @@ Foam::point Foam::bezier::position(const scalar lambda) const
 
 Foam::scalar Foam::bezier::length() const
 {
-    notImplemented("bezier::length() const");
+    NotImplemented;
     return 1.0;
 }
 
diff --git a/src/meshTools/searchableSurface/searchableCone.H b/src/meshTools/searchableSurface/searchableCone.H
index 3b4d7c3d1f8..b3f2dbd5354 100644
--- a/src/meshTools/searchableSurface/searchableCone.H
+++ b/src/meshTools/searchableSurface/searchableCone.H
@@ -209,11 +209,7 @@ public:
         //- Does any part of the surface overlap the supplied bound box?
         virtual bool overlaps(const boundBox& bb) const
         {
-            notImplemented
-            (
-                "searchableCone::overlaps(const boundBox&) const"
-            );
-
+            NotImplemented;
             return false;
         }
 
@@ -279,7 +275,7 @@ public:
 
             virtual bool writeData(Ostream&) const
             {
-                notImplemented("searchableCone::writeData(Ostream&) const");
+                NotImplemented;
                 return false;
             }
 };
diff --git a/src/meshTools/searchableSurface/searchableRotatedBox.C b/src/meshTools/searchableSurface/searchableRotatedBox.C
index 3e9660ca802..5fc3c79f58d 100644
--- a/src/meshTools/searchableSurface/searchableRotatedBox.C
+++ b/src/meshTools/searchableSurface/searchableRotatedBox.C
@@ -207,11 +207,7 @@ Foam::pointIndexHit Foam::searchableRotatedBox::findNearest
     point& linePoint
 ) const
 {
-    notImplemented
-    (
-        "searchableRotatedBox::findNearest"
-        "(const linePointRef&, treeBoundBox&, point&)"
-    );
+    NotImplemented;
     return pointIndexHit();
 }
 
diff --git a/src/meshTools/searchableSurface/searchableRotatedBox.H b/src/meshTools/searchableSurface/searchableRotatedBox.H
index 5c5c9206ad8..0b7f206e65b 100644
--- a/src/meshTools/searchableSurface/searchableRotatedBox.H
+++ b/src/meshTools/searchableSurface/searchableRotatedBox.H
@@ -245,10 +245,7 @@ public:
 
             bool writeData(Ostream&) const
             {
-                notImplemented
-                (
-                    "searchableRotatedBox::writeData(Ostream&) const"
-                );
+                NotImplemented;
                 return false;
             }
 };
-- 
GitLab


From d52b01c80669a1b8c6130517f500cbec5bcf6c03 Mon Sep 17 00:00:00 2001
From: Andrew Heather <a.heather@opencfd.co.uk>
Date: Wed, 9 Dec 2015 09:40:23 +0000
Subject: [PATCH 139/141] ENH: Updated output messages

---
 .../utilities/mesh/manipulation/subsetMesh/subsetMesh.C         | 2 +-
 .../utilities/preProcessing/changeDictionary/changeDictionary.C | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/applications/utilities/mesh/manipulation/subsetMesh/subsetMesh.C b/applications/utilities/mesh/manipulation/subsetMesh/subsetMesh.C
index 25435828546..358cbb3ddf0 100644
--- a/applications/utilities/mesh/manipulation/subsetMesh/subsetMesh.C
+++ b/applications/utilities/mesh/manipulation/subsetMesh/subsetMesh.C
@@ -103,7 +103,7 @@ labelList nearestPatch(const polyMesh& mesh, const labelList& patchIDs)
         {
             if (!haveWarned)
             {
-                WarningIn("meshRefinement::nearestPatch(..)")
+                WarningInFunction
                     << "Did not visit some faces, e.g. face " << faceI
                     << " at " << mesh.faceCentres()[faceI] << endl
                     << "Using patch " << patchIDs[0] << " as nearest"
diff --git a/applications/utilities/preProcessing/changeDictionary/changeDictionary.C b/applications/utilities/preProcessing/changeDictionary/changeDictionary.C
index 849ef9e7792..8f8bdcbaba6 100644
--- a/applications/utilities/preProcessing/changeDictionary/changeDictionary.C
+++ b/applications/utilities/preProcessing/changeDictionary/changeDictionary.C
@@ -653,7 +653,7 @@ int main(int argc, char *argv[])
             }
             else
             {
-                WarningIn(args.executable())
+                WarningInFunction
                     << "Requested field to change " << fieldName
                     << " does not exist in " << fieldHeader.path() << endl;
             }
-- 
GitLab


From dc64f53924173578c65bac3c9b086dc22c4b08dc Mon Sep 17 00:00:00 2001
From: Andrew Heather <a.heather@opencfd.co.uk>
Date: Wed, 9 Dec 2015 10:20:10 +0000
Subject: [PATCH 140/141] GIT: remove remnants of conflict

---
 .../utilities/mesh/manipulation/renumberMesh/renumberMesh.C     | 2 --
 1 file changed, 2 deletions(-)

diff --git a/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C b/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C
index 7fcfa3b59b5..d9fd1daa6b7 100644
--- a/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C
+++ b/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C
@@ -924,8 +924,6 @@ int main(int argc, char *argv[])
     }
 
 
->>>>>>> develop
-
     Info<< endl;
 
     // From renumbering:
-- 
GitLab


From e929241cd6b567594709f449ba55799d7f9c57e0 Mon Sep 17 00:00:00 2001
From: Andrew Heather <a.heather@opencfd.co.uk>
Date: Wed, 9 Dec 2015 10:29:12 +0000
Subject: [PATCH 141/141] STYLE: Minor code tweaks

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

diff --git a/applications/utilities/postProcessing/miscellaneous/engineCompRatio/engineCompRatio.C b/applications/utilities/postProcessing/miscellaneous/engineCompRatio/engineCompRatio.C
index 9754e76402f..42904e4c681 100644
--- a/applications/utilities/postProcessing/miscellaneous/engineCompRatio/engineCompRatio.C
+++ b/applications/utilities/postProcessing/miscellaneous/engineCompRatio/engineCompRatio.C
@@ -26,8 +26,9 @@ Application
 
 Description
     Calculate the geometric compression ratio.
-    Note that if you have valves and/or extra volumes it will not work,
-    since it calculates the volume at BDC and TCD.
+
+    Note: if you have valves and/or extra volumes it will not work,
+          since it calculates the volume at BDC and TCD.
 
 \*---------------------------------------------------------------------------*/
 
@@ -68,9 +69,9 @@ int main(int argc, char *argv[])
 
     scalar Vmax = sum(mesh.V().field());
 
-    while (mag(runTime.theta()-ca1) > eps)
+    while (mag(runTime.theta() - ca1) > eps)
     {
-        scalar t1 = runTime.userTimeToTime(ca1-runTime.theta());
+        scalar t1 = runTime.userTimeToTime(ca1 - runTime.theta());
         runTime.setDeltaT(t1);
         runTime++;
         Info<< "CA = " << runTime.theta() << endl;
@@ -79,9 +80,10 @@ int main(int argc, char *argv[])
 
     scalar Vmin = sum(mesh.V().field());
 
-    Info<< "\nVmax = " << Vmax;
-    Info<< ", Vmin = " << Vmin << endl;
-    Info<< "Vmax/Vmin = " << Vmax/Vmin << endl;
+    Info<< "\nVmax = " << Vmax
+        << ", Vmin = " << Vmin << nl
+        << "Vmax/Vmin = " << Vmax/Vmin << endl;
+    
     Info<< "\nEnd\n" << endl;
 
     return 0;
-- 
GitLab