From 9bf80af379c70d8f62274075ed9463c7c087302b Mon Sep 17 00:00:00 2001
From: Henry <Henry>
Date: Sun, 30 Sep 2012 21:27:18 +0100
Subject: [PATCH] Thermodynamics: Update selection mechanism for reaction and
 chemistry thermodynamics

---
 .../basic/basicThermo/basicThermo.C           |   19 +-
 .../basic/basicThermo/basicThermoTemplates.C  |    2 +
 .../basic/fluidThermo/makeThermo.H            |   63 +-
 .../chemistryModel/Make/files                 |    2 -
 .../basicChemistryModel/basicChemistryModel.H |   11 +
 .../chemistryModel/makeChemistryModel.H       |   14 +-
 .../psiChemistryModel/psiChemistryModel.C     |   11 +
 .../psiChemistryModel/psiChemistryModelNew.C  |  129 --
 .../rhoChemistryModel/rhoChemistryModel.C     |   11 +
 .../rhoChemistryModel/rhoChemistryModelNew.C  |  129 --
 .../chemistrySolver/chemistrySolver.H         |   35 -
 .../makeChemistrySolverTypes.H                |   21 +-
 .../reactionThermo/makeReactionThermo.H       |  159 +--
 .../icoPolynomial/icoPolynomial.H             |    7 +
 .../incompressiblePerfectGas.H                |    9 +
 .../equationOfState/perfectGas/perfectGas.H   |    7 +
 .../equationOfState/rhoConst/rhoConst.H       |    7 +
 .../reaction/reactions/makeChemkinReactions.C |   92 --
 .../absoluteEnthalpy/absoluteEnthalpy.H       |    6 +
 .../specie/thermo/eConst/eConstThermo.H       |    7 +
 .../specie/thermo/hConst/hConstThermo.H       |   59 +-
 .../thermo/hExponential/hExponentialThermo.H  |   28 +-
 .../thermo/hPolynomial/hPolynomialThermo.H    |    7 +
 .../specie/thermo/janaf/janafThermo.H         |    6 +
 .../sensibleEnthalpy/sensibleEnthalpy.H       |    6 +
 .../sensibleInternalEnergy.H                  |    6 +
 .../specie/thermo/thermo/thermo.H             |    8 +
 .../specie/transport/const/constTransport.H   |    6 +
 .../polynomial/polynomialTransport.H          |    6 +
 .../sutherland/sutherlandTransport.H          |    6 +
 .../constant/thermophysicalProperties         |    4 +-
 .../constant/thermophysicalProperties         |    4 +-
 .../chemFoam/gri/constant/chemistryProperties |    8 +-
 .../gri/constant/thermophysicalProperties     |   11 +-
 .../chemFoam/h2/constant/chemistryProperties  |    8 +-
 .../h2/constant/thermophysicalProperties      |   11 +-
 .../ic8h18/constant/chemistryProperties       |    8 +-
 .../ic8h18/constant/thermophysicalProperties  |   11 +-
 .../nc7h16/constant/chemistryProperties       |    8 +-
 .../nc7h16/constant/thermophysicalProperties  |   11 +-
 .../constant/thermophysicalProperties         |    4 +-
 .../panelRegion/thermophysicalProperties      |    2 +-
 .../constant/thermophysicalProperties         |   14 +-
 .../constant/thermophysicalProperties         |   11 +-
 .../constant/chemistryProperties              |    8 +-
 .../constant/thermophysicalProperties         |   11 +-
 .../constant/chemistryProperties              |    8 +-
 .../constant/thermophysicalProperties         |   11 +-
 .../constant/thermophysicalProperties         |    4 +-
 .../constant/thermophysicalProperties         |    4 +-
 .../constant/thermophysicalProperties         |    4 +-
 .../constant/thermophysicalProperties         |    4 +-
 .../constant/thermophysicalProperties         |    4 +-
 .../constant/thermophysicalProperties         |    4 +-
 .../constant/thermophysicalProperties         |    4 +-
 .../constant/thermophysicalProperties         |    4 +-
 .../cavity/constant/thermophysicalProperties  |    4 +-
 .../constant/thermophysicalProperties         |    4 +-
 .../constant/thermophysicalProperties         |    4 +-
 .../constant/thermophysicalProperties         |    4 +-
 .../constant/thermophysicalProperties         |    4 +-
 .../constant/thermophysicalProperties         |    4 +-
 .../constant/thermophysicalProperties         |    4 +-
 .../constant/thermophysicalProperties         |    4 +-
 .../constant/thermophysicalProperties         |    4 +-
 .../prism/constant/thermophysicalProperties   |    4 +-
 .../hotRoom/constant/thermophysicalProperties |    4 +-
 .../constant/thermophysicalProperties         |    4 +-
 .../constant/thermophysicalProperties         |    4 +-
 .../system/changeDictionaryDict.baffleRegion  |    2 +-
 .../hotRoom/constant/thermophysicalProperties |    6 +-
 .../constant/thermophysicalProperties         |    4 +-
 .../constant/thermophysicalProperties         |    4 +-
 .../bottomAir/thermophysicalProperties        |    4 +-
 .../constant/heater/thermophysicalProperties  |    2 +-
 .../constant/topAir/thermophysicalProperties  |    4 +-
 .../bottomWater/thermophysicalProperties      |    4 +-
 .../constant/heater/thermophysicalProperties  |    2 +-
 .../constant/topAir/thermophysicalProperties  |    4 +-
 .../bottomAir/thermophysicalProperties        |    4 +-
 .../constant/heater/thermophysicalProperties  |    2 +-
 .../constant/topAir/thermophysicalProperties  |    4 +-
 .../bottomAir/thermophysicalProperties        |    4 +-
 .../constant/heater/thermophysicalProperties  |    2 +-
 .../constant/topAir/thermophysicalProperties  |    4 +-
 .../bottomAir/thermophysicalProperties        |    4 +-
 .../constant/heater/thermophysicalProperties  |    2 +-
 .../constant/topAir/thermophysicalProperties  |    4 +-
 .../constant/chemistryProperties              |    8 +-
 .../constant/thermophysicalProperties         |   11 +-
 .../constant/chemistryProperties              |    8 +-
 .../constant/thermophysicalProperties         |   11 +-
 .../constant/chemistryProperties              |    8 +-
 .../constant/polyMesh/boundary                |    2 +
 .../constant/thermophysicalProperties         |   11 +-
 .../cylinder/constant/chemistryProperties     |    8 +-
 .../cylinder/constant/polyMesh/boundary       | 1125 ++++++++++++++++-
 .../constant/thermophysicalProperties         |   13 +-
 .../hotBoxes/constant/chemistryProperties     |    8 +-
 .../hotBoxes/constant/polyMesh/boundary       |    4 +-
 .../constant/thermophysicalProperties         |   13 +-
 .../rivuletPanel/constant/chemistryProperties |    8 +-
 .../rivuletPanel/constant/polyMesh/boundary   |    2 +-
 .../constant/thermophysicalProperties         |   13 +-
 .../splashPanel/constant/chemistryProperties  |    8 +-
 .../splashPanel/constant/polyMesh/boundary    |  213 +++-
 .../constant/thermophysicalProperties         |   13 +-
 .../filter/constant/chemistryProperties       |    8 +-
 .../filter/constant/thermophysicalProperties  |   12 +-
 .../parcelInBox/constant/chemistryProperties  |    8 +-
 .../constant/thermophysicalProperties         |   12 +-
 .../constant/chemistryProperties              |    8 +-
 .../constant/thermophysicalProperties         |   12 +-
 .../aachenBomb/constant/chemistryProperties   |    8 +-
 .../constant/thermophysicalProperties         |   12 +-
 115 files changed, 2006 insertions(+), 743 deletions(-)
 delete mode 100644 src/thermophysicalModels/chemistryModel/chemistryModel/psiChemistryModel/psiChemistryModelNew.C
 delete mode 100644 src/thermophysicalModels/chemistryModel/chemistryModel/rhoChemistryModel/rhoChemistryModelNew.C
 delete mode 100644 src/thermophysicalModels/specie/reaction/reactions/makeChemkinReactions.C

diff --git a/src/thermophysicalModels/basic/basicThermo/basicThermo.C b/src/thermophysicalModels/basic/basicThermo/basicThermo.C
index d938fb77a25..f1ac31e4593 100644
--- a/src/thermophysicalModels/basic/basicThermo/basicThermo.C
+++ b/src/thermophysicalModels/basic/basicThermo/basicThermo.C
@@ -266,15 +266,28 @@ Foam::wordList Foam::basicThermo::splitThermoName
 {
     wordList cmpts(nCmpt);
 
-    string::size_type beg=0, end=0;
+    string::size_type beg=0, end=0, endb=0, endc=0;
     int i = 0;
 
     while
     (
-        (end = thermoName.find('<', beg)) != string::npos
-     || (end = thermoName.find(',', beg)) != string::npos
+        (endb = thermoName.find('<', beg)) != string::npos
+     || (endc = thermoName.find(',', beg)) != string::npos
     )
     {
+        if (endb == string::npos)
+        {
+            end = endc;
+        }
+        else if ((endc = thermoName.find(',', beg)) != string::npos)
+        {
+            end = min(endb, endc);
+        }
+        else
+        {
+            end = endb;
+        }
+
         if (beg < end)
         {
             cmpts[i] = thermoName.substr(beg, end-beg);
diff --git a/src/thermophysicalModels/basic/basicThermo/basicThermoTemplates.C b/src/thermophysicalModels/basic/basicThermo/basicThermoTemplates.C
index 99fe8cacc25..e59e2b6a268 100644
--- a/src/thermophysicalModels/basic/basicThermo/basicThermoTemplates.C
+++ b/src/thermophysicalModels/basic/basicThermo/basicThermoTemplates.C
@@ -76,6 +76,8 @@ Foam::autoPtr<Thermo> Foam::basicThermo::New
           + word(thermoTypeDict.lookup("specie")) + ">>,"
           + word(thermoTypeDict.lookup("energy")) + ">>>";
 
+        Info<< thermoTypeName << endl;
+
         // Lookup the thermo package
         typename Thermo::fvMeshConstructorTable::iterator cstrIter =
             Thermo::fvMeshConstructorTablePtr_->find(thermoTypeName);
diff --git a/src/thermophysicalModels/basic/fluidThermo/makeThermo.H b/src/thermophysicalModels/basic/fluidThermo/makeThermo.H
index 0219106012d..21f430269be 100644
--- a/src/thermophysicalModels/basic/fluidThermo/makeThermo.H
+++ b/src/thermophysicalModels/basic/fluidThermo/makeThermo.H
@@ -39,51 +39,45 @@ Description
 
 #define makeThermo(BaseThermo,Cthermo,Mixture,Transport,Type,Thermo,EqnOfState,Specie)\
                                                                               \
-typedef Cthermo                                                               \
-<                                                                             \
-    Mixture                                                                   \
+typedef                                                                       \
+    Transport                                                                 \
     <                                                                         \
-        Transport                                                             \
+        species::thermo                                                       \
         <                                                                     \
-            species::thermo                                                   \
+            Thermo                                                            \
             <                                                                 \
-                Thermo                                                        \
+                EqnOfState                                                    \
                 <                                                             \
-                    EqnOfState                                                \
-                    <                                                         \
-                        Specie                                                \
-                    >                                                         \
-                >,                                                            \
-                Type                                                          \
-            >                                                                 \
+                    Specie                                                    \
+                >                                                             \
+            >,                                                                \
+            Type                                                              \
         >                                                                     \
-    >                                                                         \
->   Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie;            \
+    > Transport##Type##Thermo##EqnOfState##Specie;                            \
+                                                                              \
+typedef                                                                       \
+    Cthermo                                                                   \
+    <                                                                         \
+        Mixture                                                               \
+        <                                                                     \
+            Transport##Type##Thermo##EqnOfState##Specie                       \
+        >                                                                     \
+    > Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie;          \
                                                                               \
 defineTemplateTypeNameAndDebugWithName                                        \
 (                                                                             \
     Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie,            \
-    #Cthermo                                                                  \
-    "<"                                                                       \
-        #Mixture                                                              \
-        "<"                                                                   \
-            #Transport                                                        \
-            "<"                                                               \
-                #Thermo                                                       \
-                "<"                                                           \
-                    #EqnOfState                                               \
-                    "<"                                                       \
-                        #Specie                                               \
-                    ">"                                                       \
-                ">,"                                                          \
-                #Type                                                         \
-        ">>>",                                                                \
+    (                                                                         \
+        #Cthermo"<"#Mixture"<"                                                \
+      + Transport##Type##Thermo##EqnOfState##Specie::typeName()               \
+      + ">>"                                                                  \
+    ).c_str(),                                                                \
     0                                                                         \
 );                                                                            \
                                                                               \
 addToRunTimeSelectionTable                                                    \
 (                                                                             \
-    BaseThermo,                                                               \
+    basicThermo,                                                              \
     Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie,            \
     fvMesh                                                                    \
 );                                                                            \
@@ -93,6 +87,13 @@ addToRunTimeSelectionTable                                                    \
     fluidThermo,                                                              \
     Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie,            \
     fvMesh                                                                    \
+);                                                                            \
+                                                                              \
+addToRunTimeSelectionTable                                                    \
+(                                                                             \
+    BaseThermo,                                                               \
+    Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie,            \
+    fvMesh                                                                    \
 );
 
 
diff --git a/src/thermophysicalModels/chemistryModel/Make/files b/src/thermophysicalModels/chemistryModel/Make/files
index f78853a7ea1..ef8c6d84c8d 100644
--- a/src/thermophysicalModels/chemistryModel/Make/files
+++ b/src/thermophysicalModels/chemistryModel/Make/files
@@ -1,11 +1,9 @@
 chemistryModel/basicChemistryModel/basicChemistryModel.C
 
 chemistryModel/psiChemistryModel/psiChemistryModel.C
-chemistryModel/psiChemistryModel/psiChemistryModelNew.C
 chemistryModel/psiChemistryModel/psiChemistryModels.C
 
 chemistryModel/rhoChemistryModel/rhoChemistryModel.C
-chemistryModel/rhoChemistryModel/rhoChemistryModelNew.C
 chemistryModel/rhoChemistryModel/rhoChemistryModels.C
 
 chemistrySolver/chemistrySolver/makeChemistrySolvers.C
diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModel.H b/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModel.H
index da54d4c9166..67704bb9df1 100644
--- a/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModel.H
+++ b/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModel.H
@@ -107,6 +107,13 @@ public:
         basicChemistryModel(const fvMesh& mesh);
 
 
+    // Selectors
+
+        //- Generic New for each of the related chemistry model
+        template<class Thermo>
+        static autoPtr<Thermo> New(const fvMesh&);
+
+
     //- Destructor
     virtual ~basicChemistryModel();
 
@@ -162,6 +169,10 @@ public:
 
 #include "basicChemistryModelI.H"
 
+#ifdef NoRepository
+#   include "basicChemistryModelTemplates.C"
+#endif
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 #endif
diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/makeChemistryModel.H b/src/thermophysicalModels/chemistryModel/chemistryModel/makeChemistryModel.H
index 404f758b1b1..c0ae64edf45 100644
--- a/src/thermophysicalModels/chemistryModel/chemistryModel/makeChemistryModel.H
+++ b/src/thermophysicalModels/chemistryModel/chemistryModel/makeChemistryModel.H
@@ -46,19 +46,7 @@ namespace Foam
     defineTemplateTypeNameAndDebugWithName                                    \
     (                                                                         \
         SS##Comp##Thermo,                                                     \
-        #SS"<"#Comp","#Thermo">",                                             \
-        0                                                                     \
-    );
-
-
-#define makeSolidChemistryModel(SS, Comp, SThermo, GThermo)                   \
-                                                                              \
-    typedef SS<Comp, SThermo, GThermo> SS##Comp##SThermo##GThermo;            \
-                                                                              \
-    defineTemplateTypeNameAndDebugWithName                                    \
-    (                                                                         \
-        SS##Comp##SThermo##GThermo,                                           \
-        #SS"<"#Comp","#SThermo","#GThermo">",                                 \
+        (#SS"<"#Comp"," + Thermo::typeName() + ">").c_str(),                  \
         0                                                                     \
     );
 
diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/psiChemistryModel/psiChemistryModel.C b/src/thermophysicalModels/chemistryModel/chemistryModel/psiChemistryModel/psiChemistryModel.C
index ce0579eca20..933dd952ba9 100644
--- a/src/thermophysicalModels/chemistryModel/chemistryModel/psiChemistryModel/psiChemistryModel.C
+++ b/src/thermophysicalModels/chemistryModel/chemistryModel/psiChemistryModel/psiChemistryModel.C
@@ -48,6 +48,17 @@ Foam::psiChemistryModel::psiChemistryModel
 {}
 
 
+// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
+
+Foam::autoPtr<Foam::psiChemistryModel> Foam::psiChemistryModel::New
+(
+    const fvMesh& mesh
+)
+{
+    return basicChemistryModel::New<psiChemistryModel>(mesh);
+}
+
+
 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
 
 Foam::psiChemistryModel::~psiChemistryModel()
diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/psiChemistryModel/psiChemistryModelNew.C b/src/thermophysicalModels/chemistryModel/chemistryModel/psiChemistryModel/psiChemistryModelNew.C
deleted file mode 100644
index 795b48fbb8f..00000000000
--- a/src/thermophysicalModels/chemistryModel/chemistryModel/psiChemistryModel/psiChemistryModelNew.C
+++ /dev/null
@@ -1,129 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "psiChemistryModel.H"
-
-// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
-
-Foam::autoPtr<Foam::psiChemistryModel> Foam::psiChemistryModel::New
-(
-    const fvMesh& mesh
-)
-{
-    IOdictionary chemistryPropertiesDict
-    (
-        IOobject
-        (
-            "chemistryProperties",
-            mesh.time().constant(),
-            mesh,
-            IOobject::MUST_READ,
-            IOobject::NO_WRITE,
-            false
-        )
-    );
-
-    const word solver(chemistryPropertiesDict.lookup("chemistrySolver"));
-
-    wordList models = fvMeshConstructorTablePtr_->sortedToc();
-    wordHashSet validModels;
-    forAll(models, i)
-    {
-        label delim = models[i].find('<');
-        validModels.insert(models[i](0, delim));
-    }
-
-    wordHashSet::iterator solverIter = validModels.find(solver);
-    if (solverIter == validModels.end())
-    {
-        FatalErrorIn("psiChemistryModel::New(const fvMesh&)")
-            << "Valid chemistrySolver types are:" << validModels
-            << exit(FatalError);
-    }
-
-
-    const word userModel(chemistryPropertiesDict.lookup("psiChemistryModel"));
-
-    // construct chemistry model type name by inserting first template argument
-    const label tempOpen = userModel.find('<');
-    const label tempClose = userModel.find('>');
-
-    const word className = userModel(0, tempOpen);
-    const word thermoTypeName =
-        userModel(tempOpen + 1, tempClose - tempOpen - 1);
-
-    const word modelType =
-        solver + '<' + className + '<' + typeName + ',' + thermoTypeName + ">>";
-
-    if (debug)
-    {
-        Info<< "Selecting psiChemistryModel " << modelType << endl;
-    }
-    else
-    {
-        Info<< "Selecting psiChemistryModel " << userModel << endl;
-    }
-
-    fvMeshConstructorTable::iterator cstrIter =
-        fvMeshConstructorTablePtr_->find(modelType);
-
-    if (cstrIter == fvMeshConstructorTablePtr_->end())
-    {
-        if (debug)
-        {
-            FatalErrorIn("psiChemistryModel::New(const mesh&)")
-                << "Unknown psiChemistryModel type "
-                << modelType << nl << nl
-                << "Valid psiChemistryModel types are:" << nl
-                << fvMeshConstructorTablePtr_->sortedToc() << nl
-                << exit(FatalError);
-        }
-        else
-        {
-            wordList allModels(fvMeshConstructorTablePtr_->sortedToc());
-            wordHashSet models;
-            forAll(allModels, i)
-            {
-                const label tempOpen = allModels[i].find('<');
-                const label tempClose = allModels[i].rfind('>');
-                word modelName =
-                    allModels[i](tempOpen + 1, tempClose - tempOpen - 1);
-                modelName = modelName.replace(typeName + ',', "");
-                models.insert(modelName);
-            }
-
-            FatalErrorIn("psiChemistryModel::New(const mesh&)")
-                << "Unknown psiChemistryModel type " << userModel
-                << nl << nl << "Valid psiChemistryModel types are:"
-                << models << exit(FatalError);
-        }
-    }
-
-    return autoPtr<psiChemistryModel>
-        (cstrIter()(mesh, typeName, thermoTypeName));
-}
-
-
-// ************************************************************************* //
diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/rhoChemistryModel/rhoChemistryModel.C b/src/thermophysicalModels/chemistryModel/chemistryModel/rhoChemistryModel/rhoChemistryModel.C
index 1bdad2d06ca..f8b033d68a0 100644
--- a/src/thermophysicalModels/chemistryModel/chemistryModel/rhoChemistryModel/rhoChemistryModel.C
+++ b/src/thermophysicalModels/chemistryModel/chemistryModel/rhoChemistryModel/rhoChemistryModel.C
@@ -48,6 +48,17 @@ Foam::rhoChemistryModel::rhoChemistryModel
 {}
 
 
+// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
+
+Foam::autoPtr<Foam::rhoChemistryModel> Foam::rhoChemistryModel::New
+(
+    const fvMesh& mesh
+)
+{
+    return basicChemistryModel::New<rhoChemistryModel>(mesh);
+}
+
+
 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
 
 Foam::rhoChemistryModel::~rhoChemistryModel()
diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/rhoChemistryModel/rhoChemistryModelNew.C b/src/thermophysicalModels/chemistryModel/chemistryModel/rhoChemistryModel/rhoChemistryModelNew.C
deleted file mode 100644
index ceb73d07d77..00000000000
--- a/src/thermophysicalModels/chemistryModel/chemistryModel/rhoChemistryModel/rhoChemistryModelNew.C
+++ /dev/null
@@ -1,129 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "rhoChemistryModel.H"
-
-// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
-
-Foam::autoPtr<Foam::rhoChemistryModel> Foam::rhoChemistryModel::New
-(
-    const fvMesh& mesh
-)
-{
-    IOdictionary chemistryPropertiesDict
-    (
-        IOobject
-        (
-            "chemistryProperties",
-            mesh.time().constant(),
-            mesh,
-            IOobject::MUST_READ,
-            IOobject::NO_WRITE,
-            false
-        )
-    );
-
-    const word solver(chemistryPropertiesDict.lookup("chemistrySolver"));
-
-    wordList models = fvMeshConstructorTablePtr_->sortedToc();
-    wordHashSet validModels;
-    forAll(models, i)
-    {
-        label delim = models[i].find('<');
-        validModels.insert(models[i](0, delim));
-    }
-
-    wordHashSet::iterator solverIter = validModels.find(solver);
-    if (solverIter == validModels.end())
-    {
-        FatalErrorIn("rhoChemistryModel::New(const fvMesh&)")
-            << "Valid chemistrySolver types are:" << validModels
-            << exit(FatalError);
-    }
-
-
-    const word userModel(chemistryPropertiesDict.lookup("rhoChemistryModel"));
-
-    // construct chemistry model type name by inserting first template argument
-    const label tempOpen = userModel.find('<');
-    const label tempClose = userModel.find('>');
-
-    const word className = userModel(0, tempOpen);
-    const word thermoTypeName =
-        userModel(tempOpen + 1, tempClose - tempOpen - 1);
-
-    const word modelType =
-        solver + '<' + className + '<' + typeName + ',' + thermoTypeName + ">>";
-
-    if (debug)
-    {
-        Info<< "Selecting rhoChemistryModel " << modelType << endl;
-    }
-    else
-    {
-        Info<< "Selecting rhoChemistryModel " << userModel << endl;
-    }
-
-    fvMeshConstructorTable::iterator cstrIter =
-        fvMeshConstructorTablePtr_->find(modelType);
-
-    if (cstrIter == fvMeshConstructorTablePtr_->end())
-    {
-        if (debug)
-        {
-            FatalErrorIn("rhoChemistryModel::New(const mesh&)")
-                << "Unknown rhoChemistryModel type "
-                << modelType << nl << nl
-                << "Valid rhoChemistryModel types are:" << nl
-                << fvMeshConstructorTablePtr_->sortedToc() << nl
-                << exit(FatalError);
-        }
-        else
-        {
-            wordList allModels(fvMeshConstructorTablePtr_->sortedToc());
-            wordHashSet models;
-            forAll(allModels, i)
-            {
-                const label tempOpen = allModels[i].find('<');
-                const label tempClose = allModels[i].rfind('>');
-                word modelName =
-                    allModels[i](tempOpen + 1, tempClose - tempOpen - 1);
-                modelName = modelName.replace(typeName + ',', "");
-                models.insert(modelName);
-            }
-
-            FatalErrorIn("rhoChemistryModel::New(const mesh&)")
-                << "Unknown rhoChemistryModel type " << userModel
-                << nl << nl << "Valid rhoChemistryModel types are:"
-                << models << exit(FatalError);
-        }
-    }
-
-    return autoPtr<rhoChemistryModel>
-        (cstrIter()(mesh, typeName, thermoTypeName));
-}
-
-
-// ************************************************************************* //
diff --git a/src/thermophysicalModels/chemistryModel/chemistrySolver/chemistrySolver/chemistrySolver.H b/src/thermophysicalModels/chemistryModel/chemistrySolver/chemistrySolver/chemistrySolver.H
index f8348150b0d..dfbb29ecd0e 100644
--- a/src/thermophysicalModels/chemistryModel/chemistrySolver/chemistrySolver/chemistrySolver.H
+++ b/src/thermophysicalModels/chemistryModel/chemistrySolver/chemistrySolver/chemistrySolver.H
@@ -63,10 +63,6 @@ protected:
 
 public:
 
-        //- Runtime type information
-        TypeName("chemistrySolver");
-
-
     // Constructors
 
         //- Construct from components
@@ -100,37 +96,6 @@ public:
 
 } // End namespace Foam
 
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#define makeChemistrySolver(ODEChem)                                          \
-                                                                              \
-    defineTemplateTypeNameAndDebugWithName                                    \
-    (                                                                         \
-        chemistrySolver<ODEChem>,                                             \
-        "chemistrySolver<"#ODEChem">",                                        \
-        0                                                                     \
-    );
-
-
-#define makeChemistrySolverType(SS, ODEChem, Comp, Thermo)                    \
-                                                                              \
-    typedef SS<ODEChem<Comp, Thermo> > SS##ODEChem##Comp##Thermo;             \
-                                                                              \
-    defineTemplateTypeNameAndDebugWithName                                    \
-    (                                                                         \
-        SS##ODEChem##Comp##Thermo,                                            \
-        #SS"<"#ODEChem"<"#Comp","#Thermo">>",                                 \
-        0                                                                     \
-    );                                                                        \
-                                                                              \
-    addToRunTimeSelectionTable                                                \
-    (                                                                         \
-        Comp,                                                                 \
-        SS##ODEChem##Comp##Thermo,                                            \
-        fvMesh                                                                \
-    );
-
-
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 #ifdef NoRepository
diff --git a/src/thermophysicalModels/chemistryModel/chemistrySolver/chemistrySolver/makeChemistrySolverTypes.H b/src/thermophysicalModels/chemistryModel/chemistrySolver/chemistrySolver/makeChemistrySolverTypes.H
index 2523e9cefa7..f9ab5839c36 100644
--- a/src/thermophysicalModels/chemistryModel/chemistrySolver/chemistrySolver/makeChemistrySolverTypes.H
+++ b/src/thermophysicalModels/chemistryModel/chemistrySolver/chemistrySolver/makeChemistrySolverTypes.H
@@ -37,11 +37,26 @@ License
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-#define makeChemistrySolverTypes(CompChemModel,Thermo)                        \
+#define makeChemistrySolverType(SS, ODEChem, Comp, Thermo)                    \
                                                                               \
-    typedef ODEChemistryModel<CompChemModel, Thermo> CompChemModel##Thermo;   \
+    typedef SS<ODEChem<Comp, Thermo> > SS##ODEChem##Comp##Thermo;             \
                                                                               \
-    makeChemistrySolver(CompChemModel##Thermo);                               \
+    defineTemplateTypeNameAndDebugWithName                                    \
+    (                                                                         \
+        SS##ODEChem##Comp##Thermo,                                            \
+        (#SS"<"#ODEChem"<"#Comp"," + Thermo::typeName() + ">>").c_str(),      \
+        0                                                                     \
+    );                                                                        \
+                                                                              \
+    addToRunTimeSelectionTable                                                \
+    (                                                                         \
+        Comp,                                                                 \
+        SS##ODEChem##Comp##Thermo,                                            \
+        fvMesh                                                                \
+    );
+
+
+#define makeChemistrySolverTypes(CompChemModel,Thermo)                        \
                                                                               \
     makeChemistrySolverType                                                   \
     (                                                                         \
diff --git a/src/thermophysicalModels/reactionThermo/makeReactionThermo.H b/src/thermophysicalModels/reactionThermo/makeReactionThermo.H
index 37221d10909..3b88008e04c 100644
--- a/src/thermophysicalModels/reactionThermo/makeReactionThermo.H
+++ b/src/thermophysicalModels/reactionThermo/makeReactionThermo.H
@@ -31,103 +31,76 @@ License
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-#define makeReactionThermo(BaseThermo,CThermo,MixtureThermo,Mixture,Transport,Type,Thermo,EqnOfState,Specie) \
-                                                                              \
-typedef MixtureThermo                                                         \
-<                                                                             \
-    SpecieMixture                                                             \
-    <                                                                         \
-        Mixture                                                               \
-        <                                                                     \
-            Transport                                                         \
-            <                                                                 \
-                species::thermo                                               \
-                <                                                             \
-                    Thermo                                                    \
-                    <                                                         \
-                        EqnOfState                                            \
-                        <                                                     \
-                            Specie                                            \
-                        >                                                     \
-                    >,                                                        \
-                    Type                                                      \
-                >                                                             \
-            >                                                                 \
-        >                                                                     \
-    >                                                                         \
-> MixtureThermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie;        \
-                                                                              \
-defineTemplateTypeNameAndDebugWithName                                        \
-(                                                                             \
-    MixtureThermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie,      \
-    #MixtureThermo                                                            \
-    "<"                                                                       \
-        #Mixture                                                              \
-        "<"                                                                   \
-            #Transport                                                        \
-            "<"                                                               \
-                #Thermo                                                       \
-                "<"                                                           \
-                    #EqnOfState                                               \
-                    "<"                                                       \
-                        #Specie                                               \
-                    ">"                                                       \
-                ">,"                                                          \
-                #Type                                                         \
-            ">>>",                                                            \
-    0                                                                         \
-);                                                                            \
-                                                                              \
-addToRunTimeSelectionTable                                                    \
-(                                                                             \
-    BaseThermo,                                                               \
-    MixtureThermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie,      \
-    fvMesh                                                                    \
-);                                                                            \
-                                                                              \
-addToRunTimeSelectionTable                                                    \
-(                                                                             \
-    CThermo,                                                                  \
-    MixtureThermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie,      \
-    fvMesh                                                                    \
-)
-
-
 #define makeReactionMixtureThermo(BaseThermo,CThermo,MixtureThermo,Mixture,ThermoPhys)   \
-                                                                              \
-typedef MixtureThermo                                                         \
-<                                                                             \
-    SpecieMixture                                                             \
-    <                                                                         \
-        Mixture                                                               \
-        <                                                                     \
-            ThermoPhys                                                        \
-        >                                                                     \
-    >                                                                         \
-> MixtureThermo##Mixture##ThermoPhys;                                         \
-                                                                              \
-defineTemplateTypeNameAndDebugWithName                                        \
-(                                                                             \
-    MixtureThermo##Mixture##ThermoPhys,                                       \
-    #MixtureThermo"<"#Mixture"<"#ThermoPhys">>",                              \
-    0                                                                         \
-);                                                                            \
-                                                                              \
-addToRunTimeSelectionTable                                                    \
-(                                                                             \
-    BaseThermo,                                                               \
-    MixtureThermo##Mixture##ThermoPhys,                                       \
-    fvMesh                                                                    \
-);                                                                            \
-                                                                              \
-addToRunTimeSelectionTable                                                    \
-(                                                                             \
-    CThermo,                                                                  \
-    MixtureThermo##Mixture##ThermoPhys,                                       \
-    fvMesh                                                                    \
+                                                                               \
+typedef MixtureThermo                                                          \
+<                                                                              \
+    SpecieMixture                                                              \
+    <                                                                          \
+        Mixture                                                                \
+        <                                                                      \
+            ThermoPhys                                                         \
+        >                                                                      \
+    >                                                                          \
+> MixtureThermo##Mixture##ThermoPhys;                                          \
+                                                                               \
+defineTemplateTypeNameAndDebugWithName                                         \
+(                                                                              \
+    MixtureThermo##Mixture##ThermoPhys,                                        \
+    (#MixtureThermo"<"#Mixture"<" + ThermoPhys::typeName() + ">>").c_str(),    \
+    0                                                                          \
+);                                                                             \
+                                                                               \
+addToRunTimeSelectionTable                                                     \
+(                                                                              \
+    basicThermo,                                                               \
+    MixtureThermo##Mixture##ThermoPhys,                                        \
+    fvMesh                                                                     \
+);                                                                             \
+                                                                               \
+addToRunTimeSelectionTable                                                     \
+(                                                                              \
+    fluidThermo,                                                               \
+    MixtureThermo##Mixture##ThermoPhys,                                        \
+    fvMesh                                                                     \
+);                                                                             \
+                                                                               \
+addToRunTimeSelectionTable                                                     \
+(                                                                              \
+    BaseThermo,                                                                \
+    MixtureThermo##Mixture##ThermoPhys,                                        \
+    fvMesh                                                                     \
+);                                                                             \
+                                                                               \
+addToRunTimeSelectionTable                                                     \
+(                                                                              \
+    CThermo,                                                                   \
+    MixtureThermo##Mixture##ThermoPhys,                                        \
+    fvMesh                                                                     \
 );
 
 
+#define makeReactionThermo(BaseThermo,CThermo,MixtureThermo,Mixture,Transport,Type,Thermo,EqnOfState,Specie) \
+                                                                               \
+typedef                                                                        \
+    Transport                                                                  \
+    <                                                                          \
+        species::thermo                                                        \
+        <                                                                      \
+            Thermo                                                             \
+            <                                                                  \
+                EqnOfState                                                     \
+                <                                                              \
+                    Specie                                                     \
+                >                                                              \
+            >,                                                                 \
+            Type                                                               \
+        >                                                                      \
+    > Transport##Type##Thermo##EqnOfState##Specie;                             \
+                                                                               \
+makeReactionMixtureThermo(BaseThermo,CThermo,MixtureThermo,Mixture,Transport##Type##Thermo##EqnOfState##Specie)
+
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 #endif
diff --git a/src/thermophysicalModels/specie/equationOfState/icoPolynomial/icoPolynomial.H b/src/thermophysicalModels/specie/equationOfState/icoPolynomial/icoPolynomial.H
index 30feeb88b8d..0665f89e801 100644
--- a/src/thermophysicalModels/specie/equationOfState/icoPolynomial/icoPolynomial.H
+++ b/src/thermophysicalModels/specie/equationOfState/icoPolynomial/icoPolynomial.H
@@ -137,6 +137,13 @@ public:
 
     // Member functions
 
+        //- Return the instantiated type name
+        static word typeName()
+        {
+            return "icoPolynomial<" + word(Specie::typeName_()) + '>';
+        }
+
+
         // Fundamental properties
 
             //- Is the equation of state is incompressible i.e. rho != f(p)
diff --git a/src/thermophysicalModels/specie/equationOfState/incompressiblePerfectGas/incompressiblePerfectGas.H b/src/thermophysicalModels/specie/equationOfState/incompressiblePerfectGas/incompressiblePerfectGas.H
index fd4e2d6d368..7ff3f054e3a 100644
--- a/src/thermophysicalModels/specie/equationOfState/incompressiblePerfectGas/incompressiblePerfectGas.H
+++ b/src/thermophysicalModels/specie/equationOfState/incompressiblePerfectGas/incompressiblePerfectGas.H
@@ -135,6 +135,15 @@ public:
 
     // Member functions
 
+        //- Return the instantiated type name
+        static word typeName()
+        {
+            return
+                "incompressiblePerfectGas<"
+              + word(Specie::typeName_()) + '>';
+        }
+
+
         // Fundamental properties
 
             //- Is the equation of state is incompressible i.e. rho != f(p)
diff --git a/src/thermophysicalModels/specie/equationOfState/perfectGas/perfectGas.H b/src/thermophysicalModels/specie/equationOfState/perfectGas/perfectGas.H
index 4b02137b257..c2421db5d84 100644
--- a/src/thermophysicalModels/specie/equationOfState/perfectGas/perfectGas.H
+++ b/src/thermophysicalModels/specie/equationOfState/perfectGas/perfectGas.H
@@ -121,6 +121,13 @@ public:
 
     // Member functions
 
+        //- Return the instantiated type name
+        static word typeName()
+        {
+            return "perfectGas<" + word(Specie::typeName_()) + '>';
+        }
+
+
         // Fundamental properties
 
             //- Is the equation of state is incompressible i.e. rho != f(p)
diff --git a/src/thermophysicalModels/specie/equationOfState/rhoConst/rhoConst.H b/src/thermophysicalModels/specie/equationOfState/rhoConst/rhoConst.H
index 5eccbbc233b..ac7d62b891a 100644
--- a/src/thermophysicalModels/specie/equationOfState/rhoConst/rhoConst.H
+++ b/src/thermophysicalModels/specie/equationOfState/rhoConst/rhoConst.H
@@ -123,6 +123,13 @@ public:
 
     // Member functions
 
+        //- Return the instantiated type name
+        static word typeName()
+        {
+            return "rhoConst<" + word(Specie::typeName_()) + '>';
+        }
+
+
         // Fundamental properties
 
             //- Is the equation of state is incompressible i.e. rho != f(p)
diff --git a/src/thermophysicalModels/specie/reaction/reactions/makeChemkinReactions.C b/src/thermophysicalModels/specie/reaction/reactions/makeChemkinReactions.C
deleted file mode 100644
index 67ef382fac6..00000000000
--- a/src/thermophysicalModels/specie/reaction/reactions/makeChemkinReactions.C
+++ /dev/null
@@ -1,92 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "reactionTypes.H"
-#include "makeReaction.H"
-
-#include "ArrheniusReactionRate.H"
-#include "infiniteReactionRate.H"
-#include "LandauTellerReactionRate.H"
-#include "thirdBodyArrheniusReactionRate.H"
-
-#include "ChemicallyActivatedReactionRate.H"
-#include "JanevReactionRate.H"
-#include "powerSeriesReactionRate.H"
-
-#include "FallOffReactionRate.H"
-#include "LindemannFallOffFunction.H"
-#include "SRIFallOffFunction.H"
-#include "TroeFallOffFunction.H"
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-defineTemplateTypeNameAndDebug(gasReaction, 0);
-defineTemplateRunTimeSelectionTable(gasReaction, Istream);
-defineTemplateRunTimeSelectionTable(gasReaction, dictionary);
-
-
-// * * * * * * * * * * * * * Make CHEMKIN reactions  * * * * * * * * * * * * //
-
-makeIRNReactions(gasThermoPhysics, ArrheniusReactionRate)
-makeIRNReactions(gasThermoPhysics, infiniteReactionRate)
-makeIRNReactions(gasThermoPhysics, LandauTellerReactionRate)
-makeIRNReactions(gasThermoPhysics, thirdBodyArrheniusReactionRate)
-
-makeIRReactions(gasThermoPhysics, JanevReactionRate)
-makeIRReactions(gasThermoPhysics, powerSeriesReactionRate)
-
-makePressureDependentReactions
-(
-    gasThermoPhysics,
-    ArrheniusReactionRate,
-    LindemannFallOffFunction
-)
-
-makePressureDependentReactions
-(
-    gasThermoPhysics,
-    ArrheniusReactionRate,
-    TroeFallOffFunction
-)
-
-makePressureDependentReactions
-(
-    gasThermoPhysics,
-    ArrheniusReactionRate,
-    SRIFallOffFunction
-)
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/thermophysicalModels/specie/thermo/absoluteEnthalpy/absoluteEnthalpy.H b/src/thermophysicalModels/specie/thermo/absoluteEnthalpy/absoluteEnthalpy.H
index d374a81d0bd..98bf51e03f0 100644
--- a/src/thermophysicalModels/specie/thermo/absoluteEnthalpy/absoluteEnthalpy.H
+++ b/src/thermophysicalModels/specie/thermo/absoluteEnthalpy/absoluteEnthalpy.H
@@ -57,6 +57,12 @@ public:
 
     // Member Functions
 
+        //- Return the instantiated type name
+        static word typeName()
+        {
+            return "absoluteEnthalpy";
+        }
+
         // Fundamental properties
 
             static word name()
diff --git a/src/thermophysicalModels/specie/thermo/eConst/eConstThermo.H b/src/thermophysicalModels/specie/thermo/eConst/eConstThermo.H
index 378a39c0593..7e0781cc401 100644
--- a/src/thermophysicalModels/specie/thermo/eConst/eConstThermo.H
+++ b/src/thermophysicalModels/specie/thermo/eConst/eConstThermo.H
@@ -135,9 +135,16 @@ public:
 
     // Member Functions
 
+        //- Return the instantiated type name
+        static word typeName()
+        {
+            return "eConst<" + EquationOfState::typeName() + '>';
+        }
+
         //- Limit the temperature to be in the range Tlow_ to Thigh_
         inline scalar limit(const scalar T) const;
 
+
         // Fundamental properties
 
             //- Heat capacity at constant pressure [J/(kmol K)]
diff --git a/src/thermophysicalModels/specie/thermo/hConst/hConstThermo.H b/src/thermophysicalModels/specie/thermo/hConst/hConstThermo.H
index 14068fbaef6..f3bf0522093 100644
--- a/src/thermophysicalModels/specie/thermo/hConst/hConstThermo.H
+++ b/src/thermophysicalModels/specie/thermo/hConst/hConstThermo.H
@@ -44,41 +44,41 @@ namespace Foam
 
 // Forward declaration of friend functions and operators
 
-template<class equationOfState> class hConstThermo;
+template<class EquationOfState> class hConstThermo;
 
-template<class equationOfState>
-inline hConstThermo<equationOfState> operator+
+template<class EquationOfState>
+inline hConstThermo<EquationOfState> operator+
 (
-    const hConstThermo<equationOfState>&,
-    const hConstThermo<equationOfState>&
+    const hConstThermo<EquationOfState>&,
+    const hConstThermo<EquationOfState>&
 );
 
-template<class equationOfState>
-inline hConstThermo<equationOfState> operator-
+template<class EquationOfState>
+inline hConstThermo<EquationOfState> operator-
 (
-    const hConstThermo<equationOfState>&,
-    const hConstThermo<equationOfState>&
+    const hConstThermo<EquationOfState>&,
+    const hConstThermo<EquationOfState>&
 );
 
-template<class equationOfState>
-inline hConstThermo<equationOfState> operator*
+template<class EquationOfState>
+inline hConstThermo<EquationOfState> operator*
 (
     const scalar,
-    const hConstThermo<equationOfState>&
+    const hConstThermo<EquationOfState>&
 );
 
-template<class equationOfState>
-inline hConstThermo<equationOfState> operator==
+template<class EquationOfState>
+inline hConstThermo<EquationOfState> operator==
 (
-    const hConstThermo<equationOfState>&,
-    const hConstThermo<equationOfState>&
+    const hConstThermo<EquationOfState>&,
+    const hConstThermo<EquationOfState>&
 );
 
-template<class equationOfState>
+template<class EquationOfState>
 Ostream& operator<<
 (
     Ostream&,
-    const hConstThermo<equationOfState>&
+    const hConstThermo<EquationOfState>&
 );
 
 
@@ -86,10 +86,10 @@ Ostream& operator<<
                            Class hConstThermo Declaration
 \*---------------------------------------------------------------------------*/
 
-template<class equationOfState>
+template<class EquationOfState>
 class hConstThermo
 :
-    public equationOfState
+    public EquationOfState
 {
     // Private data
 
@@ -102,7 +102,7 @@ class hConstThermo
         //- Construct from components
         inline hConstThermo
         (
-            const equationOfState& st,
+            const EquationOfState& st,
             const scalar cp,
             const scalar hf
         );
@@ -133,9 +133,16 @@ public:
 
     // Member Functions
 
+        //- Return the instantiated type name
+        static word typeName()
+        {
+            return "hConst<" + EquationOfState::typeName() + '>';
+        }
+
         //- Limit the temperature to be in the range Tlow_ to Thigh_
         inline scalar limit(const scalar T) const;
 
+
         // Fundamental properties
 
             //- Heat capacity at constant pressure [J/(kmol K)]
@@ -168,25 +175,25 @@ public:
 
     // Friend operators
 
-        friend hConstThermo operator+ <equationOfState>
+        friend hConstThermo operator+ <EquationOfState>
         (
             const hConstThermo&,
             const hConstThermo&
         );
 
-        friend hConstThermo operator- <equationOfState>
+        friend hConstThermo operator- <EquationOfState>
         (
             const hConstThermo&,
             const hConstThermo&
         );
 
-        friend hConstThermo operator* <equationOfState>
+        friend hConstThermo operator* <EquationOfState>
         (
             const scalar,
             const hConstThermo&
         );
 
-        friend hConstThermo operator== <equationOfState>
+        friend hConstThermo operator== <EquationOfState>
         (
             const hConstThermo&,
             const hConstThermo&
@@ -195,7 +202,7 @@ public:
 
     // IOstream Operators
 
-        friend Ostream& operator<< <equationOfState>
+        friend Ostream& operator<< <EquationOfState>
         (
             Ostream&,
             const hConstThermo&
diff --git a/src/thermophysicalModels/specie/thermo/hExponential/hExponentialThermo.H b/src/thermophysicalModels/specie/thermo/hExponential/hExponentialThermo.H
index 956f6d88468..a54dfafcdaf 100644
--- a/src/thermophysicalModels/specie/thermo/hExponential/hExponentialThermo.H
+++ b/src/thermophysicalModels/specie/thermo/hExponential/hExponentialThermo.H
@@ -46,21 +46,21 @@ SourceFiles
 namespace Foam
 {
 
-template<class equationOfState> class hExponentialThermo;
+template<class EquationOfState> class hExponentialThermo;
 
-template<class equationOfState>
-inline hExponentialThermo<equationOfState> operator*
+template<class EquationOfState>
+inline hExponentialThermo<EquationOfState> operator*
 (
     const scalar,
-    const hExponentialThermo<equationOfState>&
+    const hExponentialThermo<EquationOfState>&
 );
 
 
-template<class equationOfState>
+template<class EquationOfState>
 Ostream& operator<<
 (
     Ostream&,
-    const hExponentialThermo<equationOfState>&
+    const hExponentialThermo<EquationOfState>&
 );
 
 
@@ -68,10 +68,10 @@ Ostream& operator<<
                          Class hExponentialThermo Declaration
 \*---------------------------------------------------------------------------*/
 
-template<class equationOfState>
+template<class EquationOfState>
 class hExponentialThermo
 :
-    public equationOfState
+    public EquationOfState
 {
 
     // Private data
@@ -98,7 +98,7 @@ public:
         //- Construct from components
         inline hExponentialThermo
         (
-            const equationOfState& st,
+            const EquationOfState& st,
             const scalar c0,
             const scalar n0,
             const scalar Tref,
@@ -118,6 +118,12 @@ public:
 
     // Member Functions
 
+        //- Return the instantiated type name
+        static word typeName()
+        {
+            return "hExponential<" + EquationOfState::typeName() + '>';
+        }
+
         //- Limit the temperature to be in the range Tlow_ to Thigh_
         inline scalar limit(const scalar T) const;
 
@@ -153,7 +159,7 @@ public:
     // Friend operators
 
 
-        friend hExponentialThermo operator* <equationOfState>
+        friend hExponentialThermo operator* <EquationOfState>
         (
             const scalar,
             const hExponentialThermo&
@@ -162,7 +168,7 @@ public:
 
     // Ostream Operator
 
-        friend Ostream& operator<< <equationOfState>
+        friend Ostream& operator<< <EquationOfState>
         (
             Ostream&,
             const hExponentialThermo&
diff --git a/src/thermophysicalModels/specie/thermo/hPolynomial/hPolynomialThermo.H b/src/thermophysicalModels/specie/thermo/hPolynomial/hPolynomialThermo.H
index 1465c94f2a7..a0b557f215a 100644
--- a/src/thermophysicalModels/specie/thermo/hPolynomial/hPolynomialThermo.H
+++ b/src/thermophysicalModels/specie/thermo/hPolynomial/hPolynomialThermo.H
@@ -151,9 +151,16 @@ public:
 
     // Member Functions
 
+        //- Return the instantiated type name
+        static word typeName()
+        {
+            return "hPolynomial<" + EquationOfState::typeName() + '>';
+        }
+
         //- Limit the temperature to be in the range Tlow_ to Thigh_
         inline scalar limit(const scalar) const;
 
+
         // Fundamental properties
 
             //- Heat capacity at constant pressure [J/(kmol K)]
diff --git a/src/thermophysicalModels/specie/thermo/janaf/janafThermo.H b/src/thermophysicalModels/specie/thermo/janaf/janafThermo.H
index 9407336600c..3fa4f8dd08e 100644
--- a/src/thermophysicalModels/specie/thermo/janaf/janafThermo.H
+++ b/src/thermophysicalModels/specie/thermo/janaf/janafThermo.H
@@ -150,6 +150,12 @@ public:
 
     // Member Functions
 
+        //- Return the instantiated type name
+        static word typeName()
+        {
+            return "janaf<" + EquationOfState::typeName() + '>';
+        }
+
         //- Limit the temperature to be in the range Tlow_ to Thigh_
         inline scalar limit(const scalar T) const;
 
diff --git a/src/thermophysicalModels/specie/thermo/sensibleEnthalpy/sensibleEnthalpy.H b/src/thermophysicalModels/specie/thermo/sensibleEnthalpy/sensibleEnthalpy.H
index e09e2a61f9e..07cf5a27654 100644
--- a/src/thermophysicalModels/specie/thermo/sensibleEnthalpy/sensibleEnthalpy.H
+++ b/src/thermophysicalModels/specie/thermo/sensibleEnthalpy/sensibleEnthalpy.H
@@ -57,6 +57,12 @@ public:
 
     // Member Functions
 
+        //- Return the instantiated type name
+        static word typeName()
+        {
+            return "sensibleEnthalpy";
+        }
+
         // Fundamental properties
 
             static word name()
diff --git a/src/thermophysicalModels/specie/thermo/sensibleInternalEnergy/sensibleInternalEnergy.H b/src/thermophysicalModels/specie/thermo/sensibleInternalEnergy/sensibleInternalEnergy.H
index ddc48a2df07..7adf3e34d70 100644
--- a/src/thermophysicalModels/specie/thermo/sensibleInternalEnergy/sensibleInternalEnergy.H
+++ b/src/thermophysicalModels/specie/thermo/sensibleInternalEnergy/sensibleInternalEnergy.H
@@ -57,6 +57,12 @@ public:
 
     // Member Functions
 
+        //- Return the instantiated type name
+        static word typeName()
+        {
+            return "sensibleInternalEnergy";
+        }
+
         // Fundamental properties
 
             static word name()
diff --git a/src/thermophysicalModels/specie/thermo/thermo/thermo.H b/src/thermophysicalModels/specie/thermo/thermo/thermo.H
index 07c84553e6b..bacceb36bc1 100644
--- a/src/thermophysicalModels/specie/thermo/thermo/thermo.H
+++ b/src/thermophysicalModels/specie/thermo/thermo/thermo.H
@@ -139,6 +139,14 @@ public:
 
     // Member Functions
 
+        //- Return the instantiated type name
+        static word typeName()
+        {
+            return
+                  Thermo::typeName() + ','
+                + Type<thermo<Thermo, Type> >::typeName();
+        }
+
         // Fundamental properties
         // (These functions must be provided in derived types)
 
diff --git a/src/thermophysicalModels/specie/transport/const/constTransport.H b/src/thermophysicalModels/specie/transport/const/constTransport.H
index 33ebaa39090..c1e3120000c 100644
--- a/src/thermophysicalModels/specie/transport/const/constTransport.H
+++ b/src/thermophysicalModels/specie/transport/const/constTransport.H
@@ -137,6 +137,12 @@ public:
 
     // Member functions
 
+        //- Return the instantiated type name
+        static word typeName()
+        {
+            return "const<" + Thermo::typeName() + '>';
+        }
+
         //- Dynamic viscosity [kg/ms]
         inline scalar mu(const scalar p, const scalar T) const;
 
diff --git a/src/thermophysicalModels/specie/transport/polynomial/polynomialTransport.H b/src/thermophysicalModels/specie/transport/polynomial/polynomialTransport.H
index eeb223aa295..85ec167256d 100644
--- a/src/thermophysicalModels/specie/transport/polynomial/polynomialTransport.H
+++ b/src/thermophysicalModels/specie/transport/polynomial/polynomialTransport.H
@@ -142,6 +142,12 @@ public:
 
     // Member functions
 
+        //- Return the instantiated type name
+        static word typeName()
+        {
+            return "polynomial<" + Thermo::typeName() + '>';
+        }
+
         //- Dynamic viscosity [kg/ms]
         inline scalar mu(const scalar p, const scalar T) const;
 
diff --git a/src/thermophysicalModels/specie/transport/sutherland/sutherlandTransport.H b/src/thermophysicalModels/specie/transport/sutherland/sutherlandTransport.H
index 5e91c15b763..f8ac0722dd6 100644
--- a/src/thermophysicalModels/specie/transport/sutherland/sutherlandTransport.H
+++ b/src/thermophysicalModels/specie/transport/sutherland/sutherlandTransport.H
@@ -156,6 +156,12 @@ public:
 
     // Member functions
 
+        //- Return the instantiated type name
+        static word typeName()
+        {
+            return "sutherland<" + Thermo::typeName() + '>';
+        }
+
         //- Dynamic viscosity [kg/ms]
         inline scalar mu(const scalar p, const scalar T) const;
 
diff --git a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/thermophysicalProperties b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/thermophysicalProperties
index c7426d104eb..301c1d79867 100644
--- a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/thermophysicalProperties
+++ b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            heheuReactionThermo;
     mixture         inhomogeneousMixture;
-    transport       sutherlandTransport;
-    thermo          janafThermo;
+    transport       sutherland;
+    thermo          janaf;
     equationOfState perfectGas;
     specie          specie;
     energy          absoluteEnthalpy;
diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/thermophysicalProperties b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/thermophysicalProperties
index d265c0bc1aa..9c8539a6ab9 100644
--- a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/thermophysicalProperties
+++ b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            heheuReactionThermo;
     mixture         homogeneousMixture;
-    transport       sutherlandTransport;
-    thermo          janafThermo;
+    transport       sutherland;
+    thermo          janaf;
     equationOfState perfectGas;
     specie          specie;
     energy          absoluteEnthalpy;
diff --git a/tutorials/combustion/chemFoam/gri/constant/chemistryProperties b/tutorials/combustion/chemFoam/gri/constant/chemistryProperties
index 6adffc7f815..65f5b0ac6da 100644
--- a/tutorials/combustion/chemFoam/gri/constant/chemistryProperties
+++ b/tutorials/combustion/chemFoam/gri/constant/chemistryProperties
@@ -15,14 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-psiChemistryModel ODEChemistryModel<gasThermoPhysics>;
+chemistryType
+{
+    chemistryModel    ODEChemistryModel;
+    chemistrySolver   ode;
+}
 
 chemistry       on;
 
 initialChemicalTimeStep 1e-10;
 
-chemistrySolver ode;
-
 odeCoeffs
 {
     solver          SIBS;
diff --git a/tutorials/combustion/chemFoam/gri/constant/thermophysicalProperties b/tutorials/combustion/chemFoam/gri/constant/thermophysicalProperties
index 3c5e475229c..d6cb3dd45f2 100644
--- a/tutorials/combustion/chemFoam/gri/constant/thermophysicalProperties
+++ b/tutorials/combustion/chemFoam/gri/constant/thermophysicalProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiReactionThermo<reactingMixture<gasThermoPhysics>>;
+thermoType
+{
+    type            hePsiReactionThermo;
+    mixture         reactingMixture;
+    transport       sutherland;
+    thermo          janaf;
+    energy          sensibleEnthalpy;
+    equationOfState perfectGas;
+    specie          specie;
+}
 
 CHEMKINFile     "$FOAM_CASE/chemkin/chem.inp";
 
diff --git a/tutorials/combustion/chemFoam/h2/constant/chemistryProperties b/tutorials/combustion/chemFoam/h2/constant/chemistryProperties
index 5f797c7bdb2..b0ebc946d44 100644
--- a/tutorials/combustion/chemFoam/h2/constant/chemistryProperties
+++ b/tutorials/combustion/chemFoam/h2/constant/chemistryProperties
@@ -15,14 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-psiChemistryModel ODEChemistryModel<gasThermoPhysics>;
+chemistryType
+{
+    chemistryModel    ODEChemistryModel;
+    chemistrySolver   ode;
+}
 
 chemistry       on;
 
 initialChemicalTimeStep 1e-10;
 
-chemistrySolver ode;
-
 odeCoeffs
 {
     solver          SIBS;
diff --git a/tutorials/combustion/chemFoam/h2/constant/thermophysicalProperties b/tutorials/combustion/chemFoam/h2/constant/thermophysicalProperties
index 3c5e475229c..d6cb3dd45f2 100644
--- a/tutorials/combustion/chemFoam/h2/constant/thermophysicalProperties
+++ b/tutorials/combustion/chemFoam/h2/constant/thermophysicalProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiReactionThermo<reactingMixture<gasThermoPhysics>>;
+thermoType
+{
+    type            hePsiReactionThermo;
+    mixture         reactingMixture;
+    transport       sutherland;
+    thermo          janaf;
+    energy          sensibleEnthalpy;
+    equationOfState perfectGas;
+    specie          specie;
+}
 
 CHEMKINFile     "$FOAM_CASE/chemkin/chem.inp";
 
diff --git a/tutorials/combustion/chemFoam/ic8h18/constant/chemistryProperties b/tutorials/combustion/chemFoam/ic8h18/constant/chemistryProperties
index b635af7f793..07d0e5d36e1 100644
--- a/tutorials/combustion/chemFoam/ic8h18/constant/chemistryProperties
+++ b/tutorials/combustion/chemFoam/ic8h18/constant/chemistryProperties
@@ -15,14 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-psiChemistryModel ODEChemistryModel<gasThermoPhysics>;
+chemistryType
+{
+    chemistryModel    ODEChemistryModel;
+    chemistrySolver   ode;
+}
 
 chemistry       on;
 
 initialChemicalTimeStep 1e-10;
 
-chemistrySolver ode;
-
 odeCoeffs
 {
     solver          SIBS;
diff --git a/tutorials/combustion/chemFoam/ic8h18/constant/thermophysicalProperties b/tutorials/combustion/chemFoam/ic8h18/constant/thermophysicalProperties
index 3c5e475229c..d6cb3dd45f2 100644
--- a/tutorials/combustion/chemFoam/ic8h18/constant/thermophysicalProperties
+++ b/tutorials/combustion/chemFoam/ic8h18/constant/thermophysicalProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiReactionThermo<reactingMixture<gasThermoPhysics>>;
+thermoType
+{
+    type            hePsiReactionThermo;
+    mixture         reactingMixture;
+    transport       sutherland;
+    thermo          janaf;
+    energy          sensibleEnthalpy;
+    equationOfState perfectGas;
+    specie          specie;
+}
 
 CHEMKINFile     "$FOAM_CASE/chemkin/chem.inp";
 
diff --git a/tutorials/combustion/chemFoam/nc7h16/constant/chemistryProperties b/tutorials/combustion/chemFoam/nc7h16/constant/chemistryProperties
index 46ee84b7ba8..277f2632beb 100644
--- a/tutorials/combustion/chemFoam/nc7h16/constant/chemistryProperties
+++ b/tutorials/combustion/chemFoam/nc7h16/constant/chemistryProperties
@@ -15,14 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-psiChemistryModel ODEChemistryModel<gasThermoPhysics>;
+chemistryType
+{
+    chemistryModel    ODEChemistryModel;
+    chemistrySolver   ode;
+}
 
 chemistry       on;
 
 initialChemicalTimeStep 1e-10;
 
-chemistrySolver ode;
-
 odeCoeffs
 {
     solver          SIBS;
diff --git a/tutorials/combustion/chemFoam/nc7h16/constant/thermophysicalProperties b/tutorials/combustion/chemFoam/nc7h16/constant/thermophysicalProperties
index 3c5e475229c..d6cb3dd45f2 100644
--- a/tutorials/combustion/chemFoam/nc7h16/constant/thermophysicalProperties
+++ b/tutorials/combustion/chemFoam/nc7h16/constant/thermophysicalProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiReactionThermo<reactingMixture<gasThermoPhysics>>;
+thermoType
+{
+    type            hePsiReactionThermo;
+    mixture         reactingMixture;
+    transport       sutherland;
+    thermo          janaf;
+    energy          sensibleEnthalpy;
+    equationOfState perfectGas;
+    specie          specie;
+}
 
 CHEMKINFile     "$FOAM_CASE/chemkin/chem.inp";
 
diff --git a/tutorials/combustion/engineFoam/kivaTest/constant/thermophysicalProperties b/tutorials/combustion/engineFoam/kivaTest/constant/thermophysicalProperties
index 29f628b4dc0..4946ebff2a9 100644
--- a/tutorials/combustion/engineFoam/kivaTest/constant/thermophysicalProperties
+++ b/tutorials/combustion/engineFoam/kivaTest/constant/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            heheuReactionThermo;
     mixture         inhomogeneousMixture;
-    transport       sutherlandTransport;
-    thermo          janafThermo;
+    transport       sutherland;
+    thermo          janaf;
     equationOfState perfectGas;
     specie          specie;
     energy          absoluteEnthalpy;
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/panelRegion/thermophysicalProperties b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/panelRegion/thermophysicalProperties
index 9c79a06e636..57e0ddc7b1c 100644
--- a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/panelRegion/thermophysicalProperties
+++ b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/panelRegion/thermophysicalProperties
@@ -14,7 +14,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType heSolidThermo<reactingSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
+thermoType heSolidThermo<reactingSolidMixture<constIso<const<hConst<rhoConst<specie>>,sensibleEnthalpy>>>>;
 
 solidComponents
 (
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/thermophysicalProperties b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/thermophysicalProperties
index 633ba624918..446c37a3977 100644
--- a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/thermophysicalProperties
+++ b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/thermophysicalProperties
@@ -1,11 +1,10 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- 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;
@@ -16,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType hePsiReactionThermo<singleStepReactingMixture<gasThermoPhysics>>;
+thermoType
+{
+    type            hePsiReactionThermo;
+    mixture         singleStepReactingMixture;
+    transport       sutherland;
+    thermo          janaf;
+    energy          sensibleEnthalpy;
+    equationOfState perfectGas;
+    specie          specie;
+}
 
 inertSpecie N2;
 
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/thermophysicalProperties b/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/thermophysicalProperties
index 7e40fa18356..4610e63a5a4 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/thermophysicalProperties
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/thermophysicalProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType hePsiReactionThermo<singleStepReactingMixture<gasThermoPhysics>>;
+thermoType
+{
+    type            hePsiReactionThermo;
+    mixture         singleStepReactingMixture;
+    transport       sutherland;
+    thermo          janaf;
+    energy          sensibleEnthalpy;
+    equationOfState perfectGas;
+    specie          specie;
+}
 
 inertSpecie N2;
 
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/chemistryProperties b/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/chemistryProperties
index e4a61879bf1..103c36caab0 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/chemistryProperties
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/chemistryProperties
@@ -15,14 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-psiChemistryModel ODEChemistryModel<gasThermoPhysics>;
+chemistryType
+{
+    chemistryModel    ODEChemistryModel;
+    chemistrySolver   noChemistrySolver;
+}
 
 chemistry       off;
 
 turbulentReaction off;
 
-chemistrySolver noChemistrySolver;
-
 initialChemicalTimeStep 1e-07;
 
 
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/thermophysicalProperties b/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/thermophysicalProperties
index 7e40fa18356..4610e63a5a4 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/thermophysicalProperties
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/thermophysicalProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType hePsiReactionThermo<singleStepReactingMixture<gasThermoPhysics>>;
+thermoType
+{
+    type            hePsiReactionThermo;
+    mixture         singleStepReactingMixture;
+    transport       sutherland;
+    thermo          janaf;
+    energy          sensibleEnthalpy;
+    equationOfState perfectGas;
+    specie          specie;
+}
 
 inertSpecie N2;
 
diff --git a/tutorials/combustion/reactingFoam/ras/counterFlowFlame2D/constant/chemistryProperties b/tutorials/combustion/reactingFoam/ras/counterFlowFlame2D/constant/chemistryProperties
index 0f6c7dd5c48..068c1b3f465 100644
--- a/tutorials/combustion/reactingFoam/ras/counterFlowFlame2D/constant/chemistryProperties
+++ b/tutorials/combustion/reactingFoam/ras/counterFlowFlame2D/constant/chemistryProperties
@@ -15,12 +15,14 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-psiChemistryModel  ODEChemistryModel<gasThermoPhysics>;
+chemistryType
+{
+    chemistryModel    ODEChemistryModel;
+    chemistrySolver   ode;
+}
 
 chemistry           on;
 
-chemistrySolver     ode;
-
 initialChemicalTimeStep 1e-07;
 
 sequentialCoeffs
diff --git a/tutorials/combustion/reactingFoam/ras/counterFlowFlame2D/constant/thermophysicalProperties b/tutorials/combustion/reactingFoam/ras/counterFlowFlame2D/constant/thermophysicalProperties
index 397c9bec8d6..4eca14a981a 100644
--- a/tutorials/combustion/reactingFoam/ras/counterFlowFlame2D/constant/thermophysicalProperties
+++ b/tutorials/combustion/reactingFoam/ras/counterFlowFlame2D/constant/thermophysicalProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType hePsiReactionThermo<reactingMixture<gasThermoPhysics>>;
+thermoType
+{
+    type            hePsiReactionThermo;
+    mixture         reactingMixture;
+    transport       sutherland;
+    thermo          janaf;
+    energy          sensibleEnthalpy;
+    equationOfState perfectGas;
+    specie          specie;
+}
 
 inertSpecie N2;
 
diff --git a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/thermophysicalProperties
index cecce6e7b2f..f7ae5e91df0 100644
--- a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            hePsiThermo;
     mixture         pureMixture;
-    transport       sutherlandTransport;
-    thermo          hConstThermo;
+    transport       sutherland;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleInternalEnergy;
diff --git a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/thermophysicalProperties
index 9a4df2030a5..311e40d8fad 100644
--- a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            hePsiThermo;
     mixture         pureMixture;
-    transport       sutherlandTransport;
-    thermo          janafThermo;
+    transport       sutherland;
+    thermo          janaf;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleInternalEnergy;
diff --git a/tutorials/compressible/rhoCentralFoam/forwardStep/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/forwardStep/constant/thermophysicalProperties
index aad77235ffd..f26f216f96c 100644
--- a/tutorials/compressible/rhoCentralFoam/forwardStep/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoCentralFoam/forwardStep/constant/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            hePsiThermo;
     mixture         pureMixture;
-    transport       constTransport;
-    thermo          hConstThermo;
+    transport       const;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleInternalEnergy;
diff --git a/tutorials/compressible/rhoCentralFoam/obliqueShock/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/obliqueShock/constant/thermophysicalProperties
index dde7c242fa2..20369bc4ace 100644
--- a/tutorials/compressible/rhoCentralFoam/obliqueShock/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoCentralFoam/obliqueShock/constant/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            hePsiThermo;
     mixture         pureMixture;
-    transport       constTransport;
-    thermo          hConstThermo;
+    transport       const;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleInternalEnergy;
diff --git a/tutorials/compressible/rhoCentralFoam/shockTube/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/shockTube/constant/thermophysicalProperties
index 2ac6e58ee40..dff8b1620d0 100644
--- a/tutorials/compressible/rhoCentralFoam/shockTube/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoCentralFoam/shockTube/constant/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            hePsiThermo;
     mixture         pureMixture;
-    transport       constTransport;
-    thermo          hConstThermo;
+    transport       const;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleInternalEnergy;
diff --git a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/constant/thermophysicalProperties
index dde7c242fa2..20369bc4ace 100644
--- a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/constant/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            hePsiThermo;
     mixture         pureMixture;
-    transport       constTransport;
-    thermo          hConstThermo;
+    transport       const;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleInternalEnergy;
diff --git a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/constant/thermophysicalProperties b/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/constant/thermophysicalProperties
index 49716e95076..54be80fadb3 100644
--- a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/constant/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            hePsiThermo;
     mixture         pureMixture;
-    transport       constTransport;
-    thermo          hConstThermo;
+    transport       const;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleEnthalpy;
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/thermophysicalProperties b/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/thermophysicalProperties
index 9723272741a..7182386e005 100644
--- a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            hePsiThermo;
     mixture         pureMixture;
-    transport       sutherlandTransport;
-    thermo          hConstThermo;
+    transport       sutherland;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleEnthalpy;
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/cavity/constant/thermophysicalProperties b/tutorials/compressible/rhoPimpleFoam/ras/cavity/constant/thermophysicalProperties
index 9ee57766cf2..6671abebe73 100644
--- a/tutorials/compressible/rhoPimpleFoam/ras/cavity/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoPimpleFoam/ras/cavity/constant/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            hePsiThermo;
     mixture         pureMixture;
-    transport       constTransport;
-    thermo          hConstThermo;
+    transport       const;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleEnthalpy;
diff --git a/tutorials/compressible/rhoPimplecFoam/angledDuct/constant/thermophysicalProperties b/tutorials/compressible/rhoPimplecFoam/angledDuct/constant/thermophysicalProperties
index 9723272741a..7182386e005 100644
--- a/tutorials/compressible/rhoPimplecFoam/angledDuct/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoPimplecFoam/angledDuct/constant/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            hePsiThermo;
     mixture         pureMixture;
-    transport       sutherlandTransport;
-    thermo          hConstThermo;
+    transport       sutherland;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleEnthalpy;
diff --git a/tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/constant/thermophysicalProperties b/tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/constant/thermophysicalProperties
index 9723272741a..7182386e005 100644
--- a/tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/constant/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            hePsiThermo;
     mixture         pureMixture;
-    transport       sutherlandTransport;
-    thermo          hConstThermo;
+    transport       sutherland;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleEnthalpy;
diff --git a/tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/constant/thermophysicalProperties b/tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/constant/thermophysicalProperties
index 317544a7bf7..82e3c59f878 100644
--- a/tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/constant/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            hePsiThermo;
     mixture         pureMixture;
-    transport       sutherlandTransport;
-    thermo          hConstThermo;
+    transport       sutherland;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleEnthalpy;
diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/thermophysicalProperties b/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/thermophysicalProperties
index 0cd2cebd8e0..920fff435c7 100644
--- a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            heRhoThermo;
     mixture         pureMixture;
-    transport       sutherlandTransport;
-    thermo          hConstThermo;
+    transport       sutherland;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleInternalEnergy;
diff --git a/tutorials/compressible/rhoSimplecFoam/squareBend/constant/thermophysicalProperties b/tutorials/compressible/rhoSimplecFoam/squareBend/constant/thermophysicalProperties
index 6a961a3b737..8658d3da81e 100644
--- a/tutorials/compressible/rhoSimplecFoam/squareBend/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoSimplecFoam/squareBend/constant/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            hePsiThermo;
     mixture         pureMixture;
-    transport       sutherlandTransport;
-    thermo          hConstThermo;
+    transport       sutherland;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleInternalEnergy;
diff --git a/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/thermophysicalProperties b/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/thermophysicalProperties
index aad77235ffd..f26f216f96c 100644
--- a/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/thermophysicalProperties
+++ b/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            hePsiThermo;
     mixture         pureMixture;
-    transport       constTransport;
-    thermo          hConstThermo;
+    transport       const;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleInternalEnergy;
diff --git a/tutorials/compressible/sonicFoam/laminar/shockTube/constant/thermophysicalProperties b/tutorials/compressible/sonicFoam/laminar/shockTube/constant/thermophysicalProperties
index cd10ed59238..7d0bc7caf33 100644
--- a/tutorials/compressible/sonicFoam/laminar/shockTube/constant/thermophysicalProperties
+++ b/tutorials/compressible/sonicFoam/laminar/shockTube/constant/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            hePsiThermo;
     mixture         pureMixture;
-    transport       constTransport;
-    thermo          hConstThermo;
+    transport       const;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleInternalEnergy;
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/thermophysicalProperties b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/thermophysicalProperties
index 43831f935b4..341cdb94d5c 100644
--- a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/thermophysicalProperties
+++ b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            hePsiThermo;
     mixture         pureMixture;
-    transport       constTransport;
-    thermo          hConstThermo;
+    transport       const;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleInternalEnergy;
diff --git a/tutorials/compressible/sonicFoam/ras/prism/constant/thermophysicalProperties b/tutorials/compressible/sonicFoam/ras/prism/constant/thermophysicalProperties
index 43831f935b4..341cdb94d5c 100644
--- a/tutorials/compressible/sonicFoam/ras/prism/constant/thermophysicalProperties
+++ b/tutorials/compressible/sonicFoam/ras/prism/constant/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            hePsiThermo;
     mixture         pureMixture;
-    transport       constTransport;
-    thermo          hConstThermo;
+    transport       const;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleInternalEnergy;
diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/constant/thermophysicalProperties b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/constant/thermophysicalProperties
index 0085820454b..ab678e4d886 100644
--- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/constant/thermophysicalProperties
+++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/constant/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            heRhoThermo;
     mixture         pureMixture;
-    transport       constTransport;
-    thermo          hConstThermo;
+    transport       const;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleEnthalpy;
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/thermophysicalProperties b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/thermophysicalProperties
index 0a1f8cd359c..5ba8a553e16 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/thermophysicalProperties
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            hePsiThermo;
     mixture         pureMixture;
-    transport       constTransport;
-    thermo          hConstThermo;
+    transport       const;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleEnthalpy;
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/constant/thermophysicalProperties b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/constant/thermophysicalProperties
index 0a1f8cd359c..5ba8a553e16 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/constant/thermophysicalProperties
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/constant/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            hePsiThermo;
     mixture         pureMixture;
-    transport       constTransport;
-    thermo          hConstThermo;
+    transport       const;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleEnthalpy;
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/changeDictionaryDict.baffleRegion b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/changeDictionaryDict.baffleRegion
index 0bc5e4dbf49..0659d6b6907 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/changeDictionaryDict.baffleRegion
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/changeDictionaryDict.baffleRegion
@@ -110,7 +110,7 @@ dictionaryReplacement
 
 
                 // Solid thermo
-                thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
+                thermoType heSolidThermo<pureSolidMixture<constIso<const<hConst<rhoConst<specie>>,sensibleEnthalpy>>>>;
 
 
                 mixture
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/thermophysicalProperties b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/thermophysicalProperties
index 55b5c40c207..4c4cce2da77 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/thermophysicalProperties
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/thermophysicalProperties
@@ -15,14 +15,14 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-// thermoType hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas<specie>>,sensibleEnthalpy>>>;
+// thermoType hePsiThermo<pureMixture<const<hConst<perfectGas<specie>>,sensibleEnthalpy>>>;
 
 thermoType
 {
     type                hePsiThermo;
     mixture             pureMixture;
-    transport           constTransport;
-    thermo              hConstThermo;
+    transport           const;
+    thermo              hConst;
     energy              sensibleEnthalpy;
     equationOfState     perfectGas;
     specie              specie;
diff --git a/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/thermophysicalProperties b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/thermophysicalProperties
index 1433c8c53e5..7964a240aea 100644
--- a/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/thermophysicalProperties
+++ b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            hePsiThermo;
     mixture         pureMixture;
-    transport       constTransport;
-    thermo          hConstThermo;
+    transport       const;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleEnthalpy;
diff --git a/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoomFvDOM/constant/thermophysicalProperties b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoomFvDOM/constant/thermophysicalProperties
index 1433c8c53e5..7964a240aea 100644
--- a/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoomFvDOM/constant/thermophysicalProperties
+++ b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoomFvDOM/constant/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            hePsiThermo;
     mixture         pureMixture;
-    transport       constTransport;
-    thermo          hConstThermo;
+    transport       const;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleEnthalpy;
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomAir/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomAir/thermophysicalProperties
index 67d6054e233..c293c032a33 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomAir/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomAir/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            heRhoThermo;
     mixture         pureMixture;
-    transport       constTransport;
-    thermo          hConstThermo;
+    transport       const;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleEnthalpy;
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/heater/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/heater/thermophysicalProperties
index 13a2e81f032..884f3f652ce 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/heater/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/heater/thermophysicalProperties
@@ -14,7 +14,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
+thermoType heSolidThermo<pureSolidMixture<constIso<const<hConst<rhoConst<specie>>,sensibleEnthalpy>>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/topAir/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/topAir/thermophysicalProperties
index b1783beb149..213e77a87bb 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/topAir/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/topAir/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            heRhoThermo;
     mixture         pureMixture;
-    transport       constTransport;
-    thermo          hConstThermo;
+    transport       const;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleEnthalpy;
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/bottomWater/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/bottomWater/thermophysicalProperties
index 50d01b91d1f..828c78d2084 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/bottomWater/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/bottomWater/thermophysicalProperties
@@ -18,8 +18,8 @@ thermoType
 {
     type            heRhoThermo;
     mixture         pureMixture;
-    transport       constTransport;
-    thermo          hConstThermo;
+    transport       const;
+    thermo          hConst;
     equationOfState rhoConst;
     specie          specie;
     energy          sensibleEnthalpy;
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/heater/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/heater/thermophysicalProperties
index a4c501e0633..d4f02fb677b 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/heater/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/heater/thermophysicalProperties
@@ -14,7 +14,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
+thermoType heSolidThermo<pureSolidMixture<constIso<const<hConst<rhoConst<specie>>,sensibleEnthalpy>>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/topAir/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/topAir/thermophysicalProperties
index b1783beb149..213e77a87bb 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/topAir/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/topAir/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            heRhoThermo;
     mixture         pureMixture;
-    transport       constTransport;
-    thermo          hConstThermo;
+    transport       const;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleEnthalpy;
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/bottomAir/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/bottomAir/thermophysicalProperties
index 67d6054e233..c293c032a33 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/bottomAir/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/bottomAir/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            heRhoThermo;
     mixture         pureMixture;
-    transport       constTransport;
-    thermo          hConstThermo;
+    transport       const;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleEnthalpy;
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/heater/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/heater/thermophysicalProperties
index a4c501e0633..d4f02fb677b 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/heater/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/heater/thermophysicalProperties
@@ -14,7 +14,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
+thermoType heSolidThermo<pureSolidMixture<constIso<const<hConst<rhoConst<specie>>,sensibleEnthalpy>>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/topAir/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/topAir/thermophysicalProperties
index b1783beb149..213e77a87bb 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/topAir/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/topAir/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            heRhoThermo;
     mixture         pureMixture;
-    transport       constTransport;
-    thermo          hConstThermo;
+    transport       const;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleEnthalpy;
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/bottomAir/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/bottomAir/thermophysicalProperties
index 67d6054e233..c293c032a33 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/bottomAir/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/bottomAir/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            heRhoThermo;
     mixture         pureMixture;
-    transport       constTransport;
-    thermo          hConstThermo;
+    transport       const;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleEnthalpy;
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/heater/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/heater/thermophysicalProperties
index a4c501e0633..d4f02fb677b 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/heater/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/heater/thermophysicalProperties
@@ -14,7 +14,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
+thermoType heSolidThermo<pureSolidMixture<constIso<const<hConst<rhoConst<specie>>,sensibleEnthalpy>>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/topAir/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/topAir/thermophysicalProperties
index b1783beb149..213e77a87bb 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/topAir/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/topAir/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            heRhoThermo;
     mixture         pureMixture;
-    transport       constTransport;
-    thermo          hConstThermo;
+    transport       const;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleEnthalpy;
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/bottomAir/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/bottomAir/thermophysicalProperties
index 67d6054e233..c293c032a33 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/bottomAir/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/bottomAir/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            heRhoThermo;
     mixture         pureMixture;
-    transport       constTransport;
-    thermo          hConstThermo;
+    transport       const;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleEnthalpy;
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/heater/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/heater/thermophysicalProperties
index 9ac37aef591..99794189d6f 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/heater/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/heater/thermophysicalProperties
@@ -14,7 +14,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
+thermoType heSolidThermo<pureSolidMixture<constIso<const<hConst<rhoConst<specie>>,sensibleEnthalpy>>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/topAir/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/topAir/thermophysicalProperties
index b1783beb149..213e77a87bb 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/topAir/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/topAir/thermophysicalProperties
@@ -19,8 +19,8 @@ thermoType
 {
     type            heRhoThermo;
     mixture         pureMixture;
-    transport       constTransport;
-    thermo          hConstThermo;
+    transport       const;
+    thermo          hConst;
     equationOfState perfectGas;
     specie          specie;
     energy          sensibleEnthalpy;
diff --git a/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/constant/chemistryProperties b/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/constant/chemistryProperties
index e12334b5345..2f8eb06d2bf 100644
--- a/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/constant/chemistryProperties
+++ b/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/constant/chemistryProperties
@@ -15,12 +15,14 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-rhoChemistryModel  ODEChemistryModel<icoPoly8ThermoPhysics>;
+chemistryType
+{
+    chemistryModel    ODEChemistryModel;
+    chemistrySolver   noChemistrySolver;
+}
 
 chemistry           on; // off;
 
-chemistrySolver     noChemistrySolver;
-
 chemCalcFreq        1;
 
 initialChemicalTimeStep  1e-8; // NOT USED
diff --git a/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/constant/thermophysicalProperties b/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/constant/thermophysicalProperties
index e7748f52bcd..bd526695b97 100644
--- a/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/constant/thermophysicalProperties
+++ b/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/constant/thermophysicalProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType heRhoReactionThermo<reactingMixture<icoPoly8ThermoPhysics>>;
+thermoType
+{
+    type            heRhoReactionThermo;
+    mixture         reactingMixture;
+    transport       polynomial;
+    thermo          hPolynomial;
+    energy          sensibleEnthalpy;
+    equationOfState icoPolynomial;
+    specie          specie;
+}
 
 inertSpecie N2;
 
diff --git a/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/constant/chemistryProperties b/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/constant/chemistryProperties
index 604aa212130..275a88b8d6b 100644
--- a/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/constant/chemistryProperties
+++ b/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/constant/chemistryProperties
@@ -15,12 +15,14 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-rhoChemistryModel  ODEChemistryModel<icoPoly8ThermoPhysics>;
+chemistryType
+{
+    chemistryModel    ODEChemistryModel;
+    chemistrySolver   noChemistrySolver;
+}
 
 chemistry       off;
 
-chemistrySolver noChemistrySolver;
-
 initialChemicalTimeStep 1e-07;  // NOT USED
 
 
diff --git a/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/constant/thermophysicalProperties b/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/constant/thermophysicalProperties
index 5d715a78573..4f5a6b1347f 100644
--- a/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/constant/thermophysicalProperties
+++ b/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/constant/thermophysicalProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      heRhoReactionThermo<reactingMixture<icoPoly8ThermoPhysics>>;
+thermoType
+{
+    type            heRhoReactionThermo;
+    mixture         reactingMixture;
+    transport       polynomial;
+    thermo          hPolynomial;
+    energy          sensibleEnthalpy;
+    equationOfState icoPolynomial;
+    specie          specie;
+}
 
 chemistryReader foamChemistryReader;
 
diff --git a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/chemistryProperties b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/chemistryProperties
index 84e12dae0fa..aed335d2733 100644
--- a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/chemistryProperties
+++ b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/chemistryProperties
@@ -15,12 +15,14 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-psiChemistryModel ODEChemistryModel<gasThermoPhysics>;
+chemistryType
+{
+    chemistryModel    ODEChemistryModel;
+    chemistrySolver   ode;
+}
 
 chemistry       on;
 
-chemistrySolver ode;
-
 initialChemicalTimeStep 1e-07;
 
 sequentialCoeffs
diff --git a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/polyMesh/boundary b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/polyMesh/boundary
index b130d7bc0aa..d06b4eac6ef 100644
--- a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/polyMesh/boundary
+++ b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/polyMesh/boundary
@@ -38,12 +38,14 @@ FoamFile
     symmetry
     {
         type            symmetryPlane;
+        inGroups        1(symmetryPlane);
         nFaces          100;
         startFace       5045;
     }
     frontAndBack
     {
         type            empty;
+        inGroups        1(empty);
         nFaces          5000;
         startFace       5145;
     }
diff --git a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/thermophysicalProperties b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/thermophysicalProperties
index 1c62457dd61..99a7d5707c4 100644
--- a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/thermophysicalProperties
+++ b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/thermophysicalProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiReactionThermo<reactingMixture<gasThermoPhysics>>;
+thermoType
+{
+    type            hePsiReactionThermo;
+    mixture         reactingMixture;
+    transport       sutherland;
+    thermo          janaf;
+    energy          sensibleEnthalpy;
+    equationOfState perfectGas;
+    specie          specie;
+}
 
 chemistryReader foamChemistryReader;
 
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/chemistryProperties b/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/chemistryProperties
index 99de98f9efb..c0ecd637220 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/chemistryProperties
+++ b/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/chemistryProperties
@@ -15,12 +15,14 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-psiChemistryModel ODEChemistryModel<gasThermoPhysics>;
+chemistryType
+{
+    chemistryModel    ODEChemistryModel;
+    chemistrySolver   noChemistrySolver;
+}
 
 chemistry       off;
 
-chemistrySolver noChemistrySolver;
-
 initialChemicalTimeStep 1e-07;
 
 
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/polyMesh/boundary b/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/polyMesh/boundary
index d88a2280430..f23b09abae8 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/polyMesh/boundary
+++ b/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/polyMesh/boundary
@@ -17,23 +17,1132 @@ FoamFile
 
 3
 (
-    filmWalls
-    {
-        type            wall;
-        nFaces          1100;
-        startFace       62790;
-    }
     sides
     {
         type            patch;
         nFaces          1320;
-        startFace       63890;
+        startFace       62790;
     }
     frontAndBack
     {
         type            wall;
         nFaces          4000;
-        startFace       65210;
+        startFace       64110;
+    }
+    region0_to_wallFilmRegion_wallFilmFaces
+    {
+        type            mappedWall;
+        nFaces          1100;
+        startFace       68110;
+        sampleMode      nearestPatchFace;
+        sampleRegion    wallFilmRegion;
+        samplePatch     region0_to_wallFilmRegion_wallFilmFaces;
+        offsetMode      nonuniform;
+        offsets         nonuniform List<vector> 
+1100
+(
+(-1.110223025e-16 -0 -0)
+(1.110223025e-16 -0 5.551115123e-17)
+(-2.220446049e-16 -0 5.551115123e-17)
+(-2.220446049e-16 -0 -2.775557562e-17)
+(-0 -0 2.775557562e-17)
+(-0 -0 -0)
+(-0 -0 -0)
+(-2.220446049e-16 -0 -2.775557562e-17)
+(-1.110223025e-16 -0 -0)
+(-1.110223025e-16 -0 -5.551115123e-17)
+(-1.110223025e-16 -0 -0)
+(1.110223025e-16 -0 -5.551115123e-17)
+(1.110223025e-16 -0 -5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(-0 -0 -0)
+(-0 -0 -0)
+(1.110223025e-16 -0 -0)
+(-0 -0 -1.387778781e-17)
+(-0 -0 -0)
+(-0 -0 -5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(-0 -0 -1.110223025e-16)
+(-1.110223025e-16 -0 -0)
+(-1.110223025e-16 -0 5.551115123e-17)
+(-0 -0 5.551115123e-17)
+(-0 -0 -2.775557562e-17)
+(-2.220446049e-16 -0 2.775557562e-17)
+(-1.110223025e-16 -0 -0)
+(-1.110223025e-16 -0 -0)
+(-0 -0 -2.775557562e-17)
+(1.110223025e-16 -0 -0)
+(-1.110223025e-16 -0 -5.551115123e-17)
+(-1.110223025e-16 -0 -0)
+(1.110223025e-16 -0 -5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(1.110223025e-16 -0 -5.551115123e-17)
+(1.110223025e-16 -0 -0)
+(1.110223025e-16 -0 -0)
+(1.110223025e-16 -0 -0)
+(2.220446049e-16 -0 -1.387778781e-17)
+(1.110223025e-16 -0 -0)
+(1.110223025e-16 -0 -5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(-2.220446049e-16 -0 -1.110223025e-16)
+(-0 -0 -0)
+(2.220446049e-16 -0 -5.551115123e-17)
+(-0 -0 5.551115123e-17)
+(1.110223025e-16 -0 -2.775557562e-17)
+(1.110223025e-16 -0 1.387778781e-17)
+(-0 -0 -0)
+(1.110223025e-16 -0 -0)
+(1.110223025e-16 -0 -2.775557562e-17)
+(4.440892099e-16 -0 5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(2.220446049e-16 -0 1.110223025e-16)
+(-0 -0 -0)
+(-0 -0 5.551115123e-17)
+(1.110223025e-16 -0 5.551115123e-17)
+(1.110223025e-16 -0 5.551115123e-17)
+(-0 -0 2.775557562e-17)
+(1.110223025e-16 -0 -0)
+(-0 -0 -1.387778781e-17)
+(1.110223025e-16 -0 -2.775557562e-17)
+(3.330669074e-16 -0 -0)
+(-0 -0 -5.551115123e-17)
+(-0 -0 -0)
+(-0 -0 -5.551115123e-17)
+(1.110223025e-16 -0 -5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(1.110223025e-16 -0 -0)
+(-1.110223025e-16 -0 -0)
+(1.110223025e-16 -0 -0)
+(-0 -0 -1.387778781e-17)
+(1.110223025e-16 -0 -0)
+(3.330669074e-16 -0 -5.551115123e-17)
+(-2.220446049e-16 -0 -5.551115123e-17)
+(-0 -0 -1.110223025e-16)
+(-2.220446049e-16 -0 -0)
+(1.110223025e-16 -0 5.551115123e-17)
+(-2.220446049e-16 -0 5.551115123e-17)
+(-2.220446049e-16 -0 -2.775557562e-17)
+(-2.220446049e-16 -0 2.775557562e-17)
+(-1.110223025e-16 -0 -0)
+(-0 -0 -0)
+(-2.220446049e-16 -0 -2.775557562e-17)
+(-1.110223025e-16 -0 -0)
+(-1.110223025e-16 -0 -5.551115123e-17)
+(-1.110223025e-16 -0 -0)
+(-0 -0 -5.551115123e-17)
+(1.110223025e-16 -0 -5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(-0 -0 -0)
+(1.110223025e-16 -0 -0)
+(1.110223025e-16 -0 -0)
+(1.110223025e-16 -0 -1.387778781e-17)
+(-0 -0 -0)
+(-0 -0 -5.551115123e-17)
+(-2.220446049e-16 -0 -5.551115123e-17)
+(-2.220446049e-16 -0 -1.110223025e-16)
+(-2.220446049e-16 -0 -0)
+(2.220446049e-16 -0 -5.551115123e-17)
+(-3.330669074e-16 -0 5.551115123e-17)
+(-1.110223025e-16 -0 -2.775557562e-17)
+(-0 -0 1.387778781e-17)
+(1.110223025e-16 -0 -0)
+(1.110223025e-16 -0 -0)
+(-1.110223025e-16 -0 -2.775557562e-17)
+(1.110223025e-16 -0 5.551115123e-17)
+(-2.220446049e-16 -0 -5.551115123e-17)
+(2.220446049e-16 -0 1.110223025e-16)
+(-0 -0 5.551115123e-17)
+(-2.220446049e-16 -0 -5.551115123e-17)
+(-0 -0 -0)
+(-2.220446049e-16 -0 1.110223025e-16)
+(-2.220446049e-16 -0 4.163336342e-17)
+(-0 -0 -0)
+(-0 -0 -0)
+(-2.220446049e-16 -0 -5.551115123e-17)
+(-2.220446049e-16 -0 -5.551115123e-17)
+(-0 -0 5.551115123e-17)
+(-2.220446049e-16 -0 -5.551115123e-17)
+(-0 -0 -0)
+(-0 -0 -5.551115123e-17)
+(-4.440892099e-16 -0 5.551115123e-17)
+(-0 -0 5.551115123e-17)
+(-0 -0 1.387778781e-17)
+(-2.220446049e-16 -0 -0)
+(2.220446049e-16 -0 -0)
+(-0 -0 -2.775557562e-17)
+(-0 -0 5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(2.220446049e-16 -0 1.110223025e-16)
+(-0 -0 -0)
+(-0 -0 -0)
+(2.220446049e-16 -0 -0)
+(2.220446049e-16 -0 -0)
+(-0 -0 -0)
+(-0 -0 -0)
+(-2.220446049e-16 -0 -0)
+(2.220446049e-16 -0 -0)
+(2.220446049e-16 -0 -5.551115123e-17)
+(-0 -0 -0)
+(-0 -0 -1.110223025e-16)
+(-0 -0 5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(2.220446049e-16 -0 -0)
+(-2.220446049e-16 -0 1.110223025e-16)
+(-2.220446049e-16 -0 4.163336342e-17)
+(-0 -0 -0)
+(-0 -0 1.387778781e-17)
+(-2.220446049e-16 -0 -5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(-0 -0 5.551115123e-17)
+(-4.440892099e-16 -0 -5.551115123e-17)
+(-0 -0 -0)
+(4.440892099e-16 -0 -5.551115123e-17)
+(-4.440892099e-16 -0 5.551115123e-17)
+(2.220446049e-16 -0 5.551115123e-17)
+(-2.220446049e-16 -0 1.387778781e-17)
+(-0 -0 -0)
+(-2.220446049e-16 -0 -0)
+(2.220446049e-16 -0 -2.775557562e-17)
+(4.440892099e-16 -0 5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(2.220446049e-16 -0 1.110223025e-16)
+(-4.440892099e-16 -0 5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(-0 -0 -0)
+(-4.440892099e-16 -0 1.110223025e-16)
+(-6.661338148e-16 -0 4.163336342e-17)
+(-0 -0 -0)
+(-0 -0 -0)
+(-4.440892099e-16 -0 -5.551115123e-17)
+(-2.220446049e-16 -0 -5.551115123e-17)
+(-4.440892099e-16 -0 5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(-0 -0 5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(-2.220446049e-16 -0 -0)
+(-6.661338148e-16 -0 1.110223025e-16)
+(-2.220446049e-16 -0 4.163336342e-17)
+(-2.220446049e-16 -0 -0)
+(2.220446049e-16 -0 1.387778781e-17)
+(-6.661338148e-16 -0 -5.551115123e-17)
+(-4.440892099e-16 -0 -5.551115123e-17)
+(-0 -0 5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(2.220446049e-16 -0 -0)
+(-2.220446049e-16 -0 -0)
+(2.220446049e-16 -0 -0)
+(2.220446049e-16 -0 -0)
+(-2.220446049e-16 -0 -0)
+(-2.220446049e-16 -0 -0)
+(-0 -0 -0)
+(2.220446049e-16 -0 -0)
+(2.220446049e-16 -0 -5.551115123e-17)
+(2.220446049e-16 -0 -0)
+(-0 -0 -1.110223025e-16)
+(-2.220446049e-16 -0 5.551115123e-17)
+(-2.220446049e-16 -0 -5.551115123e-17)
+(-2.220446049e-16 -0 -0)
+(-6.661338148e-16 -0 1.110223025e-16)
+(-2.220446049e-16 -0 4.163336342e-17)
+(-2.220446049e-16 -0 -0)
+(-0 -0 1.387778781e-17)
+(-6.661338148e-16 -0 -5.551115123e-17)
+(-2.220446049e-16 -0 -5.551115123e-17)
+(-4.440892099e-16 -0 5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(2.220446049e-16 -0 -0)
+(2.220446049e-16 -0 -5.551115123e-17)
+(-6.661338148e-16 -0 5.551115123e-17)
+(-2.220446049e-16 -0 5.551115123e-17)
+(-0 -0 1.387778781e-17)
+(-0 -0 -0)
+(-0 -0 -0)
+(-2.220446049e-16 -0 -2.775557562e-17)
+(2.220446049e-16 -0 5.551115123e-17)
+(2.220446049e-16 -0 -5.551115123e-17)
+(2.220446049e-16 -0 1.110223025e-16)
+(-0 -0 5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(-2.220446049e-16 -0 -0)
+(-6.661338148e-16 -0 1.110223025e-16)
+(-4.440892099e-16 -0 4.163336342e-17)
+(-0 -0 -0)
+(-4.440892099e-16 -0 -0)
+(-6.661338148e-16 -0 -5.551115123e-17)
+(-4.440892099e-16 -0 -5.551115123e-17)
+(-0 -0 5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(-2.220446049e-16 -0 5.551115123e-17)
+(-2.220446049e-16 -0 -5.551115123e-17)
+(-0 -0 -0)
+(-4.440892099e-16 -0 1.110223025e-16)
+(-6.661338148e-16 -0 4.163336342e-17)
+(2.220446049e-16 -0 -0)
+(-0 -0 1.387778781e-17)
+(-4.440892099e-16 -0 -5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(-4.440892099e-16 -0 5.551115123e-17)
+(-4.440892099e-16 -0 -5.551115123e-17)
+(-0 -0 -0)
+(-0 -0 -0)
+(2.220446049e-16 -0 -0)
+(2.220446049e-16 -0 -0)
+(-0 -0 -0)
+(2.220446049e-16 -0 -0)
+(-0 -0 -0)
+(2.220446049e-16 -0 -0)
+(2.220446049e-16 -0 -5.551115123e-17)
+(-0 -0 -0)
+(-0 -0 -1.110223025e-16)
+(-2.220446049e-16 -0 5.551115123e-17)
+(-2.220446049e-16 -0 -5.551115123e-17)
+(-2.220446049e-16 -0 -0)
+(-6.661338148e-16 -0 1.110223025e-16)
+(-4.440892099e-16 -0 4.163336342e-17)
+(-0 -0 -0)
+(2.220446049e-16 -0 1.387778781e-17)
+(-6.661338148e-16 -0 -5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(-2.220446049e-16 -0 5.551115123e-17)
+(-2.220446049e-16 -0 -5.551115123e-17)
+(-4.440892099e-16 -0 -0)
+(-0 -0 -5.551115123e-17)
+(-6.661338148e-16 -0 5.551115123e-17)
+(-2.220446049e-16 -0 5.551115123e-17)
+(-0 -0 1.387778781e-17)
+(-0 -0 -0)
+(-0 -0 -0)
+(-2.220446049e-16 -0 -2.775557562e-17)
+(-0 -0 5.551115123e-17)
+(-4.440892099e-16 -0 -5.551115123e-17)
+(-0 -0 1.110223025e-16)
+(-4.440892099e-16 -0 5.551115123e-17)
+(-4.440892099e-16 -0 -5.551115123e-17)
+(-2.220446049e-16 -0 -0)
+(-6.661338148e-16 -0 1.110223025e-16)
+(-6.661338148e-16 -0 4.163336342e-17)
+(-4.440892099e-16 -0 -0)
+(-4.440892099e-16 -0 -0)
+(-6.661338148e-16 -0 -5.551115123e-17)
+(-2.220446049e-16 -0 -5.551115123e-17)
+(-4.440892099e-16 -0 5.551115123e-17)
+(-4.440892099e-16 -0 -5.551115123e-17)
+(-4.440892099e-16 -0 5.551115123e-17)
+(-4.440892099e-16 -0 -5.551115123e-17)
+(-0 -0 -0)
+(-4.440892099e-16 -0 1.110223025e-16)
+(-6.661338148e-16 -0 4.163336342e-17)
+(2.220446049e-16 -0 -0)
+(-0 -0 1.387778781e-17)
+(-4.440892099e-16 -0 -5.551115123e-17)
+(-2.220446049e-16 -0 -5.551115123e-17)
+(-4.440892099e-16 -0 5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(-2.220446049e-16 -0 -0)
+(-4.440892099e-16 -0 -0)
+(4.440892099e-16 -0 -0)
+(4.440892099e-16 -0 -0)
+(-0 -0 -0)
+(-2.220446049e-16 -0 -0)
+(-0 -0 -0)
+(4.440892099e-16 -0 -0)
+(4.440892099e-16 -0 -5.551115123e-17)
+(-2.220446049e-16 -0 -0)
+(-4.440892099e-16 -0 -1.110223025e-16)
+(-2.220446049e-16 -0 5.551115123e-17)
+(-2.220446049e-16 -0 -5.551115123e-17)
+(-0 -0 -0)
+(-4.440892099e-16 -0 1.110223025e-16)
+(-6.661338148e-16 -0 4.163336342e-17)
+(-2.220446049e-16 -0 -0)
+(-0 -0 1.387778781e-17)
+(-4.440892099e-16 -0 -5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(-2.220446049e-16 -0 5.551115123e-17)
+(-2.220446049e-16 -0 -5.551115123e-17)
+(-4.440892099e-16 -0 -0)
+(-0 -0 -5.551115123e-17)
+(-2.220446049e-16 -0 5.551115123e-17)
+(2.220446049e-16 -0 5.551115123e-17)
+(-2.220446049e-16 -0 1.387778781e-17)
+(-0 -0 -0)
+(-4.440892099e-16 -0 -0)
+(2.220446049e-16 -0 -2.775557562e-17)
+(4.440892099e-16 -0 5.551115123e-17)
+(-4.440892099e-16 -0 -5.551115123e-17)
+(-0 -0 1.110223025e-16)
+(2.220446049e-16 -0 -0)
+(2.220446049e-16 -0 5.551115123e-17)
+(2.220446049e-16 -0 5.551115123e-17)
+(2.220446049e-16 -0 5.551115123e-17)
+(1.110223025e-16 -0 2.775557562e-17)
+(-0 -0 -0)
+(2.220446049e-16 -0 -1.387778781e-17)
+(2.220446049e-16 -0 -2.775557562e-17)
+(-0 -0 -0)
+(2.220446049e-16 -0 -5.551115123e-17)
+(-0 -0 -0)
+(-0 -0 -5.551115123e-17)
+(2.220446049e-16 -0 -5.551115123e-17)
+(1.110223025e-16 -0 -5.551115123e-17)
+(-0 -0 -0)
+(2.220446049e-16 -0 -0)
+(2.220446049e-16 -0 -0)
+(2.220446049e-16 -0 -1.387778781e-17)
+(-0 -0 -0)
+(-0 -0 -5.551115123e-17)
+(2.220446049e-16 -0 -5.551115123e-17)
+(3.330669074e-16 -0 -1.110223025e-16)
+(1.110223025e-16 -0 -0)
+(-1.110223025e-16 -0 5.551115123e-17)
+(2.220446049e-16 -0 5.551115123e-17)
+(2.220446049e-16 -0 -2.775557562e-17)
+(1.110223025e-16 -0 2.775557562e-17)
+(1.110223025e-16 -0 -0)
+(1.110223025e-16 -0 -0)
+(2.220446049e-16 -0 -2.775557562e-17)
+(1.110223025e-16 -0 -0)
+(2.220446049e-16 -0 -5.551115123e-17)
+(1.110223025e-16 -0 -0)
+(-0 -0 -5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(2.220446049e-16 -0 -0)
+(2.220446049e-16 -0 -0)
+(2.220446049e-16 -0 -0)
+(2.220446049e-16 -0 -1.387778781e-17)
+(2.220446049e-16 -0 -0)
+(2.220446049e-16 -0 -5.551115123e-17)
+(2.220446049e-16 -0 -5.551115123e-17)
+(1.110223025e-16 -0 -1.110223025e-16)
+(1.110223025e-16 -0 -0)
+(-1.110223025e-16 -0 -5.551115123e-17)
+(3.330669074e-16 -0 5.551115123e-17)
+(1.110223025e-16 -0 -2.775557562e-17)
+(1.110223025e-16 -0 1.387778781e-17)
+(-1.110223025e-16 -0 -0)
+(-0 -0 -0)
+(1.110223025e-16 -0 -2.775557562e-17)
+(-2.220446049e-16 -0 5.551115123e-17)
+(1.110223025e-16 -0 -5.551115123e-17)
+(-1.110223025e-16 -0 1.110223025e-16)
+(1.110223025e-16 -0 -0)
+(-0 -0 5.551115123e-17)
+(2.220446049e-16 -0 5.551115123e-17)
+(-0 -0 5.551115123e-17)
+(-0 -0 2.775557562e-17)
+(2.220446049e-16 -0 -0)
+(1.110223025e-16 -0 -1.387778781e-17)
+(-0 -0 -2.775557562e-17)
+(-0 -0 -0)
+(1.110223025e-16 -0 -5.551115123e-17)
+(-0 -0 -0)
+(-1.110223025e-16 -0 -5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(-1.110223025e-16 -0 -5.551115123e-17)
+(-1.110223025e-16 -0 -0)
+(-0 -0 -0)
+(1.110223025e-16 -0 -0)
+(-0 -0 -1.387778781e-17)
+(-1.110223025e-16 -0 -0)
+(-1.110223025e-16 -0 -5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(2.220446049e-16 -0 -1.110223025e-16)
+(1.110223025e-16 -0 -0)
+(1.110223025e-16 -0 5.551115123e-17)
+(-0 -0 5.551115123e-17)
+(-0 -0 -2.775557562e-17)
+(1.110223025e-16 -0 2.775557562e-17)
+(1.110223025e-16 -0 -0)
+(1.110223025e-16 -0 -0)
+(-0 -0 -2.775557562e-17)
+(-1.110223025e-16 -0 -0)
+(1.110223025e-16 -0 -5.551115123e-17)
+(1.110223025e-16 -0 -0)
+(-0 -0 -0)
+(-2.220446049e-16 -0 -0)
+(-0 -0 -5.551115123e-17)
+(-0 -0 -0)
+(1.110223025e-16 -0 -0)
+(1.110223025e-16 -0 -0)
+(1.110223025e-16 -0 -1.387778781e-17)
+(-0 -0 -0)
+(-0 -0 -1.110223025e-16)
+(-1.110223025e-16 -0 5.551115123e-17)
+(-1.110223025e-16 -0 -1.110223025e-16)
+(1.110223025e-16 -0 -0)
+(-1.110223025e-16 -0 5.551115123e-17)
+(2.220446049e-16 -0 5.551115123e-17)
+(2.220446049e-16 -0 -2.775557562e-17)
+(-0 -0 2.775557562e-17)
+(-0 -0 -0)
+(-0 -0 -0)
+(2.220446049e-16 -0 -2.775557562e-17)
+(1.110223025e-16 -0 -0)
+(1.110223025e-16 -0 -5.551115123e-17)
+(1.110223025e-16 -0 -0)
+(4.440892099e-16 -0 5.551115123e-17)
+(2.220446049e-16 -0 -5.551115123e-17)
+(-2.220446049e-16 -0 -0)
+(2.220446049e-16 -0 1.110223025e-16)
+(2.220446049e-16 -0 4.163336342e-17)
+(-0 -0 -0)
+(6.661338148e-16 -0 -0)
+(2.220446049e-16 -0 -5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(4.440892099e-16 -0 5.551115123e-17)
+(2.220446049e-16 -0 -5.551115123e-17)
+(2.220446049e-16 -0 5.551115123e-17)
+(2.220446049e-16 -0 -5.551115123e-17)
+(-0 -0 -0)
+(4.440892099e-16 -0 1.110223025e-16)
+(6.661338148e-16 -0 4.163336342e-17)
+(2.220446049e-16 -0 -0)
+(-0 -0 1.387778781e-17)
+(4.440892099e-16 -0 -5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(2.220446049e-16 -0 5.551115123e-17)
+(2.220446049e-16 -0 -5.551115123e-17)
+(-0 -0 -0)
+(2.220446049e-16 -0 -0)
+(-2.220446049e-16 -0 -0)
+(-2.220446049e-16 -0 -0)
+(2.220446049e-16 -0 -0)
+(-4.440892099e-16 -0 -0)
+(2.220446049e-16 -0 -0)
+(-2.220446049e-16 -0 -0)
+(-2.220446049e-16 -0 -5.551115123e-17)
+(-0 -0 -0)
+(2.220446049e-16 -0 -1.110223025e-16)
+(6.661338148e-16 -0 5.551115123e-17)
+(2.220446049e-16 -0 -5.551115123e-17)
+(-2.220446049e-16 -0 -0)
+(2.220446049e-16 -0 1.110223025e-16)
+(2.220446049e-16 -0 4.163336342e-17)
+(-0 -0 -0)
+(4.440892099e-16 -0 1.387778781e-17)
+(2.220446049e-16 -0 -5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(6.661338148e-16 -0 5.551115123e-17)
+(-2.220446049e-16 -0 -5.551115123e-17)
+(4.440892099e-16 -0 -0)
+(-0 -0 -5.551115123e-17)
+(6.661338148e-16 -0 5.551115123e-17)
+(2.220446049e-16 -0 5.551115123e-17)
+(4.440892099e-16 -0 1.387778781e-17)
+(4.440892099e-16 -0 -0)
+(-0 -0 -0)
+(2.220446049e-16 -0 -2.775557562e-17)
+(-2.220446049e-16 -0 5.551115123e-17)
+(4.440892099e-16 -0 -5.551115123e-17)
+(-0 -0 1.110223025e-16)
+(4.440892099e-16 -0 5.551115123e-17)
+(4.440892099e-16 -0 -5.551115123e-17)
+(2.220446049e-16 -0 -0)
+(6.661338148e-16 -0 1.110223025e-16)
+(6.661338148e-16 -0 4.163336342e-17)
+(2.220446049e-16 -0 -0)
+(-0 -0 -0)
+(6.661338148e-16 -0 -5.551115123e-17)
+(4.440892099e-16 -0 -5.551115123e-17)
+(4.440892099e-16 -0 5.551115123e-17)
+(4.440892099e-16 -0 -5.551115123e-17)
+(2.220446049e-16 -0 5.551115123e-17)
+(2.220446049e-16 -0 -5.551115123e-17)
+(-2.220446049e-16 -0 -0)
+(2.220446049e-16 -0 1.110223025e-16)
+(4.440892099e-16 -0 4.163336342e-17)
+(-0 -0 -0)
+(-2.220446049e-16 -0 1.387778781e-17)
+(2.220446049e-16 -0 -5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(2.220446049e-16 -0 5.551115123e-17)
+(2.220446049e-16 -0 -5.551115123e-17)
+(2.220446049e-16 -0 -0)
+(2.220446049e-16 -0 -0)
+(-2.220446049e-16 -0 -0)
+(-2.220446049e-16 -0 -0)
+(-0 -0 -0)
+(-0 -0 -0)
+(-0 -0 -0)
+(-2.220446049e-16 -0 -0)
+(-0 -0 -5.551115123e-17)
+(2.220446049e-16 -0 -0)
+(2.220446049e-16 -0 -1.110223025e-16)
+(2.220446049e-16 -0 5.551115123e-17)
+(2.220446049e-16 -0 -5.551115123e-17)
+(2.220446049e-16 -0 -0)
+(6.661338148e-16 -0 1.110223025e-16)
+(6.661338148e-16 -0 4.163336342e-17)
+(-0 -0 -0)
+(-0 -0 1.387778781e-17)
+(6.661338148e-16 -0 -5.551115123e-17)
+(4.440892099e-16 -0 -5.551115123e-17)
+(2.220446049e-16 -0 5.551115123e-17)
+(-2.220446049e-16 -0 -5.551115123e-17)
+(2.220446049e-16 -0 -0)
+(-0 -0 -5.551115123e-17)
+(6.661338148e-16 -0 5.551115123e-17)
+(2.220446049e-16 -0 5.551115123e-17)
+(4.440892099e-16 -0 1.387778781e-17)
+(-0 -0 -0)
+(2.220446049e-16 -0 -0)
+(2.220446049e-16 -0 -2.775557562e-17)
+(-0 -0 5.551115123e-17)
+(2.220446049e-16 -0 -5.551115123e-17)
+(-2.220446049e-16 -0 1.110223025e-16)
+(-0 -0 5.551115123e-17)
+(4.440892099e-16 -0 -5.551115123e-17)
+(-0 -0 -0)
+(6.661338148e-16 -0 1.110223025e-16)
+(2.220446049e-16 -0 4.163336342e-17)
+(-0 -0 -0)
+(-0 -0 -0)
+(6.661338148e-16 -0 -5.551115123e-17)
+(2.220446049e-16 -0 -5.551115123e-17)
+(-0 -0 5.551115123e-17)
+(4.440892099e-16 -0 -5.551115123e-17)
+(4.440892099e-16 -0 5.551115123e-17)
+(2.220446049e-16 -0 -5.551115123e-17)
+(-0 -0 -0)
+(4.440892099e-16 -0 1.110223025e-16)
+(2.220446049e-16 -0 4.163336342e-17)
+(-0 -0 -0)
+(-0 -0 1.387778781e-17)
+(4.440892099e-16 -0 -5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(4.440892099e-16 -0 5.551115123e-17)
+(2.220446049e-16 -0 -5.551115123e-17)
+(-0 -0 -0)
+(2.220446049e-16 -0 -0)
+(-0 -0 -0)
+(-0 -0 -0)
+(-2.220446049e-16 -0 -0)
+(-2.220446049e-16 -0 -0)
+(-0 -0 -0)
+(-0 -0 -0)
+(-0 -0 -5.551115123e-17)
+(-2.220446049e-16 -0 -0)
+(-0 -0 -1.110223025e-16)
+(-0 -0 5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(-2.220446049e-16 -0 -0)
+(2.220446049e-16 -0 1.110223025e-16)
+(2.220446049e-16 -0 4.163336342e-17)
+(2.220446049e-16 -0 -0)
+(-2.220446049e-16 -0 1.387778781e-17)
+(2.220446049e-16 -0 -5.551115123e-17)
+(2.220446049e-16 -0 -5.551115123e-17)
+(-0 -0 5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(4.440892099e-16 -0 -0)
+(-6.661338148e-16 -0 -5.551115123e-17)
+(4.440892099e-16 -0 5.551115123e-17)
+(-0 -0 5.551115123e-17)
+(4.440892099e-16 -0 1.387778781e-17)
+(-0 -0 -0)
+(-2.220446049e-16 -0 -0)
+(-0 -0 -2.775557562e-17)
+(-2.220446049e-16 -0 5.551115123e-17)
+(4.440892099e-16 -0 -5.551115123e-17)
+(-6.661338148e-16 -0 1.110223025e-16)
+(-0 -0 5.551115123e-17)
+(-2.220446049e-16 -0 -5.551115123e-17)
+(-0 -0 -0)
+(6.661338148e-16 -0 1.110223025e-16)
+(4.440892099e-16 -0 4.163336342e-17)
+(-0 -0 -0)
+(2.220446049e-16 -0 -0)
+(6.661338148e-16 -0 -5.551115123e-17)
+(2.220446049e-16 -0 -5.551115123e-17)
+(-0 -0 5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(-0 -0 -0)
+(-4.440892099e-16 -0 -5.551115123e-17)
+(2.220446049e-16 -0 5.551115123e-17)
+(-2.220446049e-16 -0 5.551115123e-17)
+(2.220446049e-16 -0 1.387778781e-17)
+(-0 -0 -0)
+(-0 -0 -0)
+(-2.220446049e-16 -0 -2.775557562e-17)
+(-4.440892099e-16 -0 5.551115123e-17)
+(-2.220446049e-16 -0 -5.551115123e-17)
+(-4.440892099e-16 -0 1.110223025e-16)
+(-0 -0 -0)
+(-0 -0 -0)
+(-0 -0 -0)
+(-0 -0 -0)
+(-0 -0 -0)
+(2.220446049e-16 -0 -0)
+(-0 -0 -0)
+(-0 -0 -0)
+(-0 -0 -5.551115123e-17)
+(-0 -0 -0)
+(-0 -0 -1.110223025e-16)
+(-0 -0 5.551115123e-17)
+(2.220446049e-16 -0 -5.551115123e-17)
+(-0 -0 -0)
+(2.220446049e-16 -0 1.110223025e-16)
+(4.440892099e-16 -0 4.163336342e-17)
+(-0 -0 -0)
+(-2.220446049e-16 -0 1.387778781e-17)
+(2.220446049e-16 -0 -5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(-0 -0 5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(-0 -0 -0)
+(-2.220446049e-16 -0 -5.551115123e-17)
+(2.220446049e-16 -0 5.551115123e-17)
+(-0 -0 5.551115123e-17)
+(-0 -0 1.387778781e-17)
+(-0 -0 -0)
+(-0 -0 -0)
+(-0 -0 -2.775557562e-17)
+(-0 -0 5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(-2.220446049e-16 -0 1.110223025e-16)
+(-0 1.110223025e-16 -5.551115123e-17)
+(-0 5.551115123e-17 5.551115123e-17)
+(-0 -5.551115123e-17 -0)
+(-0 -1.110223025e-16 1.110223025e-16)
+(-0 5.551115123e-17 1.110223025e-16)
+(-2.775557562e-17 -1.110223025e-16 5.551115123e-17)
+(-2.775557562e-17 5.551115123e-17 -0)
+(1.387778781e-17 1.665334537e-16 1.110223025e-16)
+(-0 -0 -0)
+(-0 -1.110223025e-16 -0)
+(-5.551115123e-17 -5.551115123e-17 5.551115123e-17)
+(5.551115123e-17 5.551115123e-17 -0)
+(-0 -1.110223025e-16 5.551115123e-17)
+(-0 -1.110223025e-16 5.551115123e-17)
+(-2.775557562e-17 5.551115123e-17 -0)
+(-2.775557562e-17 -5.551115123e-17 -0)
+(-0 -0 -0)
+(-0 -1.665334537e-16 5.551115123e-17)
+(-1.387778781e-17 -1.110223025e-16 1.110223025e-16)
+(3.469446952e-18 -1.110223025e-16 -5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(-5.551115123e-17 5.551115123e-17 5.551115123e-17)
+(-0 -5.551115123e-17 -0)
+(-0 -0 5.551115123e-17)
+(-2.775557562e-17 -5.551115123e-17 -0)
+(-2.775557562e-17 -5.551115123e-17 5.551115123e-17)
+(-2.775557562e-17 -1.110223025e-16 5.551115123e-17)
+(-2.775557562e-17 -5.551115123e-17 5.551115123e-17)
+(-0 -5.551115123e-17 -0)
+(-6.938893904e-18 -1.110223025e-16 1.110223025e-16)
+(-0 -0 -0)
+(-5.551115123e-17 5.551115123e-17 -0)
+(5.551115123e-17 -5.551115123e-17 -2.775557562e-17)
+(-0 -0 5.551115123e-17)
+(-2.775557562e-17 -0 5.551115123e-17)
+(-2.775557562e-17 -1.110223025e-16 2.775557562e-17)
+(-2.775557562e-17 -1.110223025e-16 2.775557562e-17)
+(-1.387778781e-17 -0 -0)
+(-0 -5.551115123e-17 -0)
+(-6.938893904e-18 -1.110223025e-16 5.551115123e-17)
+(-1.110223025e-16 -1.110223025e-16 1.387778781e-17)
+(-0 5.551115123e-17 -1.387778781e-17)
+(5.551115123e-17 -0 -1.387778781e-17)
+(2.775557562e-17 -0 -0)
+(-5.551115123e-17 -1.665334537e-16 1.387778781e-17)
+(-2.775557562e-17 -0 -1.387778781e-17)
+(-2.775557562e-17 -1.665334537e-16 4.163336342e-17)
+(-0 -5.551115123e-17 -1.387778781e-17)
+(-6.938893904e-18 -5.551115123e-17 -0)
+(-3.469446952e-18 -1.110223025e-16 2.775557562e-17)
+(-0 -5.551115123e-17 -0)
+(-0 5.551115123e-17 -0)
+(-5.551115123e-17 5.551115123e-17 -0)
+(-0 -0 -0)
+(5.551115123e-17 -0 -0)
+(-0 5.551115123e-17 -0)
+(-0 -0 -0)
+(-1.387778781e-17 5.551115123e-17 -0)
+(6.938893904e-18 -0 -0)
+(-0 -5.551115123e-17 -0)
+(-5.551115123e-17 -1.110223025e-16 -0)
+(-1.110223025e-16 -0 -0)
+(-0 -0 -0)
+(-0 -5.551115123e-17 -1.387778781e-17)
+(-2.775557562e-17 -5.551115123e-17 -0)
+(-8.326672685e-17 -1.665334537e-16 -2.775557562e-17)
+(-2.775557562e-17 5.551115123e-17 -1.387778781e-17)
+(2.775557562e-17 -1.110223025e-16 1.387778781e-17)
+(-6.938893904e-18 -0 -1.387778781e-17)
+(-3.469446952e-18 5.551115123e-17 -2.775557562e-17)
+(-0 -0 -0)
+(-5.551115123e-17 5.551115123e-17 -2.775557562e-17)
+(5.551115123e-17 -5.551115123e-17 2.775557562e-17)
+(-0 -0 -5.551115123e-17)
+(-2.775557562e-17 -0 -8.326672685e-17)
+(-2.775557562e-17 -1.110223025e-16 -5.551115123e-17)
+(-2.775557562e-17 -1.110223025e-16 -0)
+(-1.387778781e-17 -0 -0)
+(-0 -5.551115123e-17 -2.775557562e-17)
+(-6.938893904e-18 -1.110223025e-16 -8.326672685e-17)
+(-5.551115123e-17 -5.551115123e-17 -0)
+(-5.551115123e-17 5.551115123e-17 -5.551115123e-17)
+(-0 -1.110223025e-16 -5.551115123e-17)
+(-0 -0 -1.110223025e-16)
+(2.775557562e-17 -0 -0)
+(-0 -0 -0)
+(-0 -1.110223025e-16 -5.551115123e-17)
+(-0 5.551115123e-17 5.551115123e-17)
+(-0 -1.665334537e-16 -0)
+(-3.469446952e-18 -5.551115123e-17 -0)
+(-0 1.110223025e-16 5.551115123e-17)
+(-0 5.551115123e-17 -0)
+(-0 -5.551115123e-17 -5.551115123e-17)
+(-5.551115123e-17 -1.110223025e-16 -5.551115123e-17)
+(-0 5.551115123e-17 -0)
+(-2.775557562e-17 -5.551115123e-17 -5.551115123e-17)
+(-2.775557562e-17 5.551115123e-17 -0)
+(1.387778781e-17 1.665334537e-16 -1.110223025e-16)
+(-0 -0 5.551115123e-17)
+(-0 -1.110223025e-16 5.551115123e-17)
+(-5.551115123e-17 -5.551115123e-17 5.551115123e-17)
+(5.551115123e-17 5.551115123e-17 5.551115123e-17)
+(-0 -1.110223025e-16 -0)
+(2.775557562e-17 -1.110223025e-16 -1.110223025e-16)
+(-0 -5.551115123e-17 -5.551115123e-17)
+(-2.775557562e-17 -5.551115123e-17 5.551115123e-17)
+(-0 -0 -0)
+(-2.775557562e-17 -1.665334537e-16 -5.551115123e-17)
+(-0 -0 -0)
+(-0 -1.110223025e-16 -0)
+(-1.110223025e-16 -0 -0)
+(-0 -0 -0)
+(-0 1.387778781e-17 5.551115123e-17)
+(-0 -2.775557562e-17 -0)
+(-1.110223025e-16 -5.551115123e-17 1.110223025e-16)
+(5.551115123e-17 2.775557562e-17 1.110223025e-16)
+(-1.110223025e-16 -1.110223025e-16 1.110223025e-16)
+(-5.551115123e-17 -0 5.551115123e-17)
+(5.551115123e-17 -1.110223025e-16 1.110223025e-16)
+(5.551115123e-17 -5.551115123e-17 -0)
+(1.110223025e-16 3.469446952e-18 -5.551115123e-17)
+(-5.551115123e-17 -1.387778781e-17 1.110223025e-16)
+(-0 1.387778781e-17 -0)
+(-1.110223025e-16 -0 -0)
+(-0 -0 -0)
+(-1.110223025e-16 -0 -0)
+(-1.110223025e-16 -5.551115123e-17 5.551115123e-17)
+(-1.110223025e-16 -0 5.551115123e-17)
+(-0 -5.551115123e-17 5.551115123e-17)
+(-5.551115123e-17 -5.551115123e-17 1.665334537e-16)
+(-1.665334537e-16 -3.469446952e-18 1.110223025e-16)
+(5.551115123e-17 -6.938893904e-18 -0)
+(-5.551115123e-17 -2.775557562e-17 5.551115123e-17)
+(-0 -2.775557562e-17 5.551115123e-17)
+(-0 -0 -0)
+(-1.665334537e-16 -8.326672685e-17 -0)
+(-0 -2.775557562e-17 5.551115123e-17)
+(-0 5.551115123e-17 -0)
+(-0 -5.551115123e-17 5.551115123e-17)
+(-0 1.110223025e-16 -5.551115123e-17)
+(-1.665334537e-16 -3.469446952e-18 5.551115123e-17)
+(5.551115123e-17 -6.938893904e-18 -0)
+(-5.551115123e-17 -2.775557562e-17 2.775557562e-17)
+(-0 -2.775557562e-17 2.775557562e-17)
+(5.551115123e-17 -0 -0)
+(-1.665334537e-16 -2.775557562e-17 5.551115123e-17)
+(-0 -2.775557562e-17 5.551115123e-17)
+(-5.551115123e-17 -0 -0)
+(-0 -5.551115123e-17 -2.775557562e-17)
+(-0 1.110223025e-16 -0)
+(-1.110223025e-16 -3.469446952e-18 2.775557562e-17)
+(-0 -0 -0)
+(-5.551115123e-17 1.387778781e-17 1.387778781e-17)
+(-1.110223025e-16 -0 4.163336342e-17)
+(5.551115123e-17 2.775557562e-17 -1.387778781e-17)
+(-1.665334537e-16 -5.551115123e-17 1.387778781e-17)
+(-1.110223025e-16 -8.326672685e-17 -0)
+(-0 -5.551115123e-17 1.387778781e-17)
+(-0 -5.551115123e-17 1.387778781e-17)
+(-0 5.551115123e-17 -0)
+(-5.551115123e-17 -0 -0)
+(1.110223025e-16 6.938893904e-18 -0)
+(-5.551115123e-17 -1.387778781e-17 -0)
+(-0 -0 -0)
+(-0 -0 -0)
+(-0 -5.551115123e-17 -0)
+(-1.110223025e-16 -5.551115123e-17 -0)
+(1.110223025e-16 -5.551115123e-17 -0)
+(5.551115123e-17 -5.551115123e-17 -0)
+(-5.551115123e-17 -5.551115123e-17 -0)
+(-1.110223025e-16 -3.469446952e-18 -2.775557562e-17)
+(-0 -0 -1.387778781e-17)
+(-5.551115123e-17 1.387778781e-17 1.387778781e-17)
+(-1.110223025e-16 2.775557562e-17 -1.387778781e-17)
+(5.551115123e-17 2.775557562e-17 1.387778781e-17)
+(-5.551115123e-17 2.775557562e-17 -0)
+(-0 -2.775557562e-17 -1.387778781e-17)
+(-5.551115123e-17 -0 -1.387778781e-17)
+(5.551115123e-17 -1.110223025e-16 -1.387778781e-17)
+(1.110223025e-16 5.551115123e-17 1.387778781e-17)
+(-1.665334537e-16 -3.469446952e-18 -8.326672685e-17)
+(5.551115123e-17 -6.938893904e-18 -2.775557562e-17)
+(-5.551115123e-17 -2.775557562e-17 -2.775557562e-17)
+(-0 -2.775557562e-17 -0)
+(5.551115123e-17 -0 -2.775557562e-17)
+(-1.665334537e-16 -2.775557562e-17 -8.326672685e-17)
+(-0 -2.775557562e-17 -5.551115123e-17)
+(-5.551115123e-17 -0 -2.775557562e-17)
+(-0 -5.551115123e-17 -5.551115123e-17)
+(-0 1.110223025e-16 -0)
+(-1.110223025e-16 -0 -0)
+(-5.551115123e-17 -6.938893904e-18 -0)
+(-0 -1.387778781e-17 -0)
+(-0 -0 -5.551115123e-17)
+(1.110223025e-16 2.775557562e-17 -0)
+(-5.551115123e-17 -2.775557562e-17 -0)
+(-0 -8.326672685e-17 -1.110223025e-16)
+(-0 -5.551115123e-17 -1.110223025e-16)
+(-0 -5.551115123e-17 -5.551115123e-17)
+(-5.551115123e-17 -0 -0)
+(-0 -3.469446952e-18 5.551115123e-17)
+(-0 -0 5.551115123e-17)
+(-0 1.387778781e-17 1.110223025e-16)
+(-0 -2.775557562e-17 -0)
+(-1.110223025e-16 -5.551115123e-17 -1.110223025e-16)
+(-0 2.775557562e-17 -0)
+(-1.110223025e-16 -1.110223025e-16 -5.551115123e-17)
+(-5.551115123e-17 -0 -5.551115123e-17)
+(5.551115123e-17 -1.110223025e-16 -5.551115123e-17)
+(5.551115123e-17 -5.551115123e-17 -5.551115123e-17)
+(-0 -0 -0)
+(-0 -0 -0)
+(-1.110223025e-16 -1.387778781e-17 -5.551115123e-17)
+(-1.110223025e-16 -0 -0)
+(-0 -0 1.665334537e-16)
+(-1.110223025e-16 -2.775557562e-17 -5.551115123e-17)
+(-1.110223025e-16 -1.110223025e-16 -1.110223025e-16)
+(-1.110223025e-16 -0 -5.551115123e-17)
+(-0 -1.110223025e-16 -0)
+(-0 -5.551115123e-17 5.551115123e-17)
+(1.110223025e-16 -1.110223025e-16 5.551115123e-17)
+(5.551115123e-17 -0 -5.551115123e-17)
+(-0 -5.551115123e-17 -0)
+(2.775557562e-17 -0 -5.551115123e-17)
+(-0 -1.110223025e-16 -5.551115123e-17)
+(2.775557562e-17 -5.551115123e-17 -1.110223025e-16)
+(-0 -1.110223025e-16 -0)
+(2.775557562e-17 -2.220446049e-16 -0)
+(-0 -0 -0)
+(-0 1.110223025e-16 -0)
+(-0 1.110223025e-16 -0)
+(-0 -5.551115123e-17 -0)
+(-0 -5.551115123e-17 -0)
+(2.775557562e-17 -0 -5.551115123e-17)
+(-2.775557562e-17 -1.110223025e-16 -0)
+(2.775557562e-17 -5.551115123e-17 5.551115123e-17)
+(-0 -0 -0)
+(-0 -5.551115123e-17 -0)
+(-6.938893904e-18 5.551115123e-17 -1.110223025e-16)
+(3.469446952e-18 1.110223025e-16 5.551115123e-17)
+(5.551115123e-17 -5.551115123e-17 5.551115123e-17)
+(5.551115123e-17 5.551115123e-17 5.551115123e-17)
+(-0 -0 1.110223025e-16)
+(8.326672685e-17 -1.665334537e-16 5.551115123e-17)
+(2.775557562e-17 -5.551115123e-17 -0)
+(-2.775557562e-17 5.551115123e-17 -0)
+(-0 -0 5.551115123e-17)
+(2.775557562e-17 -5.551115123e-17 -0)
+(-0 1.110223025e-16 -0)
+(-0 -0 -0)
+(-0 -0 -0)
+(5.551115123e-17 5.551115123e-17 5.551115123e-17)
+(1.110223025e-16 -1.110223025e-16 2.775557562e-17)
+(8.326672685e-17 -1.665334537e-16 5.551115123e-17)
+(2.775557562e-17 -1.665334537e-16 -2.775557562e-17)
+(-2.775557562e-17 1.110223025e-16 -2.775557562e-17)
+(-0 -0 -0)
+(4.163336342e-17 -1.110223025e-16 2.775557562e-17)
+(-0 5.551115123e-17 2.775557562e-17)
+(-0 -0 -0)
+(-0 1.110223025e-16 -1.387778781e-17)
+(1.110223025e-16 5.551115123e-17 -0)
+(-0 -0 -0)
+(2.775557562e-17 -0 1.387778781e-17)
+(-2.775557562e-17 -5.551115123e-17 -0)
+(2.775557562e-17 -1.110223025e-16 1.387778781e-17)
+(-0 5.551115123e-17 1.387778781e-17)
+(-0 5.551115123e-17 -1.387778781e-17)
+(6.938893904e-18 -5.551115123e-17 1.387778781e-17)
+(3.469446952e-18 -1.110223025e-16 2.775557562e-17)
+(5.551115123e-17 -0 -0)
+(-0 5.551115123e-17 -0)
+(5.551115123e-17 5.551115123e-17 -0)
+(-0 -0 -0)
+(5.551115123e-17 -0 -0)
+(-0 -5.551115123e-17 -0)
+(-0 -0 -0)
+(1.387778781e-17 -5.551115123e-17 -0)
+(-6.938893904e-18 -0 -0)
+(3.469446952e-18 -5.551115123e-17 -0)
+(1.110223025e-16 -5.551115123e-17 -1.387778781e-17)
+(-5.551115123e-17 1.110223025e-16 -1.387778781e-17)
+(-5.551115123e-17 5.551115123e-17 1.387778781e-17)
+(5.551115123e-17 -1.110223025e-16 -1.387778781e-17)
+(-0 -0 1.387778781e-17)
+(-2.775557562e-17 1.110223025e-16 2.775557562e-17)
+(-0 -1.110223025e-16 -2.775557562e-17)
+(1.387778781e-17 -0 -0)
+(6.938893904e-18 -1.110223025e-16 -1.387778781e-17)
+(-3.469446952e-18 -5.551115123e-17 -1.387778781e-17)
+(-0 -0 -0)
+(5.551115123e-17 5.551115123e-17 -2.775557562e-17)
+(1.110223025e-16 -1.110223025e-16 -2.775557562e-17)
+(8.326672685e-17 -1.665334537e-16 -5.551115123e-17)
+(2.775557562e-17 -1.665334537e-16 2.775557562e-17)
+(-2.775557562e-17 1.110223025e-16 2.775557562e-17)
+(-0 -0 -0)
+(4.163336342e-17 -1.110223025e-16 -2.775557562e-17)
+(-0 5.551115123e-17 -0)
+(-0 -0 2.775557562e-17)
+(-5.551115123e-17 5.551115123e-17 5.551115123e-17)
+(5.551115123e-17 -0 -5.551115123e-17)
+(5.551115123e-17 -5.551115123e-17 -5.551115123e-17)
+(8.326672685e-17 -1.665334537e-16 -0)
+(8.326672685e-17 -1.665334537e-16 -0)
+(-0 -0 -5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(2.775557562e-17 -5.551115123e-17 -5.551115123e-17)
+(-0 -5.551115123e-17 -5.551115123e-17)
+(-0 -5.551115123e-17 -5.551115123e-17)
+(1.110223025e-16 -1.110223025e-16 -1.665334537e-16)
+(5.551115123e-17 -0 -0)
+(-0 -5.551115123e-17 -5.551115123e-17)
+(2.775557562e-17 -0 5.551115123e-17)
+(-0 -1.110223025e-16 -0)
+(2.775557562e-17 -5.551115123e-17 -0)
+(-0 -1.110223025e-16 -0)
+(2.775557562e-17 -2.220446049e-16 -0)
+(-0 -0 -5.551115123e-17)
+(-0 1.110223025e-16 -5.551115123e-17)
+(-0 1.110223025e-16 -0)
+(-0 -5.551115123e-17 -5.551115123e-17)
+(-0 -5.551115123e-17 -0)
+(5.551115123e-17 -0 5.551115123e-17)
+(-0 -5.551115123e-17 -5.551115123e-17)
+(2.775557562e-17 -1.110223025e-16 -0)
+(-0 -0 -0)
+(-1.387778781e-17 -0 -0)
+(-0 -0 -0)
+(-0 1.110223025e-16 -0)
+(-1.110223025e-16 -0 -0)
+(-0 -0 -0)
+(1.665334537e-16 -0 5.551115123e-17)
+(-0 -0 -0)
+(5.551115123e-17 -2.775557562e-17 -5.551115123e-17)
+(1.110223025e-16 -2.775557562e-17 -5.551115123e-17)
+(-0 5.551115123e-17 -5.551115123e-17)
+(1.110223025e-16 -0 -5.551115123e-17)
+(5.551115123e-17 5.551115123e-17 5.551115123e-17)
+(5.551115123e-17 -5.551115123e-17 -5.551115123e-17)
+(1.110223025e-16 -3.469446952e-18 5.551115123e-17)
+(-5.551115123e-17 6.938893904e-18 -1.110223025e-16)
+(1.665334537e-16 -2.775557562e-17 1.110223025e-16)
+(-5.551115123e-17 -2.775557562e-17 -0)
+(1.110223025e-16 -5.551115123e-17 1.110223025e-16)
+(-5.551115123e-17 -0 -0)
+(-0 -0 -5.551115123e-17)
+(5.551115123e-17 -0 1.110223025e-16)
+(-5.551115123e-17 5.551115123e-17 -0)
+(-0 -5.551115123e-17 -0)
+(-1.110223025e-16 -0 -0)
+(-5.551115123e-17 -6.938893904e-18 -0)
+(-5.551115123e-17 -0 -5.551115123e-17)
+(1.110223025e-16 2.775557562e-17 5.551115123e-17)
+(-0 -0 -0)
+(-0 2.775557562e-17 -0)
+(1.665334537e-16 -2.775557562e-17 5.551115123e-17)
+(1.110223025e-16 -0 5.551115123e-17)
+(-0 -0 -0)
+(-0 -5.551115123e-17 5.551115123e-17)
+(-1.110223025e-16 -0 -0)
+(-5.551115123e-17 -6.938893904e-18 2.775557562e-17)
+(-5.551115123e-17 -0 -2.775557562e-17)
+(1.110223025e-16 2.775557562e-17 -0)
+(5.551115123e-17 -0 -0)
+(-0 -2.775557562e-17 -2.775557562e-17)
+(1.665334537e-16 -2.775557562e-17 5.551115123e-17)
+(1.110223025e-16 -0 -0)
+(-0 -5.551115123e-17 8.326672685e-17)
+(-0 -5.551115123e-17 -0)
+(-0 -3.469446952e-18 2.775557562e-17)
+(-0 -6.938893904e-18 -0)
+(-0 -0 -1.387778781e-17)
+(-5.551115123e-17 -2.775557562e-17 1.387778781e-17)
+(1.110223025e-16 -2.775557562e-17 1.387778781e-17)
+(5.551115123e-17 -2.775557562e-17 -0)
+(-0 -0 1.387778781e-17)
+(-0 -0 -0)
+(-0 -1.110223025e-16 -0)
+(5.551115123e-17 -0 -1.387778781e-17)
+(5.551115123e-17 -0 -0)
+(5.551115123e-17 6.938893904e-18 -0)
+(-5.551115123e-17 -1.387778781e-17 -0)
+(-0 -0 -0)
+(-0 -0 -0)
+(-0 5.551115123e-17 -0)
+(-5.551115123e-17 2.775557562e-17 -0)
+(5.551115123e-17 -5.551115123e-17 -0)
+(-5.551115123e-17 5.551115123e-17 -0)
+(5.551115123e-17 -5.551115123e-17 -0)
+(5.551115123e-17 -0 -1.387778781e-17)
+(-0 -6.938893904e-18 -0)
+(5.551115123e-17 -1.387778781e-17 -1.387778781e-17)
+(1.665334537e-16 -0 -2.775557562e-17)
+(1.110223025e-16 -2.775557562e-17 -1.387778781e-17)
+(-0 -0 1.387778781e-17)
+(-0 2.775557562e-17 -1.387778781e-17)
+(-0 -5.551115123e-17 1.387778781e-17)
+(5.551115123e-17 -0 -1.387778781e-17)
+(1.665334537e-16 -1.110223025e-16 -1.387778781e-17)
+(-1.110223025e-16 -0 2.775557562e-17)
+(-5.551115123e-17 -6.938893904e-18 -2.775557562e-17)
+(-5.551115123e-17 -0 2.775557562e-17)
+(1.110223025e-16 2.775557562e-17 -0)
+(5.551115123e-17 -0 -0)
+(-0 -2.775557562e-17 2.775557562e-17)
+(1.665334537e-16 -2.775557562e-17 -5.551115123e-17)
+(1.110223025e-16 -0 -0)
+(-0 -5.551115123e-17 -0)
+(-0 -5.551115123e-17 -0)
+(-5.551115123e-17 -3.469446952e-18 -5.551115123e-17)
+(-5.551115123e-17 -0 -5.551115123e-17)
+(-0 -1.387778781e-17 -0)
+(1.110223025e-16 -0 -5.551115123e-17)
+(1.110223025e-16 -2.775557562e-17 -5.551115123e-17)
+(5.551115123e-17 -2.775557562e-17 -0)
+(1.665334537e-16 -0 -0)
+(5.551115123e-17 5.551115123e-17 -0)
+(-5.551115123e-17 -5.551115123e-17 -5.551115123e-17)
+(-5.551115123e-17 -0 5.551115123e-17)
+(-0 3.469446952e-18 -5.551115123e-17)
+(-0 -0 -5.551115123e-17)
+(1.665334537e-16 -0 -5.551115123e-17)
+(-0 -0 -0)
+(5.551115123e-17 -2.775557562e-17 -0)
+(-0 -2.775557562e-17 -0)
+(-0 5.551115123e-17 5.551115123e-17)
+(1.110223025e-16 -0 -5.551115123e-17)
+(5.551115123e-17 5.551115123e-17 -0)
+(5.551115123e-17 -5.551115123e-17 -5.551115123e-17)
+(-0 -0 -0)
+(-0 -0 -0)
+(1.110223025e-16 -1.387778781e-17 -5.551115123e-17)
+(-5.551115123e-17 -2.775557562e-17 -0)
+(1.665334537e-16 -2.775557562e-17 -1.110223025e-16)
+(-5.551115123e-17 2.775557562e-17 -5.551115123e-17)
+(-0 5.551115123e-17 5.551115123e-17)
+(5.551115123e-17 -0 5.551115123e-17)
+(-5.551115123e-17 5.551115123e-17 -5.551115123e-17)
+(1.110223025e-16 -5.551115123e-17 -1.110223025e-16)
+)
+;
     }
 )
 
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/thermophysicalProperties b/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/thermophysicalProperties
index 5938ce87a3f..380bc6551bf 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/thermophysicalProperties
+++ b/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/thermophysicalProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiReactionThermo<reactingMixture<gasThermoPhysics>>;
+thermoType
+{
+    type            hePsiReactionThermo;
+    mixture         reactingMixture;
+    transport       sutherland;
+    thermo          janaf;
+    energy          sensibleEnthalpy;
+    equationOfState perfectGas;
+    specie          specie;
+}
 
 chemistryReader foamChemistryReader;
 
@@ -25,7 +34,6 @@ foamChemistryThermoFile "$FOAM_CASE/constant/foam.dat";
 
 inertSpecie     N2;
 
-
 liquids
 {
     H2O
@@ -34,7 +42,6 @@ liquids
     }
 }
 
-
 solids
 {
     // none
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/chemistryProperties b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/chemistryProperties
index 99de98f9efb..c0ecd637220 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/chemistryProperties
+++ b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/chemistryProperties
@@ -15,12 +15,14 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-psiChemistryModel ODEChemistryModel<gasThermoPhysics>;
+chemistryType
+{
+    chemistryModel    ODEChemistryModel;
+    chemistrySolver   noChemistrySolver;
+}
 
 chemistry       off;
 
-chemistrySolver noChemistrySolver;
-
 initialChemicalTimeStep 1e-07;
 
 
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/polyMesh/boundary b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/polyMesh/boundary
index 695e9795ca3..6e737bbc0b8 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/polyMesh/boundary
+++ b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/polyMesh/boundary
@@ -32,7 +32,7 @@ FoamFile
         sampleRegion    wallFilmRegion;
         samplePatch     region0_to_wallFilmRegion_cubeFaces;
         offsetMode      nonuniform;
-        offsets         nonuniform List<vector>
+        offsets         nonuniform List<vector> 
 6144
 (
 (-0 -0 -0)
@@ -6191,7 +6191,7 @@ FoamFile
         sampleRegion    wallFilmRegion;
         samplePatch     region0_to_wallFilmRegion_floorFaces;
         offsetMode      nonuniform;
-        offsets         nonuniform List<vector>
+        offsets         nonuniform List<vector> 
 6400
 (
 (8.67361738e-19 -1.734723476e-18 -0)
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/thermophysicalProperties b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/thermophysicalProperties
index 5938ce87a3f..380bc6551bf 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/thermophysicalProperties
+++ b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/thermophysicalProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiReactionThermo<reactingMixture<gasThermoPhysics>>;
+thermoType
+{
+    type            hePsiReactionThermo;
+    mixture         reactingMixture;
+    transport       sutherland;
+    thermo          janaf;
+    energy          sensibleEnthalpy;
+    equationOfState perfectGas;
+    specie          specie;
+}
 
 chemistryReader foamChemistryReader;
 
@@ -25,7 +34,6 @@ foamChemistryThermoFile "$FOAM_CASE/constant/foam.dat";
 
 inertSpecie     N2;
 
-
 liquids
 {
     H2O
@@ -34,7 +42,6 @@ liquids
     }
 }
 
-
 solids
 {
     // none
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/chemistryProperties b/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/chemistryProperties
index 99de98f9efb..c0ecd637220 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/chemistryProperties
+++ b/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/chemistryProperties
@@ -15,12 +15,14 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-psiChemistryModel ODEChemistryModel<gasThermoPhysics>;
+chemistryType
+{
+    chemistryModel    ODEChemistryModel;
+    chemistrySolver   noChemistrySolver;
+}
 
 chemistry       off;
 
-chemistrySolver noChemistrySolver;
-
 initialChemicalTimeStep 1e-07;
 
 
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/polyMesh/boundary b/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/polyMesh/boundary
index 006c08790de..7b4f359759c 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/polyMesh/boundary
+++ b/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/polyMesh/boundary
@@ -44,7 +44,7 @@ FoamFile
         sampleRegion    wallFilmRegion;
         samplePatch     region0_to_wallFilmRegion_wallFilmFaces;
         offsetMode      nonuniform;
-        offsets
+        offsets         nonuniform List<vector> 
 43200
 (
 (-6.938893904e-18 -0 -0)
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/thermophysicalProperties b/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/thermophysicalProperties
index 5938ce87a3f..380bc6551bf 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/thermophysicalProperties
+++ b/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/thermophysicalProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiReactionThermo<reactingMixture<gasThermoPhysics>>;
+thermoType
+{
+    type            hePsiReactionThermo;
+    mixture         reactingMixture;
+    transport       sutherland;
+    thermo          janaf;
+    energy          sensibleEnthalpy;
+    equationOfState perfectGas;
+    specie          specie;
+}
 
 chemistryReader foamChemistryReader;
 
@@ -25,7 +34,6 @@ foamChemistryThermoFile "$FOAM_CASE/constant/foam.dat";
 
 inertSpecie     N2;
 
-
 liquids
 {
     H2O
@@ -34,7 +42,6 @@ liquids
     }
 }
 
-
 solids
 {
     // none
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/chemistryProperties b/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/chemistryProperties
index 99de98f9efb..c0ecd637220 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/chemistryProperties
+++ b/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/chemistryProperties
@@ -15,12 +15,14 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-psiChemistryModel ODEChemistryModel<gasThermoPhysics>;
+chemistryType
+{
+    chemistryModel    ODEChemistryModel;
+    chemistrySolver   noChemistrySolver;
+}
 
 chemistry       off;
 
-chemistrySolver noChemistrySolver;
-
 initialChemicalTimeStep 1e-07;
 
 
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/polyMesh/boundary b/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/polyMesh/boundary
index 662f5080b67..17a5ed74a77 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/polyMesh/boundary
+++ b/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/polyMesh/boundary
@@ -23,11 +23,220 @@ FoamFile
         nFaces          1400;
         startFace       11200;
     }
-    filmWalls
+    region0_to_wallFilmRegion_wallFilmFaces
     {
-        type            wall;
+        type            mappedWall;
         nFaces          200;
         startFace       12600;
+        sampleMode      nearestPatchFace;
+        sampleRegion    wallFilmRegion;
+        samplePatch     region0_to_wallFilmRegion_wallFilmFaces;
+        offsetMode      nonuniform;
+        offsets         nonuniform List<vector> 
+200
+(
+(4.33680869e-19 4.33680869e-19 -0)
+(-8.67361738e-19 -8.67361738e-19 -0)
+(-4.33680869e-19 -0 -0)
+(-0 3.469446952e-18 -0)
+(-0 -0 -0)
+(-0 -0 -0)
+(-0 -0 -0)
+(4.33680869e-19 -0 -0)
+(-0 6.938893904e-18 -0)
+(-0 -0 -0)
+(8.67361738e-19 4.33680869e-19 -0)
+(-8.67361738e-19 -8.67361738e-19 -0)
+(-0 1.734723476e-18 -0)
+(-0 3.469446952e-18 -0)
+(-0 -3.469446952e-18 -0)
+(8.67361738e-19 1.387778781e-17 -0)
+(-8.67361738e-19 -0 -0)
+(-8.67361738e-19 -6.938893904e-18 -0)
+(-0 -6.938893904e-18 -0)
+(-8.67361738e-19 -0 -0)
+(-0 -4.33680869e-19 -0)
+(-1.734723476e-18 -1.734723476e-18 -0)
+(-1.734723476e-18 1.734723476e-18 -0)
+(-3.469446952e-18 -0 -0)
+(-3.469446952e-18 -0 -0)
+(-1.734723476e-18 3.469446952e-18 -0)
+(-0 -0 -0)
+(-1.734723476e-18 -0 -0)
+(-1.734723476e-18 -0 -0)
+(-0 -0 -0)
+(-3.469446952e-18 -8.67361738e-19 -0)
+(-3.469446952e-18 -1.734723476e-18 -0)
+(-0 3.469446952e-18 -0)
+(-0 -0 -0)
+(-0 -0 -0)
+(-0 3.469446952e-18 -0)
+(3.469446952e-18 -0 -0)
+(3.469446952e-18 6.938893904e-18 -0)
+(3.469446952e-18 -6.938893904e-18 -0)
+(3.469446952e-18 6.938893904e-18 -0)
+(-3.469446952e-18 -8.67361738e-19 -0)
+(-3.469446952e-18 -1.734723476e-18 -0)
+(-3.469446952e-18 3.469446952e-18 -0)
+(-3.469446952e-18 -0 -0)
+(-3.469446952e-18 -0 -0)
+(-3.469446952e-18 3.469446952e-18 -0)
+(-0 -0 -0)
+(-3.469446952e-18 6.938893904e-18 -0)
+(-3.469446952e-18 -6.938893904e-18 -0)
+(-0 6.938893904e-18 -0)
+(-0 -0 -0)
+(-1.387778781e-17 -1.734723476e-18 -0)
+(-6.938893904e-18 -0 -0)
+(3.469446952e-18 -0 -0)
+(3.469446952e-18 -0 -0)
+(-3.469446952e-18 -3.469446952e-18 -0)
+(-0 -6.938893904e-18 -0)
+(-1.040834086e-17 -0 -0)
+(-1.040834086e-17 -6.938893904e-18 -0)
+(-0 6.938893904e-18 -0)
+(-0 -0 -0)
+(-6.938893904e-18 -1.734723476e-18 -0)
+(-0 -0 -0)
+(-6.938893904e-18 -3.469446952e-18 -0)
+(-6.938893904e-18 -6.938893904e-18 -0)
+(-0 -0 -0)
+(-0 -0 -0)
+(-0 -6.938893904e-18 -0)
+(-6.938893904e-18 -0 -0)
+(-0 -0 -0)
+(-0 -4.33680869e-19 -0)
+(6.938893904e-18 -0 -0)
+(-0 -1.734723476e-18 -0)
+(6.938893904e-18 -3.469446952e-18 -0)
+(6.938893904e-18 6.938893904e-18 -0)
+(-6.938893904e-18 6.938893904e-18 -0)
+(-6.938893904e-18 -0 -0)
+(-6.938893904e-18 -0 -0)
+(-6.938893904e-18 -6.938893904e-18 -0)
+(-6.938893904e-18 -0 -0)
+(-6.938893904e-18 -0 -0)
+(6.938893904e-18 -0 -0)
+(-6.938893904e-18 -1.734723476e-18 -0)
+(-6.938893904e-18 -3.469446952e-18 -0)
+(-6.938893904e-18 6.938893904e-18 -0)
+(-6.938893904e-18 6.938893904e-18 -0)
+(-6.938893904e-18 6.938893904e-18 -0)
+(-6.938893904e-18 -6.938893904e-18 -0)
+(-6.938893904e-18 -6.938893904e-18 -0)
+(-6.938893904e-18 -0 -0)
+(-0 -0 -0)
+(-0 -1.734723476e-18 -0)
+(-0 -0 -0)
+(-1.387778781e-17 -3.469446952e-18 -0)
+(-1.387778781e-17 -6.938893904e-18 -0)
+(-1.387778781e-17 -0 -0)
+(-0 -0 -0)
+(-0 -6.938893904e-18 -0)
+(-0 -0 -0)
+(-0 -0 -0)
+(-0 -0 -0)
+(6.938893904e-18 -0 -0)
+(6.938893904e-18 -1.734723476e-18 -0)
+(-0 -3.469446952e-18 -0)
+(-0 6.938893904e-18 -0)
+(1.387778781e-17 6.938893904e-18 -0)
+(-0 6.938893904e-18 -0)
+(-0 -6.938893904e-18 -0)
+(-0 -6.938893904e-18 -0)
+(-0 -0 -0)
+(1.387778781e-17 -0 -0)
+(6.938893904e-18 -8.67361738e-19 -0)
+(-0 -1.734723476e-18 -0)
+(1.387778781e-17 -0 -0)
+(6.938893904e-18 -0 -0)
+(6.938893904e-18 -3.469446952e-18 -0)
+(-0 6.938893904e-18 -0)
+(-1.387778781e-17 -6.938893904e-18 -0)
+(-1.387778781e-17 -6.938893904e-18 -0)
+(-0 6.938893904e-18 -0)
+(-6.938893904e-18 -0 -0)
+(-2.081668171e-17 -1.734723476e-18 -0)
+(-0 -0 -0)
+(-1.387778781e-17 -3.469446952e-18 -0)
+(-1.387778781e-17 -6.938893904e-18 -0)
+(-1.387778781e-17 -0 -0)
+(-0 -0 -0)
+(-0 -6.938893904e-18 -0)
+(-0 -0 -0)
+(-0 -0 -0)
+(-0 -0 -0)
+(-1.387778781e-17 -1.734723476e-18 -0)
+(-0 -0 -0)
+(-1.387778781e-17 -3.469446952e-18 -0)
+(-1.387778781e-17 -6.938893904e-18 -0)
+(-2.775557562e-17 -0 -0)
+(-1.387778781e-17 -0 -0)
+(-1.387778781e-17 -6.938893904e-18 -0)
+(-1.387778781e-17 -0 -0)
+(-1.387778781e-17 -0 -0)
+(-1.387778781e-17 -8.67361738e-19 -0)
+(-1.387778781e-17 -1.734723476e-18 -0)
+(-1.387778781e-17 -1.734723476e-18 -0)
+(-1.387778781e-17 -3.469446952e-18 -0)
+(-0 -0 -0)
+(-0 -3.469446952e-18 -0)
+(-1.387778781e-17 -1.387778781e-17 -0)
+(-0 6.938893904e-18 -0)
+(-0 1.387778781e-17 -0)
+(-1.387778781e-17 -1.387778781e-17 -0)
+(-1.387778781e-17 -0 -0)
+(-1.387778781e-17 -1.734723476e-18 -0)
+(1.387778781e-17 -0 -0)
+(-0 -3.469446952e-18 -0)
+(-1.387778781e-17 -6.938893904e-18 -0)
+(-2.775557562e-17 -0 -0)
+(-0 -0 -0)
+(-0 -6.938893904e-18 -0)
+(-0 -0 -0)
+(-0 -0 -0)
+(1.387778781e-17 -0 -0)
+(-1.387778781e-17 -1.734723476e-18 -0)
+(1.387778781e-17 -0 -0)
+(-4.163336342e-17 -3.469446952e-18 -0)
+(-4.163336342e-17 -6.938893904e-18 -0)
+(-2.775557562e-17 -0 -0)
+(-0 -0 -0)
+(-0 -6.938893904e-18 -0)
+(-0 -0 -0)
+(-0 -0 -0)
+(-1.387778781e-17 -8.67361738e-19 -0)
+(1.387778781e-17 -1.734723476e-18 -0)
+(-1.387778781e-17 -1.734723476e-18 -0)
+(-0 -3.469446952e-18 -0)
+(-0 -0 -0)
+(-1.387778781e-17 -3.469446952e-18 -0)
+(-1.387778781e-17 -1.387778781e-17 -0)
+(1.387778781e-17 6.938893904e-18 -0)
+(1.387778781e-17 6.938893904e-18 -0)
+(-1.387778781e-17 -1.387778781e-17 -0)
+(-0 -0 -0)
+(-0 -1.734723476e-18 -0)
+(-0 -0 -0)
+(-4.163336342e-17 -3.469446952e-18 -0)
+(-4.163336342e-17 -6.938893904e-18 -0)
+(-2.775557562e-17 -0 -0)
+(1.387778781e-17 -0 -0)
+(-1.387778781e-17 -6.938893904e-18 -0)
+(-1.387778781e-17 -0 -0)
+(1.387778781e-17 -0 -0)
+(-2.775557562e-17 -0 -0)
+(-2.775557562e-17 -1.734723476e-18 -0)
+(-0 -0 -0)
+(-1.387778781e-17 -3.469446952e-18 -0)
+(-1.387778781e-17 -6.938893904e-18 -0)
+(-1.387778781e-17 -0 -0)
+(1.387778781e-17 -0 -0)
+(-0 -6.938893904e-18 -0)
+(-0 -0 -0)
+(1.387778781e-17 -0 -0)
+)
+;
     }
 )
 
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/thermophysicalProperties b/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/thermophysicalProperties
index 5938ce87a3f..380bc6551bf 100644
--- a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/thermophysicalProperties
+++ b/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/thermophysicalProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiReactionThermo<reactingMixture<gasThermoPhysics>>;
+thermoType
+{
+    type            hePsiReactionThermo;
+    mixture         reactingMixture;
+    transport       sutherland;
+    thermo          janaf;
+    energy          sensibleEnthalpy;
+    equationOfState perfectGas;
+    specie          specie;
+}
 
 chemistryReader foamChemistryReader;
 
@@ -25,7 +34,6 @@ foamChemistryThermoFile "$FOAM_CASE/constant/foam.dat";
 
 inertSpecie     N2;
 
-
 liquids
 {
     H2O
@@ -34,7 +42,6 @@ liquids
     }
 }
 
-
 solids
 {
     // none
diff --git a/tutorials/lagrangian/reactingParcelFoam/filter/constant/chemistryProperties b/tutorials/lagrangian/reactingParcelFoam/filter/constant/chemistryProperties
index 3a03cc5845a..40cf4f3f121 100644
--- a/tutorials/lagrangian/reactingParcelFoam/filter/constant/chemistryProperties
+++ b/tutorials/lagrangian/reactingParcelFoam/filter/constant/chemistryProperties
@@ -15,12 +15,14 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-rhoChemistryModel  ODEChemistryModel<icoPoly8ThermoPhysics>;
+chemistryType
+{
+    chemistryModel    ODEChemistryModel;
+    chemistrySolver   ode;
+}
 
 chemistry       off;
 
-chemistrySolver ode;
-
 initialChemicalTimeStep 1e-07;
 
 sequentialCoeffs
diff --git a/tutorials/lagrangian/reactingParcelFoam/filter/constant/thermophysicalProperties b/tutorials/lagrangian/reactingParcelFoam/filter/constant/thermophysicalProperties
index 63ca7f7968e..594121c7ff4 100644
--- a/tutorials/lagrangian/reactingParcelFoam/filter/constant/thermophysicalProperties
+++ b/tutorials/lagrangian/reactingParcelFoam/filter/constant/thermophysicalProperties
@@ -15,7 +15,17 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      heRhoReactionThermo<reactingMixture<icoPoly8ThermoPhysics>>;
+thermoType
+{
+    type            heRhoReactionThermo;
+    mixture         reactingMixture;
+    transport       polynomial;
+    thermo          hPolynomial;
+    energy          sensibleEnthalpy;
+    equationOfState icoPolynomial;
+    specie          specie;
+}
+
 dpdt no;
 
 chemistryReader foamChemistryReader;
diff --git a/tutorials/lagrangian/reactingParcelFoam/parcelInBox/constant/chemistryProperties b/tutorials/lagrangian/reactingParcelFoam/parcelInBox/constant/chemistryProperties
index 3a03cc5845a..40cf4f3f121 100644
--- a/tutorials/lagrangian/reactingParcelFoam/parcelInBox/constant/chemistryProperties
+++ b/tutorials/lagrangian/reactingParcelFoam/parcelInBox/constant/chemistryProperties
@@ -15,12 +15,14 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-rhoChemistryModel  ODEChemistryModel<icoPoly8ThermoPhysics>;
+chemistryType
+{
+    chemistryModel    ODEChemistryModel;
+    chemistrySolver   ode;
+}
 
 chemistry       off;
 
-chemistrySolver ode;
-
 initialChemicalTimeStep 1e-07;
 
 sequentialCoeffs
diff --git a/tutorials/lagrangian/reactingParcelFoam/parcelInBox/constant/thermophysicalProperties b/tutorials/lagrangian/reactingParcelFoam/parcelInBox/constant/thermophysicalProperties
index d09b3f95f8a..07b94deeb7a 100644
--- a/tutorials/lagrangian/reactingParcelFoam/parcelInBox/constant/thermophysicalProperties
+++ b/tutorials/lagrangian/reactingParcelFoam/parcelInBox/constant/thermophysicalProperties
@@ -15,7 +15,17 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      heRhoReactionThermo<reactingMixture<icoPoly8ThermoPhysics>>;
+thermoType
+{
+    type            heRhoReactionThermo;
+    mixture         reactingMixture;
+    transport       polynomial;
+    thermo          hPolynomial;
+    energy          sensibleEnthalpy;
+    equationOfState icoPolynomial;
+    specie          specie;
+}
+
 dpdt no;
 
 chemistryReader foamChemistryReader;
diff --git a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/constant/chemistryProperties b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/constant/chemistryProperties
index 3a03cc5845a..40cf4f3f121 100644
--- a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/constant/chemistryProperties
+++ b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/constant/chemistryProperties
@@ -15,12 +15,14 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-rhoChemistryModel  ODEChemistryModel<icoPoly8ThermoPhysics>;
+chemistryType
+{
+    chemistryModel    ODEChemistryModel;
+    chemistrySolver   ode;
+}
 
 chemistry       off;
 
-chemistrySolver ode;
-
 initialChemicalTimeStep 1e-07;
 
 sequentialCoeffs
diff --git a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/constant/thermophysicalProperties b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/constant/thermophysicalProperties
index 0c56a0b62db..6eb02e10a95 100644
--- a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/constant/thermophysicalProperties
+++ b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/constant/thermophysicalProperties
@@ -15,7 +15,17 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      heRhoReactionThermo<reactingMixture<icoPoly8ThermoPhysics>>;
+thermoType
+{
+    type            heRhoReactionThermo;
+    mixture         reactingMixture;
+    transport       polynomial;
+    thermo          hPolynomial;
+    energy          sensibleEnthalpy;
+    equationOfState icoPolynomial;
+    specie          specie;
+}
+
 dpdt no;
 
 chemistryReader foamChemistryReader;
diff --git a/tutorials/lagrangian/sprayFoam/aachenBomb/constant/chemistryProperties b/tutorials/lagrangian/sprayFoam/aachenBomb/constant/chemistryProperties
index 1aee9c1bcf9..fcf49a0f814 100644
--- a/tutorials/lagrangian/sprayFoam/aachenBomb/constant/chemistryProperties
+++ b/tutorials/lagrangian/sprayFoam/aachenBomb/constant/chemistryProperties
@@ -15,12 +15,14 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-psiChemistryModel ODEChemistryModel<gasThermoPhysics>;
+chemistryType
+{
+    chemistryModel    ODEChemistryModel;
+    chemistrySolver   ode;
+}
 
 chemistry       off;
 
-chemistrySolver ode;
-
 initialChemicalTimeStep 1e-07;
 
 odeCoeffs
diff --git a/tutorials/lagrangian/sprayFoam/aachenBomb/constant/thermophysicalProperties b/tutorials/lagrangian/sprayFoam/aachenBomb/constant/thermophysicalProperties
index 655c9f51d14..2684e0053e0 100644
--- a/tutorials/lagrangian/sprayFoam/aachenBomb/constant/thermophysicalProperties
+++ b/tutorials/lagrangian/sprayFoam/aachenBomb/constant/thermophysicalProperties
@@ -15,7 +15,16 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiReactionThermo<reactingMixture<gasThermoPhysics>>;
+thermoType
+{
+    type            hePsiReactionThermo;
+    mixture         reactingMixture;
+    transport       sutherland;
+    thermo          janaf;
+    energy          sensibleEnthalpy;
+    equationOfState perfectGas;
+    specie          specie;
+}
 
 CHEMKINFile     "$FOAM_CASE/chemkin/chem.inp";
 
@@ -23,7 +32,6 @@ CHEMKINThermoFile "~OpenFOAM/thermoData/therm.dat";
 
 inertSpecie     N2;
 
-
 liquids
 {
     C7H16
-- 
GitLab