From 0a6ca7ae45da406742883dd76aafefac870d286b Mon Sep 17 00:00:00 2001
From: Henry <Henry>
Date: Sun, 26 Apr 2015 10:44:11 +0100
Subject: [PATCH] includeEtcEntry: New dictionary include directive:
 #includeEtc "etcFile"

Description
    Specify an etc file to include when reading dictionaries, expects a
    single string to follow.

    Searches for files from user/group/shipped directories.
    The search scheme allows for version-specific and
    version-independent files using the following hierarchy:
    - \b user settings:
      - ~/.OpenFOAM/\<VERSION\>
      - ~/.OpenFOAM/
    - \b group (site) settings (when $WM_PROJECT_SITE is set):
      - $WM_PROJECT_SITE/\<VERSION\>
      - $WM_PROJECT_SITE
    - \b group (site) settings (when $WM_PROJECT_SITE is not set):
      - $WM_PROJECT_INST_DIR/site/\<VERSION\>
      - $WM_PROJECT_INST_DIR/site/
    - \b other (shipped) settings:
      - $WM_PROJECT_DIR/etc/

    An example of the \c \#includeEtc directive:
    \verbatim
        #includeEtc "etcFile"
    \endverbatim

    The usual expansion of environment variables and other constructs is
    retained.
---
 src/OpenFOAM/Make/files                       |   1 +
 .../includeEtcEntry/includeEtcEntry.C         | 176 ++++++++++++++++++
 .../includeEtcEntry/includeEtcEntry.H         | 134 +++++++++++++
 .../annularThermalMixer/0.org/T               |   2 +-
 .../annularThermalMixer/0.org/U               |   2 +-
 .../annularThermalMixer/0.org/alphat          |   2 +-
 .../annularThermalMixer/0.org/epsilon         |   2 +-
 .../annularThermalMixer/0.org/k               |   2 +-
 .../annularThermalMixer/0.org/nut             |   2 +-
 .../annularThermalMixer/0.org/p               |   2 +-
 .../iglooWithFridges/0/T                      |   2 +-
 .../iglooWithFridges/0/U                      |   2 +-
 .../iglooWithFridges/0/alphat                 |   2 +-
 .../iglooWithFridges/0/epsilon                |   2 +-
 .../iglooWithFridges/0/k                      |   2 +-
 .../iglooWithFridges/0/nut                    |   2 +-
 .../iglooWithFridges/0/p                      |   2 +-
 .../iglooWithFridges/0/p_rgh                  |   2 +-
 .../iglooWithFridges/system/meshQualityDict   |   2 +-
 .../circuitBoardCooling/0.org/U               |   2 +-
 .../circuitBoardCooling/0.org/alphat          |   2 +-
 .../circuitBoardCooling/0.org/epsilon         |   2 +-
 .../circuitBoardCooling/0.org/k               |   2 +-
 .../circuitBoardCooling/0.org/nut             |   2 +-
 .../circuitBoardCooling/0.org/p               |   2 +-
 .../circuitBoardCooling/0.org/p_rgh           |   2 +-
 .../system/meshQualityDict                    |   2 +-
 .../pimpleDyMFoam/propeller/0.org/U           |   2 +-
 .../pimpleDyMFoam/propeller/0.org/epsilon     |   2 +-
 .../pimpleDyMFoam/propeller/0.org/k           |   2 +-
 .../pimpleDyMFoam/propeller/0.org/nut         |   2 +-
 .../pimpleDyMFoam/propeller/0.org/p           |   2 +-
 .../system/foamyHexMeshDict                   |   2 +-
 .../system/meshQualityDict                    |   2 +-
 .../simpleFoam/motorBike/0.org/U              |   2 +-
 .../simpleFoam/motorBike/0.org/k              |   2 +-
 .../simpleFoam/motorBike/0.org/nut            |   2 +-
 .../simpleFoam/motorBike/0.org/omega          |   2 +-
 .../simpleFoam/motorBike/0.org/p              |   2 +-
 .../motorBike/system/meshQualityDict          |   2 +-
 .../simpleFoam/pipeCyclic/0.org/U             |   2 +-
 .../simpleFoam/pipeCyclic/0.org/epsilon       |   2 +-
 .../simpleFoam/pipeCyclic/0.org/k             |   2 +-
 .../simpleFoam/pipeCyclic/0.org/nuTilda       |   2 +-
 .../simpleFoam/pipeCyclic/0.org/nut           |   2 +-
 .../simpleFoam/pipeCyclic/0.org/p             |   2 +-
 .../cyclone/system/snappyHexMeshDict          |   2 +-
 .../foamyHexMesh/blob/system/foamyHexMeshDict |   2 +-
 .../flange/system/foamyHexMeshDict            |   2 +-
 .../mixerVessel/system/foamyHexMeshDict       |   2 +-
 .../simpleShapes/system/foamyHexMeshDict      |   2 +-
 .../flange/system/meshQualityDict             |   2 +-
 .../multiphase/LTSInterFoam/DTCHull/0.org/U   |   2 +-
 .../LTSInterFoam/DTCHull/0.org/alpha.water    |   2 +-
 .../multiphase/LTSInterFoam/DTCHull/0.org/k   |   2 +-
 .../multiphase/LTSInterFoam/DTCHull/0.org/nut |   2 +-
 .../LTSInterFoam/DTCHull/0.org/omega          |   2 +-
 .../LTSInterFoam/DTCHull/0.org/p_rgh          |   2 +-
 .../DTCHull/0.org/pointDisplacement           |   2 +-
 .../interDyMFoam/ras/DTCHull/0.org/U          |   2 +-
 .../ras/DTCHull/0.org/alpha.water             |   2 +-
 .../interDyMFoam/ras/DTCHull/0.org/k          |   2 +-
 .../interDyMFoam/ras/DTCHull/0.org/nut        |   2 +-
 .../interDyMFoam/ras/DTCHull/0.org/omega      |   2 +-
 .../interDyMFoam/ras/DTCHull/0.org/p_rgh      |   2 +-
 .../ras/DTCHull/0.org/pointDisplacement       |   2 +-
 .../interPhaseChangeDyMFoam/propeller/0.org/U |   2 +-
 .../propeller/0.org/alpha.water               |   2 +-
 .../propeller/0.org/epsilon                   |   2 +-
 .../interPhaseChangeDyMFoam/propeller/0.org/k |   2 +-
 .../propeller/0.org/nut                       |   2 +-
 .../propeller/0.org/p_rgh                     |   2 +-
 72 files changed, 380 insertions(+), 69 deletions(-)
 create mode 100644 src/OpenFOAM/db/dictionary/functionEntries/includeEtcEntry/includeEtcEntry.C
 create mode 100644 src/OpenFOAM/db/dictionary/functionEntries/includeEtcEntry/includeEtcEntry.H

diff --git a/src/OpenFOAM/Make/files b/src/OpenFOAM/Make/files
index 5c4e5aa6b4d..6b271cfc1d0 100644
--- a/src/OpenFOAM/Make/files
+++ b/src/OpenFOAM/Make/files
@@ -174,6 +174,7 @@ $(functionEntries)/calcEntry/calcEntry.C
 $(functionEntries)/codeStream/codeStream.C
 $(functionEntries)/functionEntry/functionEntry.C
 $(functionEntries)/includeEntry/includeEntry.C
+$(functionEntries)/includeEtcEntry/includeEtcEntry.C
 $(functionEntries)/includeIfPresentEntry/includeIfPresentEntry.C
 $(functionEntries)/inputModeEntry/inputModeEntry.C
 $(functionEntries)/removeEntry/removeEntry.C
diff --git a/src/OpenFOAM/db/dictionary/functionEntries/includeEtcEntry/includeEtcEntry.C b/src/OpenFOAM/db/dictionary/functionEntries/includeEtcEntry/includeEtcEntry.C
new file mode 100644
index 00000000000..f16e159c7fe
--- /dev/null
+++ b/src/OpenFOAM/db/dictionary/functionEntries/includeEtcEntry/includeEtcEntry.C
@@ -0,0 +1,176 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  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 "includeEtcEntry.H"
+#include "dictionary.H"
+#include "IFstream.H"
+#include "addToMemberFunctionSelectionTable.H"
+#include "stringOps.H"
+#include "OSspecific.H"
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+const Foam::word Foam::functionEntries::includeEtcEntry::typeName
+(
+    Foam::functionEntries::includeEtcEntry::typeName_()
+);
+
+// Don't lookup the debug switch here as the debug switch dictionary
+// might include includeEtcEntry
+int Foam::functionEntries::includeEtcEntry::debug(0);
+
+bool Foam::functionEntries::includeEtcEntry::report(false);
+
+
+namespace Foam
+{
+namespace functionEntries
+{
+    addToMemberFunctionSelectionTable
+    (
+        functionEntry,
+        includeEtcEntry,
+        execute,
+        dictionaryIstream
+    );
+
+    addToMemberFunctionSelectionTable
+    (
+        functionEntry,
+        includeEtcEntry,
+        execute,
+        primitiveEntryIstream
+    );
+}
+}
+
+// * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * * //
+
+Foam::fileName Foam::functionEntries::includeEtcEntry::includeEtcFileName
+(
+    const fileName& f,
+    const dictionary& dict
+)
+{
+    fileName fName(f);
+
+    // Substitute dictionary and environment variables.
+    // Allow empty substitutions.
+    stringOps::inplaceExpand(fName, dict, true, true);
+
+    if (fName.empty() || fName.isAbsolute())
+    {
+        return fName;
+    }
+    else
+    {
+        // Search the etc directories for the file
+        return findEtcFile(fName);
+    }
+}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+bool Foam::functionEntries::includeEtcEntry::execute
+(
+    dictionary& parentDict,
+    Istream& is
+)
+{
+    const fileName rawFName(is);
+    const fileName fName
+    (
+        includeEtcFileName(rawFName, parentDict)
+    );
+    IFstream ifs(fName);
+
+    if (ifs)
+    {
+        if (Foam::functionEntries::includeEtcEntry::report)
+        {
+            Info<< fName << endl;
+        }
+        parentDict.read(ifs);
+        return true;
+    }
+    else
+    {
+        FatalIOErrorIn
+        (
+            "functionEntries::includeEtcEntry::includeEtcEntry"
+            "(dictionary& parentDict, Istream&)",
+            is
+        )   << "Cannot open etc file "
+            << (ifs.name().size() ? ifs.name() : rawFName)
+            << " while reading dictionary " << parentDict.name()
+            << exit(FatalIOError);
+
+        return false;
+    }
+}
+
+
+bool Foam::functionEntries::includeEtcEntry::execute
+(
+    const dictionary& parentDict,
+    primitiveEntry& entry,
+    Istream& is
+)
+{
+    const fileName rawFName(is);
+    const fileName fName
+    (
+        includeEtcFileName(rawFName, parentDict)
+    );
+    IFstream ifs(fName);
+
+    if (ifs)
+    {
+        if (Foam::functionEntries::includeEtcEntry::report)
+        {
+            Info<< fName << endl;
+        }
+        entry.read(parentDict, ifs);
+        return true;
+    }
+    else
+    {
+        FatalIOErrorIn
+        (
+            "functionEntries::includeEtcEntry::includeEtcEntry"
+            "(dictionary& parentDict, primitiveEntry&, Istream&)",
+            is
+        )   << "Cannot open etc file "
+            << (ifs.name().size() ? ifs.name() : rawFName)
+            << " while reading dictionary " << parentDict.name()
+            << exit(FatalIOError);
+
+        return false;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/src/OpenFOAM/db/dictionary/functionEntries/includeEtcEntry/includeEtcEntry.H b/src/OpenFOAM/db/dictionary/functionEntries/includeEtcEntry/includeEtcEntry.H
new file mode 100644
index 00000000000..cf0f7f35888
--- /dev/null
+++ b/src/OpenFOAM/db/dictionary/functionEntries/includeEtcEntry/includeEtcEntry.H
@@ -0,0 +1,134 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  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::functionEntries::includeEtcEntry
+
+Description
+    Specify an etc file to include when reading dictionaries, expects a
+    single string to follow.
+
+    Searches for files from user/group/shipped directories.
+    The search scheme allows for version-specific and
+    version-independent files using the following hierarchy:
+    - \b user settings:
+      - ~/.OpenFOAM/\<VERSION\>
+      - ~/.OpenFOAM/
+    - \b group (site) settings (when $WM_PROJECT_SITE is set):
+      - $WM_PROJECT_SITE/\<VERSION\>
+      - $WM_PROJECT_SITE
+    - \b group (site) settings (when $WM_PROJECT_SITE is not set):
+      - $WM_PROJECT_INST_DIR/site/\<VERSION\>
+      - $WM_PROJECT_INST_DIR/site/
+    - \b other (shipped) settings:
+      - $WM_PROJECT_DIR/etc/
+
+    An example of the \c \#includeEtc directive:
+    \verbatim
+        #includeEtc "etcFile"
+    \endverbatim
+
+    The usual expansion of environment variables and other constructs is
+    retained.
+
+See Also
+    findEtcFile, fileName, string::expand()
+
+SourceFiles
+    includeEtcEntry.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef includeEtcEntry_H
+#define includeEtcEntry_H
+
+#include "functionEntry.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace functionEntries
+{
+
+/*---------------------------------------------------------------------------*\
+                        Class includeEtcEntry Declaration
+\*---------------------------------------------------------------------------*/
+
+class includeEtcEntry
+:
+    public functionEntry
+{
+    // Private Member Functions
+
+        //- Disallow default bitwise copy construct
+        includeEtcEntry(const includeEtcEntry&);
+
+        //- Disallow default bitwise assignment
+        void operator=(const includeEtcEntry&);
+
+        //- Expand include fileName and return
+        static fileName includeEtcFileName
+        (
+            const fileName&,
+            const dictionary&
+        );
+
+
+public:
+
+    // Static data members
+
+        //- Report which file is included to stdout
+        static bool report;
+
+
+    //- Runtime type information
+    ClassName("includeEtc");
+
+
+    // Member Functions
+
+        //- Execute the functionEntry in a sub-dict context
+        static bool execute(dictionary& parentDict, Istream&);
+
+        //- Execute the functionEntry in a primitiveEntry context
+        static bool execute
+        (
+            const dictionary& parentDict,
+            primitiveEntry&,
+            Istream&
+        );
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace functionEntries
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/T b/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/T
index 0e600f8b593..bbd52de1210 100644
--- a/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/T
+++ b/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/T
@@ -38,7 +38,7 @@ boundaryField
     staticWalls { $:wall.T; }
     movingWalls { $staticWalls; }
 
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 }
 
 // ************************************************************************* //
diff --git a/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/U b/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/U
index ce4ec2f4423..dc2686147fd 100644
--- a/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/U
+++ b/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/U
@@ -39,7 +39,7 @@ boundaryField
     staticWalls { $:wall.U; }
     movingWalls { $:movingWall.U; }
 
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 }
 
 // ************************************************************************* //
diff --git a/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/alphat b/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/alphat
index 2627b59e100..1589874959e 100644
--- a/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/alphat
+++ b/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/alphat
@@ -28,7 +28,7 @@ boundaryField
     movingWalls { $:wall.alphat; }
     staticWalls { $movingWalls; }
 
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 }
 
 
diff --git a/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/epsilon b/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/epsilon
index d9c4afaaca0..ac297354419 100644
--- a/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/epsilon
+++ b/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/epsilon
@@ -39,7 +39,7 @@ boundaryField
     staticWalls { $:wall.epsilon; }
     movingWalls { $staticWalls; }
 
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 }
 
 // ************************************************************************* //
diff --git a/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/k b/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/k
index 42d955afe15..62a6c6a62cb 100644
--- a/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/k
+++ b/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/k
@@ -39,7 +39,7 @@ boundaryField
     staticWalls { $:wall.k; }
     movingWalls { $staticWalls; }
 
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 }
 
 // ************************************************************************* //
diff --git a/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/nut b/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/nut
index 1272c0822c9..bf4775a271b 100644
--- a/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/nut
+++ b/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/nut
@@ -28,7 +28,7 @@ boundaryField
     movingWalls { $:wall.nut; }
     staticWalls { $movingWalls; }
 
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 }
 
 // ************************************************************************* //
diff --git a/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/p b/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/p
index b6f3c6b1451..dbb74a33630 100644
--- a/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/p
+++ b/tutorials/compressible/rhoPimpleDyMFoam/annularThermalMixer/0.org/p
@@ -28,7 +28,7 @@ boundaryField
     staticWalls { $:wall.p; }
     movingWalls { $staticWalls; }
 
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 }
 
 // ************************************************************************* //
diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/T b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/T
index 7e8969b3078..2e1c0701686 100644
--- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/T
+++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/T
@@ -21,7 +21,7 @@ internalField   uniform 265;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     wall
     {
diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/U b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/U
index 03d53ee7ed6..8c96ab7f5f0 100644
--- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/U
+++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/U
@@ -21,7 +21,7 @@ internalField   uniform (0 0 0);
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     wall
     {
diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/alphat b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/alphat
index 653366fac47..0008a1123da 100644
--- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/alphat
+++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/alphat
@@ -22,7 +22,7 @@ internalField   uniform 0;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     wall
     {
diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/epsilon b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/epsilon
index e36fe920fca..9737d5e7e5e 100644
--- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/epsilon
+++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/epsilon
@@ -22,7 +22,7 @@ internalField   uniform 0.01;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     wall
     {
diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/k b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/k
index 0d889ec8f85..1db0b544b63 100644
--- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/k
+++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/k
@@ -22,7 +22,7 @@ internalField   uniform 0.1;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     wall
     {
diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/nut b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/nut
index 42472f31f0e..3cde4853d60 100644
--- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/nut
+++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/nut
@@ -22,7 +22,7 @@ internalField   uniform 0;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     wall
     {
diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/p b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/p
index 5a2eb196191..b128cf935db 100644
--- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/p
+++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/p
@@ -21,7 +21,7 @@ internalField   uniform 0;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     wall
     {
diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/p_rgh b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/p_rgh
index 69ceeb45df8..31c0555bcf2 100644
--- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/p_rgh
+++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/p_rgh
@@ -21,7 +21,7 @@ internalField   uniform 0;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     wall
     {
diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/meshQualityDict b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/meshQualityDict
index fd0701a01c7..4dfba773e35 100644
--- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/meshQualityDict
+++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/meshQualityDict
@@ -15,7 +15,7 @@ FoamFile
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 // Include defaults parameters from master dictionary
-#include "$WM_PROJECT_DIR/etc/caseDicts/meshQualityDict"
+#includeEtc "caseDicts/meshQualityDict"
 
 
 // ************************************************************************* //
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/U b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/U
index 94521707e2b..7bcd3844cc2 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/U
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/U
@@ -22,7 +22,7 @@ internalField   uniform (0.1 0 0);
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     floor
     {
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/alphat b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/alphat
index e0c1d0dfbea..b870a3b0f92 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/alphat
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/alphat
@@ -22,7 +22,7 @@ internalField   uniform 0;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     floor
     {
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/epsilon b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/epsilon
index e850a8a82f1..ddfe4474942 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/epsilon
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/epsilon
@@ -22,7 +22,7 @@ internalField   uniform 0.01;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     floor
     {
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/k b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/k
index e231033d12f..4d4a90ccca5 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/k
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/k
@@ -22,7 +22,7 @@ internalField   uniform 0.1;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     floor
     {
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/nut b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/nut
index 53df8822769..448198c9c2e 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/nut
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/nut
@@ -22,7 +22,7 @@ internalField   uniform 0;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     floor
     {
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/p b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/p
index a18ef4e1807..9b7bfd7d536 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/p
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/p
@@ -22,7 +22,7 @@ internalField   uniform 101325;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     floor
     {
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/p_rgh b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/p_rgh
index ac641156fbc..b93e0275f1e 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/p_rgh
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.org/p_rgh
@@ -22,7 +22,7 @@ internalField   uniform 101325;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     floor
     {
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/meshQualityDict b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/meshQualityDict
index fd0701a01c7..4dfba773e35 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/meshQualityDict
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/meshQualityDict
@@ -15,7 +15,7 @@ FoamFile
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 // Include defaults parameters from master dictionary
-#include "$WM_PROJECT_DIR/etc/caseDicts/meshQualityDict"
+#includeEtc "caseDicts/meshQualityDict"
 
 
 // ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleDyMFoam/propeller/0.org/U b/tutorials/incompressible/pimpleDyMFoam/propeller/0.org/U
index ab73efdb21d..cea2ca0d79c 100644
--- a/tutorials/incompressible/pimpleDyMFoam/propeller/0.org/U
+++ b/tutorials/incompressible/pimpleDyMFoam/propeller/0.org/U
@@ -22,7 +22,7 @@ internalField   uniform (0 0 0);
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/incompressible/pimpleDyMFoam/propeller/0.org/epsilon b/tutorials/incompressible/pimpleDyMFoam/propeller/0.org/epsilon
index 9053f852183..611e624d8ed 100644
--- a/tutorials/incompressible/pimpleDyMFoam/propeller/0.org/epsilon
+++ b/tutorials/incompressible/pimpleDyMFoam/propeller/0.org/epsilon
@@ -22,7 +22,7 @@ internalField   uniform 0.0495;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/incompressible/pimpleDyMFoam/propeller/0.org/k b/tutorials/incompressible/pimpleDyMFoam/propeller/0.org/k
index 83b933726fc..6b5c178b690 100644
--- a/tutorials/incompressible/pimpleDyMFoam/propeller/0.org/k
+++ b/tutorials/incompressible/pimpleDyMFoam/propeller/0.org/k
@@ -22,7 +22,7 @@ internalField   uniform 0.06;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/incompressible/pimpleDyMFoam/propeller/0.org/nut b/tutorials/incompressible/pimpleDyMFoam/propeller/0.org/nut
index 4918acab132..366352e5f54 100644
--- a/tutorials/incompressible/pimpleDyMFoam/propeller/0.org/nut
+++ b/tutorials/incompressible/pimpleDyMFoam/propeller/0.org/nut
@@ -22,7 +22,7 @@ internalField   uniform 0;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/incompressible/pimpleDyMFoam/propeller/0.org/p b/tutorials/incompressible/pimpleDyMFoam/propeller/0.org/p
index 4faf52a108b..c34b9c9a4fc 100644
--- a/tutorials/incompressible/pimpleDyMFoam/propeller/0.org/p
+++ b/tutorials/incompressible/pimpleDyMFoam/propeller/0.org/p
@@ -22,7 +22,7 @@ internalField   uniform 0;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/system/foamyHexMeshDict b/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/system/foamyHexMeshDict
index 7e43f6ea466..d1b78f3df75 100644
--- a/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/system/foamyHexMeshDict
+++ b/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/system/foamyHexMeshDict
@@ -14,7 +14,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-#include "$WM_PROJECT_DIR/etc/caseDicts/foamyHexMeshDict"
+#includeEtc "caseDicts/foamyHexMeshDict"
 
 geometry
 {
diff --git a/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/system/meshQualityDict b/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/system/meshQualityDict
index fd0701a01c7..4dfba773e35 100644
--- a/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/system/meshQualityDict
+++ b/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/system/meshQualityDict
@@ -15,7 +15,7 @@ FoamFile
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 // Include defaults parameters from master dictionary
-#include "$WM_PROJECT_DIR/etc/caseDicts/meshQualityDict"
+#includeEtc "caseDicts/meshQualityDict"
 
 
 // ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/motorBike/0.org/U b/tutorials/incompressible/simpleFoam/motorBike/0.org/U
index fee3ec88b81..9ce8375a2bb 100644
--- a/tutorials/incompressible/simpleFoam/motorBike/0.org/U
+++ b/tutorials/incompressible/simpleFoam/motorBike/0.org/U
@@ -24,7 +24,7 @@ internalField   uniform $flowVelocity;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     #include "include/fixedInlet"
 
diff --git a/tutorials/incompressible/simpleFoam/motorBike/0.org/k b/tutorials/incompressible/simpleFoam/motorBike/0.org/k
index 301f8b579c1..ab2ad5bf923 100644
--- a/tutorials/incompressible/simpleFoam/motorBike/0.org/k
+++ b/tutorials/incompressible/simpleFoam/motorBike/0.org/k
@@ -23,7 +23,7 @@ internalField   uniform $turbulentKE;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     //- Define inlet conditions
     #include "include/fixedInlet"
diff --git a/tutorials/incompressible/simpleFoam/motorBike/0.org/nut b/tutorials/incompressible/simpleFoam/motorBike/0.org/nut
index c940f6b2d62..85100ea6cdd 100644
--- a/tutorials/incompressible/simpleFoam/motorBike/0.org/nut
+++ b/tutorials/incompressible/simpleFoam/motorBike/0.org/nut
@@ -22,7 +22,7 @@ internalField   uniform 0;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     frontAndBack
     {
diff --git a/tutorials/incompressible/simpleFoam/motorBike/0.org/omega b/tutorials/incompressible/simpleFoam/motorBike/0.org/omega
index 7eff6c73556..bba26784170 100644
--- a/tutorials/incompressible/simpleFoam/motorBike/0.org/omega
+++ b/tutorials/incompressible/simpleFoam/motorBike/0.org/omega
@@ -23,7 +23,7 @@ internalField   uniform $turbulentOmega;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     #include "include/fixedInlet"
 
diff --git a/tutorials/incompressible/simpleFoam/motorBike/0.org/p b/tutorials/incompressible/simpleFoam/motorBike/0.org/p
index 419e1a85d88..337a45eb11b 100644
--- a/tutorials/incompressible/simpleFoam/motorBike/0.org/p
+++ b/tutorials/incompressible/simpleFoam/motorBike/0.org/p
@@ -23,7 +23,7 @@ internalField   uniform $pressure;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/incompressible/simpleFoam/motorBike/system/meshQualityDict b/tutorials/incompressible/simpleFoam/motorBike/system/meshQualityDict
index 2dbd166629b..5de5b258170 100644
--- a/tutorials/incompressible/simpleFoam/motorBike/system/meshQualityDict
+++ b/tutorials/incompressible/simpleFoam/motorBike/system/meshQualityDict
@@ -15,7 +15,7 @@ FoamFile
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 // Include defaults parameters from master dictionary
-#include "$WM_PROJECT_DIR/etc/caseDicts/meshQualityDict"
+#includeEtc "caseDicts/meshQualityDict"
 
 //- minFaceWeight (0 -> 0.5)
 minFaceWeight 0.02;
diff --git a/tutorials/incompressible/simpleFoam/pipeCyclic/0.org/U b/tutorials/incompressible/simpleFoam/pipeCyclic/0.org/U
index 5f5d56017fa..7ae235fa097 100644
--- a/tutorials/incompressible/simpleFoam/pipeCyclic/0.org/U
+++ b/tutorials/incompressible/simpleFoam/pipeCyclic/0.org/U
@@ -21,7 +21,7 @@ internalField   uniform (1 0 0);
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/incompressible/simpleFoam/pipeCyclic/0.org/epsilon b/tutorials/incompressible/simpleFoam/pipeCyclic/0.org/epsilon
index 84e17340fa2..ea5df05656a 100644
--- a/tutorials/incompressible/simpleFoam/pipeCyclic/0.org/epsilon
+++ b/tutorials/incompressible/simpleFoam/pipeCyclic/0.org/epsilon
@@ -22,7 +22,7 @@ internalField   uniform 1;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/incompressible/simpleFoam/pipeCyclic/0.org/k b/tutorials/incompressible/simpleFoam/pipeCyclic/0.org/k
index 6e56ce95f26..dd90e1e55a7 100644
--- a/tutorials/incompressible/simpleFoam/pipeCyclic/0.org/k
+++ b/tutorials/incompressible/simpleFoam/pipeCyclic/0.org/k
@@ -22,7 +22,7 @@ internalField   uniform 1;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/incompressible/simpleFoam/pipeCyclic/0.org/nuTilda b/tutorials/incompressible/simpleFoam/pipeCyclic/0.org/nuTilda
index 8a7557745ef..4bf99d876f2 100644
--- a/tutorials/incompressible/simpleFoam/pipeCyclic/0.org/nuTilda
+++ b/tutorials/incompressible/simpleFoam/pipeCyclic/0.org/nuTilda
@@ -21,7 +21,7 @@ internalField   uniform 0;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/incompressible/simpleFoam/pipeCyclic/0.org/nut b/tutorials/incompressible/simpleFoam/pipeCyclic/0.org/nut
index 82d8352b7d7..d397953c1d2 100644
--- a/tutorials/incompressible/simpleFoam/pipeCyclic/0.org/nut
+++ b/tutorials/incompressible/simpleFoam/pipeCyclic/0.org/nut
@@ -22,7 +22,7 @@ internalField   uniform 0;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/incompressible/simpleFoam/pipeCyclic/0.org/p b/tutorials/incompressible/simpleFoam/pipeCyclic/0.org/p
index 87664596269..ddb179578cb 100644
--- a/tutorials/incompressible/simpleFoam/pipeCyclic/0.org/p
+++ b/tutorials/incompressible/simpleFoam/pipeCyclic/0.org/p
@@ -21,7 +21,7 @@ internalField   uniform 0;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/lagrangian/MPPICFoam/cyclone/system/snappyHexMeshDict b/tutorials/lagrangian/MPPICFoam/cyclone/system/snappyHexMeshDict
index 5c6e07f9f26..59372f7327a 100644
--- a/tutorials/lagrangian/MPPICFoam/cyclone/system/snappyHexMeshDict
+++ b/tutorials/lagrangian/MPPICFoam/cyclone/system/snappyHexMeshDict
@@ -267,7 +267,7 @@ addLayersControls
 // where to undo.
 meshQualityControls
 {
-    #include "$WM_PROJECT_DIR/etc/caseDicts/meshQualityDict"
+    #includeEtc "caseDicts/meshQualityDict"
 
 
     // Advanced
diff --git a/tutorials/mesh/foamyHexMesh/blob/system/foamyHexMeshDict b/tutorials/mesh/foamyHexMesh/blob/system/foamyHexMeshDict
index 9a1ae053125..5f399eb98a8 100644
--- a/tutorials/mesh/foamyHexMesh/blob/system/foamyHexMeshDict
+++ b/tutorials/mesh/foamyHexMesh/blob/system/foamyHexMeshDict
@@ -15,7 +15,7 @@ FoamFile
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 // Include defaults parameters from master dictionary
-#include "$WM_PROJECT_DIR/etc/caseDicts/foamyHexMeshDict"
+#includeEtc "caseDicts/foamyHexMeshDict"
 
 geometry
 {
diff --git a/tutorials/mesh/foamyHexMesh/flange/system/foamyHexMeshDict b/tutorials/mesh/foamyHexMesh/flange/system/foamyHexMeshDict
index 12a0994df84..5b3c0ba8a38 100644
--- a/tutorials/mesh/foamyHexMesh/flange/system/foamyHexMeshDict
+++ b/tutorials/mesh/foamyHexMesh/flange/system/foamyHexMeshDict
@@ -15,7 +15,7 @@ FoamFile
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 // Include defaults parameters from master dictionary
-#include "$WM_PROJECT_DIR/etc/caseDicts/foamyHexMeshDict"
+#includeEtc "caseDicts/foamyHexMeshDict"
 
 // Any scalar with a name <name>Coeff specifies a value that will be implemented
 // as a faction of the target cell size
diff --git a/tutorials/mesh/foamyHexMesh/mixerVessel/system/foamyHexMeshDict b/tutorials/mesh/foamyHexMesh/mixerVessel/system/foamyHexMeshDict
index 3b8be387f06..6ffc0dbcea0 100644
--- a/tutorials/mesh/foamyHexMesh/mixerVessel/system/foamyHexMeshDict
+++ b/tutorials/mesh/foamyHexMesh/mixerVessel/system/foamyHexMeshDict
@@ -14,7 +14,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-#include "$WM_PROJECT_DIR/etc/caseDicts/foamyHexMeshDict"
+#includeEtc "caseDicts/foamyHexMeshDict"
 
 geometry
 {
diff --git a/tutorials/mesh/foamyHexMesh/simpleShapes/system/foamyHexMeshDict b/tutorials/mesh/foamyHexMesh/simpleShapes/system/foamyHexMeshDict
index f73263a5aa8..4eea925e0a6 100644
--- a/tutorials/mesh/foamyHexMesh/simpleShapes/system/foamyHexMeshDict
+++ b/tutorials/mesh/foamyHexMesh/simpleShapes/system/foamyHexMeshDict
@@ -15,7 +15,7 @@ FoamFile
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 // Include defaults parameters from master dictionary
-#include "$WM_PROJECT_DIR/etc/caseDicts/foamyHexMeshDict"
+#includeEtc "caseDicts/foamyHexMeshDict"
 
 geometry
 {
diff --git a/tutorials/mesh/snappyHexMesh/flange/system/meshQualityDict b/tutorials/mesh/snappyHexMesh/flange/system/meshQualityDict
index 8351b3f3746..d06e1d63e24 100644
--- a/tutorials/mesh/snappyHexMesh/flange/system/meshQualityDict
+++ b/tutorials/mesh/snappyHexMesh/flange/system/meshQualityDict
@@ -16,7 +16,7 @@ FoamFile
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 // Include defaults parameters from master dictionary
-#include "$WM_PROJECT_DIR/etc/caseDicts/meshQualityDict"
+#includeEtc "caseDicts/meshQualityDict"
 
 
 // ************************************************************************* //
diff --git a/tutorials/multiphase/LTSInterFoam/DTCHull/0.org/U b/tutorials/multiphase/LTSInterFoam/DTCHull/0.org/U
index 507cfa947df..36ca5c09f71 100644
--- a/tutorials/multiphase/LTSInterFoam/DTCHull/0.org/U
+++ b/tutorials/multiphase/LTSInterFoam/DTCHull/0.org/U
@@ -25,7 +25,7 @@ internalField   uniform ($mUmean 0 0);
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/multiphase/LTSInterFoam/DTCHull/0.org/alpha.water b/tutorials/multiphase/LTSInterFoam/DTCHull/0.org/alpha.water
index 06ee368c9c4..48e62daa04d 100644
--- a/tutorials/multiphase/LTSInterFoam/DTCHull/0.org/alpha.water
+++ b/tutorials/multiphase/LTSInterFoam/DTCHull/0.org/alpha.water
@@ -22,7 +22,7 @@ internalField   uniform 0;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/multiphase/LTSInterFoam/DTCHull/0.org/k b/tutorials/multiphase/LTSInterFoam/DTCHull/0.org/k
index 392241cd6fa..651840bed6d 100644
--- a/tutorials/multiphase/LTSInterFoam/DTCHull/0.org/k
+++ b/tutorials/multiphase/LTSInterFoam/DTCHull/0.org/k
@@ -22,7 +22,7 @@ internalField   uniform 0.00015;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/multiphase/LTSInterFoam/DTCHull/0.org/nut b/tutorials/multiphase/LTSInterFoam/DTCHull/0.org/nut
index 4abe529d46d..06c3a53b30c 100644
--- a/tutorials/multiphase/LTSInterFoam/DTCHull/0.org/nut
+++ b/tutorials/multiphase/LTSInterFoam/DTCHull/0.org/nut
@@ -22,7 +22,7 @@ internalField   uniform 5e-07;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/multiphase/LTSInterFoam/DTCHull/0.org/omega b/tutorials/multiphase/LTSInterFoam/DTCHull/0.org/omega
index 0dde05c3ac1..9edeb123bb1 100644
--- a/tutorials/multiphase/LTSInterFoam/DTCHull/0.org/omega
+++ b/tutorials/multiphase/LTSInterFoam/DTCHull/0.org/omega
@@ -22,7 +22,7 @@ internalField   uniform 2;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/multiphase/LTSInterFoam/DTCHull/0.org/p_rgh b/tutorials/multiphase/LTSInterFoam/DTCHull/0.org/p_rgh
index 0c0eda7c6fa..5d264eace76 100644
--- a/tutorials/multiphase/LTSInterFoam/DTCHull/0.org/p_rgh
+++ b/tutorials/multiphase/LTSInterFoam/DTCHull/0.org/p_rgh
@@ -22,7 +22,7 @@ internalField   uniform 0;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/multiphase/LTSInterFoam/DTCHull/0.org/pointDisplacement b/tutorials/multiphase/LTSInterFoam/DTCHull/0.org/pointDisplacement
index 350676e605b..d8cf1d57ce8 100644
--- a/tutorials/multiphase/LTSInterFoam/DTCHull/0.org/pointDisplacement
+++ b/tutorials/multiphase/LTSInterFoam/DTCHull/0.org/pointDisplacement
@@ -22,7 +22,7 @@ internalField   uniform (0 0 0);
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/U b/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/U
index 23017d2857d..49416151d87 100644
--- a/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/U
+++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/U
@@ -25,7 +25,7 @@ internalField   uniform ($mUmean 0 0);
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/alpha.water b/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/alpha.water
index 06ee368c9c4..48e62daa04d 100644
--- a/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/alpha.water
+++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/alpha.water
@@ -22,7 +22,7 @@ internalField   uniform 0;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/k b/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/k
index 392241cd6fa..651840bed6d 100644
--- a/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/k
+++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/k
@@ -22,7 +22,7 @@ internalField   uniform 0.00015;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/nut b/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/nut
index 4abe529d46d..06c3a53b30c 100644
--- a/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/nut
+++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/nut
@@ -22,7 +22,7 @@ internalField   uniform 5e-07;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/omega b/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/omega
index 0dde05c3ac1..9edeb123bb1 100644
--- a/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/omega
+++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/omega
@@ -22,7 +22,7 @@ internalField   uniform 2;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/p_rgh b/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/p_rgh
index 0c0eda7c6fa..5d264eace76 100644
--- a/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/p_rgh
+++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/p_rgh
@@ -22,7 +22,7 @@ internalField   uniform 0;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/pointDisplacement b/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/pointDisplacement
index 350676e605b..d8cf1d57ce8 100644
--- a/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/pointDisplacement
+++ b/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.org/pointDisplacement
@@ -22,7 +22,7 @@ internalField   uniform (0 0 0);
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/0.org/U b/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/0.org/U
index b8d2f2caa33..569f1d99df7 100644
--- a/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/0.org/U
+++ b/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/0.org/U
@@ -22,7 +22,7 @@ internalField   uniform (0 0 0);
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/0.org/alpha.water b/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/0.org/alpha.water
index 6d432ebc132..32c29899e08 100644
--- a/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/0.org/alpha.water
+++ b/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/0.org/alpha.water
@@ -22,7 +22,7 @@ internalField   uniform 1;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/0.org/epsilon b/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/0.org/epsilon
index 9053f852183..611e624d8ed 100644
--- a/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/0.org/epsilon
+++ b/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/0.org/epsilon
@@ -22,7 +22,7 @@ internalField   uniform 0.0495;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/0.org/k b/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/0.org/k
index 83b933726fc..6b5c178b690 100644
--- a/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/0.org/k
+++ b/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/0.org/k
@@ -22,7 +22,7 @@ internalField   uniform 0.06;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/0.org/nut b/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/0.org/nut
index 4918acab132..366352e5f54 100644
--- a/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/0.org/nut
+++ b/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/0.org/nut
@@ -22,7 +22,7 @@ internalField   uniform 0;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
diff --git a/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/0.org/p_rgh b/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/0.org/p_rgh
index e89c0586e65..03d383af535 100644
--- a/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/0.org/p_rgh
+++ b/tutorials/multiphase/interPhaseChangeDyMFoam/propeller/0.org/p_rgh
@@ -22,7 +22,7 @@ internalField   uniform 1e5;
 boundaryField
 {
     //- Set patchGroups for constraint patches
-    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
+    #includeEtc "caseDicts/setConstraintTypes"
 
     inlet
     {
-- 
GitLab