diff --git a/src/thermophysicalModels/basic/fluidThermo/makeThermo.H b/src/thermophysicalModels/basic/fluidThermo/makeThermo.H
index fde9d2e1a18d310e22a5ef954f9e838e268ee752..0219106012d42dd050a8ababbc6d19b34da96274 100644
--- a/src/thermophysicalModels/basic/fluidThermo/makeThermo.H
+++ b/src/thermophysicalModels/basic/fluidThermo/makeThermo.H
@@ -25,18 +25,19 @@ InClass
     Foam::fluidThermo
 
 Description
-    Macros for creating 'basic' density-based thermo packages
+    Macros for creating basic fluid thermo packages
 
 \*---------------------------------------------------------------------------*/
 
 #ifndef makeThermo_H
 #define makeThermo_H
 
+#include "fluidThermo.H"
 #include "addToRunTimeSelectionTable.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-#define makeThermo(BaseThermo,Cthermo,Mixture,Transport,Type,Thermo,EqnOfState)\
+#define makeThermo(BaseThermo,Cthermo,Mixture,Transport,Type,Thermo,EqnOfState,Specie)\
                                                                               \
 typedef Cthermo                                                               \
 <                                                                             \
@@ -48,17 +49,20 @@ typedef Cthermo                                                               \
             <                                                                 \
                 Thermo                                                        \
                 <                                                             \
-                    EqnOfState<specie>                                        \
+                    EqnOfState                                                \
+                    <                                                         \
+                        Specie                                                \
+                    >                                                         \
                 >,                                                            \
                 Type                                                          \
             >                                                                 \
         >                                                                     \
     >                                                                         \
->   Cthermo##Mixture##Transport##Type##Thermo##EqnOfState;                    \
+>   Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie;            \
                                                                               \
 defineTemplateTypeNameAndDebugWithName                                        \
 (                                                                             \
-    Cthermo##Mixture##Transport##Type##Thermo##EqnOfState,                    \
+    Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie,            \
     #Cthermo                                                                  \
     "<"                                                                       \
         #Mixture                                                              \
@@ -68,6 +72,9 @@ defineTemplateTypeNameAndDebugWithName                                        \
                 #Thermo                                                       \
                 "<"                                                           \
                     #EqnOfState                                               \
+                    "<"                                                       \
+                        #Specie                                               \
+                    ">"                                                       \
                 ">,"                                                          \
                 #Type                                                         \
         ">>>",                                                                \
@@ -77,55 +84,14 @@ defineTemplateTypeNameAndDebugWithName                                        \
 addToRunTimeSelectionTable                                                    \
 (                                                                             \
     BaseThermo,                                                               \
-    Cthermo##Mixture##Transport##Type##Thermo##EqnOfState,                    \
+    Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie,            \
     fvMesh                                                                    \
 );                                                                            \
                                                                               \
 addToRunTimeSelectionTable                                                    \
 (                                                                             \
     fluidThermo,                                                              \
-    Cthermo##Mixture##Transport##Type##Thermo##EqnOfState,                    \
-    fvMesh                                                                    \
-);
-
-
-#define makePolyThermo(BaseThermo,Cthermo,Mixture,Order,Type)                 \
-                                                                              \
-typedef polynomialTransport                                                   \
-<                                                                             \
-    species::thermo                                                           \
-    <                                                                         \
-        hPolynomialThermo                                                     \
-        <                                                                     \
-            icoPolynomial<specie, Order>,                                     \
-            Order                                                             \
-        >,                                                                    \
-        Type                                                                  \
-    >,                                                                        \
-    Order                                                                     \
-> icoPoly##Order##Type##ThermoPhysics;                                        \
-                                                                              \
-typedef Cthermo<Mixture<icoPoly##Order##Type##ThermoPhysics> >                \
-    Cthermo##Mixture##icoPoly##Order##Type##ThermoPhysics;                    \
-                                                                              \
-defineTemplateTypeNameAndDebugWithName                                        \
-(                                                                             \
-    Cthermo##Mixture##icoPoly##Order##Type##ThermoPhysics,                    \
-    #Cthermo"<"#Mixture"<icoPoly"#Order#Type"ThermoPhysics>>",                \
-    0                                                                         \
-);                                                                            \
-                                                                              \
-addToRunTimeSelectionTable                                                    \
-(                                                                             \
-    BaseThermo,                                                               \
-    Cthermo##Mixture##icoPoly##Order##Type##ThermoPhysics,                    \
-    fvMesh                                                                    \
-);                                                                            \
-                                                                              \
-addToRunTimeSelectionTable                                                    \
-(                                                                             \
-    fluidThermo,                                                              \
-    Cthermo##Mixture##icoPoly##Order##Type##ThermoPhysics,                    \
+    Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie,            \
     fvMesh                                                                    \
 );
 
diff --git a/src/thermophysicalModels/basic/mixtures/basicMixture/basicMixtures.C b/src/thermophysicalModels/basic/mixtures/basicMixture/basicMixtures.C
index 2ce94472d0499fa4fa9f0176a40dc33b126fba6a..ac7d3c65bddfa0620bcc5f4a258935fefe955163 100644
--- a/src/thermophysicalModels/basic/mixtures/basicMixture/basicMixtures.C
+++ b/src/thermophysicalModels/basic/mixtures/basicMixture/basicMixtures.C
@@ -68,7 +68,8 @@ makeBasicMixture
     constTransport,
     sensibleEnthalpy,
     hConstThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeBasicMixture
@@ -77,7 +78,8 @@ makeBasicMixture
     sutherlandTransport,
     sensibleEnthalpy,
     hConstThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeBasicMixture
@@ -86,7 +88,8 @@ makeBasicMixture
     sutherlandTransport,
     sensibleEnthalpy,
     janafThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeBasicMixture
@@ -95,31 +98,28 @@ makeBasicMixture
     constTransport,
     sensibleEnthalpy,
     hConstThermo,
-    rhoConst
+    rhoConst,
+    specie
 );
 
-makeBasicPolyMixture
-(
-    pureMixture,
-    3,
-    sensibleEnthalpy
-);
-
-makeBasicPolyMixture
+makeBasicMixture
 (
     pureMixture,
-    8,
-    sensibleEnthalpy
+    polynomialTransport,
+    sensibleEnthalpy,
+    hPolynomialThermo,
+    icoPolynomial,
+    specie
 );
 
-
 makeBasicMixture
 (
     pureMixture,
     constTransport,
     sensibleEnthalpy,
     hConstThermo,
-    incompressiblePerfectGas
+    incompressiblePerfectGas,
+    specie
 );
 
 makeBasicMixture
@@ -128,7 +128,8 @@ makeBasicMixture
     sutherlandTransport,
     sensibleEnthalpy,
     hConstThermo,
-    incompressiblePerfectGas
+    incompressiblePerfectGas,
+    specie
 );
 
 makeBasicMixture
@@ -137,7 +138,8 @@ makeBasicMixture
     sutherlandTransport,
     sensibleEnthalpy,
     janafThermo,
-    incompressiblePerfectGas
+    incompressiblePerfectGas,
+    specie
 );
 
 
@@ -149,7 +151,8 @@ makeBasicMixture
     constTransport,
     sensibleInternalEnergy,
     eConstThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeBasicMixture
@@ -158,7 +161,8 @@ makeBasicMixture
     sutherlandTransport,
     sensibleInternalEnergy,
     eConstThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeBasicMixture
@@ -167,7 +171,8 @@ makeBasicMixture
     constTransport,
     sensibleInternalEnergy,
     hConstThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeBasicMixture
@@ -176,7 +181,8 @@ makeBasicMixture
     sutherlandTransport,
     sensibleInternalEnergy,
     hConstThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeBasicMixture
@@ -185,7 +191,8 @@ makeBasicMixture
     sutherlandTransport,
     sensibleInternalEnergy,
     janafThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeBasicMixture
@@ -194,31 +201,28 @@ makeBasicMixture
     constTransport,
     sensibleInternalEnergy,
     hConstThermo,
-    rhoConst
+    rhoConst,
+    specie
 );
 
-makeBasicPolyMixture
-(
-    pureMixture,
-    3,
-    sensibleInternalEnergy
-);
-
-makeBasicPolyMixture
+makeBasicMixture
 (
     pureMixture,
-    8,
-    sensibleInternalEnergy
+    polynomialTransport,
+    sensibleInternalEnergy,
+    hPolynomialThermo,
+    icoPolynomial,
+    specie
 );
 
-
 makeBasicMixture
 (
     pureMixture,
     constTransport,
     sensibleInternalEnergy,
     hConstThermo,
-    incompressiblePerfectGas
+    incompressiblePerfectGas,
+    specie
 );
 
 makeBasicMixture
@@ -227,7 +231,8 @@ makeBasicMixture
     sutherlandTransport,
     sensibleInternalEnergy,
     hConstThermo,
-    incompressiblePerfectGas
+    incompressiblePerfectGas,
+    specie
 );
 
 makeBasicMixture
@@ -236,7 +241,8 @@ makeBasicMixture
     sutherlandTransport,
     sensibleInternalEnergy,
     janafThermo,
-    incompressiblePerfectGas
+    incompressiblePerfectGas,
+    specie
 );
 
 
diff --git a/src/thermophysicalModels/basic/mixtures/basicMixture/makeBasicMixture.H b/src/thermophysicalModels/basic/mixtures/basicMixture/makeBasicMixture.H
index 1997397646a04dc9409317a426a9d50b37b30858..29e93165a247ce7e87f173b47c14f850e7a977fe 100644
--- a/src/thermophysicalModels/basic/mixtures/basicMixture/makeBasicMixture.H
+++ b/src/thermophysicalModels/basic/mixtures/basicMixture/makeBasicMixture.H
@@ -25,6 +25,7 @@ InClass
     Foam::basicMixture
 
 Description
+    Macros for creating 'basic' mixtures for basic fluid thermo packages
 
 \*---------------------------------------------------------------------------*/
 
@@ -32,44 +33,19 @@ Description
 #define makeBasicMixture_H
 
 #include "basicMixture.H"
-#include "sensibleEnthalpy.H"
+#include "addToRunTimeSelectionTable.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-#define makeBasicMixture(Mixture,Transport,Type,Thermo,EqnOfState)            \
+#define makeBasicMixture(Mixture,Transport,Type,Thermo,EqnOfState,Specie)     \
                                                                               \
 typedef                                                                       \
-    Mixture<Transport<species::thermo<Thermo<EqnOfState<specie> >, Type> > >  \
-    Mixture##Transport##Type##Thermo##EqnOfState;                             \
+    Mixture<Transport<species::thermo<Thermo<EqnOfState<Specie> >, Type> > >  \
+    Mixture##Transport##Type##Thermo##EqnOfState##Specie;                     \
                                                                               \
 defineTemplateTypeNameAndDebugWithName                                        \
-    (Mixture##Transport##Type##Thermo##EqnOfState,                            \
-    #Mixture"<"#Transport"<"#Thermo"<"#EqnOfState">,"#Type">>", 0)
-
-
-#define makeBasicPolyMixture(Mixture,Order,Type)                              \
-                                                                              \
-typedef polynomialTransport                                                   \
-<                                                                             \
-    species::thermo                                                           \
-    <                                                                         \
-        hPolynomialThermo                                                     \
-        <                                                                     \
-            icoPolynomial<specie, Order>,                                     \
-            Order                                                             \
-        >,                                                                    \
-        Type                                                                  \
-    >,                                                                        \
-    Order                                                                     \
-> icoPoly##Order##Type##ThermoPhysics;                                        \
-                                                                              \
-typedef Mixture<icoPoly##Order##Type##ThermoPhysics>                          \
-    Mixture##icoPoly##Order##Type##ThermoPhysics;                             \
-                                                                              \
-defineTemplateTypeNameAndDebugWithName                                        \
-    (Mixture##icoPoly##Order##Type##ThermoPhysics,                            \
-    #Mixture"<icoPoly"#Order#Type"ThermoPhysics>", 0)
-
+    (Mixture##Transport##Type##Thermo##EqnOfState##Specie,                    \
+    #Mixture"<"#Transport"<"#Thermo"<"#EqnOfState"<"#Specie">>,"#Type">>", 0)
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/src/thermophysicalModels/basic/psiThermo/hePsiThermo/hePsiThermos.C b/src/thermophysicalModels/basic/psiThermo/hePsiThermo/hePsiThermos.C
index 5046cc85ec5853fd467192d2a91f399e736212c7..add4c88ceaa4b85f00c2afcff30d804ed33a39a3 100644
--- a/src/thermophysicalModels/basic/psiThermo/hePsiThermo/hePsiThermos.C
+++ b/src/thermophysicalModels/basic/psiThermo/hePsiThermo/hePsiThermos.C
@@ -56,7 +56,8 @@ makeThermo
     constTransport,
     sensibleEnthalpy,
     hConstThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeThermo
@@ -67,7 +68,8 @@ makeThermo
     sutherlandTransport,
     sensibleEnthalpy,
     hConstThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeThermo
@@ -78,7 +80,8 @@ makeThermo
     sutherlandTransport,
     sensibleEnthalpy,
     janafThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 
@@ -92,7 +95,8 @@ makeThermo
     constTransport,
     sensibleInternalEnergy,
     eConstThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeThermo
@@ -103,7 +107,8 @@ makeThermo
     sutherlandTransport,
     sensibleInternalEnergy,
     eConstThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeThermo
@@ -114,7 +119,8 @@ makeThermo
     constTransport,
     sensibleInternalEnergy,
     hConstThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeThermo
@@ -125,7 +131,8 @@ makeThermo
     sutherlandTransport,
     sensibleInternalEnergy,
     hConstThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeThermo
@@ -136,7 +143,8 @@ makeThermo
     sutherlandTransport,
     sensibleInternalEnergy,
     janafThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 
diff --git a/src/thermophysicalModels/basic/psiThermo/psiThermo/psiThermoNew.C b/src/thermophysicalModels/basic/psiThermo/psiThermo/psiThermoNew.C
index 879ff13360af6a786fa677e2cdb9ae8677101253..d0601fe15c0f1e76b4adb7994a0c4b66beb4f4a9 100644
--- a/src/thermophysicalModels/basic/psiThermo/psiThermo/psiThermoNew.C
+++ b/src/thermophysicalModels/basic/psiThermo/psiThermo/psiThermoNew.C
@@ -55,15 +55,17 @@ Foam::autoPtr<Foam::psiThermo> Foam::psiThermo::New
         word mixture(thermoTypeDict.lookup("mixture"));
         word transport(thermoTypeDict.lookup("transport"));
         word thermo(thermoTypeDict.lookup("thermo"));
-        word equationOfState(thermoTypeDict.lookup("equationOfState"));
         word energy(thermoTypeDict.lookup("energy"));
+        word equationOfState(thermoTypeDict.lookup("equationOfState"));
+        word specie(thermoTypeDict.lookup("specie"));
 
         thermoTypeName =
             type + '<'
           + mixture + '<'
           + transport + '<'
           + thermo + '<'
-          + equationOfState + ">,"
+          + equationOfState + '<'
+          + specie + ">>,"
           + energy + ">>>";
     }
     else
diff --git a/src/thermophysicalModels/basic/rhoThermo/heRhoThermo/heRhoThermos.C b/src/thermophysicalModels/basic/rhoThermo/heRhoThermo/heRhoThermos.C
index d33dadce50bfd46d50798f91e92f3b320f0b63a4..fcfc3437dd35810afbc88e6f4160879852e23236 100644
--- a/src/thermophysicalModels/basic/rhoThermo/heRhoThermo/heRhoThermos.C
+++ b/src/thermophysicalModels/basic/rhoThermo/heRhoThermo/heRhoThermos.C
@@ -26,10 +26,10 @@ License
 #include "rhoThermo.H"
 #include "makeThermo.H"
 
+#include "specie.H"
 #include "perfectGas.H"
 #include "incompressiblePerfectGas.H"
 #include "rhoConst.H"
-
 #include "hConstThermo.H"
 #include "janafThermo.H"
 #include "sensibleEnthalpy.H"
@@ -61,7 +61,8 @@ makeThermo
     constTransport,
     sensibleEnthalpy,
     hConstThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeThermo
@@ -72,7 +73,8 @@ makeThermo
     sutherlandTransport,
     sensibleEnthalpy,
     hConstThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeThermo
@@ -83,7 +85,8 @@ makeThermo
     sutherlandTransport,
     sensibleEnthalpy,
     janafThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeThermo
@@ -94,25 +97,20 @@ makeThermo
     constTransport,
     sensibleEnthalpy,
     hConstThermo,
-    rhoConst
+    rhoConst,
+    specie
 );
 
-makePolyThermo
-(
-    rhoThermo,
-    heRhoThermo,
-    pureMixture,
-    3,
-    sensibleEnthalpy
-);
-
-makePolyThermo
+makeThermo
 (
     rhoThermo,
     heRhoThermo,
     pureMixture,
-    8,
-    sensibleEnthalpy
+    polynomialTransport,
+    sensibleEnthalpy,
+    hPolynomialThermo,
+    icoPolynomial,
+    specie
 );
 
 makeThermo
@@ -123,7 +121,8 @@ makeThermo
     constTransport,
     sensibleEnthalpy,
     hConstThermo,
-    incompressiblePerfectGas
+    incompressiblePerfectGas,
+    specie
 );
 
 makeThermo
@@ -134,7 +133,8 @@ makeThermo
     sutherlandTransport,
     sensibleEnthalpy,
     hConstThermo,
-    incompressiblePerfectGas
+    incompressiblePerfectGas,
+    specie
 );
 
 makeThermo
@@ -145,7 +145,8 @@ makeThermo
     sutherlandTransport,
     sensibleEnthalpy,
     janafThermo,
-    incompressiblePerfectGas
+    incompressiblePerfectGas,
+    specie
 );
 
 
@@ -159,7 +160,8 @@ makeThermo
     constTransport,
     sensibleInternalEnergy,
     hConstThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeThermo
@@ -170,7 +172,8 @@ makeThermo
     sutherlandTransport,
     sensibleInternalEnergy,
     hConstThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeThermo
@@ -181,7 +184,8 @@ makeThermo
     sutherlandTransport,
     sensibleInternalEnergy,
     janafThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeThermo
@@ -192,25 +196,20 @@ makeThermo
     constTransport,
     sensibleInternalEnergy,
     hConstThermo,
-    rhoConst
+    rhoConst,
+    specie
 );
 
-makePolyThermo
-(
-    rhoThermo,
-    heRhoThermo,
-    pureMixture,
-    3,
-    sensibleInternalEnergy
-);
-
-makePolyThermo
+makeThermo
 (
     rhoThermo,
     heRhoThermo,
     pureMixture,
-    8,
-    sensibleInternalEnergy
+    polynomialTransport,
+    sensibleInternalEnergy,
+    hPolynomialThermo,
+    icoPolynomial,
+    specie
 );
 
 makeThermo
@@ -221,7 +220,8 @@ makeThermo
     constTransport,
     sensibleInternalEnergy,
     hConstThermo,
-    incompressiblePerfectGas
+    incompressiblePerfectGas,
+    specie
 );
 
 makeThermo
@@ -232,7 +232,8 @@ makeThermo
     sutherlandTransport,
     sensibleInternalEnergy,
     hConstThermo,
-    incompressiblePerfectGas
+    incompressiblePerfectGas,
+    specie
 );
 
 makeThermo
@@ -243,7 +244,8 @@ makeThermo
     sutherlandTransport,
     sensibleInternalEnergy,
     janafThermo,
-    incompressiblePerfectGas
+    incompressiblePerfectGas,
+    specie
 );
 
 
diff --git a/src/thermophysicalModels/reactionThermo/makeReactionThermo.H b/src/thermophysicalModels/reactionThermo/makeReactionThermo.H
index bbc8336dc6a9b2089afd431919c44901bc9a3267..37221d10909903ee742322c65479f2c92aec29d8 100644
--- a/src/thermophysicalModels/reactionThermo/makeReactionThermo.H
+++ b/src/thermophysicalModels/reactionThermo/makeReactionThermo.H
@@ -31,7 +31,7 @@ License
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-#define makeReactionThermo(BaseThermo,CThermo,MixtureThermo,Mixture,Transport,Type,Thermo,EqnOfState) \
+#define makeReactionThermo(BaseThermo,CThermo,MixtureThermo,Mixture,Transport,Type,Thermo,EqnOfState,Specie) \
                                                                               \
 typedef MixtureThermo                                                         \
 <                                                                             \
@@ -45,18 +45,21 @@ typedef MixtureThermo                                                         \
                 <                                                             \
                     Thermo                                                    \
                     <                                                         \
-                        EqnOfState<specie>                                    \
+                        EqnOfState                                            \
+                        <                                                     \
+                            Specie                                            \
+                        >                                                     \
                     >,                                                        \
                     Type                                                      \
                 >                                                             \
             >                                                                 \
         >                                                                     \
     >                                                                         \
-> MixtureThermo##Mixture##Transport##Type##Thermo##EqnOfState;                \
+> MixtureThermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie;        \
                                                                               \
 defineTemplateTypeNameAndDebugWithName                                        \
 (                                                                             \
-    MixtureThermo##Mixture##Transport##Type##Thermo##EqnOfState,              \
+    MixtureThermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie,      \
     #MixtureThermo                                                            \
     "<"                                                                       \
         #Mixture                                                              \
@@ -66,6 +69,9 @@ defineTemplateTypeNameAndDebugWithName                                        \
                 #Thermo                                                       \
                 "<"                                                           \
                     #EqnOfState                                               \
+                    "<"                                                       \
+                        #Specie                                               \
+                    ">"                                                       \
                 ">,"                                                          \
                 #Type                                                         \
             ">>>",                                                            \
@@ -75,14 +81,14 @@ defineTemplateTypeNameAndDebugWithName                                        \
 addToRunTimeSelectionTable                                                    \
 (                                                                             \
     BaseThermo,                                                               \
-    MixtureThermo##Mixture##Transport##Type##Thermo##EqnOfState,              \
+    MixtureThermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie,      \
     fvMesh                                                                    \
 );                                                                            \
                                                                               \
 addToRunTimeSelectionTable                                                    \
 (                                                                             \
     CThermo,                                                                  \
-    MixtureThermo##Mixture##Transport##Type##Thermo##EqnOfState,              \
+    MixtureThermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie,      \
     fvMesh                                                                    \
 )
 
diff --git a/src/thermophysicalModels/reactionThermo/psiReactionThermo/hePsiReactionThermo/hePsiReactionThermos.C b/src/thermophysicalModels/reactionThermo/psiReactionThermo/hePsiReactionThermo/hePsiReactionThermos.C
index 96bc651bb0a656f3d8ccc650a5130b8426bfc83a..2b668ca634b9d16487c4ad05261c1f3310e1a6f9 100644
--- a/src/thermophysicalModels/reactionThermo/psiReactionThermo/hePsiReactionThermo/hePsiReactionThermos.C
+++ b/src/thermophysicalModels/reactionThermo/psiReactionThermo/hePsiReactionThermo/hePsiReactionThermos.C
@@ -28,13 +28,12 @@ License
 #include "psiReactionThermo.H"
 #include "hePsiReactionThermo.H"
 
+#include "specie.H"
 #include "perfectGas.H"
-
 #include "hConstThermo.H"
 #include "janafThermo.H"
 #include "sensibleEnthalpy.H"
 #include "thermo.H"
-
 #include "constTransport.H"
 #include "sutherlandTransport.H"
 
@@ -65,7 +64,8 @@ makeReactionThermo
     constTransport,
     sensibleEnthalpy,
     hConstThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeReactionThermo
@@ -77,7 +77,8 @@ makeReactionThermo
     constTransport,
     sensibleEnthalpy,
     hConstThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeReactionThermo
@@ -89,7 +90,8 @@ makeReactionThermo
     constTransport,
     sensibleEnthalpy,
     hConstThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 
@@ -104,7 +106,8 @@ makeReactionThermo
     sutherlandTransport,
     sensibleEnthalpy,
     hConstThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeReactionThermo
@@ -116,7 +119,8 @@ makeReactionThermo
     sutherlandTransport,
     sensibleEnthalpy,
     hConstThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeReactionThermo
@@ -128,7 +132,8 @@ makeReactionThermo
     sutherlandTransport,
     sensibleEnthalpy,
     hConstThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 
@@ -143,7 +148,8 @@ makeReactionThermo
     sutherlandTransport,
     sensibleEnthalpy,
     janafThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeReactionThermo
@@ -155,7 +161,8 @@ makeReactionThermo
     sutherlandTransport,
     sensibleEnthalpy,
     janafThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeReactionThermo
@@ -167,7 +174,8 @@ makeReactionThermo
     sutherlandTransport,
     sensibleEnthalpy,
     janafThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 
diff --git a/src/thermophysicalModels/reactionThermo/psiReactionThermo/heheuReactionThermo/heheuReactionThermos.C b/src/thermophysicalModels/reactionThermo/psiReactionThermo/heheuReactionThermo/heheuReactionThermos.C
index f915f5a6d43b46be8f228bdeae2778abb3455662..f5c65f483dd8bd01f43a4e61af12c865727958c3 100644
--- a/src/thermophysicalModels/reactionThermo/psiReactionThermo/heheuReactionThermo/heheuReactionThermos.C
+++ b/src/thermophysicalModels/reactionThermo/psiReactionThermo/heheuReactionThermo/heheuReactionThermos.C
@@ -29,13 +29,12 @@ License
 #include "makeReactionThermo.H"
 #include "addToRunTimeSelectionTable.H"
 
+#include "specie.H"
 #include "perfectGas.H"
-
 #include "hConstThermo.H"
 #include "janafThermo.H"
 #include "absoluteEnthalpy.H"
 #include "thermo.H"
-
 #include "constTransport.H"
 #include "sutherlandTransport.H"
 
@@ -62,7 +61,8 @@ makeReactionThermo
     constTransport,
     absoluteEnthalpy,
     hConstThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeReactionThermo
@@ -74,7 +74,8 @@ makeReactionThermo
     constTransport,
     absoluteEnthalpy,
     hConstThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeReactionThermo
@@ -86,7 +87,8 @@ makeReactionThermo
     constTransport,
     absoluteEnthalpy,
     hConstThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeReactionThermo
@@ -98,7 +100,8 @@ makeReactionThermo
     sutherlandTransport,
     absoluteEnthalpy,
     janafThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeReactionThermo
@@ -110,7 +113,8 @@ makeReactionThermo
     sutherlandTransport,
     absoluteEnthalpy,
     janafThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeReactionThermo
@@ -122,7 +126,8 @@ makeReactionThermo
     sutherlandTransport,
     absoluteEnthalpy,
     janafThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeReactionThermo
@@ -134,7 +139,8 @@ makeReactionThermo
     constTransport,
     absoluteEnthalpy,
     hConstThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeReactionThermo
@@ -146,7 +152,8 @@ makeReactionThermo
     sutherlandTransport,
     absoluteEnthalpy,
     janafThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 
diff --git a/src/thermophysicalModels/reactionThermo/rhoReactionThermo/heRhoReactionThermo/heRhoReactionThermos.C b/src/thermophysicalModels/reactionThermo/rhoReactionThermo/heRhoReactionThermo/heRhoReactionThermos.C
index b31ed3e253ab43276f22c04d6d07f3aad7b4553f..4514f9586af739d1f3264768cce47383f49fef72 100644
--- a/src/thermophysicalModels/reactionThermo/rhoReactionThermo/heRhoReactionThermo/heRhoReactionThermos.C
+++ b/src/thermophysicalModels/reactionThermo/rhoReactionThermo/heRhoReactionThermo/heRhoReactionThermos.C
@@ -28,9 +28,9 @@ License
 #include "rhoReactionThermo.H"
 #include "heRhoReactionThermo.H"
 
+#include "specie.H"
 #include "perfectGas.H"
 #include "incompressiblePerfectGas.H"
-
 #include "hConstThermo.H"
 #include "janafThermo.H"
 #include "sensibleEnthalpy.H"
@@ -64,7 +64,8 @@ makeReactionThermo
     constTransport,
     sensibleEnthalpy,
     hConstThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeReactionThermo
@@ -76,7 +77,8 @@ makeReactionThermo
     constTransport,
     sensibleEnthalpy,
     hConstThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeReactionThermo
@@ -88,7 +90,8 @@ makeReactionThermo
     constTransport,
     sensibleEnthalpy,
     hConstThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeReactionThermo
@@ -100,7 +103,8 @@ makeReactionThermo
     sutherlandTransport,
     sensibleEnthalpy,
     janafThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeReactionThermo
@@ -112,7 +116,8 @@ makeReactionThermo
     sutherlandTransport,
     sensibleEnthalpy,
     janafThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 makeReactionThermo
@@ -124,7 +129,8 @@ makeReactionThermo
     sutherlandTransport,
     sensibleEnthalpy,
     janafThermo,
-    perfectGas
+    perfectGas,
+    specie
 );
 
 
@@ -137,7 +143,8 @@ makeReactionThermo
     constTransport,
     sensibleEnthalpy,
     hConstThermo,
-    incompressiblePerfectGas
+    incompressiblePerfectGas,
+    specie
 );
 
 makeReactionThermo
@@ -149,7 +156,8 @@ makeReactionThermo
     constTransport,
     sensibleEnthalpy,
     hConstThermo,
-    incompressiblePerfectGas
+    incompressiblePerfectGas,
+    specie
 );
 
 makeReactionThermo
@@ -161,7 +169,8 @@ makeReactionThermo
     constTransport,
     sensibleEnthalpy,
     hConstThermo,
-    incompressiblePerfectGas
+    incompressiblePerfectGas,
+    specie
 );
 
 makeReactionThermo
@@ -173,7 +182,8 @@ makeReactionThermo
     sutherlandTransport,
     sensibleEnthalpy,
     janafThermo,
-    incompressiblePerfectGas
+    incompressiblePerfectGas,
+    specie
 );
 
 makeReactionThermo
@@ -185,7 +195,8 @@ makeReactionThermo
     sutherlandTransport,
     sensibleEnthalpy,
     janafThermo,
-    incompressiblePerfectGas
+    incompressiblePerfectGas,
+    specie
 );
 
 makeReactionThermo
@@ -197,7 +208,8 @@ makeReactionThermo
     sutherlandTransport,
     sensibleEnthalpy,
     janafThermo,
-    incompressiblePerfectGas
+    incompressiblePerfectGas,
+    specie
 );
 
 
diff --git a/src/thermophysicalModels/solidThermo/heSolidThermo/heSolidThermos.C b/src/thermophysicalModels/solidThermo/heSolidThermo/heSolidThermos.C
index 0b7e68e328b96bc0950fa13df2b9557f3803a282..860626e7c7f1272214b9b84c15ef63926ef009ae 100644
--- a/src/thermophysicalModels/solidThermo/heSolidThermo/heSolidThermos.C
+++ b/src/thermophysicalModels/solidThermo/heSolidThermo/heSolidThermos.C
@@ -26,21 +26,17 @@ License
 
 #include "makeSolidThermo.H"
 
+#include "specie.H"
 #include "rhoConst.H"
-
 #include "hConstThermo.H"
 #include "hExponentialThermo.H"
-
 #include "constIsoSolidTransport.H"
 #include "constAnIsoSolidTransport.H"
 #include "exponentialSolidTransport.H"
-
 #include "constSolidRad.H"
-
 #include "pureSolidMixture.H"
 #include "multiComponentSolidMixture.H"
 #include "reactingSolidMixture.H"
-
 #include "sensibleEnthalpy.H"
 #include "sensibleInternalEnergy.H"
 #include "thermo.H"
@@ -67,7 +63,8 @@ makeSolidThermo
     constSolidRad,
     sensibleEnthalpy,
     hConstThermo,
-    rhoConst
+    rhoConst,
+    specie
 );
 
 makeSolidThermo
@@ -79,7 +76,8 @@ makeSolidThermo
     constSolidRad,
     sensibleEnthalpy,
     hConstThermo,
-    rhoConst
+    rhoConst,
+    specie
 );
 
 makeSolidThermo
@@ -91,7 +89,8 @@ makeSolidThermo
     constSolidRad,
     sensibleEnthalpy,
     hExponentialThermo,
-    rhoConst
+    rhoConst,
+    specie
 );
 
 makeSolidThermo
@@ -103,7 +102,8 @@ makeSolidThermo
     constSolidRad,
     sensibleEnthalpy,
     hConstThermo,
-    rhoConst
+    rhoConst,
+    specie
 );
 
 makeSolidThermo
@@ -115,7 +115,8 @@ makeSolidThermo
     constSolidRad,
     sensibleEnthalpy,
     hConstThermo,
-    rhoConst
+    rhoConst,
+    specie
 );
 
 
diff --git a/src/thermophysicalModels/solidThermo/solidThermo/makeSolidThermo.H b/src/thermophysicalModels/solidThermo/solidThermo/makeSolidThermo.H
index 25aaf9d2eeeba9b6d2a57d4d7687cf1908a0bd1f..12dde56bd18dc206c11c143df109dbcd8944e82d 100644
--- a/src/thermophysicalModels/solidThermo/solidThermo/makeSolidThermo.H
+++ b/src/thermophysicalModels/solidThermo/solidThermo/makeSolidThermo.H
@@ -36,10 +36,8 @@ Description
 #include "basicThermo.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-namespace Foam
-{
 
-#define makeSolidThermo(BaseThermo,Cthermo,Mixture,Transport,Radiation,Type,Thermo,EqnOfState)\
+#define makeSolidThermo(BaseThermo,Cthermo,Mixture,Transport,Radiation,Type,Thermo,EqnOfState,Specie)\
                                                                               \
 typedef Cthermo                                                               \
 <                                                                             \
@@ -53,7 +51,10 @@ typedef Cthermo                                                               \
                 <                                                             \
                     Thermo                                                    \
                     <                                                         \
-                        EqnOfState<specie>                                    \
+                        EqnOfState                                            \
+                        <                                                     \
+                            Specie                                            \
+                        >                                                     \
                     >,                                                        \
                     Type                                                      \
                 >                                                             \
@@ -61,11 +62,13 @@ typedef Cthermo                                                               \
         >                                                                     \
     >,                                                                        \
     BaseThermo                                                                \
->Cthermo##Mixture##Transport##Radiation##Type##Thermo##EqnOfState##BaseThermo;\
+> Cthermo##Mixture##Transport##Radiation##Type##Thermo                        \
+      ##EqnOfState##Specie##BaseThermo;                                       \
                                                                               \
 defineTemplateTypeNameAndDebugWithName                                        \
 (                                                                             \
-Cthermo##Mixture##Transport##Radiation##Type##Thermo##EqnOfState##BaseThermo, \
+    Cthermo##Mixture##Transport##Radiation##Type##Thermo                      \
+         ##EqnOfState##Specie##BaseThermo,                                    \
     #Cthermo                                                                  \
     "<"                                                                       \
         #Mixture                                                              \
@@ -77,6 +80,9 @@ Cthermo##Mixture##Transport##Radiation##Type##Thermo##EqnOfState##BaseThermo, \
                     #Thermo                                                   \
                     "<"                                                       \
                         #EqnOfState                                           \
+                        "<"                                                   \
+                            #Specie                                           \
+                        ">"                                                   \
                     ">,"                                                      \
                     #Type                                                     \
         ">>>>",                                                               \
@@ -94,19 +100,21 @@ typedef Mixture                                                               \
             <                                                                 \
                 Thermo                                                        \
                 <                                                             \
-                    EqnOfState<specie>                                        \
+                    EqnOfState                                                \
+                    <                                                         \
+                        Specie                                                \
+                    >                                                         \
                 >,                                                            \
                 Type                                                          \
             >                                                                 \
         >                                                                     \
     >                                                                         \
->   Mixture##Transport##Radiation##Type##Thermo##EqnOfState;                  \
-                                                                              \
+> Mixture##Transport##Radiation##Type##Thermo##EqnOfState##Specie;            \
                                                                               \
                                                                               \
 defineTemplateTypeNameAndDebugWithName                                        \
 (                                                                             \
-    Mixture##Transport##Radiation##Type##Thermo##EqnOfState,                  \
+    Mixture##Transport##Radiation##Type##Thermo##EqnOfState##Specie,          \
     #Mixture                                                                  \
     "<"                                                                       \
         #Transport                                                            \
@@ -125,26 +133,28 @@ defineTemplateTypeNameAndDebugWithName                                        \
 addToRunTimeSelectionTable                                                    \
 (                                                                             \
     BaseThermo,                                                               \
-Cthermo##Mixture##Transport##Radiation##Type##Thermo##EqnOfState##BaseThermo, \
+    Cthermo##Mixture##Transport##Radiation##Type##Thermo                      \
+        ##EqnOfState##Specie##BaseThermo,                                     \
     mesh                                                                      \
 );                                                                            \
+                                                                              \
 addToRunTimeSelectionTable                                                    \
 (                                                                             \
     basicThermo,                                                              \
-Cthermo##Mixture##Transport##Radiation##Type##Thermo##EqnOfState##BaseThermo, \
+    Cthermo##Mixture##Transport##Radiation##Type##Thermo                      \
+        ##EqnOfState##Specie##BaseThermo,                                     \
     fvMesh                                                                    \
 );                                                                            \
                                                                               \
 addToRunTimeSelectionTable                                                    \
 (                                                                             \
     BaseThermo,                                                               \
-Cthermo##Mixture##Transport##Radiation##Type##Thermo##EqnOfState##BaseThermo, \
+    Cthermo##Mixture##Transport##Radiation##Type##Thermo                      \
+        ##EqnOfState##Specie##BaseThermo,                                     \
     dictionary                                                                \
 );
 
 
-}
-
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 #endif
diff --git a/src/thermophysicalModels/specie/equationOfState/icoPolynomial/icoPolynomial.H b/src/thermophysicalModels/specie/equationOfState/icoPolynomial/icoPolynomial.H
index ba92455f8276f9cf6c44ca8a4b2b3933372654de..30feeb88b8de19570b67ca7b76ee812e480be9bf 100644
--- a/src/thermophysicalModels/specie/equationOfState/icoPolynomial/icoPolynomial.H
+++ b/src/thermophysicalModels/specie/equationOfState/icoPolynomial/icoPolynomial.H
@@ -90,7 +90,7 @@ Ostream& operator<<
                         Class icoPolynomial Declaration
 \*---------------------------------------------------------------------------*/
 
-template<class Specie, int PolySize>
+template<class Specie, int PolySize=8>
 class icoPolynomial
 :
     public Specie
diff --git a/src/thermophysicalModels/specie/thermo/hPolynomial/hPolynomialThermo.H b/src/thermophysicalModels/specie/thermo/hPolynomial/hPolynomialThermo.H
index 68b2ecd2d0da2a25b4cd6fe3bdb25c8b634fabf2..1465c94f2a7e24045e44f1237703e700e8a625d6 100644
--- a/src/thermophysicalModels/specie/thermo/hPolynomial/hPolynomialThermo.H
+++ b/src/thermophysicalModels/specie/thermo/hPolynomial/hPolynomialThermo.H
@@ -92,7 +92,7 @@ Ostream& operator<<
                       Class hPolynomialThermo Declaration
 \*---------------------------------------------------------------------------*/
 
-template<class EquationOfState, int PolySize>
+template<class EquationOfState, int PolySize=8>
 class hPolynomialThermo
 :
     public EquationOfState
diff --git a/src/thermophysicalModels/specie/transport/polynomial/polynomialTransport.H b/src/thermophysicalModels/specie/transport/polynomial/polynomialTransport.H
index d5a767fe4475d16b9c29fea88ac81dac6c953731..eeb223aa2959cd31012ac8c11bfdaf49d857c235 100644
--- a/src/thermophysicalModels/specie/transport/polynomial/polynomialTransport.H
+++ b/src/thermophysicalModels/specie/transport/polynomial/polynomialTransport.H
@@ -87,7 +87,7 @@ Ostream& operator<<
                      Class polynomialTransport Declaration
 \*---------------------------------------------------------------------------*/
 
-template<class Thermo, int PolySize>
+template<class Thermo, int PolySize=8>
 class polynomialTransport
 :
     public Thermo
diff --git a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/thermophysicalProperties b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/thermophysicalProperties
index d7a6a98dfec4e6bea089ca0b928c55254b6ab889..519e0e6d78bce0359f0d8afd7802959213208568 100644
--- a/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/thermophysicalProperties
+++ b/tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType  heheuReactionThermo<inhomogeneousMixture<sutherlandTransport<janafThermo<perfectGas>,absoluteEnthalpy>>>;
+thermoType  heheuReactionThermo<inhomogeneousMixture<sutherlandTransport<janafThermo<perfectGas<specie>>,absoluteEnthalpy>>>;
 
 stoichiometricAirFuelMassRatio  stoichiometricAirFuelMassRatio [0 0 0 0 0 0 0] 15.5776;
 
diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/thermophysicalProperties b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/thermophysicalProperties
index b622e094b3fa1bc8e70b4e5fac123ae54d80023e..7b90190601a0376cf20b5a73104dba6030adb3fe 100644
--- a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/thermophysicalProperties
+++ b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType heheuReactionThermo<homogeneousMixture<sutherlandTransport<janafThermo<perfectGas>,absoluteEnthalpy>>>;
+thermoType heheuReactionThermo<homogeneousMixture<sutherlandTransport<janafThermo<perfectGas<specie>>,absoluteEnthalpy>>>;
 
 stoichiometricAirFuelMassRatio stoichiometricAirFuelMassRatio [ 0 0 0 0 0 0 0 ] 15.675;
 
diff --git a/tutorials/combustion/engineFoam/kivaTest/constant/thermophysicalProperties b/tutorials/combustion/engineFoam/kivaTest/constant/thermophysicalProperties
index 361194ecf7789dc93da38b290839c5475829cab8..f0ce1adb1ad189ae650a7f7527f318d7b962caf8 100644
--- a/tutorials/combustion/engineFoam/kivaTest/constant/thermophysicalProperties
+++ b/tutorials/combustion/engineFoam/kivaTest/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      heheuReactionThermo<inhomogeneousMixture<sutherlandTransport<janafThermo<perfectGas>,absoluteEnthalpy>>>;
+thermoType      heheuReactionThermo<inhomogeneousMixture<sutherlandTransport<janafThermo<perfectGas<specie>>,absoluteEnthalpy>>>;
 
 stoichiometricAirFuelMassRatio stoichiometricAirFuelMassRatio [ 0 0 0 0 0 0 0 ] 15.0336;
 
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/panelRegion/thermophysicalProperties b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/panelRegion/thermophysicalProperties
index abe95b22c9a250e9f7d9db50da0936b258ff0395..9c79a06e636944ac919b1b45e715f5c9b9e69219 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>,sensibleEnthalpy>>>>;
+thermoType heSolidThermo<reactingSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
 
 solidComponents
 (
diff --git a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/thermophysicalProperties
index 97dd3d9c55acbde58da9492a5e6cb9764dad0144..562bc6c8ec98049fbee8924df54f6a05cec9d8fd 100644
--- a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiThermo<pureMixture<sutherlandTransport<hConstThermo<perfectGas>,sensibleInternalEnergy>>>;
+thermoType      hePsiThermo<pureMixture<sutherlandTransport<hConstThermo<perfectGas<specie>>,sensibleInternalEnergy>>>;
 
 mixture
 {
diff --git a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/thermophysicalProperties
index 133d8db277c58a505548440a843ea9eb08cf14d2..c6179ae4c5d10df29cd90dc9ba1165bf489cf03f 100644
--- a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiThermo<pureMixture<sutherlandTransport<janafThermo<perfectGas>,sensibleInternalEnergy>>>;
+thermoType      hePsiThermo<pureMixture<sutherlandTransport<janafThermo<perfectGas<specie>>,sensibleInternalEnergy>>>;
 
 mixture
 {
diff --git a/tutorials/compressible/rhoCentralFoam/forwardStep/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/forwardStep/constant/thermophysicalProperties
index ab2183b98c7faa01f807c9461e48c652cb037e13..807bed8913ce43bd904e8d37f5a9668df0d2d1b9 100644
--- a/tutorials/compressible/rhoCentralFoam/forwardStep/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoCentralFoam/forwardStep/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleInternalEnergy>>>;
+thermoType      hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas<specie>>,sensibleInternalEnergy>>>;
 
 // Note: these are the properties for a "normalised" inviscid gas
 //       for which the speed of sound is 1 m/s at a temperature of 1K
diff --git a/tutorials/compressible/rhoCentralFoam/obliqueShock/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/obliqueShock/constant/thermophysicalProperties
index 491dee4349791c1e875bdae166382f2e359a7727..8bd843241a714782381dd203832d4aca1582f3f0 100644
--- a/tutorials/compressible/rhoCentralFoam/obliqueShock/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoCentralFoam/obliqueShock/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleInternalEnergy>>>;
+thermoType      hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas<specie>>,sensibleInternalEnergy>>>;
 
 mixture
 {
diff --git a/tutorials/compressible/rhoCentralFoam/shockTube/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/shockTube/constant/thermophysicalProperties
index 20c4bf562a45eefa8ed155174e9d72395a78b957..1edc08f91bd88e1f613987332d72bdfb706e6a17 100644
--- a/tutorials/compressible/rhoCentralFoam/shockTube/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoCentralFoam/shockTube/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleInternalEnergy>>>;
+thermoType      hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas<specie>>,sensibleInternalEnergy>>>;
 
 mixture
 {
diff --git a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/constant/thermophysicalProperties
index 491dee4349791c1e875bdae166382f2e359a7727..8bd843241a714782381dd203832d4aca1582f3f0 100644
--- a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleInternalEnergy>>>;
+thermoType      hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas<specie>>,sensibleInternalEnergy>>>;
 
 mixture
 {
diff --git a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/constant/thermophysicalProperties b/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/constant/thermophysicalProperties
index fbeb00f80a93b5e9d2d9eb6da9ed7da197683bf2..84fbe3d678aee75568bc0e79679628d1111846a0 100644
--- a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
+thermoType      hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas<specie>>,sensibleEnthalpy>>>;
 
 mixture
 {
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/thermophysicalProperties b/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/thermophysicalProperties
index ac8b4bff371e597427ccdc8ab3e34817c67d62f8..1af5e2549d9cb39cde7feb3436fbf881e9886f26 100644
--- a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiThermo<pureMixture<sutherlandTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
+thermoType      hePsiThermo<pureMixture<sutherlandTransport<hConstThermo<perfectGas<specie>>,sensibleEnthalpy>>>;
 
 mixture
 {
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/cavity/constant/thermophysicalProperties b/tutorials/compressible/rhoPimpleFoam/ras/cavity/constant/thermophysicalProperties
index 30f563b195f1bb60496b8834c158e86860992356..934357143717a0ecff22bd29d7348c7de194e8ad 100644
--- a/tutorials/compressible/rhoPimpleFoam/ras/cavity/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoPimpleFoam/ras/cavity/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
+thermoType hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas<specie>>,sensibleEnthalpy>>>;
 
 mixture
 {
diff --git a/tutorials/compressible/rhoPimplecFoam/angledDuct/constant/thermophysicalProperties b/tutorials/compressible/rhoPimplecFoam/angledDuct/constant/thermophysicalProperties
index ac8b4bff371e597427ccdc8ab3e34817c67d62f8..1af5e2549d9cb39cde7feb3436fbf881e9886f26 100644
--- a/tutorials/compressible/rhoPimplecFoam/angledDuct/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoPimplecFoam/angledDuct/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiThermo<pureMixture<sutherlandTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
+thermoType      hePsiThermo<pureMixture<sutherlandTransport<hConstThermo<perfectGas<specie>>,sensibleEnthalpy>>>;
 
 mixture
 {
diff --git a/tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/constant/thermophysicalProperties b/tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/constant/thermophysicalProperties
index ac8b4bff371e597427ccdc8ab3e34817c67d62f8..1af5e2549d9cb39cde7feb3436fbf881e9886f26 100644
--- a/tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoPorousMRFLTSPimpleFoam/angledDuct/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiThermo<pureMixture<sutherlandTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
+thermoType      hePsiThermo<pureMixture<sutherlandTransport<hConstThermo<perfectGas<specie>>,sensibleEnthalpy>>>;
 
 mixture
 {
diff --git a/tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/constant/thermophysicalProperties b/tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/constant/thermophysicalProperties
index 58880fac6e1ea72572695ff7ddccf974ca75155c..a59b1bb17a4ba074a1be89759286a41803042931 100644
--- a/tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoPorousMRFPimpleFoam/mixerVessel2D/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiThermo<pureMixture<sutherlandTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
+thermoType      hePsiThermo<pureMixture<sutherlandTransport<hConstThermo<perfectGas<specie>>,sensibleEnthalpy>>>;
 
 mixture
 {
diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/thermophysicalProperties b/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/thermophysicalProperties
index 3b8fb8c661caf0ecb28f74df16a929d43ef3967a..143dcad7b5361083a8af74914195038510f0e39c 100644
--- a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType heRhoThermo<pureMixture<sutherlandTransport<hConstThermo<perfectGas>,sensibleInternalEnergy>>>;
+thermoType heRhoThermo<pureMixture<sutherlandTransport<hConstThermo<perfectGas<specie>>,sensibleInternalEnergy>>>;
 
 mixture
 {
diff --git a/tutorials/compressible/rhoSimplecFoam/squareBend/constant/thermophysicalProperties b/tutorials/compressible/rhoSimplecFoam/squareBend/constant/thermophysicalProperties
index 48d08d02636244d05bf01faa64d3d930d98ce361..1c7da0f1713889955280234533fcb29d57136373 100644
--- a/tutorials/compressible/rhoSimplecFoam/squareBend/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoSimplecFoam/squareBend/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType hePsiThermo<pureMixture<sutherlandTransport<hConstThermo<perfectGas>,sensibleInternalEnergy>>>;
+thermoType hePsiThermo<pureMixture<sutherlandTransport<hConstThermo<perfectGas<specie>>,sensibleInternalEnergy>>>;
 
 mixture
 {
diff --git a/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/thermophysicalProperties b/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/thermophysicalProperties
index ab2183b98c7faa01f807c9461e48c652cb037e13..807bed8913ce43bd904e8d37f5a9668df0d2d1b9 100644
--- a/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/thermophysicalProperties
+++ b/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleInternalEnergy>>>;
+thermoType      hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas<specie>>,sensibleInternalEnergy>>>;
 
 // Note: these are the properties for a "normalised" inviscid gas
 //       for which the speed of sound is 1 m/s at a temperature of 1K
diff --git a/tutorials/compressible/sonicFoam/laminar/shockTube/constant/thermophysicalProperties b/tutorials/compressible/sonicFoam/laminar/shockTube/constant/thermophysicalProperties
index 4aeb09471aef39ff6a16f23032f88ca2d02ca884..f501963c687af5ce503dc27dbeb4ce8428292e7d 100644
--- a/tutorials/compressible/sonicFoam/laminar/shockTube/constant/thermophysicalProperties
+++ b/tutorials/compressible/sonicFoam/laminar/shockTube/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleInternalEnergy>>>;
+thermoType      hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas<specie>>,sensibleInternalEnergy>>>;
 
 mixture
 {
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/thermophysicalProperties b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/thermophysicalProperties
index 7a1082d21644e4e61ee17326c0d294ae96613ae3..d078c46ccb791976b758ad46c7ee75d27b3809c8 100644
--- a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/thermophysicalProperties
+++ b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleInternalEnergy>>>;
+thermoType      hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas<specie>>,sensibleInternalEnergy>>>;
 
 mixture
 {
diff --git a/tutorials/compressible/sonicFoam/ras/prism/constant/thermophysicalProperties b/tutorials/compressible/sonicFoam/ras/prism/constant/thermophysicalProperties
index 7a1082d21644e4e61ee17326c0d294ae96613ae3..d078c46ccb791976b758ad46c7ee75d27b3809c8 100644
--- a/tutorials/compressible/sonicFoam/ras/prism/constant/thermophysicalProperties
+++ b/tutorials/compressible/sonicFoam/ras/prism/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleInternalEnergy>>>;
+thermoType      hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas<specie>>,sensibleInternalEnergy>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/constant/thermophysicalProperties b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/constant/thermophysicalProperties
index dcbf833e28f11e5b2742512709527dbe688fe1fe..1870035bf9fd9c5ae288166a4ac2091c1b7694a0 100644
--- a/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/constant/thermophysicalProperties
+++ b/tutorials/heatTransfer/buoyantPimpleFoam/hotRoom/constant/thermophysicalProperties
@@ -15,8 +15,8 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
-//thermoType heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleInternalEnergy>>>;
+thermoType heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas<specie>>,sensibleEnthalpy>>>;
+//thermoType heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas<specie>>,sensibleInternalEnergy>>>;
 
 pRef            100000;
 
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/thermophysicalProperties b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/thermophysicalProperties
index 8e834a9acd318650b899ed54d67f04ba5e7dedc1..6a782154be195998b20c378653ca15b54710ec2f 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/thermophysicalProperties
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
+thermoType      hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas<specie>>,sensibleEnthalpy>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/constant/thermophysicalProperties b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/constant/thermophysicalProperties
index 8e834a9acd318650b899ed54d67f04ba5e7dedc1..6a782154be195998b20c378653ca15b54710ec2f 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/constant/thermophysicalProperties
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
+thermoType      hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas<specie>>,sensibleEnthalpy>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/changeDictionaryDict.baffleRegion b/tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/system/changeDictionaryDict.baffleRegion
index eb9d296c1297088d3722eb5fb3bfd457f99bbeb9..0bc5e4dbf49af631c281e5befe2ebde2e0c56a0e 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>,sensibleEnthalpy>>>>;
+                thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
 
 
                 mixture
diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/thermophysicalProperties b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/thermophysicalProperties
index 345a7b7573277963922914ef7d85352507b64e6d..55b5c40c20748696f649cc1b578ef545f987b60a 100644
--- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/thermophysicalProperties
+++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-// thermoType hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
+// thermoType hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas<specie>>,sensibleEnthalpy>>>;
 
 thermoType
 {
@@ -23,8 +23,9 @@ thermoType
     mixture             pureMixture;
     transport           constTransport;
     thermo              hConstThermo;
-    equationOfState     perfectGas;
     energy              sensibleEnthalpy;
+    equationOfState     perfectGas;
+    specie              specie;
 }
 
 pRef            100000;
diff --git a/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/thermophysicalProperties b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/thermophysicalProperties
index b61f3fe303d6150b9fbae8f41b73aee4c767c5f7..d4a80ceaa32fae03917df63d82534b52ff236959 100644
--- a/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/thermophysicalProperties
+++ b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
+thermoType      hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas<specie>>,sensibleEnthalpy>>>;
 
 pRef            100000;
 
diff --git a/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoomFvDOM/constant/thermophysicalProperties b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoomFvDOM/constant/thermophysicalProperties
index b61f3fe303d6150b9fbae8f41b73aee4c767c5f7..d4a80ceaa32fae03917df63d82534b52ff236959 100644
--- a/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoomFvDOM/constant/thermophysicalProperties
+++ b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoomFvDOM/constant/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
+thermoType      hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas<specie>>,sensibleEnthalpy>>>;
 
 pRef            100000;
 
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomAir/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomAir/thermophysicalProperties
index 0eaa169eb16c2c1e6c369d0f5352358f937e1854..030a3a3ddd36bee194e2150cf367557c623c580e 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomAir/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomAir/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
+thermoType      heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas<specie>>,sensibleEnthalpy>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/heater/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/heater/thermophysicalProperties
index 700acaa920341abcb214ff4a2550f868ce0e97dc..13a2e81f0323aa37a88e464c59697295491cfd49 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>,sensibleEnthalpy>>>>;
+thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/leftSolid/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/leftSolid/thermophysicalProperties
index 700acaa920341abcb214ff4a2550f868ce0e97dc..13a2e81f0323aa37a88e464c59697295491cfd49 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/leftSolid/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/leftSolid/thermophysicalProperties
@@ -14,7 +14,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst>,sensibleEnthalpy>>>>;
+thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/rightSolid/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/rightSolid/thermophysicalProperties
index 700acaa920341abcb214ff4a2550f868ce0e97dc..13a2e81f0323aa37a88e464c59697295491cfd49 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/rightSolid/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/rightSolid/thermophysicalProperties
@@ -14,7 +14,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst>,sensibleEnthalpy>>>>;
+thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/topAir/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/topAir/thermophysicalProperties
index 27d3b23a53590ed25486497c27ce35b122504492..62209d10711d841851b2f6f9eb4dac8f0f35351e 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/topAir/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/topAir/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
+thermoType      heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas<specie>>,sensibleEnthalpy>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/bottomWater/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/bottomWater/thermophysicalProperties
index cb1219452b690b4aa8b4e6fe39d1cbbbc69ae528..20cc9f227534c3491d5979bf028d0557cfd968f6 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/bottomWater/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/bottomWater/thermophysicalProperties
@@ -14,7 +14,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType heRhoThermo<pureMixture<constTransport<hConstThermo<rhoConst>,sensibleEnthalpy>>>;
+thermoType heRhoThermo<pureMixture<constTransport<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/heater/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/heater/thermophysicalProperties
index aea71ab4351c1ef318d9cf8cd5280e31fd434f87..a4c501e063375d48d345734fcaa19fa76c392233 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>,sensibleEnthalpy>>>>;
+thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/leftSolid/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/leftSolid/thermophysicalProperties
index aea71ab4351c1ef318d9cf8cd5280e31fd434f87..a4c501e063375d48d345734fcaa19fa76c392233 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/leftSolid/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/leftSolid/thermophysicalProperties
@@ -14,7 +14,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst>,sensibleEnthalpy>>>>;
+thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/rightSolid/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/rightSolid/thermophysicalProperties
index aea71ab4351c1ef318d9cf8cd5280e31fd434f87..a4c501e063375d48d345734fcaa19fa76c392233 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/rightSolid/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/rightSolid/thermophysicalProperties
@@ -14,7 +14,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst>,sensibleEnthalpy>>>>;
+thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/topAir/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/topAir/thermophysicalProperties
index 27d3b23a53590ed25486497c27ce35b122504492..62209d10711d841851b2f6f9eb4dac8f0f35351e 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/topAir/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionLiquidHeater/constant/topAir/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
+thermoType      heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas<specie>>,sensibleEnthalpy>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/bottomAir/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/bottomAir/thermophysicalProperties
index 0eaa169eb16c2c1e6c369d0f5352358f937e1854..030a3a3ddd36bee194e2150cf367557c623c580e 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/bottomAir/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/bottomAir/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
+thermoType      heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas<specie>>,sensibleEnthalpy>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/heater/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/heater/thermophysicalProperties
index aea71ab4351c1ef318d9cf8cd5280e31fd434f87..a4c501e063375d48d345734fcaa19fa76c392233 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>,sensibleEnthalpy>>>>;
+thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/leftSolid/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/leftSolid/thermophysicalProperties
index aea71ab4351c1ef318d9cf8cd5280e31fd434f87..a4c501e063375d48d345734fcaa19fa76c392233 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/leftSolid/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/leftSolid/thermophysicalProperties
@@ -14,7 +14,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst>,sensibleEnthalpy>>>>;
+thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/rightSolid/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/rightSolid/thermophysicalProperties
index aea71ab4351c1ef318d9cf8cd5280e31fd434f87..a4c501e063375d48d345734fcaa19fa76c392233 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/rightSolid/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/rightSolid/thermophysicalProperties
@@ -14,7 +14,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst>,sensibleEnthalpy>>>>;
+thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/topAir/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/topAir/thermophysicalProperties
index 27d3b23a53590ed25486497c27ce35b122504492..62209d10711d841851b2f6f9eb4dac8f0f35351e 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/topAir/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/topAir/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
+thermoType      heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas<specie>>,sensibleEnthalpy>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/bottomAir/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/bottomAir/thermophysicalProperties
index 0eaa169eb16c2c1e6c369d0f5352358f937e1854..030a3a3ddd36bee194e2150cf367557c623c580e 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/bottomAir/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/bottomAir/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
+thermoType      heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas<specie>>,sensibleEnthalpy>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/heater/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/heater/thermophysicalProperties
index aea71ab4351c1ef318d9cf8cd5280e31fd434f87..a4c501e063375d48d345734fcaa19fa76c392233 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>,sensibleEnthalpy>>>>;
+thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/leftSolid/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/leftSolid/thermophysicalProperties
index aea71ab4351c1ef318d9cf8cd5280e31fd434f87..a4c501e063375d48d345734fcaa19fa76c392233 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/leftSolid/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/leftSolid/thermophysicalProperties
@@ -14,7 +14,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst>,sensibleEnthalpy>>>>;
+thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/rightSolid/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/rightSolid/thermophysicalProperties
index aea71ab4351c1ef318d9cf8cd5280e31fd434f87..a4c501e063375d48d345734fcaa19fa76c392233 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/rightSolid/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/rightSolid/thermophysicalProperties
@@ -14,7 +14,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst>,sensibleEnthalpy>>>>;
+thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/topAir/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/topAir/thermophysicalProperties
index 27d3b23a53590ed25486497c27ce35b122504492..62209d10711d841851b2f6f9eb4dac8f0f35351e 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/topAir/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/topAir/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
+thermoType      heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas<specie>>,sensibleEnthalpy>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/bottomAir/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/bottomAir/thermophysicalProperties
index 0eaa169eb16c2c1e6c369d0f5352358f937e1854..030a3a3ddd36bee194e2150cf367557c623c580e 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/bottomAir/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/bottomAir/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
+thermoType      heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas<specie>>,sensibleEnthalpy>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/heater/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/heater/thermophysicalProperties
index fa34c319f57f107e60a9ecea185adbe167c5e233..9ac37aef591965dd33d269568646b12155deb3cc 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>,sensibleEnthalpy>>>>;
+thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/leftSolid/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/leftSolid/thermophysicalProperties
index fa34c319f57f107e60a9ecea185adbe167c5e233..9ac37aef591965dd33d269568646b12155deb3cc 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/leftSolid/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/leftSolid/thermophysicalProperties
@@ -14,7 +14,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst>,sensibleEnthalpy>>>>;
+thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/rightSolid/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/rightSolid/thermophysicalProperties
index fa34c319f57f107e60a9ecea185adbe167c5e233..9ac37aef591965dd33d269568646b12155deb3cc 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/rightSolid/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/rightSolid/thermophysicalProperties
@@ -14,7 +14,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst>,sensibleEnthalpy>>>>;
+thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
 
 mixture
 {
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/topAir/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/topAir/thermophysicalProperties
index 27d3b23a53590ed25486497c27ce35b122504492..62209d10711d841851b2f6f9eb4dac8f0f35351e 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/topAir/thermophysicalProperties
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/constant/topAir/thermophysicalProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-thermoType      heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
+thermoType      heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas<specie>>,sensibleEnthalpy>>>;
 
 mixture
 {