diff --git a/applications/solvers/multiphase/cavitatingFoam/Make/options b/applications/solvers/multiphase/cavitatingFoam/Make/options
index 0f2981ab4c1f723977c143543a9dc22fd2710109..2689ed5ab6574ac4a65e57fefa8406fe8f79abe5 100644
--- a/applications/solvers/multiphase/cavitatingFoam/Make/options
+++ b/applications/solvers/multiphase/cavitatingFoam/Make/options
@@ -1,4 +1,5 @@
 EXE_INC = \
+    -I$(LIB_SRC)/transportModels/twoPhaseProperties/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
diff --git a/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/Make/options b/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/Make/options
index fa204ce58f0fdee1455d5339c34ad633135d2ac3..a195aa677494fd08d28d714bb6a33f6e02f3f7de 100644
--- a/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/Make/options
+++ b/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/Make/options
@@ -1,6 +1,7 @@
 EXE_INC = \
     -I.. \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
+    -I$(LIB_SRC)/transportModels/twoPhaseProperties/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
diff --git a/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/cavitatingDyMFoam.C b/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/cavitatingDyMFoam.C
index 45bc766761a0270ce9458fa1648b2cdb3d105c51..cf608d0a6ab498e18bbd55fae57409bc9e9738fb 100644
--- a/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/cavitatingDyMFoam.C
+++ b/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/cavitatingDyMFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -35,7 +35,7 @@ Description
 #include "fvCFD.H"
 #include "dynamicFvMesh.H"
 #include "barotropicCompressibilityModel.H"
-#include "twoPhaseMixture.H"
+#include "incompressibleTwoPhaseMixture.H"
 #include "turbulenceModel.H"
 #include "pimpleControl.H"
 
diff --git a/applications/solvers/multiphase/cavitatingFoam/cavitatingFoam.C b/applications/solvers/multiphase/cavitatingFoam/cavitatingFoam.C
index 256a58d95339b7bb657d697fcef46223a1d38acc..73e9577029b89c186478b4a211cbff054f69d5e6 100644
--- a/applications/solvers/multiphase/cavitatingFoam/cavitatingFoam.C
+++ b/applications/solvers/multiphase/cavitatingFoam/cavitatingFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -34,7 +34,7 @@ Description
 
 #include "fvCFD.H"
 #include "barotropicCompressibilityModel.H"
-#include "twoPhaseMixture.H"
+#include "incompressibleTwoPhaseMixture.H"
 #include "turbulenceModel.H"
 #include "pimpleControl.H"
 
diff --git a/applications/solvers/multiphase/cavitatingFoam/createFields.H b/applications/solvers/multiphase/cavitatingFoam/createFields.H
index c7241406504a6d32d08a9c28b552d0fcdcc3eb44..8958dc3c5ed261572dd3a34ee118de9038bb7cc0 100644
--- a/applications/solvers/multiphase/cavitatingFoam/createFields.H
+++ b/applications/solvers/multiphase/cavitatingFoam/createFields.H
@@ -44,7 +44,7 @@
 
     Info<< "Reading transportProperties\n" << endl;
 
-    twoPhaseMixture twoPhaseProperties(U, phiv, "gamma");
+    incompressibleTwoPhaseMixture twoPhaseProperties(U, phiv, "gamma");
 
     volScalarField& gamma(twoPhaseProperties.alpha1());
     gamma.oldTime();
diff --git a/applications/solvers/multiphase/compressibleInterFoam/Allwclean b/applications/solvers/multiphase/compressibleInterFoam/Allwclean
index 682ca993f6a6b6db68fca2adbbce62ed93bf6471..aa0f3c01c6ba74c8d0cd77ee40e09214002110f6 100755
--- a/applications/solvers/multiphase/compressibleInterFoam/Allwclean
+++ b/applications/solvers/multiphase/compressibleInterFoam/Allwclean
@@ -2,7 +2,7 @@
 cd ${0%/*} || exit 1    # run from this directory
 set -x
 
-wclean libso twoPhaseThermo
+wclean libso twoPhaseMixtureThermo
 wclean
 wclean compressibleInterDyMFoam
 
diff --git a/applications/solvers/multiphase/compressibleInterFoam/Allwmake b/applications/solvers/multiphase/compressibleInterFoam/Allwmake
index 9ff44117f219c28956a5165cd5d58c2ba5ee1916..a93da26cddb8cbeb7421c7bf086ef7ef86241fc4 100755
--- a/applications/solvers/multiphase/compressibleInterFoam/Allwmake
+++ b/applications/solvers/multiphase/compressibleInterFoam/Allwmake
@@ -2,7 +2,7 @@
 cd ${0%/*} || exit 1    # run from this directory
 set -x
 
-wmake libso twoPhaseThermo
+wmake libso twoPhaseMixtureThermo
 wmake
 wmake compressibleInterDyMFoam
 
diff --git a/applications/solvers/multiphase/compressibleInterFoam/Make/options b/applications/solvers/multiphase/compressibleInterFoam/Make/options
index a6a130754a20800314f89a91ac4ae1a5dbf556d7..147bf40e5b33b4ad18c248fa683c027547fbc220 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/Make/options
+++ b/applications/solvers/multiphase/compressibleInterFoam/Make/options
@@ -1,20 +1,18 @@
 EXE_INC = \
-    -ItwoPhaseThermo \
+    -ItwoPhaseMixtureThermo \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-    -I$(LIB_SRC)/transportModels \
-    -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
+    -I$(LIB_SRC)/transportModels/twoPhaseProperties/lnInclude \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \
+    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude
 
 EXE_LIBS = \
-    -ltwoPhaseThermo \
+    -ltwoPhaseMixtureThermo \
     -lfluidThermophysicalModels \
     -lspecie \
+    -ltwoPhaseProperties \
     -linterfaceProperties \
-    -ltwoPhaseInterfaceProperties \
-    -lincompressibleTransportModels \
-    -lincompressibleTurbulenceModel \
-    -lincompressibleRASModels \
-    -lincompressibleLESModels \
+    -lcompressibleTurbulenceModel \
+    -lcompressibleRASModels \
+    -lcompressibleLESModels \
     -lfiniteVolume
diff --git a/applications/solvers/multiphase/compressibleInterFoam/TEqn.H b/applications/solvers/multiphase/compressibleInterFoam/TEqn.H
index d5183d5c4e9aee2f84882b39b1dce1736b4e5fcf..92a2bd64d8f5d5b1317e54f80370ae06d87e46b1 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/TEqn.H
+++ b/applications/solvers/multiphase/compressibleInterFoam/TEqn.H
@@ -3,12 +3,16 @@
     (
         fvm::ddt(rho, T)
       + fvm::div(rhoPhi, T)
-      - fvm::laplacian(thermo.alphaEff(rho*turbulence->nut()), T)
+      - fvm::laplacian(twoPhaseProperties.alphaEff(turbulence->mut()), T)
       + (
             p*fvc::div(phi)
           + fvc::ddt(rho, K) + fvc::div(rhoPhi, K)
-        )*(alpha1/thermo.thermo1().Cv() + alpha2/thermo.thermo2().Cv())
+        )
+       *(
+           alpha1/twoPhaseProperties.thermo1().Cv()
+         + alpha2/twoPhaseProperties.thermo2().Cv()
+        )
     );
 
-    thermo.correct();
+    twoPhaseProperties.correct();
 }
diff --git a/applications/solvers/multiphase/compressibleInterFoam/UEqn.H b/applications/solvers/multiphase/compressibleInterFoam/UEqn.H
index 1c216a8bf7668894e57f08e4e80169c50b5fbfd9..8fc397e8020c8d6c0786192d39dc386d57c0af4f 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/UEqn.H
+++ b/applications/solvers/multiphase/compressibleInterFoam/UEqn.H
@@ -2,7 +2,7 @@
     (
         fvm::ddt(rho, U)
       + fvm::div(rhoPhi, U)
-      + turbulence->divDevRhoReff(rho, U)
+      + turbulence->divDevRhoReff(U)
     );
 
     UEqn.relax();
diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/Make/options b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/Make/options
index 48c21dfee59ebc6d83fd04bc213f36c2e5cd89df..3ee1e97f92e640bb2a4dc21ba8034d646db71f34 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/Make/options
+++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/Make/options
@@ -1,29 +1,25 @@
 EXE_INC = \
     -I.. \
-    -I../twoPhaseThermo \
+    -I../twoPhaseMixtureThermo \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-    -I$(LIB_SRC)/transportModels \
-    -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
+    -I$(LIB_SRC)/transportModels/twoPhaseProperties/lnInclude \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
-    -I../phaseEquationsOfState/lnInclude \
-    -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
+    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
     -I$(LIB_SRC)/dynamicMesh/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/dynamicFvMesh/lnInclude
+    -I$(LIB_SRC)/dynamicFvMesh/lnInclude \
+    -I$(LIB_SRC)/finiteVolume/lnInclude
 
 EXE_LIBS = \
-    -ltwoPhaseThermo \
+    -ltwoPhaseMixtureThermo \
     -lfluidThermophysicalModels \
     -lspecie \
+    -ltwoPhaseProperties \
     -linterfaceProperties \
-    -ltwoPhaseInterfaceProperties \
-    -lincompressibleTransportModels \
-    -lphaseEquationsOfState \
-    -lincompressibleTurbulenceModel \
-    -lincompressibleRASModels \
-    -lincompressibleLESModels \
-    -lfiniteVolume \
+    -lcompressibleTurbulenceModel \
+    -lcompressibleRASModels \
+    -lcompressibleLESModels \
     -ldynamicMesh \
     -lmeshTools \
-    -ldynamicFvMesh
+    -ldynamicFvMesh \
+    -lfiniteVolume
diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/compressibleInterDyMFoam.C b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/compressibleInterDyMFoam.C
index 3cb787d144ef9369a5ded2416de6469ba43c3333..27d3b87cd1d676f267f5bf811ea297dc3a7cf2e2 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/compressibleInterDyMFoam.C
+++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/compressibleInterDyMFoam.C
@@ -43,7 +43,7 @@ Description
 #include "subCycle.H"
 #include "interfaceProperties.H"
 #include "twoPhaseMixture.H"
-#include "twoPhaseThermo.H"
+#include "twoPhaseMixtureThermo.H"
 #include "turbulenceModel.H"
 #include "pimpleControl.H"
 
diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFoam.C b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFoam.C
index 85cab52cdb22999435645e3442e4afcaa2744fd8..3148382ad2e23cb2ddc774dd7064b8bc28ce8c38 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFoam.C
+++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFoam.C
@@ -41,7 +41,7 @@ Description
 #include "rhoThermo.H"
 #include "interfaceProperties.H"
 #include "twoPhaseMixture.H"
-#include "twoPhaseThermo.H"
+#include "twoPhaseMixtureThermo.H"
 #include "turbulenceModel.H"
 #include "pimpleControl.H"
 
diff --git a/applications/solvers/multiphase/compressibleInterFoam/createFields.H b/applications/solvers/multiphase/compressibleInterFoam/createFields.H
index 4b7b4a07bc107b5523e277fc34741cbe543fde4c..102d4d57a99a8bfa111eaca227399c27d2066935 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/createFields.H
+++ b/applications/solvers/multiphase/compressibleInterFoam/createFields.H
@@ -28,36 +28,33 @@
 
     #include "createPhi.H"
 
-    Info<< "Reading transportProperties\n" << endl;
-    twoPhaseMixture twoPhaseProperties(U, phi);
+    Info<< "Constructing twoPhaseMixtureThermo\n" << endl;
+    twoPhaseMixtureThermo twoPhaseProperties(mesh);
 
     volScalarField& alpha1(twoPhaseProperties.alpha1());
     volScalarField& alpha2(twoPhaseProperties.alpha2());
 
     Info<< "Reading thermophysical properties\n" << endl;
 
-    twoPhaseThermo thermo(twoPhaseProperties);
-
-    volScalarField& rho = thermo.rho();
-    volScalarField& p = thermo.p();
-    volScalarField& T = thermo.T();
-    const volScalarField& rho1 = thermo.thermo1().rho();
-    const volScalarField& psi1 = thermo.thermo1().psi();
-    const volScalarField& rho2 = thermo.thermo2().rho();
-    const volScalarField& psi2 = thermo.thermo2().psi();
-
-    // volScalarField rho
-    // (
-    //     IOobject
-    //     (
-    //         "rho",
-    //         runTime.timeName(),
-    //         mesh,
-    //         IOobject::READ_IF_PRESENT,
-    //         IOobject::AUTO_WRITE
-    //     ),
-    //     alpha1*rho1 + alpha2*rho2
-    // );
+    volScalarField& p = twoPhaseProperties.p();
+    volScalarField& T = twoPhaseProperties.T();
+    const volScalarField& rho1 = twoPhaseProperties.thermo1().rho();
+    const volScalarField& psi1 = twoPhaseProperties.thermo1().psi();
+    const volScalarField& rho2 = twoPhaseProperties.thermo2().rho();
+    const volScalarField& psi2 = twoPhaseProperties.thermo2().psi();
+
+    volScalarField rho
+    (
+        IOobject
+        (
+            "rho",
+            runTime.timeName(),
+            mesh,
+            IOobject::READ_IF_PRESENT,
+            IOobject::AUTO_WRITE
+        ),
+        alpha1*rho1 + alpha2*rho2
+    );
 
 
     dimensionedScalar pMin(twoPhaseProperties.lookup("pMin"));
@@ -90,10 +87,10 @@
     // Construct interface from alpha1 distribution
     interfaceProperties interface(alpha1, U, twoPhaseProperties);
 
-    // Construct incompressible turbulence model
-    autoPtr<incompressible::turbulenceModel> turbulence
+    // Construct compressible turbulence model
+    autoPtr<compressible::turbulenceModel> turbulence
     (
-        incompressible::turbulenceModel::New(U, phi, twoPhaseProperties)
+        compressible::turbulenceModel::New(rho, U, rhoPhi, twoPhaseProperties)
     );
 
     Info<< "Creating field dpdt\n" << endl;
diff --git a/applications/solvers/multiphase/compressibleInterFoam/pEqn.H b/applications/solvers/multiphase/compressibleInterFoam/pEqn.H
index dba9058f30bcf16faffe99c04c470285bf51c537..71745c0168b7bd70b0e8aa6d8ca376c92ab0bdfd 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/pEqn.H
+++ b/applications/solvers/multiphase/compressibleInterFoam/pEqn.H
@@ -47,7 +47,7 @@
 
     // Thermodynamic density needs to be updated by psi*d(p) after the
     // pressure solution - done in 2 parts. Part 1:
-    //thermo.rho() -= psi*p_rgh;
+    //twoPhaseProperties.rho() -= psi*p_rgh;
 
     while (pimple.correctNonOrthogonal())
     {
@@ -70,7 +70,7 @@
         if (pimple.finalNonOrthogonalIter())
         {
             // Second part of thermodynamic density update
-            //thermo.rho() += psi*p_rgh;
+            //twoPhaseProperties.rho() += psi*p_rgh;
 
             dgdt =
             (
@@ -88,14 +88,14 @@
 
     p = max(p_rgh + (alpha1*rho1 + alpha2*rho2)*gh, pMin);
 
-    // thermo.correct();
+    // twoPhaseProperties.correct();
 
     Info<< "max(U) " << max(mag(U)).value() << endl;
     Info<< "min(p_rgh) " << min(p_rgh).value() << endl;
 
     K = 0.5*magSqr(U);
 
-    if (thermo.dpdt())
+    if (twoPhaseProperties.dpdt())
     {
         dpdt = fvc::ddt(p);
     }
diff --git a/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/Make/files b/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/Make/files
deleted file mode 100644
index e6e260c74a68a195bde00195048386638e1c11f7..0000000000000000000000000000000000000000
--- a/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/Make/files
+++ /dev/null
@@ -1,8 +0,0 @@
-phaseEquationOfState/phaseEquationOfState.C
-phaseEquationOfState/newPhaseEquationOfState.C
-constant/constant.C
-linear/linear.C
-perfectFluid/perfectFluid.C
-adiabaticPerfectFluid/adiabaticPerfectFluid.C
-
-LIB = $(FOAM_LIBBIN)/libphaseEquationsOfState
diff --git a/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/Make/options b/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/Make/options
deleted file mode 100644
index 0ec11392098bd862e78e2790e25cf1f49ec557fd..0000000000000000000000000000000000000000
--- a/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/Make/options
+++ /dev/null
@@ -1,6 +0,0 @@
-EXE_INC = \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/transportModels/incompressible/lnInclude
-
-LIB_LIBS = \
-    -lincompressibleTransportModels
diff --git a/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/adiabaticPerfectFluid/adiabaticPerfectFluid.C b/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/adiabaticPerfectFluid/adiabaticPerfectFluid.C
deleted file mode 100644
index 82a195dca955430147ad60e125aeb61721a83a7c..0000000000000000000000000000000000000000
--- a/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/adiabaticPerfectFluid/adiabaticPerfectFluid.C
+++ /dev/null
@@ -1,124 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "adiabaticPerfectFluid.H"
-#include "volFields.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace phaseEquationsOfState
-{
-    defineTypeNameAndDebug(adiabaticPerfectFluid, 0);
-
-    addToRunTimeSelectionTable
-    (
-        phaseEquationOfState,
-        adiabaticPerfectFluid,
-        dictionary
-    );
-}
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-Foam::phaseEquationsOfState::adiabaticPerfectFluid::adiabaticPerfectFluid
-(
-    const dictionary& dict
-)
-:
-    phaseEquationOfState(dict),
-    p0_("p0", dimPressure, dict.lookup("p0")),
-    rho0_("rho0", dimDensity, dict.lookup("rho0")),
-    gamma_("gamma", dimless, dict.lookup("gamma")),
-    B_("B", dimPressure, dict.lookup("B"))
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
-
-Foam::phaseEquationsOfState::adiabaticPerfectFluid::~adiabaticPerfectFluid()
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-Foam::tmp<Foam::volScalarField>
-Foam::phaseEquationsOfState::adiabaticPerfectFluid::rho
-(
-    const volScalarField& p,
-    const volScalarField& T
-) const
-{
-    return tmp<Foam::volScalarField>
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "rho",
-                p.time().timeName(),
-                p.mesh(),
-                IOobject::NO_READ,
-                IOobject::NO_WRITE,
-                false
-            ),
-            rho0_*pow((p + B_)/(p0_ + B_), 1.0/gamma_)
-        )
-    );
-}
-
-
-Foam::tmp<Foam::volScalarField>
-Foam::phaseEquationsOfState::adiabaticPerfectFluid::psi
-(
-    const volScalarField& p,
-    const volScalarField& T
-) const
-{
-    return tmp<Foam::volScalarField>
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "psi",
-                p.time().timeName(),
-                p.mesh(),
-                IOobject::NO_READ,
-                IOobject::NO_WRITE,
-                false
-            ),
-            (rho0_/(gamma_*(p0_ + B_)))
-           *pow((p + B_)/(p0_ + B_), 1.0/gamma_ - 1.0)
-        )
-    );
-}
-
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/constant/constant.C b/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/constant/constant.C
deleted file mode 100644
index 54b6705dd9e1597cf6c37bbbaa02bef1ed5c9492..0000000000000000000000000000000000000000
--- a/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/constant/constant.C
+++ /dev/null
@@ -1,120 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "constant.H"
-#include "volFields.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace phaseEquationsOfState
-{
-    defineTypeNameAndDebug(constant, 0);
-
-    addToRunTimeSelectionTable
-    (
-        phaseEquationOfState,
-        constant,
-        dictionary
-    );
-}
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-Foam::phaseEquationsOfState::constant::constant
-(
-    const dictionary& dict
-)
-:
-    phaseEquationOfState(dict),
-    rho_("rho", dimDensity, dict.lookup("rho"))
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
-
-Foam::phaseEquationsOfState::constant::~constant()
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-Foam::tmp<Foam::volScalarField> Foam::phaseEquationsOfState::constant::rho
-(
-    const volScalarField& p,
-    const volScalarField& T
-) const
-{
-    return tmp<Foam::volScalarField>
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "rho",
-                p.time().timeName(),
-                p.mesh(),
-                IOobject::NO_READ,
-                IOobject::NO_WRITE,
-                false
-            ),
-            p.mesh(),
-            rho_
-        )
-    );
-}
-
-
-Foam::tmp<Foam::volScalarField> Foam::phaseEquationsOfState::constant::psi
-(
-    const volScalarField& p,
-    const volScalarField& T
-) const
-{
-    return tmp<Foam::volScalarField>
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "psi",
-                p.time().timeName(),
-                p.mesh(),
-                IOobject::NO_READ,
-                IOobject::NO_WRITE,
-                false
-            ),
-            p.mesh(),
-            dimensionedScalar("psi", dimDensity/dimPressure, 0)
-        )
-    );
-}
-
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/constant/constant.H b/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/constant/constant.H
deleted file mode 100644
index 5cfe44c26e4546d5f6f19803fdaf63dd98eb5cc6..0000000000000000000000000000000000000000
--- a/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/constant/constant.H
+++ /dev/null
@@ -1,106 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::phaseEquationsOfState::constant
-
-Description
-    Constant phase density model.
-
-SourceFiles
-    constant.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef constant_H
-#define constant_H
-
-#include "phaseEquationOfState.H"
-#include "dimensionedTypes.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace phaseEquationsOfState
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class constant Declaration
-\*---------------------------------------------------------------------------*/
-
-class constant
-:
-    public phaseEquationOfState
-{
-    // Private data
-
-        //- The constant density of the phase
-        dimensionedScalar rho_;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("constant");
-
-
-    // Constructors
-
-        //- Construct from components
-        constant
-        (
-            const dictionary& dict
-        );
-
-
-    //- Destructor
-    virtual ~constant();
-
-
-    // Member Functions
-
-        tmp<volScalarField> rho
-        (
-            const volScalarField& p,
-            const volScalarField& T
-        ) const;
-
-        tmp<volScalarField> psi
-        (
-            const volScalarField& p,
-            const volScalarField& T
-        ) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace phaseEquationsOfState
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/linear/linear.C b/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/linear/linear.C
deleted file mode 100644
index 3680735a1bccfa2d61f1dc1abe980ee4db2a8e42..0000000000000000000000000000000000000000
--- a/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/linear/linear.C
+++ /dev/null
@@ -1,120 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "linear.H"
-#include "volFields.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace phaseEquationsOfState
-{
-    defineTypeNameAndDebug(linear, 0);
-
-    addToRunTimeSelectionTable
-    (
-        phaseEquationOfState,
-        linear,
-        dictionary
-    );
-}
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-Foam::phaseEquationsOfState::linear::linear
-(
-    const dictionary& dict
-)
-:
-    phaseEquationOfState(dict),
-    rho0_("rho0", dimDensity, dict.lookup("rho0")),
-    psi_("psi", dimDensity/dimPressure, dict.lookup("psi"))
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
-
-Foam::phaseEquationsOfState::linear::~linear()
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-Foam::tmp<Foam::volScalarField> Foam::phaseEquationsOfState::linear::rho
-(
-    const volScalarField& p,
-    const volScalarField& T
-) const
-{
-    return tmp<Foam::volScalarField>
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "rho",
-                p.time().timeName(),
-                p.mesh(),
-                IOobject::NO_READ,
-                IOobject::NO_WRITE,
-                false
-            ),
-            rho0_ + psi_*p
-        )
-    );
-}
-
-
-Foam::tmp<Foam::volScalarField> Foam::phaseEquationsOfState::linear::psi
-(
-    const volScalarField& p,
-    const volScalarField& T
-) const
-{
-    return tmp<Foam::volScalarField>
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "psi",
-                p.time().timeName(),
-                p.mesh(),
-                IOobject::NO_READ,
-                IOobject::NO_WRITE,
-                false
-            ),
-            p.mesh(),
-            psi_
-        )
-    );
-}
-
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/linear/linear.H b/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/linear/linear.H
deleted file mode 100644
index d357bb3ec08884a45571588abb6353907bcc49c5..0000000000000000000000000000000000000000
--- a/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/linear/linear.H
+++ /dev/null
@@ -1,109 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::phaseEquationsOfState::linear
-
-Description
-    Linear phase density model.
-
-SourceFiles
-    linear.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef linear_H
-#define linear_H
-
-#include "phaseEquationOfState.H"
-#include "dimensionedTypes.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace phaseEquationsOfState
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class linear Declaration
-\*---------------------------------------------------------------------------*/
-
-class linear
-:
-    public phaseEquationOfState
-{
-    // Private data
-
-        //- The reference density of the phase
-        dimensionedScalar rho0_;
-
-        //- The constant compressibility of the phase
-        dimensionedScalar psi_;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("linear");
-
-
-    // Constructors
-
-        //- Construct from components
-        linear
-        (
-            const dictionary& dict
-        );
-
-
-    //- Destructor
-    virtual ~linear();
-
-
-    // Member Functions
-
-        tmp<volScalarField> rho
-        (
-            const volScalarField& p,
-            const volScalarField& T
-        ) const;
-
-        tmp<volScalarField> psi
-        (
-            const volScalarField& p,
-            const volScalarField& T
-        ) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace phaseEquationsOfState
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/perfectFluid/perfectFluid.C b/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/perfectFluid/perfectFluid.C
deleted file mode 100644
index 6a148d8d689a77c28b511265ce55255c0e34b725..0000000000000000000000000000000000000000
--- a/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/perfectFluid/perfectFluid.C
+++ /dev/null
@@ -1,119 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "perfectFluid.H"
-#include "volFields.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace phaseEquationsOfState
-{
-    defineTypeNameAndDebug(perfectFluid, 0);
-
-    addToRunTimeSelectionTable
-    (
-        phaseEquationOfState,
-        perfectFluid,
-        dictionary
-    );
-}
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-Foam::phaseEquationsOfState::perfectFluid::perfectFluid
-(
-    const dictionary& dict
-)
-:
-    phaseEquationOfState(dict),
-    rho0_("rho0", dimDensity, dict.lookup("rho0")),
-    R_("R", dimensionSet(0, 2, -2, -1, 0), dict.lookup("R"))
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
-
-Foam::phaseEquationsOfState::perfectFluid::~perfectFluid()
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-Foam::tmp<Foam::volScalarField> Foam::phaseEquationsOfState::perfectFluid::rho
-(
-    const volScalarField& p,
-    const volScalarField& T
-) const
-{
-    return tmp<Foam::volScalarField>
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "rho",
-                p.time().timeName(),
-                p.mesh(),
-                IOobject::NO_READ,
-                IOobject::NO_WRITE,
-                false
-            ),
-            rho0_ + psi(p, T)*p
-        )
-    );
-}
-
-
-Foam::tmp<Foam::volScalarField> Foam::phaseEquationsOfState::perfectFluid::psi
-(
-    const volScalarField& p,
-    const volScalarField& T
-) const
-{
-    return tmp<Foam::volScalarField>
-    (
-        new volScalarField
-        (
-            IOobject
-            (
-                "psi",
-                p.time().timeName(),
-                p.mesh(),
-                IOobject::NO_READ,
-                IOobject::NO_WRITE,
-                false
-            ),
-            1.0/(R_*T)
-        )
-    );
-}
-
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/perfectFluid/perfectFluid.H b/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/perfectFluid/perfectFluid.H
deleted file mode 100644
index b854f1d84fb6b7ed6a2d7c1ae399f7fa1c9eeaef..0000000000000000000000000000000000000000
--- a/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/perfectFluid/perfectFluid.H
+++ /dev/null
@@ -1,109 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::phaseEquationsOfState::perfectFluid
-
-Description
-    PerfectFluid phase density model.
-
-SourceFiles
-    perfectFluid.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef perfectFluid_H
-#define perfectFluid_H
-
-#include "phaseEquationOfState.H"
-#include "dimensionedTypes.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-namespace phaseEquationsOfState
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class perfectFluid Declaration
-\*---------------------------------------------------------------------------*/
-
-class perfectFluid
-:
-    public phaseEquationOfState
-{
-    // Private data
-
-        //- The reference density of the phase
-        dimensionedScalar rho0_;
-
-        //- The fluid constant of the phase
-        dimensionedScalar R_;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("perfectFluid");
-
-
-    // Constructors
-
-        //- Construct from components
-        perfectFluid
-        (
-            const dictionary& dict
-        );
-
-
-    //- Destructor
-    virtual ~perfectFluid();
-
-
-    // Member Functions
-
-        tmp<volScalarField> rho
-        (
-            const volScalarField& p,
-            const volScalarField& T
-        ) const;
-
-        tmp<volScalarField> psi
-        (
-            const volScalarField& p,
-            const volScalarField& T
-        ) const;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace phaseEquationsOfState
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/phaseEquationOfState/newPhaseEquationOfState.C b/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/phaseEquationOfState/newPhaseEquationOfState.C
deleted file mode 100644
index 3d9a842a9f31e171e5901c3ac5322f7d4bf1372a..0000000000000000000000000000000000000000
--- a/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/phaseEquationOfState/newPhaseEquationOfState.C
+++ /dev/null
@@ -1,60 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "phaseEquationOfState.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-Foam::autoPtr<Foam::phaseEquationOfState> Foam::phaseEquationOfState::New
-(
-    const dictionary& dict
-)
-{
-    word phaseEquationOfStateType
-    (
-        dict.subDict("equationOfState").lookup("type")
-    );
-
-    Info<< "Selecting phaseEquationOfState "
-        << phaseEquationOfStateType << endl;
-
-    dictionaryConstructorTable::iterator cstrIter =
-        dictionaryConstructorTablePtr_->find(phaseEquationOfStateType);
-
-    if (cstrIter == dictionaryConstructorTablePtr_->end())
-    {
-        FatalErrorIn("phaseEquationOfState::New")
-           << "Unknown phaseEquationOfStateType type "
-           << phaseEquationOfStateType << endl << endl
-           << "Valid phaseEquationOfState types are : " << endl
-           << dictionaryConstructorTablePtr_->sortedToc()
-           << exit(FatalError);
-    }
-
-    return cstrIter()(dict.subDict("equationOfState"));
-}
-
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/phaseEquationOfState/phaseEquationOfState.H b/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/phaseEquationOfState/phaseEquationOfState.H
deleted file mode 100644
index 45a5079d0d98671696515eb1deed507b3cfcf881..0000000000000000000000000000000000000000
--- a/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/phaseEquationOfState/phaseEquationOfState.H
+++ /dev/null
@@ -1,127 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::phaseEquationOfState
-
-Description
-    A2stract base-class for dispersed-phase particle diameter models.
-
-SourceFiles
-    phaseEquationOfState.C
-    newDiameterModel.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef phaseEquationOfState_H
-#define phaseEquationOfState_H
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#include "dictionary.H"
-#include "volFieldsFwd.H"
-#include "runTimeSelectionTables.H"
-
-namespace Foam
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class phaseEquationOfState Declaration
-\*---------------------------------------------------------------------------*/
-
-class phaseEquationOfState
-{
-protected:
-
-    // Protected data
-
-        const dictionary& dict_;
-
-
-public:
-
-    //- Runtime type information
-    TypeName("phaseEquationOfState");
-
-
-    // Declare runtime construction
-
-        declareRunTimeSelectionTable
-        (
-            autoPtr,
-            phaseEquationOfState,
-            dictionary,
-            (
-                const dictionary& dict
-            ),
-            (dict)
-        );
-
-
-    // Constructors
-
-        phaseEquationOfState
-        (
-            const dictionary& dict
-        );
-
-
-    //- Destructor
-    virtual ~phaseEquationOfState();
-
-
-    // Selectors
-
-        static autoPtr<phaseEquationOfState> New
-        (
-            const dictionary& dict
-        );
-
-
-    // Member Functions
-
-        //- Return the phase density
-        virtual tmp<volScalarField> rho
-        (
-            const volScalarField& p,
-            const volScalarField& T
-        ) const = 0;
-
-        //- Return the phase compressibility
-        virtual tmp<volScalarField> psi
-        (
-            const volScalarField& p,
-            const volScalarField& T
-        ) const = 0;
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/Make/files b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/Make/files
new file mode 100644
index 0000000000000000000000000000000000000000..1cd0a09577c241265ce500c16b0df145a4aa3b2c
--- /dev/null
+++ b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/Make/files
@@ -0,0 +1,3 @@
+twoPhaseMixtureThermo.C
+
+LIB = $(FOAM_LIBBIN)/libtwoPhaseMixtureThermo
diff --git a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseThermo/Make/options b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/Make/options
similarity index 58%
rename from applications/solvers/multiphase/compressibleInterFoam/twoPhaseThermo/Make/options
rename to applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/Make/options
index 3f7f51cce576f7d582e6c8ef3cf57d942c550d82..e2c67263b8ed2e6cfa28f05d87603cc525677e28 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseThermo/Make/options
+++ b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/Make/options
@@ -1,11 +1,10 @@
 EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-    -I$(LIB_SRC)/transportModels \
-    -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
+    -I$(LIB_SRC)/transportModels/twoPhaseProperties/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude
 
 LIB_LIBS = \
     -lfluidThermophysicalModels \
     -lspecie \
-    -lincompressibleTransportModels \
+    -ltwoPhaseProperties \
     -lfiniteVolume
diff --git a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.C b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.C
new file mode 100644
index 0000000000000000000000000000000000000000..d81f5ccb1f249ff004711bfaeef3ca9bf4049ae0
--- /dev/null
+++ b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.C
@@ -0,0 +1,335 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "twoPhaseMixtureThermo.H"
+#include "gradientEnergyFvPatchScalarField.H"
+#include "mixedEnergyFvPatchScalarField.H"
+
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+namespace Foam
+{
+    defineTypeNameAndDebug(twoPhaseMixtureThermo, 0);
+}
+
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+Foam::twoPhaseMixtureThermo::twoPhaseMixtureThermo
+(
+    const fvMesh& mesh
+)
+:
+    psiThermo(mesh, word::null),
+    twoPhaseMixture(mesh, *this),
+    thermo1_(NULL),
+    thermo2_(NULL)
+{
+    {
+        volScalarField T1("T" + phase1Name(), T_);
+        T1.write();
+    }
+
+    {
+        volScalarField T2("T" + phase2Name(), T_);
+        T2.write();
+    }
+
+    thermo1_ = rhoThermo::New(mesh, phase1Name());
+    thermo2_ = rhoThermo::New(mesh, phase2Name());
+
+    thermo1_->validate(phase1Name(), "e");
+    thermo2_->validate(phase2Name(), "e");
+
+    correct();
+}
+
+
+// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
+
+Foam::twoPhaseMixtureThermo::~twoPhaseMixtureThermo()
+{}
+
+
+// * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * * //
+
+void Foam::twoPhaseMixtureThermo::correct()
+{
+    thermo1_->he() = thermo1_->he(p_, T_);
+    thermo1_->correct();
+
+    thermo2_->he() = thermo2_->he(p_, T_);
+    thermo2_->correct();
+
+    psi_ = alpha1()*thermo1_->psi() + alpha2()*thermo2_->psi();
+    mu_ = alpha1()*thermo1_->mu() + alpha2()*thermo2_->mu();
+    alpha_ = alpha1()*thermo1_->alpha() + alpha2()*thermo2_->alpha();
+}
+
+
+bool Foam::twoPhaseMixtureThermo::incompressible() const
+{
+    return thermo1_->incompressible() && thermo2_->incompressible();
+}
+
+
+bool Foam::twoPhaseMixtureThermo::isochoric() const
+{
+    return thermo1_->isochoric() && thermo2_->isochoric();
+}
+
+
+Foam::tmp<Foam::volScalarField> Foam::twoPhaseMixtureThermo::he
+(
+    const volScalarField& p,
+    const volScalarField& T
+) const
+{
+    return alpha1()*thermo1_->he(p, T) + alpha2()*thermo2_->he(p, T);
+}
+
+
+Foam::tmp<Foam::scalarField> Foam::twoPhaseMixtureThermo::he
+(
+    const scalarField& p,
+    const scalarField& T,
+    const labelList& cells
+) const
+{
+    return
+        scalarField(alpha1(), cells)*thermo1_->he(p, T, cells)
+      + scalarField(alpha2(), cells)*thermo2_->he(p, T, cells);
+}
+
+
+Foam::tmp<Foam::scalarField> Foam::twoPhaseMixtureThermo::he
+(
+    const scalarField& p,
+    const scalarField& T,
+    const label patchi
+) const
+{
+    return
+        alpha1().boundaryField()[patchi]*thermo1_->he(p, T, patchi)
+      + alpha2().boundaryField()[patchi]*thermo2_->he(p, T, patchi);
+}
+
+
+Foam::tmp<Foam::volScalarField> Foam::twoPhaseMixtureThermo::hc() const
+{
+    return alpha1()*thermo1_->hc() + alpha2()*thermo2_->hc();
+}
+
+
+Foam::tmp<Foam::scalarField> Foam::twoPhaseMixtureThermo::THE
+(
+    const scalarField& h,
+    const scalarField& p,
+    const scalarField& T0,
+    const labelList& cells
+) const
+{
+    notImplemented("twoPhaseMixtureThermo::THE(...)");
+    return T0;
+}
+
+
+Foam::tmp<Foam::scalarField> Foam::twoPhaseMixtureThermo::THE
+(
+    const scalarField& h,
+    const scalarField& p,
+    const scalarField& T0,
+    const label patchi
+) const
+{
+    notImplemented("twoPhaseMixtureThermo::THE(...)");
+    return T0;
+}
+
+
+Foam::tmp<Foam::volScalarField> Foam::twoPhaseMixtureThermo::Cp() const
+{
+    return alpha1()*thermo1_->Cp() + alpha2()*thermo2_->Cp();
+}
+
+
+Foam::tmp<Foam::scalarField> Foam::twoPhaseMixtureThermo::Cp
+(
+    const scalarField& p,
+    const scalarField& T,
+    const label patchi
+) const
+{
+    return
+        alpha1().boundaryField()[patchi]*thermo1_->Cp(p, T, patchi)
+      + alpha2().boundaryField()[patchi]*thermo2_->Cp(p, T, patchi);
+}
+
+
+Foam::tmp<Foam::volScalarField> Foam::twoPhaseMixtureThermo::Cv() const
+{
+    return alpha1()*thermo1_->Cv() + alpha2()*thermo2_->Cv();
+}
+
+
+Foam::tmp<Foam::scalarField> Foam::twoPhaseMixtureThermo::Cv
+(
+    const scalarField& p,
+    const scalarField& T,
+    const label patchi
+) const
+{
+    return
+        alpha1().boundaryField()[patchi]*thermo1_->Cv(p, T, patchi)
+      + alpha2().boundaryField()[patchi]*thermo2_->Cv(p, T, patchi);
+}
+
+
+Foam::tmp<Foam::volScalarField> Foam::twoPhaseMixtureThermo::gamma() const
+{
+    return alpha1()*thermo1_->gamma() + alpha2()*thermo2_->gamma();
+}
+
+
+Foam::tmp<Foam::scalarField> Foam::twoPhaseMixtureThermo::gamma
+(
+    const scalarField& p,
+    const scalarField& T,
+    const label patchi
+) const
+{
+    return
+        alpha1().boundaryField()[patchi]*thermo1_->gamma(p, T, patchi)
+      + alpha2().boundaryField()[patchi]*thermo2_->gamma(p, T, patchi);
+}
+
+
+Foam::tmp<Foam::volScalarField> Foam::twoPhaseMixtureThermo::Cpv() const
+{
+    return alpha1()*thermo1_->Cpv() + alpha2()*thermo2_->Cpv();
+}
+
+
+Foam::tmp<Foam::scalarField> Foam::twoPhaseMixtureThermo::Cpv
+(
+    const scalarField& p,
+    const scalarField& T,
+    const label patchi
+) const
+{
+    return
+        alpha1().boundaryField()[patchi]*thermo1_->Cpv(p, T, patchi)
+      + alpha2().boundaryField()[patchi]*thermo2_->Cpv(p, T, patchi);
+}
+
+
+Foam::tmp<Foam::volScalarField> Foam::twoPhaseMixtureThermo::CpByCpv() const
+{
+    return
+        alpha1()*thermo1_->CpByCpv()
+      + alpha2()*thermo2_->CpByCpv();
+}
+
+
+Foam::tmp<Foam::scalarField> Foam::twoPhaseMixtureThermo::CpByCpv
+(
+    const scalarField& p,
+    const scalarField& T,
+    const label patchi
+) const
+{
+    return
+        alpha1().boundaryField()[patchi]*thermo1_->CpByCpv(p, T, patchi)
+      + alpha2().boundaryField()[patchi]*thermo2_->CpByCpv(p, T, patchi);
+}
+
+
+Foam::tmp<Foam::volScalarField> Foam::twoPhaseMixtureThermo::kappa() const
+{
+    return alpha1()*thermo1_->kappa() + alpha2()*thermo2_->kappa();
+}
+
+
+Foam::tmp<Foam::scalarField> Foam::twoPhaseMixtureThermo::kappa
+(
+    const label patchi
+) const
+{
+    return
+        alpha1().boundaryField()[patchi]*thermo1_->kappa(patchi)
+      + alpha2().boundaryField()[patchi]*thermo2_->kappa(patchi);
+}
+
+
+Foam::tmp<Foam::volScalarField> Foam::twoPhaseMixtureThermo::kappaEff
+(
+    const volScalarField& alphat
+) const
+{
+    return
+        alpha1()*thermo1_->kappaEff(alphat)
+      + alpha2()*thermo2_->kappaEff(alphat);
+}
+
+
+Foam::tmp<Foam::scalarField> Foam::twoPhaseMixtureThermo::kappaEff
+(
+    const scalarField& alphat,
+    const label patchi
+) const
+{
+    return
+        alpha1().boundaryField()[patchi]*thermo1_->kappaEff(alphat, patchi)
+      + alpha2().boundaryField()[patchi]*thermo2_->kappaEff(alphat, patchi)
+    ;
+}
+
+
+Foam::tmp<Foam::volScalarField> Foam::twoPhaseMixtureThermo::alphaEff
+(
+    const volScalarField& alphat
+) const
+{
+    return
+        alpha1()*thermo1_->alphaEff(alphat)
+      + alpha2()*thermo2_->alphaEff(alphat);
+}
+
+
+Foam::tmp<Foam::scalarField> Foam::twoPhaseMixtureThermo::alphaEff
+(
+    const scalarField& alphat,
+    const label patchi
+) const
+{
+    return
+        alpha1().boundaryField()[patchi]*thermo1_->alphaEff(alphat, patchi)
+      + alpha2().boundaryField()[patchi]*thermo2_->alphaEff(alphat, patchi)
+    ;
+}
+
+
+// ************************************************************************* //
diff --git a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseThermo/twoPhaseThermo.H b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.H
similarity index 92%
rename from applications/solvers/multiphase/compressibleInterFoam/twoPhaseThermo/twoPhaseThermo.H
rename to applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.H
index d3582801b7d800dc92bb3fe8f02bf2a8eef1c0c5..b2e636a4c471ac92b490aa58f1084b72c6dc3888 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseThermo/twoPhaseThermo.H
+++ b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.H
@@ -22,21 +22,22 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::twoPhaseThermo
+    Foam::twoPhaseMixtureThermo
 
 Description
 
 SourceFiles
-    twoPhaseThermoI.H
-    twoPhaseThermo.C
-    twoPhaseThermoIO.C
+    twoPhaseMixtureThermoI.H
+    twoPhaseMixtureThermo.C
+    twoPhaseMixtureThermoIO.C
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef twoPhaseThermo_H
-#define twoPhaseThermo_H
+#ifndef twoPhaseMixtureThermo_H
+#define twoPhaseMixtureThermo_H
 
 #include "rhoThermo.H"
+#include "psiThermo.H"
 #include "twoPhaseMixture.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -45,17 +46,16 @@ namespace Foam
 {
 
 /*---------------------------------------------------------------------------*\
-                         Class twoPhaseThermo Declaration
+                         Class twoPhaseMixtureThermo Declaration
 \*---------------------------------------------------------------------------*/
 
-class twoPhaseThermo
+class twoPhaseMixtureThermo
 :
-    public rhoThermo
+    public psiThermo,
+    public twoPhaseMixture
 {
     // Private data
 
-        const twoPhaseMixture& tpm_;
-
         //- Thermo-package of phase 1
         autoPtr<rhoThermo> thermo1_;
 
@@ -66,20 +66,20 @@ class twoPhaseThermo
 public:
 
     //- Runtime type information
-    TypeName("twoPhaseThermo");
+    TypeName("twoPhaseMixtureThermo");
 
 
     // Constructors
 
-        //- Construct from mesh and phase fractions
-        twoPhaseThermo
+        //- Construct from mesh
+        twoPhaseMixtureThermo
         (
-            const twoPhaseMixture& twoPhaseProperties
+            const fvMesh& mesh
         );
 
 
     //- Destructor
-    virtual ~twoPhaseThermo();
+    virtual ~twoPhaseMixtureThermo();
 
 
     // Member Functions
@@ -112,14 +112,14 @@ public:
             //  Non-const access allowed for transport equations
             virtual volScalarField& he()
             {
-                notImplemented("twoPhaseThermo::he()");
+                notImplemented("twoPhaseMixtureThermo::he()");
                 return thermo1_->he();
             }
 
             //- Enthalpy/Internal energy [J/kg]
             virtual const volScalarField& he() const
             {
-                notImplemented("twoPhaseThermo::he() const");
+                notImplemented("twoPhaseMixtureThermo::he() const");
                 return thermo1_->he();
             }
 
diff --git a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseThermo/Make/files b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseThermo/Make/files
deleted file mode 100644
index 64771e2f6ea0a4eadf36fc495f8e38129e289a9b..0000000000000000000000000000000000000000
--- a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseThermo/Make/files
+++ /dev/null
@@ -1,3 +0,0 @@
-twoPhaseThermo.C
-
-LIB = $(FOAM_LIBBIN)/libtwoPhaseThermo
diff --git a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseThermo/twoPhaseThermo.C b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseThermo/twoPhaseThermo.C
deleted file mode 100644
index c9455875e590f25731939c4e46f7d8c28b174a40..0000000000000000000000000000000000000000
--- a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseThermo/twoPhaseThermo.C
+++ /dev/null
@@ -1,323 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "twoPhaseThermo.H"
-#include "gradientEnergyFvPatchScalarField.H"
-#include "mixedEnergyFvPatchScalarField.H"
-
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-    defineTypeNameAndDebug(twoPhaseThermo, 0);
-}
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-Foam::twoPhaseThermo::twoPhaseThermo
-(
-    const twoPhaseMixture& twoPhaseProperties
-)
-:
-    rhoThermo(twoPhaseProperties.alpha1().mesh(), word::null),
-    tpm_(twoPhaseProperties),
-    thermo1_(rhoThermo::New(tpm_.alpha1().mesh(), tpm_.phase1Name())),
-    thermo2_(rhoThermo::New(tpm_.alpha1().mesh(), tpm_.phase2Name()))
-{
-    thermo1_->validate(tpm_.phase1Name(), "e");
-    thermo2_->validate(tpm_.phase2Name(), "e");
-
-    rho_ = tpm_.alpha1()*thermo1_->rho() + tpm_.alpha2()*thermo2_->rho();
-
-    correct();
-}
-
-
-// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
-
-Foam::twoPhaseThermo::~twoPhaseThermo()
-{}
-
-
-// * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * * //
-
-void Foam::twoPhaseThermo::correct()
-{
-    thermo1_->he() = thermo1_->he(p_, T_);
-    thermo1_->correct();
-
-    thermo2_->he() = thermo2_->he(p_, T_);
-    thermo2_->correct();
-
-    psi_ = tpm_.alpha1()*thermo1_->psi() + tpm_.alpha2()*thermo2_->psi();
-    mu_ = tpm_.alpha1()*thermo1_->mu() + tpm_.alpha2()*thermo2_->mu();
-    alpha_ = tpm_.alpha1()*thermo1_->alpha() + tpm_.alpha2()*thermo2_->alpha();
-}
-
-
-bool Foam::twoPhaseThermo::incompressible() const
-{
-    return thermo1_->incompressible() && thermo2_->incompressible();
-}
-
-
-bool Foam::twoPhaseThermo::isochoric() const
-{
-    return thermo1_->isochoric() && thermo2_->isochoric();
-}
-
-
-Foam::tmp<Foam::volScalarField> Foam::twoPhaseThermo::he
-(
-    const volScalarField& p,
-    const volScalarField& T
-) const
-{
-    return tpm_.alpha1()*thermo1_->he(p, T) + tpm_.alpha2()*thermo2_->he(p, T);
-}
-
-
-Foam::tmp<Foam::scalarField> Foam::twoPhaseThermo::he
-(
-    const scalarField& p,
-    const scalarField& T,
-    const labelList& cells
-) const
-{
-    return
-        scalarField(tpm_.alpha1(), cells)*thermo1_->he(p, T, cells)
-      + scalarField(tpm_.alpha2(), cells)*thermo2_->he(p, T, cells);
-}
-
-
-Foam::tmp<Foam::scalarField> Foam::twoPhaseThermo::he
-(
-    const scalarField& p,
-    const scalarField& T,
-    const label patchi
-) const
-{
-    return
-        tpm_.alpha1().boundaryField()[patchi]*thermo1_->he(p, T, patchi)
-      + tpm_.alpha2().boundaryField()[patchi]*thermo2_->he(p, T, patchi);
-}
-
-
-Foam::tmp<Foam::volScalarField> Foam::twoPhaseThermo::hc() const
-{
-    return tpm_.alpha1()*thermo1_->hc() + tpm_.alpha2()*thermo2_->hc();
-}
-
-
-Foam::tmp<Foam::scalarField> Foam::twoPhaseThermo::THE
-(
-    const scalarField& h,
-    const scalarField& p,
-    const scalarField& T0,
-    const labelList& cells
-) const
-{
-    notImplemented("twoPhaseThermo::THE(...)");
-    return T0;
-}
-
-
-Foam::tmp<Foam::scalarField> Foam::twoPhaseThermo::THE
-(
-    const scalarField& h,
-    const scalarField& p,
-    const scalarField& T0,
-    const label patchi
-) const
-{
-    notImplemented("twoPhaseThermo::THE(...)");
-    return T0;
-}
-
-
-Foam::tmp<Foam::volScalarField> Foam::twoPhaseThermo::Cp() const
-{
-    return tpm_.alpha1()*thermo1_->Cp() + tpm_.alpha2()*thermo2_->Cp();
-}
-
-
-Foam::tmp<Foam::scalarField> Foam::twoPhaseThermo::Cp
-(
-    const scalarField& p,
-    const scalarField& T,
-    const label patchi
-) const
-{
-    return
-        tpm_.alpha1().boundaryField()[patchi]*thermo1_->Cp(p, T, patchi)
-      + tpm_.alpha2().boundaryField()[patchi]*thermo2_->Cp(p, T, patchi);
-}
-
-
-Foam::tmp<Foam::volScalarField> Foam::twoPhaseThermo::Cv() const
-{
-    return tpm_.alpha1()*thermo1_->Cv() + tpm_.alpha2()*thermo2_->Cv();
-}
-
-
-Foam::tmp<Foam::scalarField> Foam::twoPhaseThermo::Cv
-(
-    const scalarField& p,
-    const scalarField& T,
-    const label patchi
-) const
-{
-    return
-        tpm_.alpha1().boundaryField()[patchi]*thermo1_->Cv(p, T, patchi)
-      + tpm_.alpha2().boundaryField()[patchi]*thermo2_->Cv(p, T, patchi);
-}
-
-
-Foam::tmp<Foam::volScalarField> Foam::twoPhaseThermo::gamma() const
-{
-    return tpm_.alpha1()*thermo1_->gamma() + tpm_.alpha2()*thermo2_->gamma();
-}
-
-
-Foam::tmp<Foam::scalarField> Foam::twoPhaseThermo::gamma
-(
-    const scalarField& p,
-    const scalarField& T,
-    const label patchi
-) const
-{
-    return
-        tpm_.alpha1().boundaryField()[patchi]*thermo1_->gamma(p, T, patchi)
-      + tpm_.alpha2().boundaryField()[patchi]*thermo2_->gamma(p, T, patchi);
-}
-
-
-Foam::tmp<Foam::volScalarField> Foam::twoPhaseThermo::Cpv() const
-{
-    return tpm_.alpha1()*thermo1_->Cpv() + tpm_.alpha2()*thermo2_->Cpv();
-}
-
-
-Foam::tmp<Foam::scalarField> Foam::twoPhaseThermo::Cpv
-(
-    const scalarField& p,
-    const scalarField& T,
-    const label patchi
-) const
-{
-    return
-        tpm_.alpha1().boundaryField()[patchi]*thermo1_->Cpv(p, T, patchi)
-      + tpm_.alpha2().boundaryField()[patchi]*thermo2_->Cpv(p, T, patchi);
-}
-
-
-Foam::tmp<Foam::volScalarField> Foam::twoPhaseThermo::CpByCpv() const
-{
-    return
-        tpm_.alpha1()*thermo1_->CpByCpv()
-      + tpm_.alpha2()*thermo2_->CpByCpv();
-}
-
-
-Foam::tmp<Foam::scalarField> Foam::twoPhaseThermo::CpByCpv
-(
-    const scalarField& p,
-    const scalarField& T,
-    const label patchi
-) const
-{
-    return
-        tpm_.alpha1().boundaryField()[patchi]*thermo1_->CpByCpv(p, T, patchi)
-      + tpm_.alpha2().boundaryField()[patchi]*thermo2_->CpByCpv(p, T, patchi);
-}
-
-
-Foam::tmp<Foam::volScalarField> Foam::twoPhaseThermo::kappa() const
-{
-    return tpm_.alpha1()*thermo1_->kappa() + tpm_.alpha2()*thermo2_->kappa();
-}
-
-
-Foam::tmp<Foam::scalarField> Foam::twoPhaseThermo::kappa
-(
-    const label patchi
-) const
-{
-    return
-        tpm_.alpha1().boundaryField()[patchi]*thermo1_->kappa(patchi)
-      + tpm_.alpha2().boundaryField()[patchi]*thermo2_->kappa(patchi);
-}
-
-
-Foam::tmp<Foam::volScalarField> Foam::twoPhaseThermo::kappaEff
-(
-    const volScalarField& alphat
-) const
-{
-    return
-        tpm_.alpha1()*thermo1_->kappaEff(alphat)
-      + tpm_.alpha2()*thermo2_->kappaEff(alphat);
-}
-
-
-Foam::tmp<Foam::scalarField> Foam::twoPhaseThermo::kappaEff
-(
-    const scalarField& alphat,
-    const label patchi
-) const
-{
-    return
-        tpm_.alpha1().boundaryField()[patchi]*thermo1_->kappaEff(alphat, patchi)
-      + tpm_.alpha2().boundaryField()[patchi]*thermo2_->kappaEff(alphat, patchi)
-    ;
-}
-
-
-Foam::tmp<Foam::volScalarField> Foam::twoPhaseThermo::alphaEff
-(
-    const volScalarField& alphat
-) const
-{
-    return
-        tpm_.alpha1()*thermo1_->alphaEff(alphat)
-      + tpm_.alpha2()*thermo2_->alphaEff(alphat);
-}
-
-
-Foam::tmp<Foam::scalarField> Foam::twoPhaseThermo::alphaEff
-(
-    const scalarField& alphat,
-    const label patchi
-) const
-{
-    return
-        tpm_.alpha1().boundaryField()[patchi]*thermo1_->alphaEff(alphat, patchi)
-      + tpm_.alpha2().boundaryField()[patchi]*thermo2_->alphaEff(alphat, patchi)
-    ;
-}
-
-
-// ************************************************************************* //
diff --git a/applications/solvers/multiphase/interFoam/LTSInterFoam/LTSInterFoam.C b/applications/solvers/multiphase/interFoam/LTSInterFoam/LTSInterFoam.C
index 7580c3f9ac17fee77f35432ace060fd65c4470c2..3d1b93f429c460c6987f6260dc3a492d8b8f0926 100644
--- a/applications/solvers/multiphase/interFoam/LTSInterFoam/LTSInterFoam.C
+++ b/applications/solvers/multiphase/interFoam/LTSInterFoam/LTSInterFoam.C
@@ -41,7 +41,7 @@ Description
 #include "MULES.H"
 #include "subCycle.H"
 #include "interfaceProperties.H"
-#include "twoPhaseMixture.H"
+#include "incompressibleTwoPhaseMixture.H"
 #include "turbulenceModel.H"
 #include "fvcSmooth.H"
 #include "pimpleControl.H"
diff --git a/applications/solvers/multiphase/interFoam/LTSInterFoam/Make/options b/applications/solvers/multiphase/interFoam/LTSInterFoam/Make/options
index b5c7b88e4f82a4f201b9b7e397402c11a2cd8fb9..6c173b8fd1ac0df3d64e1bd7a7de78a95621a733 100644
--- a/applications/solvers/multiphase/interFoam/LTSInterFoam/Make/options
+++ b/applications/solvers/multiphase/interFoam/LTSInterFoam/Make/options
@@ -1,5 +1,6 @@
 EXE_INC = \
     -I.. \
+    -I$(LIB_SRC)/transportModels/twoPhaseProperties/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
@@ -11,7 +12,7 @@ EXE_INC = \
 
 EXE_LIBS = \
     -linterfaceProperties \
-    -ltwoPhaseInterfaceProperties \
+    -ltwoPhaseProperties \
     -lincompressibleTransportModels \
     -lincompressibleTurbulenceModel \
     -lincompressibleRASModels \
diff --git a/applications/solvers/multiphase/interFoam/MRFInterFoam/MRFInterFoam.C b/applications/solvers/multiphase/interFoam/MRFInterFoam/MRFInterFoam.C
index 99cc1dd8bd62bd46a76fcb44f3ff89b5a83d822c..b819068ddd53f56d6af4456906466158eace7f51 100644
--- a/applications/solvers/multiphase/interFoam/MRFInterFoam/MRFInterFoam.C
+++ b/applications/solvers/multiphase/interFoam/MRFInterFoam/MRFInterFoam.C
@@ -40,7 +40,7 @@ Description
 #include "MULES.H"
 #include "subCycle.H"
 #include "interfaceProperties.H"
-#include "twoPhaseMixture.H"
+#include "incompressibleTwoPhaseMixture.H"
 #include "turbulenceModel.H"
 #include "IOMRFZoneList.H"
 #include "pimpleControl.H"
diff --git a/applications/solvers/multiphase/interFoam/MRFInterFoam/Make/options b/applications/solvers/multiphase/interFoam/MRFInterFoam/Make/options
index b5c7b88e4f82a4f201b9b7e397402c11a2cd8fb9..6c173b8fd1ac0df3d64e1bd7a7de78a95621a733 100644
--- a/applications/solvers/multiphase/interFoam/MRFInterFoam/Make/options
+++ b/applications/solvers/multiphase/interFoam/MRFInterFoam/Make/options
@@ -1,5 +1,6 @@
 EXE_INC = \
     -I.. \
+    -I$(LIB_SRC)/transportModels/twoPhaseProperties/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
@@ -11,7 +12,7 @@ EXE_INC = \
 
 EXE_LIBS = \
     -linterfaceProperties \
-    -ltwoPhaseInterfaceProperties \
+    -ltwoPhaseProperties \
     -lincompressibleTransportModels \
     -lincompressibleTurbulenceModel \
     -lincompressibleRASModels \
diff --git a/applications/solvers/multiphase/interFoam/Make/options b/applications/solvers/multiphase/interFoam/Make/options
index b87380d8a1e515abe6dc6a27d643ef0f21d1e43b..4ea908240dd90ce5a457b165fe5316c92ef800a9 100644
--- a/applications/solvers/multiphase/interFoam/Make/options
+++ b/applications/solvers/multiphase/interFoam/Make/options
@@ -1,4 +1,5 @@
 EXE_INC = \
+    -I$(LIB_SRC)/transportModels/twoPhaseProperties/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
@@ -10,7 +11,7 @@ EXE_INC = \
 
 EXE_LIBS = \
     -linterfaceProperties \
-    -ltwoPhaseInterfaceProperties \
+    -ltwoPhaseProperties \
     -lincompressibleTransportModels \
     -lincompressibleTurbulenceModel \
     -lincompressibleRASModels \
diff --git a/applications/solvers/multiphase/interFoam/createFields.H b/applications/solvers/multiphase/interFoam/createFields.H
index c607c6854891c7b83498075d75ee734abe0cb118..f0d18098483634633a10f2c7ffb9068a06f91cb6 100644
--- a/applications/solvers/multiphase/interFoam/createFields.H
+++ b/applications/solvers/multiphase/interFoam/createFields.H
@@ -30,7 +30,7 @@
 
 
     Info<< "Reading transportProperties\n" << endl;
-    twoPhaseMixture twoPhaseProperties(U, phi);
+    incompressibleTwoPhaseMixture twoPhaseProperties(U, phi);
 
     volScalarField& alpha1(twoPhaseProperties.alpha1());
     volScalarField& alpha2(twoPhaseProperties.alpha2());
diff --git a/applications/solvers/multiphase/interFoam/interDyMFoam/Make/options b/applications/solvers/multiphase/interFoam/interDyMFoam/Make/options
index 4fa14dd6d22655aa1fe2a693c0055c1c9ca0662f..c8d0b93e4d0df93507bd254f20d83117584ebfab 100644
--- a/applications/solvers/multiphase/interFoam/interDyMFoam/Make/options
+++ b/applications/solvers/multiphase/interFoam/interDyMFoam/Make/options
@@ -1,5 +1,6 @@
 EXE_INC = \
     -I.. \
+    -I$(LIB_SRC)/transportModels/twoPhaseProperties/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
@@ -13,7 +14,7 @@ EXE_INC = \
 
 EXE_LIBS = \
     -linterfaceProperties \
-    -ltwoPhaseInterfaceProperties \
+    -ltwoPhaseProperties \
     -lincompressibleTransportModels \
     -lincompressibleTurbulenceModel \
     -lincompressibleRASModels \
diff --git a/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C b/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C
index 1a9d210e23dd3df76df9c29f3b6e977a34d482ef..fa16f17141fa5b78af74044c339b792a90072798 100644
--- a/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C
+++ b/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C
@@ -37,7 +37,7 @@ Description
 #include "MULES.H"
 #include "subCycle.H"
 #include "interfaceProperties.H"
-#include "twoPhaseMixture.H"
+#include "incompressibleTwoPhaseMixture.H"
 #include "turbulenceModel.H"
 #include "pimpleControl.H"
 #include "fvIOoptionList.H"
diff --git a/applications/solvers/multiphase/interFoam/interFoam.C b/applications/solvers/multiphase/interFoam/interFoam.C
index 53cc2719b93810902900bb6316a7d2a493fc6782..51f082b6165a6b494066241e7a988877eab86dd2 100644
--- a/applications/solvers/multiphase/interFoam/interFoam.C
+++ b/applications/solvers/multiphase/interFoam/interFoam.C
@@ -41,7 +41,7 @@ Description
 #include "MULES.H"
 #include "subCycle.H"
 #include "interfaceProperties.H"
-#include "twoPhaseMixture.H"
+#include "incompressibleTwoPhaseMixture.H"
 #include "turbulenceModel.H"
 #include "pimpleControl.H"
 #include "fvIOoptionList.H"
diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/Make/options b/applications/solvers/multiphase/interFoam/interMixingFoam/Make/options
index 6c54b4454b840f8e0829378dedcbd0357cd67192..7630bc9b51402b10e84fb36d5aca8b27eb913bd1 100644
--- a/applications/solvers/multiphase/interFoam/interMixingFoam/Make/options
+++ b/applications/solvers/multiphase/interFoam/interMixingFoam/Make/options
@@ -1,9 +1,10 @@
 EXE_INC = \
     -I.. \
+    -I$(LIB_SRC)/transportModels/twoPhaseProperties/lnInclude \
     -IincompressibleThreePhaseMixture \
     -IthreePhaseInterfaceProperties \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
-    -I$(LIB_SRC)/transportModels/twoPhaseInterfaceProperties/alphaContactAngle/alphaContactAngle \
+    -I$(LIB_SRC)/transportModels/twoPhaseProperties/alphaContactAngle/alphaContactAngle \
     -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/transportModels \
@@ -12,7 +13,7 @@ EXE_INC = \
     -I$(LIB_SRC)/sampling/lnInclude
 
 EXE_LIBS = \
-    -ltwoPhaseInterfaceProperties \
+    -ltwoPhaseProperties \
     -lincompressibleTransportModels \
     -lincompressibleTurbulenceModel \
     -lincompressibleRASModels \
diff --git a/applications/solvers/multiphase/interFoam/porousInterFoam/Make/options b/applications/solvers/multiphase/interFoam/porousInterFoam/Make/options
index b5c7b88e4f82a4f201b9b7e397402c11a2cd8fb9..6c173b8fd1ac0df3d64e1bd7a7de78a95621a733 100644
--- a/applications/solvers/multiphase/interFoam/porousInterFoam/Make/options
+++ b/applications/solvers/multiphase/interFoam/porousInterFoam/Make/options
@@ -1,5 +1,6 @@
 EXE_INC = \
     -I.. \
+    -I$(LIB_SRC)/transportModels/twoPhaseProperties/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
@@ -11,7 +12,7 @@ EXE_INC = \
 
 EXE_LIBS = \
     -linterfaceProperties \
-    -ltwoPhaseInterfaceProperties \
+    -ltwoPhaseProperties \
     -lincompressibleTransportModels \
     -lincompressibleTurbulenceModel \
     -lincompressibleRASModels \
diff --git a/applications/solvers/multiphase/interFoam/porousInterFoam/porousInterFoam.C b/applications/solvers/multiphase/interFoam/porousInterFoam/porousInterFoam.C
index ea1a15b03222b823fc93eed6ca22bfff3978bed4..39c81c7a8dc9fb58cc2bda021b6ed73177803688 100644
--- a/applications/solvers/multiphase/interFoam/porousInterFoam/porousInterFoam.C
+++ b/applications/solvers/multiphase/interFoam/porousInterFoam/porousInterFoam.C
@@ -42,7 +42,7 @@ Description
 #include "MULES.H"
 #include "subCycle.H"
 #include "interfaceProperties.H"
-#include "twoPhaseMixture.H"
+#include "incompressibleTwoPhaseMixture.H"
 #include "turbulenceModel.H"
 #include "IOporosityModelList.H"
 #include "pimpleControl.H"
diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/Make/options b/applications/solvers/multiphase/interPhaseChangeFoam/Make/options
index 5416a161a866fc1d66bd7b320079c1b5c7266fad..2d2a968f168efd946d74b673f5b52d35d422c7ac 100644
--- a/applications/solvers/multiphase/interPhaseChangeFoam/Make/options
+++ b/applications/solvers/multiphase/interPhaseChangeFoam/Make/options
@@ -1,4 +1,5 @@
 EXE_INC = \
+    -I$(LIB_SRC)/transportModels/twoPhaseProperties/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
@@ -8,7 +9,7 @@ EXE_INC = \
 
 EXE_LIBS = \
     -linterfaceProperties \
-    -ltwoPhaseInterfaceProperties \
+    -ltwoPhaseProperties \
     -lincompressibleTransportModels \
     -lincompressibleTurbulenceModel \
     -lincompressibleRASModels \
diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/phaseChangeTwoPhaseMixture/newPhaseChangeTwoPhaseMixture.C b/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/phaseChangeTwoPhaseMixture/newPhaseChangeTwoPhaseMixture.C
index f1e8feec003e46603286ec3dfe3ea47a8a8ca069..08728c8f926b94c29e68b2c78ea8d89d310fbcba 100644
--- a/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/phaseChangeTwoPhaseMixture/newPhaseChangeTwoPhaseMixture.C
+++ b/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/phaseChangeTwoPhaseMixture/newPhaseChangeTwoPhaseMixture.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,7 +24,7 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "phaseChangeTwoPhaseMixture.H"
-#include "twoPhaseMixture.H"
+#include "incompressibleTwoPhaseMixture.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/phaseChangeTwoPhaseMixture/phaseChangeTwoPhaseMixture.C b/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/phaseChangeTwoPhaseMixture/phaseChangeTwoPhaseMixture.C
index 3a7c4c7a53d3c01a44836d9d215e1aed4ed5cf26..c08eba939067edd6151c61816c6ac510b2f25ffc 100644
--- a/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/phaseChangeTwoPhaseMixture/phaseChangeTwoPhaseMixture.C
+++ b/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/phaseChangeTwoPhaseMixture/phaseChangeTwoPhaseMixture.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -43,7 +43,7 @@ Foam::phaseChangeTwoPhaseMixture::phaseChangeTwoPhaseMixture
     const word& alpha1Name
 )
 :
-    twoPhaseMixture(U, phi, alpha1Name),
+    incompressibleTwoPhaseMixture(U, phi, alpha1Name),
     phaseChangeTwoPhaseMixtureCoeffs_(subDict(type + "Coeffs")),
     pSat_(lookup("pSat"))
 {}
@@ -76,7 +76,7 @@ Foam::phaseChangeTwoPhaseMixture::vDotP() const
 
 bool Foam::phaseChangeTwoPhaseMixture::read()
 {
-    if (twoPhaseMixture::read())
+    if (incompressibleTwoPhaseMixture::read())
     {
         phaseChangeTwoPhaseMixtureCoeffs_ = subDict(type() + "Coeffs");
         lookup("pSat") >> pSat_;
diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/phaseChangeTwoPhaseMixture/phaseChangeTwoPhaseMixture.H b/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/phaseChangeTwoPhaseMixture/phaseChangeTwoPhaseMixture.H
index fdfe30d5e7e831a1d4230dc28863878f517a95a5..fc81d080d3e4211b00c5b9da76d2cff28c8763e8 100644
--- a/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/phaseChangeTwoPhaseMixture/phaseChangeTwoPhaseMixture.H
+++ b/applications/solvers/multiphase/interPhaseChangeFoam/phaseChangeTwoPhaseMixtures/phaseChangeTwoPhaseMixture/phaseChangeTwoPhaseMixture.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -35,7 +35,7 @@ SourceFiles
 #ifndef phaseChangeTwoPhaseMixture_H
 #define phaseChangeTwoPhaseMixture_H
 
-#include "twoPhaseMixture.H"
+#include "incompressibleTwoPhaseMixture.H"
 #include "typeInfo.H"
 #include "runTimeSelectionTables.H"
 #include "volFields.H"
@@ -54,7 +54,7 @@ namespace Foam
 
 class phaseChangeTwoPhaseMixture
 :
-    public twoPhaseMixture
+    public incompressibleTwoPhaseMixture
 {
 
 protected:
diff --git a/applications/solvers/multiphase/twoLiquidMixingFoam/Make/options b/applications/solvers/multiphase/twoLiquidMixingFoam/Make/options
index 6e20519ec98d90ae8f38ba26587a05c72e39374c..9a33b331cce534d63faa886aa957f9fad8e48cc6 100644
--- a/applications/solvers/multiphase/twoLiquidMixingFoam/Make/options
+++ b/applications/solvers/multiphase/twoLiquidMixingFoam/Make/options
@@ -1,5 +1,6 @@
 EXE_INC = \
     -I../interFoam \
+    -I$(LIB_SRC)/transportModels/twoPhaseProperties/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
     -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
@@ -7,7 +8,7 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude
 
 EXE_LIBS = \
-    -ltwoPhaseInterfaceProperties \
+    -ltwoPhaseProperties \
     -lincompressibleTransportModels \
     -lincompressibleTurbulenceModel \
     -lincompressibleRASModels \
diff --git a/applications/solvers/multiphase/twoLiquidMixingFoam/createFields.H b/applications/solvers/multiphase/twoLiquidMixingFoam/createFields.H
index e98f06e74e590fb3a2b8a635fc28324130967251..18b686f4f8afcfdcbf92f61f2e4f7c3a54d26893 100644
--- a/applications/solvers/multiphase/twoLiquidMixingFoam/createFields.H
+++ b/applications/solvers/multiphase/twoLiquidMixingFoam/createFields.H
@@ -29,7 +29,7 @@
     #include "createPhi.H"
 
     Info<< "Reading transportProperties\n" << endl;
-    twoPhaseMixture twoPhaseProperties(U, phi);
+    incompressibleTwoPhaseMixture twoPhaseProperties(U, phi);
 
     volScalarField& alpha1(twoPhaseProperties.alpha1());
     volScalarField& alpha2(twoPhaseProperties.alpha2());
diff --git a/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C b/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C
index 6113aba01f1b42c4cda46109d3724f93fa4fdbda..8c51a402ee377d49a61b1429fbcfc4c7ddb34afc 100644
--- a/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C
+++ b/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -34,7 +34,7 @@ Description
 #include "fvCFD.H"
 #include "MULES.H"
 #include "subCycle.H"
-#include "twoPhaseMixture.H"
+#include "incompressibleTwoPhaseMixture.H"
 #include "turbulenceModel.H"
 #include "pimpleControl.H"
 
diff --git a/applications/utilities/miscellaneous/foamDebugSwitches/Make/options b/applications/utilities/miscellaneous/foamDebugSwitches/Make/options
index 6fa4104188a79deb511308fe1cf34d9e80243768..43f0c24cb535928cd2280c59b22338245ddebd46 100644
--- a/applications/utilities/miscellaneous/foamDebugSwitches/Make/options
+++ b/applications/utilities/miscellaneous/foamDebugSwitches/Make/options
@@ -63,5 +63,5 @@ EXE_LIBS = \
     -lthermophysicalFunctions \
     -ltopoChangerFvMesh \
     -ltriSurface \
-    -ltwoPhaseInterfaceProperties \
+    -ltwoPhaseProperties \
     -lutilityFunctionObjects
diff --git a/src/meshTools/coordinateSystems/coordinateRotation/axesRotation.C b/src/meshTools/coordinateSystems/coordinateRotation/axesRotation.C
index 039e3fb2533849e36872836efe3c5d19d55a6de6..a502eb02fd6c206d351dca7f41348f3dc397b423 100644
--- a/src/meshTools/coordinateSystems/coordinateRotation/axesRotation.C
+++ b/src/meshTools/coordinateSystems/coordinateRotation/axesRotation.C
@@ -171,12 +171,7 @@ Foam::tmp<Foam::vectorField> Foam::axesRotation::transform
     const vectorField& st
 ) const
 {
-    notImplemented
-    (
-        "tmp<vectorField> Foam::axesRotation:: "
-        "transform(const vectorField& st) const"
-    );
-    return tmp<vectorField>(NULL);
+    return (R_ & st);
 }
 
 
@@ -185,12 +180,7 @@ Foam::tmp<Foam::vectorField> Foam::axesRotation::invTransform
     const vectorField& st
 ) const
 {
-    notImplemented
-    (
-        "tmp<vectorField>  Foam::axesRotation::"
-        "invTransform(const vectorField& st) const"
-    );
-    return tmp<vectorField>(NULL);
+    return (Rtr_ & st);
 }
 
 
diff --git a/src/thermophysicalModels/specie/equationOfState/adiabaticPerfectFluid/adiabaticPerfectFluid.C b/src/thermophysicalModels/specie/equationOfState/adiabaticPerfectFluid/adiabaticPerfectFluid.C
new file mode 100644
index 0000000000000000000000000000000000000000..5d35425ccce01b1c0fdf7af3ceab64902fe78ef3
--- /dev/null
+++ b/src/thermophysicalModels/specie/equationOfState/adiabaticPerfectFluid/adiabaticPerfectFluid.C
@@ -0,0 +1,102 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "adiabaticPerfectFluid.H"
+#include "IOstreams.H"
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+template<class Specie>
+Foam::adiabaticPerfectFluid<Specie>::adiabaticPerfectFluid(Istream& is)
+:
+    Specie(is),
+    p0_(readScalar(is)),
+    rho0_(readScalar(is)),
+    gamma_(readScalar(is)),
+    B_(readScalar(is))
+{
+    is.check
+    (
+        "adiabaticPerfectFluid<Specie>::adiabaticPerfectFluid(Istream& is)"
+    );
+}
+
+
+template<class Specie>
+Foam::adiabaticPerfectFluid<Specie>::adiabaticPerfectFluid
+(
+    const dictionary& dict
+)
+:
+    Specie(dict),
+    p0_(readScalar(dict.subDict("equationOfState").lookup("p0"))),
+    rho0_(readScalar(dict.subDict("equationOfState").lookup("rho0"))),
+    gamma_(readScalar(dict.subDict("equationOfState").lookup("gamma"))),
+    B_(readScalar(dict.subDict("equationOfState").lookup("B")))
+{}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+template<class Specie>
+void Foam::adiabaticPerfectFluid<Specie>::write(Ostream& os) const
+{
+    Specie::write(os);
+
+    dictionary dict("equationOfState");
+    dict.add("p0", p0_);
+    dict.add("rho0", rho0_);
+    dict.add("gamma", gamma_);
+    dict.add("B", B_);
+
+    os  << indent << dict.dictName() << dict;
+}
+
+
+// * * * * * * * * * * * * * * * Ostream Operator  * * * * * * * * * * * * * //
+
+template<class Specie>
+Foam::Ostream& Foam::operator<<
+(
+    Ostream& os,
+    const adiabaticPerfectFluid<Specie>& pf
+)
+{
+    os  << static_cast<const Specie&>(pf)
+        << token::SPACE << pf.R_
+        << token::SPACE << pf.rho0_
+        << token::SPACE << pf.gamma_
+        << token::SPACE << pf.B_;
+
+    os.check
+    (
+        "Ostream& operator<<(Ostream&, const adiabaticPerfectFluid<Specie>&)"
+    );
+
+    return os;
+}
+
+
+// ************************************************************************* //
diff --git a/src/thermophysicalModels/specie/equationOfState/adiabaticPerfectFluid/adiabaticPerfectFluid.H b/src/thermophysicalModels/specie/equationOfState/adiabaticPerfectFluid/adiabaticPerfectFluid.H
new file mode 100644
index 0000000000000000000000000000000000000000..6ebd728fa8c27ea2c00eb3fb73183eced2e3599d
--- /dev/null
+++ b/src/thermophysicalModels/specie/equationOfState/adiabaticPerfectFluid/adiabaticPerfectFluid.H
@@ -0,0 +1,247 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+Class
+    Foam::adiabaticPerfectFluid
+
+Description
+    AdiabaticPerfect gas equation of state.
+
+SourceFiles
+    adiabaticPerfectFluidI.H
+    adiabaticPerfectFluid.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef adiabaticPerfectFluid_H
+#define adiabaticPerfectFluid_H
+
+#include "autoPtr.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// Forward declaration of friend functions and operators
+
+template<class Specie> class adiabaticPerfectFluid;
+
+template<class Specie>
+inline adiabaticPerfectFluid<Specie> operator+
+(
+    const adiabaticPerfectFluid<Specie>&,
+    const adiabaticPerfectFluid<Specie>&
+);
+
+template<class Specie>
+inline adiabaticPerfectFluid<Specie> operator-
+(
+    const adiabaticPerfectFluid<Specie>&,
+    const adiabaticPerfectFluid<Specie>&
+);
+
+template<class Specie>
+inline adiabaticPerfectFluid<Specie> operator*
+(
+    const scalar,
+    const adiabaticPerfectFluid<Specie>&
+);
+
+template<class Specie>
+inline adiabaticPerfectFluid<Specie> operator==
+(
+    const adiabaticPerfectFluid<Specie>&,
+    const adiabaticPerfectFluid<Specie>&
+);
+
+template<class Specie>
+Ostream& operator<<
+(
+    Ostream&,
+    const adiabaticPerfectFluid<Specie>&
+);
+
+
+/*---------------------------------------------------------------------------*\
+                           Class adiabaticPerfectFluid Declaration
+\*---------------------------------------------------------------------------*/
+
+template<class Specie>
+class adiabaticPerfectFluid
+:
+    public Specie
+{
+    // Private data
+
+        //- Reference pressure
+        scalar p0_;
+
+        //- Reference density
+        scalar rho0_;
+
+        //- The isentropic exponent
+        scalar gamma_;
+
+        //- Pressure offset for a stiffened gas
+        scalar B_;
+
+
+public:
+
+    // Constructors
+
+        //- Construct from components
+        inline adiabaticPerfectFluid
+        (
+            const Specie& sp,
+            const scalar p0,
+            const scalar rho0,
+            const scalar gamma,
+            const scalar B
+        );
+
+        //- Construct from Istream
+        adiabaticPerfectFluid(Istream&);
+
+        //- Construct from dictionary
+        adiabaticPerfectFluid(const dictionary& dict);
+
+        //- Construct as named copy
+        inline adiabaticPerfectFluid
+        (
+            const word& name,
+            const adiabaticPerfectFluid&
+        );
+
+        //- Construct and return a clone
+        inline autoPtr<adiabaticPerfectFluid> clone() const;
+
+        // Selector from Istream
+        inline static autoPtr<adiabaticPerfectFluid> New(Istream& is);
+
+        // Selector from dictionary
+        inline static autoPtr<adiabaticPerfectFluid> New
+        (
+            const dictionary& dict
+        );
+
+
+    // Member functions
+
+        //- Return the instantiated type name
+        static word typeName()
+        {
+            return "adiabaticPerfectFluid<" + word(Specie::typeName_()) + '>';
+        }
+
+
+        // Fundamental properties
+
+            //- Is the equation of state is incompressible i.e. rho != f(p)
+            static const bool incompressible = false;
+
+            //- Is the equation of state is isochoric i.e. rho = const
+            static const bool isochoric = false;
+
+            //- Return density [kg/m^3]
+            inline scalar rho(scalar p, scalar T) const;
+
+            //- Return compressibility rho/p [s^2/m^2]
+            inline scalar psi(scalar p, scalar T) const;
+
+            //- Return compression factor []
+            inline scalar Z(scalar p, scalar T) const;
+
+            //- Return (cp - cv) [J/(kmol K]
+            inline scalar cpMcv(scalar p, scalar T) const;
+
+
+        // IO
+
+            //- Write to Ostream
+            void write(Ostream& os) const;
+
+
+    // Member operators
+
+        inline void operator+=(const adiabaticPerfectFluid&);
+        inline void operator-=(const adiabaticPerfectFluid&);
+
+        inline void operator*=(const scalar);
+
+
+    // Friend operators
+
+        friend adiabaticPerfectFluid operator+ <Specie>
+        (
+            const adiabaticPerfectFluid&,
+            const adiabaticPerfectFluid&
+        );
+
+        friend adiabaticPerfectFluid operator- <Specie>
+        (
+            const adiabaticPerfectFluid&,
+            const adiabaticPerfectFluid&
+        );
+
+        friend adiabaticPerfectFluid operator* <Specie>
+        (
+            const scalar s,
+            const adiabaticPerfectFluid&
+        );
+
+        friend adiabaticPerfectFluid operator== <Specie>
+        (
+            const adiabaticPerfectFluid&,
+            const adiabaticPerfectFluid&
+        );
+
+
+    // Ostream Operator
+
+        friend Ostream& operator<< <Specie>
+        (
+            Ostream&,
+            const adiabaticPerfectFluid&
+        );
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#include "adiabaticPerfectFluidI.H"
+
+#ifdef NoRepository
+#   include "adiabaticPerfectFluid.C"
+#endif
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/thermophysicalModels/specie/equationOfState/adiabaticPerfectFluid/adiabaticPerfectFluidI.H b/src/thermophysicalModels/specie/equationOfState/adiabaticPerfectFluid/adiabaticPerfectFluidI.H
new file mode 100644
index 0000000000000000000000000000000000000000..4521e719460ac2409551a0ec99581189302dec45
--- /dev/null
+++ b/src/thermophysicalModels/specie/equationOfState/adiabaticPerfectFluid/adiabaticPerfectFluidI.H
@@ -0,0 +1,271 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "adiabaticPerfectFluid.H"
+
+// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
+
+template<class Specie>
+inline Foam::adiabaticPerfectFluid<Specie>::adiabaticPerfectFluid
+(
+    const Specie& sp,
+    const scalar p0,
+    const scalar rho0,
+    const scalar gamma,
+    const scalar B
+)
+:
+    Specie(sp),
+    p0_(p0),
+    rho0_(rho0),
+    gamma_(gamma),
+    B_(B)
+{}
+
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+template<class Specie>
+inline Foam::adiabaticPerfectFluid<Specie>::adiabaticPerfectFluid
+(
+    const word& name,
+    const adiabaticPerfectFluid<Specie>& pf
+)
+:
+    Specie(name, pf),
+    p0_(pf.p0_),
+    rho0_(pf.rho0_),
+    gamma_(pf.gamma_),
+    B_(pf.B_)
+{}
+
+
+template<class Specie>
+inline Foam::autoPtr<Foam::adiabaticPerfectFluid<Specie> >
+Foam::adiabaticPerfectFluid<Specie>::clone() const
+{
+    return autoPtr<adiabaticPerfectFluid<Specie> >
+    (
+        new adiabaticPerfectFluid<Specie>(*this)
+    );
+}
+
+
+template<class Specie>
+inline Foam::autoPtr<Foam::adiabaticPerfectFluid<Specie> >
+Foam::adiabaticPerfectFluid<Specie>::New(Istream& is)
+{
+    return autoPtr<adiabaticPerfectFluid<Specie> >
+    (
+        new adiabaticPerfectFluid<Specie>(is)
+    );
+}
+
+
+template<class Specie>
+inline Foam::autoPtr<Foam::adiabaticPerfectFluid<Specie> >
+Foam::adiabaticPerfectFluid<Specie>::New
+(
+    const dictionary& dict
+)
+{
+    return autoPtr<adiabaticPerfectFluid<Specie> >
+    (
+        new adiabaticPerfectFluid<Specie>(dict)
+    );
+}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+template<class Specie>
+inline Foam::scalar Foam::adiabaticPerfectFluid<Specie>::rho
+(
+    scalar p,
+    scalar
+) const
+{
+    return rho0_*pow((p + B_)/(p0_ + B_), 1.0/gamma_);
+}
+
+
+template<class Specie>
+inline Foam::scalar Foam::adiabaticPerfectFluid<Specie>::psi
+(
+    scalar p,
+    scalar
+) const
+{
+    return
+        (rho0_/(gamma_*(p0_ + B_)))
+       *pow((p + B_)/(p0_ + B_), 1.0/gamma_ - 1.0);
+}
+
+
+template<class Specie>
+inline Foam::scalar Foam::adiabaticPerfectFluid<Specie>::Z(scalar, scalar) const
+{
+    return 1.0;
+}
+
+
+template<class Specie>
+inline Foam::scalar Foam::adiabaticPerfectFluid<Specie>::cpMcv
+(
+    scalar,
+    scalar
+) const
+{
+    return 0;
+}
+
+
+// * * * * * * * * * * * * * * * Member Operators  * * * * * * * * * * * * * //
+
+template<class Specie>
+inline void Foam::adiabaticPerfectFluid<Specie>::operator+=
+(
+    const adiabaticPerfectFluid<Specie>& pf
+)
+{
+    scalar molr1 = this->nMoles();
+
+    Specie::operator+=(pf);
+
+    molr1 /= this->nMoles();
+    scalar molr2 = pf.nMoles()/this->nMoles();
+
+    p0_ = molr1*p0_ + molr2*pf.p0_;
+    rho0_ = molr1*rho0_ + molr2*pf.rho0_;
+    gamma_ = molr1*gamma_ + molr2*pf.gamma_;
+    B_ = molr1*B_ + molr2*pf.B_;
+}
+
+
+template<class Specie>
+inline void Foam::adiabaticPerfectFluid<Specie>::operator-=
+(
+    const adiabaticPerfectFluid<Specie>& pf
+)
+{
+    scalar molr1 = this->nMoles();
+
+    Specie::operator-=(pf);
+
+    molr1 /= this->nMoles();
+    scalar molr2 = pf.nMoles()/this->nMoles();
+
+    p0_ = molr1*p0_ - molr2*pf.p0_;
+    rho0_ = molr1*rho0_ - molr2*pf.rho0_;
+    gamma_ = molr1*gamma_ - molr2*pf.gamma_;
+    B_ = molr1*B_ - molr2*pf.B_;
+}
+
+
+template<class Specie>
+inline void Foam::adiabaticPerfectFluid<Specie>::operator*=(const scalar s)
+{
+    Specie::operator*=(s);
+}
+
+
+// * * * * * * * * * * * * * * * Friend Operators  * * * * * * * * * * * * * //
+
+template<class Specie>
+inline Foam::adiabaticPerfectFluid<Specie> Foam::operator+
+(
+    const adiabaticPerfectFluid<Specie>& pf1,
+    const adiabaticPerfectFluid<Specie>& pf2
+)
+{
+    scalar nMoles = pf1.nMoles() + pf2.nMoles();
+    scalar molr1 = pf1.nMoles()/nMoles;
+    scalar molr2 = pf2.nMoles()/nMoles;
+
+    return rhoConst<Specie>
+    (
+        static_cast<const Specie&>(pf1)
+      + static_cast<const Specie&>(pf2),
+        molr1*pf1.p0_ + molr2*pf2.p0_,
+        molr1*pf1.rho0_ + molr2*pf2.rho0_,
+        molr1*pf1.gamma_ + molr2*pf2.gamma_,
+        molr1*pf1.B_ + molr2*pf2.B_
+    );
+}
+
+
+template<class Specie>
+inline Foam::adiabaticPerfectFluid<Specie> Foam::operator-
+(
+    const adiabaticPerfectFluid<Specie>& pf1,
+    const adiabaticPerfectFluid<Specie>& pf2
+)
+{
+    scalar nMoles = pf1.nMoles() + pf2.nMoles();
+    scalar molr1 = pf1.nMoles()/nMoles;
+    scalar molr2 = pf2.nMoles()/nMoles;
+
+    return rhoConst<Specie>
+    (
+        static_cast<const Specie&>(pf1)
+      - static_cast<const Specie&>(pf2),
+        molr1*pf1.p0_ - molr2*pf2.p0_,
+        molr1*pf1.rho0_ - molr2*pf2.rho0_,
+        molr1*pf1.gamma_ - molr2*pf2.gamma_,
+        molr1*pf1.B_ - molr2*pf2.B_
+    );
+}
+
+
+template<class Specie>
+inline Foam::adiabaticPerfectFluid<Specie> Foam::operator*
+(
+    const scalar s,
+    const adiabaticPerfectFluid<Specie>& pf
+)
+{
+    return adiabaticPerfectFluid<Specie>
+    (
+        s*static_cast<const Specie&>(pf),
+        pf.p0_,
+        pf.rho0_,
+        pf.gamma_,
+        pf.B_
+    );
+}
+
+
+template<class Specie>
+inline Foam::adiabaticPerfectFluid<Specie> Foam::operator==
+(
+    const adiabaticPerfectFluid<Specie>& pf1,
+    const adiabaticPerfectFluid<Specie>& pf2
+)
+{
+    return pf2 - pf1;
+}
+
+
+// ************************************************************************* //
diff --git a/src/thermophysicalModels/specie/equationOfState/linear/linear.C b/src/thermophysicalModels/specie/equationOfState/linear/linear.C
new file mode 100644
index 0000000000000000000000000000000000000000..562bdecf2bd96838c961d5afff058b9d36b5a9a7
--- /dev/null
+++ b/src/thermophysicalModels/specie/equationOfState/linear/linear.C
@@ -0,0 +1,80 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "linear.H"
+#include "IOstreams.H"
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+template<class Specie>
+Foam::linear<Specie>::linear(Istream& is)
+:
+    Specie(is),
+    psi_(readScalar(is)),
+    rho0_(readScalar(is))
+{
+    is.check("linear<Specie>::linear(Istream& is)");
+}
+
+
+template<class Specie>
+Foam::linear<Specie>::linear(const dictionary& dict)
+:
+    Specie(dict),
+    psi_(readScalar(dict.subDict("equationOfState").lookup("psi"))),
+    rho0_(readScalar(dict.subDict("equationOfState").lookup("rho0")))
+{}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+template<class Specie>
+void Foam::linear<Specie>::write(Ostream& os) const
+{
+    Specie::write(os);
+
+    dictionary dict("equationOfState");
+    dict.add("psi", psi_);
+    dict.add("rho0", rho0_);
+
+    os  << indent << dict.dictName() << dict;
+}
+
+
+// * * * * * * * * * * * * * * * Ostream Operator  * * * * * * * * * * * * * //
+
+template<class Specie>
+Foam::Ostream& Foam::operator<<(Ostream& os, const linear<Specie>& pf)
+{
+    os  << static_cast<const Specie&>(pf)
+        << token::SPACE << pf.psi_
+        << token::SPACE << pf.rho0_;
+
+    os.check("Ostream& operator<<(Ostream&, const linear<Specie>&)");
+    return os;
+}
+
+
+// ************************************************************************* //
diff --git a/src/thermophysicalModels/specie/equationOfState/linear/linear.H b/src/thermophysicalModels/specie/equationOfState/linear/linear.H
new file mode 100644
index 0000000000000000000000000000000000000000..8876ce3f28d6228f99c992364bdc9670d29021c7
--- /dev/null
+++ b/src/thermophysicalModels/specie/equationOfState/linear/linear.H
@@ -0,0 +1,232 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+Class
+    Foam::linear
+
+Description
+    Perfect gas equation of state.
+
+SourceFiles
+    linearI.H
+    linear.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef linear_H
+#define linear_H
+
+#include "autoPtr.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// Forward declaration of friend functions and operators
+
+template<class Specie> class linear;
+
+template<class Specie>
+inline linear<Specie> operator+
+(
+    const linear<Specie>&,
+    const linear<Specie>&
+);
+
+template<class Specie>
+inline linear<Specie> operator-
+(
+    const linear<Specie>&,
+    const linear<Specie>&
+);
+
+template<class Specie>
+inline linear<Specie> operator*
+(
+    const scalar,
+    const linear<Specie>&
+);
+
+template<class Specie>
+inline linear<Specie> operator==
+(
+    const linear<Specie>&,
+    const linear<Specie>&
+);
+
+template<class Specie>
+Ostream& operator<<
+(
+    Ostream&,
+    const linear<Specie>&
+);
+
+
+/*---------------------------------------------------------------------------*\
+                           Class linear Declaration
+\*---------------------------------------------------------------------------*/
+
+template<class Specie>
+class linear
+:
+    public Specie
+{
+    // Private data
+
+        //- Compressibility
+        scalar psi_;
+
+        //- The reference density
+        scalar rho0_;
+
+
+public:
+
+    // Constructors
+
+        //- Construct from components
+        inline linear
+        (
+            const Specie& sp,
+            const scalar psi,
+            const scalar rho0
+        );
+
+        //- Construct from Istream
+        linear(Istream&);
+
+        //- Construct from dictionary
+        linear(const dictionary& dict);
+
+        //- Construct as named copy
+        inline linear(const word& name, const linear&);
+
+        //- Construct and return a clone
+        inline autoPtr<linear> clone() const;
+
+        // Selector from Istream
+        inline static autoPtr<linear> New(Istream& is);
+
+        // Selector from dictionary
+        inline static autoPtr<linear> New(const dictionary& dict);
+
+
+    // Member functions
+
+        //- Return the instantiated type name
+        static word typeName()
+        {
+            return "linear<" + word(Specie::typeName_()) + '>';
+        }
+
+
+        // Fundamental properties
+
+            //- Is the equation of state is incompressible i.e. rho != f(p)
+            static const bool incompressible = false;
+
+            //- Is the equation of state is isochoric i.e. rho = const
+            static const bool isochoric = false;
+
+            //- Return density [kg/m^3]
+            inline scalar rho(scalar p, scalar T) const;
+
+            //- Return compressibility rho/p [s^2/m^2]
+            inline scalar psi(scalar p, scalar T) const;
+
+            //- Return compression factor []
+            inline scalar Z(scalar p, scalar T) const;
+
+            //- Return (cp - cv) [J/(kmol K]
+            inline scalar cpMcv(scalar p, scalar T) const;
+
+
+        // IO
+
+            //- Write to Ostream
+            void write(Ostream& os) const;
+
+
+    // Member operators
+
+        inline void operator+=(const linear&);
+        inline void operator-=(const linear&);
+
+        inline void operator*=(const scalar);
+
+
+    // Friend operators
+
+        friend linear operator+ <Specie>
+        (
+            const linear&,
+            const linear&
+        );
+
+        friend linear operator- <Specie>
+        (
+            const linear&,
+            const linear&
+        );
+
+        friend linear operator* <Specie>
+        (
+            const scalar s,
+            const linear&
+        );
+
+        friend linear operator== <Specie>
+        (
+            const linear&,
+            const linear&
+        );
+
+
+    // Ostream Operator
+
+        friend Ostream& operator<< <Specie>
+        (
+            Ostream&,
+            const linear&
+        );
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#include "linearI.H"
+
+#ifdef NoRepository
+#   include "linear.C"
+#endif
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/thermophysicalModels/specie/equationOfState/linear/linearI.H b/src/thermophysicalModels/specie/equationOfState/linear/linearI.H
new file mode 100644
index 0000000000000000000000000000000000000000..ea05aa6333810aac4a6d140c95d659fceda2e9e5
--- /dev/null
+++ b/src/thermophysicalModels/specie/equationOfState/linear/linearI.H
@@ -0,0 +1,232 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "linear.H"
+
+// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
+
+template<class Specie>
+inline Foam::linear<Specie>::linear
+(
+    const Specie& sp,
+    const scalar psi,
+    const scalar rho0
+)
+:
+    Specie(sp),
+    psi_(psi),
+    rho0_(rho0)
+{}
+
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+template<class Specie>
+inline Foam::linear<Specie>::linear
+(
+    const word& name,
+    const linear<Specie>& pf
+)
+:
+    Specie(name, pf),
+    psi_(pf.psi_),
+    rho0_(pf.rho0_)
+{}
+
+
+template<class Specie>
+inline Foam::autoPtr<Foam::linear<Specie> >
+Foam::linear<Specie>::clone() const
+{
+    return autoPtr<linear<Specie> >(new linear<Specie>(*this));
+}
+
+
+template<class Specie>
+inline Foam::autoPtr<Foam::linear<Specie> >
+Foam::linear<Specie>::New(Istream& is)
+{
+    return autoPtr<linear<Specie> >(new linear<Specie>(is));
+}
+
+
+template<class Specie>
+inline Foam::autoPtr<Foam::linear<Specie> >
+Foam::linear<Specie>::New
+(
+    const dictionary& dict
+)
+{
+    return autoPtr<linear<Specie> >(new linear<Specie>(dict));
+}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+template<class Specie>
+inline Foam::scalar Foam::linear<Specie>::rho(scalar p, scalar T) const
+{
+    return rho0_ + psi_*p;
+}
+
+
+template<class Specie>
+inline Foam::scalar Foam::linear<Specie>::psi(scalar, scalar T) const
+{
+    return psi_;
+}
+
+
+template<class Specie>
+inline Foam::scalar Foam::linear<Specie>::Z(scalar, scalar) const
+{
+    return 1.0;
+}
+
+
+template<class Specie>
+inline Foam::scalar Foam::linear<Specie>::cpMcv(scalar, scalar) const
+{
+    return 0;
+}
+
+
+// * * * * * * * * * * * * * * * Member Operators  * * * * * * * * * * * * * //
+
+template<class Specie>
+inline void Foam::linear<Specie>::operator+=
+(
+    const linear<Specie>& pf
+)
+{
+    scalar molr1 = this->nMoles();
+
+    Specie::operator+=(pf);
+
+    molr1 /= this->nMoles();
+    scalar molr2 = pf.nMoles()/this->nMoles();
+
+    psi_ = molr1*psi_ + molr2*pf.psi_;
+    rho0_ = molr1*rho0_ + molr2*pf.rho0_;
+}
+
+
+template<class Specie>
+inline void Foam::linear<Specie>::operator-=
+(
+    const linear<Specie>& pf
+)
+{
+    scalar molr1 = this->nMoles();
+
+    Specie::operator-=(pf);
+
+    molr1 /= this->nMoles();
+    scalar molr2 = pf.nMoles()/this->nMoles();
+
+    psi_ = molr1*psi_ - molr2*pf.psi_;
+    rho0_ = molr1*rho0_ - molr2*pf.rho0_;
+}
+
+
+template<class Specie>
+inline void Foam::linear<Specie>::operator*=(const scalar s)
+{
+    Specie::operator*=(s);
+}
+
+
+// * * * * * * * * * * * * * * * Friend Operators  * * * * * * * * * * * * * //
+
+template<class Specie>
+inline Foam::linear<Specie> Foam::operator+
+(
+    const linear<Specie>& pf1,
+    const linear<Specie>& pf2
+)
+{
+    scalar nMoles = pf1.nMoles() + pf2.nMoles();
+    scalar molr1 = pf1.nMoles()/nMoles;
+    scalar molr2 = pf2.nMoles()/nMoles;
+
+    return rhoConst<Specie>
+    (
+        static_cast<const Specie&>(pf1)
+      + static_cast<const Specie&>(pf2),
+        molr1*pf1.psi_ + molr2*pf2.psi_,
+        molr1*pf1.rho0_ + molr2*pf2.rho0_
+    );
+}
+
+
+template<class Specie>
+inline Foam::linear<Specie> Foam::operator-
+(
+    const linear<Specie>& pf1,
+    const linear<Specie>& pf2
+)
+{
+    scalar nMoles = pf1.nMoles() + pf2.nMoles();
+    scalar molr1 = pf1.nMoles()/nMoles;
+    scalar molr2 = pf2.nMoles()/nMoles;
+
+    return rhoConst<Specie>
+    (
+        static_cast<const Specie&>(pf1)
+      - static_cast<const Specie&>(pf2),
+        molr1*pf1.psi_ - molr2*pf2.psi_,
+        molr1*pf1.rho0_ - molr2*pf2.rho0_
+    );
+}
+
+
+template<class Specie>
+inline Foam::linear<Specie> Foam::operator*
+(
+    const scalar s,
+    const linear<Specie>& pf
+)
+{
+    return linear<Specie>
+    (
+        s*static_cast<const Specie&>(pf),
+        pf.psi_,
+        pf.rho0_
+    );
+}
+
+
+template<class Specie>
+inline Foam::linear<Specie> Foam::operator==
+(
+    const linear<Specie>& pf1,
+    const linear<Specie>& pf2
+)
+{
+    return pf2 - pf1;
+}
+
+
+// ************************************************************************* //
diff --git a/src/transportModels/Allwmake b/src/transportModels/Allwmake
index 21078c07fdf2b36d0bb5935e76376588f5dd714a..60db98b2d8130e2d2b1437516cd1d7e2086735d5 100755
--- a/src/transportModels/Allwmake
+++ b/src/transportModels/Allwmake
@@ -3,9 +3,8 @@ cd ${0%/*} || exit 1    # run from this directory
 makeType=${1:-libso}
 set -x
 
-wmake $makeType incompressible
 wmake $makeType interfaceProperties
-wmake $makeType twoPhaseInterfaceProperties
-# wmake $makeType compressible
+wmake $makeType twoPhaseProperties
+wmake $makeType incompressible
 
 # ----------------------------------------------------------------- end-of-file
diff --git a/src/transportModels/incompressible/Make/files b/src/transportModels/incompressible/Make/files
index 898a3c648ced0ae9d42af3f69203343561ca2f0d..76baf5df2415e130c435a2d9fd6f851d7378f140 100644
--- a/src/transportModels/incompressible/Make/files
+++ b/src/transportModels/incompressible/Make/files
@@ -9,6 +9,6 @@ viscosityModels/HerschelBulkley/HerschelBulkley.C
 transportModel/transportModel.C
 singlePhaseTransportModel/singlePhaseTransportModel.C
 
-incompressibleTwoPhaseMixture/twoPhaseMixture.C
+incompressibleTwoPhaseMixture/incompressibleTwoPhaseMixture.C
 
 LIB = $(FOAM_LIBBIN)/libincompressibleTransportModels
diff --git a/src/transportModels/incompressible/Make/options b/src/transportModels/incompressible/Make/options
index a412632ebb87b7a78b4466b6d94fedc04f71922d..2ae73705d2b300114e7e5e8f145aa8c6bbaac37d 100644
--- a/src/transportModels/incompressible/Make/options
+++ b/src/transportModels/incompressible/Make/options
@@ -1,6 +1,8 @@
 EXE_INC = \
     -I.. \
+    -I../twoPhaseProperties/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude
 
 LIB_LIBS = \
+    -ltwoPhaseProperties \
     -lfiniteVolume
diff --git a/src/transportModels/incompressible/incompressibleTwoPhaseMixture/twoPhaseMixture.C b/src/transportModels/incompressible/incompressibleTwoPhaseMixture/incompressibleTwoPhaseMixture.C
similarity index 80%
rename from src/transportModels/incompressible/incompressibleTwoPhaseMixture/twoPhaseMixture.C
rename to src/transportModels/incompressible/incompressibleTwoPhaseMixture/incompressibleTwoPhaseMixture.C
index 7ff4e9d2ce81300df117f236826046d88a3a75bf..98046c9b76f028ba8a65b41fc4f934d0c50760f6 100644
--- a/src/transportModels/incompressible/incompressibleTwoPhaseMixture/twoPhaseMixture.C
+++ b/src/transportModels/incompressible/incompressibleTwoPhaseMixture/incompressibleTwoPhaseMixture.C
@@ -23,7 +23,7 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "twoPhaseMixture.H"
+#include "incompressibleTwoPhaseMixture.H"
 #include "addToRunTimeSelectionTable.H"
 #include "surfaceFields.H"
 #include "fvc.H"
@@ -32,7 +32,7 @@ License
 // * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * * //
 
 //- Calculate and return the laminar viscosity
-void Foam::twoPhaseMixture::calcNu()
+void Foam::incompressibleTwoPhaseMixture::calcNu()
 {
     nuModel1_->correct();
     nuModel2_->correct();
@@ -50,7 +50,7 @@ void Foam::twoPhaseMixture::calcNu()
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::twoPhaseMixture::twoPhaseMixture
+Foam::incompressibleTwoPhaseMixture::incompressibleTwoPhaseMixture
 (
     const volVectorField& U,
     const surfaceScalarField& phi,
@@ -59,16 +59,14 @@ Foam::twoPhaseMixture::twoPhaseMixture
 )
 :
     transportModel(U, phi),
-
-    phase1Name_(found("phases") ? wordList(lookup("phases"))[0] : "phase1"),
-    phase2Name_(found("phases") ? wordList(lookup("phases"))[1] : "phase2"),
+    twoPhaseMixture(U.mesh(), *this, alpha1Name, alpha2Name),
 
     nuModel1_
     (
         viscosityModel::New
         (
             "nu1",
-            subDict(phase1Name_),
+            subDict(phase1Name_ == "1" ? "phase1": phase1Name_),
             U,
             phi
         )
@@ -78,7 +76,7 @@ Foam::twoPhaseMixture::twoPhaseMixture
         viscosityModel::New
         (
             "nu2",
-            subDict(phase2Name_),
+            subDict(phase2Name_ == "2" ? "phase2": phase2Name_),
             U,
             phi
         )
@@ -90,30 +88,6 @@ Foam::twoPhaseMixture::twoPhaseMixture
     U_(U),
     phi_(phi),
 
-    alpha1_
-    (
-        IOobject
-        (
-            found("phases") ? word("alpha" + phase1Name_) : alpha1Name,
-            U_.time().timeName(),
-            U_.db(),
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        U_.mesh()
-    ),
-
-    alpha2_
-    (
-        IOobject
-        (
-            found("phases") ? word("alpha" + phase2Name_) : alpha2Name,
-            U_.time().timeName(),
-            U_.db()
-        ),
-        1.0 - alpha1_
-    ),
-
     nu_
     (
         IOobject
@@ -133,7 +107,8 @@ Foam::twoPhaseMixture::twoPhaseMixture
 
 // * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * * //
 
-Foam::tmp<Foam::volScalarField> Foam::twoPhaseMixture::mu() const
+Foam::tmp<Foam::volScalarField>
+Foam::incompressibleTwoPhaseMixture::mu() const
 {
     const volScalarField limitedAlpha1
     (
@@ -152,7 +127,8 @@ Foam::tmp<Foam::volScalarField> Foam::twoPhaseMixture::mu() const
 }
 
 
-Foam::tmp<Foam::surfaceScalarField> Foam::twoPhaseMixture::muf() const
+Foam::tmp<Foam::surfaceScalarField>
+Foam::incompressibleTwoPhaseMixture::muf() const
 {
     const surfaceScalarField alpha1f
     (
@@ -171,7 +147,8 @@ Foam::tmp<Foam::surfaceScalarField> Foam::twoPhaseMixture::muf() const
 }
 
 
-Foam::tmp<Foam::surfaceScalarField> Foam::twoPhaseMixture::nuf() const
+Foam::tmp<Foam::surfaceScalarField>
+Foam::incompressibleTwoPhaseMixture::nuf() const
 {
     const surfaceScalarField alpha1f
     (
@@ -192,7 +169,7 @@ Foam::tmp<Foam::surfaceScalarField> Foam::twoPhaseMixture::nuf() const
 }
 
 
-bool Foam::twoPhaseMixture::read()
+bool Foam::incompressibleTwoPhaseMixture::read()
 {
     if (transportModel::read())
     {
diff --git a/src/transportModels/incompressible/incompressibleTwoPhaseMixture/twoPhaseMixture.H b/src/transportModels/incompressible/incompressibleTwoPhaseMixture/incompressibleTwoPhaseMixture.H
similarity index 77%
rename from src/transportModels/incompressible/incompressibleTwoPhaseMixture/twoPhaseMixture.H
rename to src/transportModels/incompressible/incompressibleTwoPhaseMixture/incompressibleTwoPhaseMixture.H
index 7dca526d67c39fe5b14236a843c055aebe70bc60..8dad6483201d619c4bda92678ab5badd5423a3ca 100644
--- a/src/transportModels/incompressible/incompressibleTwoPhaseMixture/twoPhaseMixture.H
+++ b/src/transportModels/incompressible/incompressibleTwoPhaseMixture/incompressibleTwoPhaseMixture.H
@@ -22,23 +22,23 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::twoPhaseMixture
+    Foam::incompressibleTwoPhaseMixture
 
 Description
     A two-phase incompressible transportModel
 
 SourceFiles
-    twoPhaseMixture.C
+    incompressibleTwoPhaseMixture.C
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef twoPhaseMixture_H
-#define twoPhaseMixture_H
+#ifndef incompressibleTwoPhaseMixture_H
+#define incompressibleTwoPhaseMixture_H
 
 #include "incompressible/transportModel/transportModel.H"
 #include "incompressible/viscosityModels/viscosityModel/viscosityModel.H"
-#include "dimensionedScalar.H"
-#include "volFields.H"
+#include "twoPhaseMixture.H"
+
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -46,20 +46,18 @@ namespace Foam
 {
 
 /*---------------------------------------------------------------------------*\
-                      Class twoPhaseMixture Declaration
+                      Class incompressibleTwoPhaseMixture Declaration
 \*---------------------------------------------------------------------------*/
 
-class twoPhaseMixture
+class incompressibleTwoPhaseMixture
 :
-    public transportModel
+    public transportModel,
+    public twoPhaseMixture
 {
 protected:
 
     // Protected data
 
-        word phase1Name_;
-        word phase2Name_;
-
         autoPtr<viscosityModel> nuModel1_;
         autoPtr<viscosityModel> nuModel2_;
 
@@ -69,9 +67,6 @@ protected:
         const volVectorField& U_;
         const surfaceScalarField& phi_;
 
-        volScalarField alpha1_;
-        volScalarField alpha2_;
-
         volScalarField nu_;
 
 
@@ -86,7 +81,7 @@ public:
     // Constructors
 
         //- Construct from components
-        twoPhaseMixture
+        incompressibleTwoPhaseMixture
         (
             const volVectorField& U,
             const surfaceScalarField& phi,
@@ -96,46 +91,12 @@ public:
 
 
     //- Destructor
-    ~twoPhaseMixture()
+    virtual ~incompressibleTwoPhaseMixture()
     {}
 
 
     // Member Functions
 
-        const word phase1Name() const
-        {
-            return phase1Name_;
-        }
-
-        const word phase2Name() const
-        {
-            return phase2Name_;
-        }
-
-        //- Return the phase-fraction of phase 1
-        const volScalarField& alpha1() const
-        {
-            return alpha1_;
-        }
-
-        //- Return the phase-fraction of phase 1
-        volScalarField& alpha1()
-        {
-            return alpha1_;
-        }
-
-        //- Return the phase-fraction of phase 2
-        const volScalarField& alpha2() const
-        {
-            return alpha2_;
-        }
-
-        //- Return the phase-fraction of phase 2
-        volScalarField& alpha2()
-        {
-            return alpha2_;
-        }
-
         //- Return const-access to phase1 viscosityModel
         const viscosityModel& nuModel1() const
         {
diff --git a/src/transportModels/interfaceProperties/Make/options b/src/transportModels/interfaceProperties/Make/options
index d8c038aad0cd10357720a95d41b13553cffe687d..4636e2654026e44807dd6995606a7c409c28100d 100644
--- a/src/transportModels/interfaceProperties/Make/options
+++ b/src/transportModels/interfaceProperties/Make/options
@@ -1,5 +1,5 @@
 EXE_INC = \
-    -I$(LIB_SRC)/transportModels/twoPhaseInterfaceProperties/alphaContactAngle/alphaContactAngle \
+    -I$(LIB_SRC)/transportModels/twoPhaseProperties/alphaContactAngle/alphaContactAngle \
     -I$(LIB_SRC)/finiteVolume/lnInclude
 
 LIB_LIBS = -lfiniteVolume
diff --git a/src/transportModels/twoPhaseInterfaceProperties/Make/files b/src/transportModels/twoPhaseProperties/Make/files
similarity index 83%
rename from src/transportModels/twoPhaseInterfaceProperties/Make/files
rename to src/transportModels/twoPhaseProperties/Make/files
index 647a00e2ba05d7a9b005fe9fcb0f9a917fe00349..e7f6e04872b725dc2f2783b404e20ad5b484aa3e 100644
--- a/src/transportModels/twoPhaseInterfaceProperties/Make/files
+++ b/src/transportModels/twoPhaseProperties/Make/files
@@ -1,7 +1,9 @@
+twoPhaseMixture/twoPhaseMixture.C
+
 alphaContactAngle/alphaContactAngle/alphaContactAngleFvPatchScalarField.C
 alphaContactAngle/constantAlphaContactAngle/constantAlphaContactAngleFvPatchScalarField.C
 alphaContactAngle/dynamicAlphaContactAngle/dynamicAlphaContactAngleFvPatchScalarField.C
 alphaContactAngle/timeVaryingAlphaContactAngle/timeVaryingAlphaContactAngleFvPatchScalarField.C
 alphaFixedPressure/alphaFixedPressureFvPatchScalarField.C
 
-LIB = $(FOAM_LIBBIN)/libtwoPhaseInterfaceProperties
+LIB = $(FOAM_LIBBIN)/libtwoPhaseProperties
diff --git a/src/transportModels/twoPhaseInterfaceProperties/Make/options b/src/transportModels/twoPhaseProperties/Make/options
similarity index 100%
rename from src/transportModels/twoPhaseInterfaceProperties/Make/options
rename to src/transportModels/twoPhaseProperties/Make/options
diff --git a/src/transportModels/twoPhaseInterfaceProperties/alphaContactAngle/alphaContactAngle/alphaContactAngleFvPatchScalarField.C b/src/transportModels/twoPhaseProperties/alphaContactAngle/alphaContactAngle/alphaContactAngleFvPatchScalarField.C
similarity index 98%
rename from src/transportModels/twoPhaseInterfaceProperties/alphaContactAngle/alphaContactAngle/alphaContactAngleFvPatchScalarField.C
rename to src/transportModels/twoPhaseProperties/alphaContactAngle/alphaContactAngle/alphaContactAngleFvPatchScalarField.C
index 73c962d77f85de6bd9ea6c53af21e41048cc65f5..f183641e461fe1495c87ae07fd0e361a5c813c43 100644
--- a/src/transportModels/twoPhaseInterfaceProperties/alphaContactAngle/alphaContactAngle/alphaContactAngleFvPatchScalarField.C
+++ b/src/transportModels/twoPhaseProperties/alphaContactAngle/alphaContactAngle/alphaContactAngleFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/transportModels/twoPhaseInterfaceProperties/alphaContactAngle/alphaContactAngle/alphaContactAngleFvPatchScalarField.H b/src/transportModels/twoPhaseProperties/alphaContactAngle/alphaContactAngle/alphaContactAngleFvPatchScalarField.H
similarity index 98%
rename from src/transportModels/twoPhaseInterfaceProperties/alphaContactAngle/alphaContactAngle/alphaContactAngleFvPatchScalarField.H
rename to src/transportModels/twoPhaseProperties/alphaContactAngle/alphaContactAngle/alphaContactAngleFvPatchScalarField.H
index 6d1f65fe73f0c42feabea6a470be8093302116b8..95f51483fca0ea909b10347cc46be656209a68a9 100644
--- a/src/transportModels/twoPhaseInterfaceProperties/alphaContactAngle/alphaContactAngle/alphaContactAngleFvPatchScalarField.H
+++ b/src/transportModels/twoPhaseProperties/alphaContactAngle/alphaContactAngle/alphaContactAngleFvPatchScalarField.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/transportModels/twoPhaseInterfaceProperties/alphaContactAngle/constantAlphaContactAngle/constantAlphaContactAngleFvPatchScalarField.C b/src/transportModels/twoPhaseProperties/alphaContactAngle/constantAlphaContactAngle/constantAlphaContactAngleFvPatchScalarField.C
similarity index 98%
rename from src/transportModels/twoPhaseInterfaceProperties/alphaContactAngle/constantAlphaContactAngle/constantAlphaContactAngleFvPatchScalarField.C
rename to src/transportModels/twoPhaseProperties/alphaContactAngle/constantAlphaContactAngle/constantAlphaContactAngleFvPatchScalarField.C
index 9c84ba823a8499e657f74485d73ddde89f1a3db0..ea35d3999cfc23af7cd1d7d1ab1ae94f0726acec 100644
--- a/src/transportModels/twoPhaseInterfaceProperties/alphaContactAngle/constantAlphaContactAngle/constantAlphaContactAngleFvPatchScalarField.C
+++ b/src/transportModels/twoPhaseProperties/alphaContactAngle/constantAlphaContactAngle/constantAlphaContactAngleFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/transportModels/twoPhaseInterfaceProperties/alphaContactAngle/constantAlphaContactAngle/constantAlphaContactAngleFvPatchScalarField.H b/src/transportModels/twoPhaseProperties/alphaContactAngle/constantAlphaContactAngle/constantAlphaContactAngleFvPatchScalarField.H
similarity index 98%
rename from src/transportModels/twoPhaseInterfaceProperties/alphaContactAngle/constantAlphaContactAngle/constantAlphaContactAngleFvPatchScalarField.H
rename to src/transportModels/twoPhaseProperties/alphaContactAngle/constantAlphaContactAngle/constantAlphaContactAngleFvPatchScalarField.H
index 70fcd6ed8c59c2cc5e06067bdb4c1bc10c0b4bbb..02eaf6b352cf30b024c26a9057561693539b64f2 100644
--- a/src/transportModels/twoPhaseInterfaceProperties/alphaContactAngle/constantAlphaContactAngle/constantAlphaContactAngleFvPatchScalarField.H
+++ b/src/transportModels/twoPhaseProperties/alphaContactAngle/constantAlphaContactAngle/constantAlphaContactAngleFvPatchScalarField.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/transportModels/twoPhaseInterfaceProperties/alphaContactAngle/dynamicAlphaContactAngle/dynamicAlphaContactAngleFvPatchScalarField.C b/src/transportModels/twoPhaseProperties/alphaContactAngle/dynamicAlphaContactAngle/dynamicAlphaContactAngleFvPatchScalarField.C
similarity index 98%
rename from src/transportModels/twoPhaseInterfaceProperties/alphaContactAngle/dynamicAlphaContactAngle/dynamicAlphaContactAngleFvPatchScalarField.C
rename to src/transportModels/twoPhaseProperties/alphaContactAngle/dynamicAlphaContactAngle/dynamicAlphaContactAngleFvPatchScalarField.C
index ee0d3b9aafca6d72d5996898318285c303de6218..b4a9db0062ae45939796add46cf81e95353f9c5a 100644
--- a/src/transportModels/twoPhaseInterfaceProperties/alphaContactAngle/dynamicAlphaContactAngle/dynamicAlphaContactAngleFvPatchScalarField.C
+++ b/src/transportModels/twoPhaseProperties/alphaContactAngle/dynamicAlphaContactAngle/dynamicAlphaContactAngleFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/transportModels/twoPhaseInterfaceProperties/alphaContactAngle/dynamicAlphaContactAngle/dynamicAlphaContactAngleFvPatchScalarField.H b/src/transportModels/twoPhaseProperties/alphaContactAngle/dynamicAlphaContactAngle/dynamicAlphaContactAngleFvPatchScalarField.H
similarity index 98%
rename from src/transportModels/twoPhaseInterfaceProperties/alphaContactAngle/dynamicAlphaContactAngle/dynamicAlphaContactAngleFvPatchScalarField.H
rename to src/transportModels/twoPhaseProperties/alphaContactAngle/dynamicAlphaContactAngle/dynamicAlphaContactAngleFvPatchScalarField.H
index b3768be38bcee8974d0b9a8b8bcfc97e91def854..488a7ed93af28bdd45b4c76e5c42f77aab7f6f97 100644
--- a/src/transportModels/twoPhaseInterfaceProperties/alphaContactAngle/dynamicAlphaContactAngle/dynamicAlphaContactAngleFvPatchScalarField.H
+++ b/src/transportModels/twoPhaseProperties/alphaContactAngle/dynamicAlphaContactAngle/dynamicAlphaContactAngleFvPatchScalarField.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/transportModels/twoPhaseInterfaceProperties/alphaContactAngle/timeVaryingAlphaContactAngle/timeVaryingAlphaContactAngleFvPatchScalarField.C b/src/transportModels/twoPhaseProperties/alphaContactAngle/timeVaryingAlphaContactAngle/timeVaryingAlphaContactAngleFvPatchScalarField.C
similarity index 98%
rename from src/transportModels/twoPhaseInterfaceProperties/alphaContactAngle/timeVaryingAlphaContactAngle/timeVaryingAlphaContactAngleFvPatchScalarField.C
rename to src/transportModels/twoPhaseProperties/alphaContactAngle/timeVaryingAlphaContactAngle/timeVaryingAlphaContactAngleFvPatchScalarField.C
index 265f235e44abaa3fcd928e1a22f3cb1bf1b37b91..d014b1c6fcd997b8f44814186f88da599d7f7fc0 100644
--- a/src/transportModels/twoPhaseInterfaceProperties/alphaContactAngle/timeVaryingAlphaContactAngle/timeVaryingAlphaContactAngleFvPatchScalarField.C
+++ b/src/transportModels/twoPhaseProperties/alphaContactAngle/timeVaryingAlphaContactAngle/timeVaryingAlphaContactAngleFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/transportModels/twoPhaseInterfaceProperties/alphaContactAngle/timeVaryingAlphaContactAngle/timeVaryingAlphaContactAngleFvPatchScalarField.H b/src/transportModels/twoPhaseProperties/alphaContactAngle/timeVaryingAlphaContactAngle/timeVaryingAlphaContactAngleFvPatchScalarField.H
similarity index 98%
rename from src/transportModels/twoPhaseInterfaceProperties/alphaContactAngle/timeVaryingAlphaContactAngle/timeVaryingAlphaContactAngleFvPatchScalarField.H
rename to src/transportModels/twoPhaseProperties/alphaContactAngle/timeVaryingAlphaContactAngle/timeVaryingAlphaContactAngleFvPatchScalarField.H
index d52f4c821e706d28a79c5f1e97a666cf621cd1c6..de96a69eea1c2defeaf000a3438dcc75d45a79a8 100644
--- a/src/transportModels/twoPhaseInterfaceProperties/alphaContactAngle/timeVaryingAlphaContactAngle/timeVaryingAlphaContactAngleFvPatchScalarField.H
+++ b/src/transportModels/twoPhaseProperties/alphaContactAngle/timeVaryingAlphaContactAngle/timeVaryingAlphaContactAngleFvPatchScalarField.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/transportModels/twoPhaseInterfaceProperties/alphaFixedPressure/alphaFixedPressureFvPatchScalarField.C b/src/transportModels/twoPhaseProperties/alphaFixedPressure/alphaFixedPressureFvPatchScalarField.C
similarity index 98%
rename from src/transportModels/twoPhaseInterfaceProperties/alphaFixedPressure/alphaFixedPressureFvPatchScalarField.C
rename to src/transportModels/twoPhaseProperties/alphaFixedPressure/alphaFixedPressureFvPatchScalarField.C
index 61bd4d09c10bc48cbb9d06c85689f908bdb2ca00..e6e6ea2c10612c0c1a3a82c39c51fd484f9e1535 100644
--- a/src/transportModels/twoPhaseInterfaceProperties/alphaFixedPressure/alphaFixedPressureFvPatchScalarField.C
+++ b/src/transportModels/twoPhaseProperties/alphaFixedPressure/alphaFixedPressureFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/transportModels/twoPhaseInterfaceProperties/alphaFixedPressure/alphaFixedPressureFvPatchScalarField.H b/src/transportModels/twoPhaseProperties/alphaFixedPressure/alphaFixedPressureFvPatchScalarField.H
similarity index 98%
rename from src/transportModels/twoPhaseInterfaceProperties/alphaFixedPressure/alphaFixedPressureFvPatchScalarField.H
rename to src/transportModels/twoPhaseProperties/alphaFixedPressure/alphaFixedPressureFvPatchScalarField.H
index 6186c621925d5685d482584ffc33feffb0086d77..2b9c00c0c1efed654c33bdbf5e686a883493b035 100644
--- a/src/transportModels/twoPhaseInterfaceProperties/alphaFixedPressure/alphaFixedPressureFvPatchScalarField.H
+++ b/src/transportModels/twoPhaseProperties/alphaFixedPressure/alphaFixedPressureFvPatchScalarField.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/phaseEquationOfState/phaseEquationOfState.C b/src/transportModels/twoPhaseProperties/twoPhaseMixture/twoPhaseMixture.C
similarity index 56%
rename from applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/phaseEquationOfState/phaseEquationOfState.C
rename to src/transportModels/twoPhaseProperties/twoPhaseMixture/twoPhaseMixture.C
index 41ed49322b2a8c5dea3003a96969670e56408240..7b95752f370e941080c937ed016b528c2b66e089 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/phaseEquationOfState/phaseEquationOfState.C
+++ b/src/transportModels/twoPhaseProperties/twoPhaseMixture/twoPhaseMixture.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -23,31 +23,55 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "phaseEquationOfState.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-    defineTypeNameAndDebug(phaseEquationOfState, 0);
-    defineRunTimeSelectionTable(phaseEquationOfState, dictionary);
-}
+#include "twoPhaseMixture.H"
 
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::phaseEquationOfState::phaseEquationOfState
+Foam::twoPhaseMixture::twoPhaseMixture
 (
-    const dictionary& dict
+    const fvMesh& mesh,
+    const dictionary& dict,
+    const word& alpha1Name,
+    const word& alpha2Name
 )
 :
-    dict_(dict)
-{}
-
+    phase1Name_
+    (
+        dict.found("phases")
+      ? wordList(dict.lookup("phases"))[0]
+      : "1"
+    ),
+    phase2Name_
+    (
+        dict.found("phases")
+      ? wordList(dict.lookup("phases"))[1]
+      : "2"
+    ),
 
-// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
+    alpha1_
+    (
+        IOobject
+        (
+            dict.found("phases") ? word("alpha" + phase1Name_) : alpha1Name,
+            mesh.time().timeName(),
+            mesh,
+            IOobject::MUST_READ,
+            IOobject::AUTO_WRITE
+        ),
+        mesh
+    ),
 
-Foam::phaseEquationOfState::~phaseEquationOfState()
+    alpha2_
+    (
+        IOobject
+        (
+            dict.found("phases") ? word("alpha" + phase2Name_) : alpha2Name,
+            mesh.time().timeName(),
+            mesh
+        ),
+        1.0 - alpha1_
+    )
 {}
 
 
diff --git a/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/adiabaticPerfectFluid/adiabaticPerfectFluid.H b/src/transportModels/twoPhaseProperties/twoPhaseMixture/twoPhaseMixture.H
similarity index 56%
rename from applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/adiabaticPerfectFluid/adiabaticPerfectFluid.H
rename to src/transportModels/twoPhaseProperties/twoPhaseMixture/twoPhaseMixture.H
index 49f5218e4928119b189a16ad63b896d5c5dfd293..668c4f2cfd2161ba1987e2c6f5abfe51f62b354c 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/phaseEquationsOfState/adiabaticPerfectFluid/adiabaticPerfectFluid.H
+++ b/src/transportModels/twoPhaseProperties/twoPhaseMixture/twoPhaseMixture.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -22,90 +22,102 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::phaseEquationsOfState::adiabaticPerfectFluid
+    Foam::twoPhaseMixture
 
 Description
-    AdiabaticPerfectFluid phase density model.
+    A two-phase mixture model
 
 SourceFiles
-    adiabaticPerfectFluid.C
+    twoPhaseMixture.C
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef adiabaticPerfectFluid_H
-#define adiabaticPerfectFluid_H
+#ifndef twoPhaseMixture_H
+#define twoPhaseMixture_H
 
-#include "phaseEquationOfState.H"
-#include "dimensionedTypes.H"
+#include "volFields.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
 {
-namespace phaseEquationsOfState
-{
 
 /*---------------------------------------------------------------------------*\
-                           Class adiabaticPerfectFluid Declaration
+                      Class twoPhaseMixture Declaration
 \*---------------------------------------------------------------------------*/
 
-class adiabaticPerfectFluid
-:
-    public phaseEquationOfState
+class twoPhaseMixture
 {
-    // Private data
-
-        //- Reference pressure
-        dimensionedScalar p0_;
+protected:
 
-        //- Reference density
-        dimensionedScalar rho0_;
+    // Protected data
 
-        //- The isentropic exponent
-        dimensionedScalar gamma_;
+        word phase1Name_;
+        word phase2Name_;
 
-        //- Pressure offset for a stiffened gas
-        dimensionedScalar B_;
+        volScalarField alpha1_;
+        volScalarField alpha2_;
 
 
 public:
 
-    //- Runtime type information
-    TypeName("adiabaticPerfectFluid");
-
-
     // Constructors
 
         //- Construct from components
-        adiabaticPerfectFluid
+        twoPhaseMixture
         (
-            const dictionary& dict
+            const fvMesh& mesh,
+            const dictionary& dict,
+            const word& alpha1Name = "alpha1",
+            const word& alpha2Name = "alpha2"
         );
 
 
     //- Destructor
-    virtual ~adiabaticPerfectFluid();
+    ~twoPhaseMixture()
+    {}
 
 
     // Member Functions
 
-        tmp<volScalarField> rho
-        (
-            const volScalarField& p,
-            const volScalarField& T
-        ) const;
-
-        tmp<volScalarField> psi
-        (
-            const volScalarField& p,
-            const volScalarField& T
-        ) const;
+        const word phase1Name() const
+        {
+            return phase1Name_;
+        }
+
+        const word phase2Name() const
+        {
+            return phase2Name_;
+        }
+
+        //- Return the phase-fraction of phase 1
+        const volScalarField& alpha1() const
+        {
+            return alpha1_;
+        }
+
+        //- Return the phase-fraction of phase 1
+        volScalarField& alpha1()
+        {
+            return alpha1_;
+        }
+
+        //- Return the phase-fraction of phase 2
+        const volScalarField& alpha2() const
+        {
+            return alpha2_;
+        }
+
+        //- Return the phase-fraction of phase 2
+        volScalarField& alpha2()
+        {
+            return alpha2_;
+        }
 };
 
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-} // End namespace phaseEquationsOfState
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/turbulenceModels/compressible/RAS/RASModel/RASModel.H b/src/turbulenceModels/compressible/RAS/RASModel/RASModel.H
index 8bfa031882b1cdb9c1834f7ed15ac56483b69780..6780860b8719a6ba1bd71cda939aa704e5d9d782 100644
--- a/src/turbulenceModels/compressible/RAS/RASModel/RASModel.H
+++ b/src/turbulenceModels/compressible/RAS/RASModel/RASModel.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -233,8 +233,7 @@ public:
         //- Return the effective turbulent temperature diffusivity for a patch
         virtual tmp<scalarField> kappaEff(const label patchI) const
         {
-            return
-                thermo().kappaEff(alphat()().boundaryField()[patchI], patchI);
+            return thermo().kappaEff(alphat(patchI), patchI);
         }
 
         //- Return the effective turbulent thermal diffusivity
@@ -246,8 +245,7 @@ public:
         //- Return the effective turbulent thermal diffusivity for a patch
         virtual tmp<scalarField> alphaEff(const label patchI) const
         {
-            return
-                thermo().alphaEff(alphat()().boundaryField()[patchI], patchI);
+            return thermo().alphaEff(alphat(patchI), patchI);
         }
 
         //- Solve the turbulence equations and correct the turbulence viscosity
diff --git a/src/turbulenceModels/compressible/turbulenceModel/turbulenceModel.H b/src/turbulenceModels/compressible/turbulenceModel/turbulenceModel.H
index 87d283b29ab8d318cb625269052367e219f5a3a2..ab7c3ef21b63ec751a9bba7ff795c7276c137da0 100644
--- a/src/turbulenceModels/compressible/turbulenceModel/turbulenceModel.H
+++ b/src/turbulenceModels/compressible/turbulenceModel/turbulenceModel.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -212,6 +212,12 @@ public:
         //- Return the turbulence thermal diffusivity
         virtual tmp<volScalarField> alphat() const = 0;
 
+        //- Return the turbulence thermal diffusivity for a patch
+        virtual tmp<scalarField> alphat(const label patchI) const
+        {
+            return alphat()().boundaryField()[patchI];
+        }
+
         //- Return the effective turbulence temperature diffusivity
         virtual tmp<volScalarField> kappaEff() const = 0;
 
diff --git a/tutorials/compressible/rhoPimplecFoam/angledDuct/system/fvOptions b/tutorials/compressible/rhoPimplecFoam/angledDuct/system/fvOptions
index b150d51b8f0bd76a38f2c675609965072624ec03..66a2b807520ffe5ac1c89c4d752d42c2f0638ac2 100644
--- a/tutorials/compressible/rhoPimplecFoam/angledDuct/system/fvOptions
+++ b/tutorials/compressible/rhoPimplecFoam/angledDuct/system/fvOptions
@@ -33,8 +33,14 @@ porosity1
 
             coordinateSystem
             {
-                e1  (0.70710678 0.70710678 0);
-                e3  (0 0 1);
+                type    cartesian;
+                origin  (0 0 0);
+                coordinateRotation
+                {
+                    type    axesRotation;
+                    e1  (0.70710678 0.70710678 0);
+                    e3  (0 0 1);
+                }
             }
         }
     }
diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/snappyHexMeshDict b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/snappyHexMeshDict
index c5e80f8d1a3715a2600d25caa26d4fb32be862cf..a6e206d5256b2bd365ca802844aaedffd1c81b50 100644
--- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/snappyHexMeshDict
+++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/snappyHexMeshDict
@@ -54,10 +54,17 @@ geometry
             scale (1.0 1.0 2.1);
             transform
             {
-                type    cartesian;
-                origin  (2 2 0);
-                e1      (1 0 0);
-                e3      (0 0 1);
+                coordinateSystem
+                {
+                    type    cartesian;
+                    origin  (2 2 0);
+                    coordinateRotation
+                    {
+                        type    axesRotation;
+                        e1      (1 0 0);
+                        e3      (0 0 1);
+                    }
+                }
             }
         }
         herring
@@ -66,10 +73,17 @@ geometry
             scale (1.0 1.0 2.1);
             transform
             {
-                type    cartesian;
-                origin  (3.5 3 0);
-                e1      (1 0 0);
-                e3      (0 0 1);
+                coordinateSystem
+                {
+                    type    cartesian;
+                    origin  (3.5 3 0);
+                    coordinateRotation
+                    {
+                        type    axesRotation;
+                        e1      (1 0 0);
+                        e3      (0 0 1);
+                    }
+                }
             }
         }
     }
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/system/air/fvOptions b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/system/air/fvOptions
index 475ac8e04026f46bd037d6bde5a6ece872345137..e0562a385109a6b6e25313a6189c55ea842a4723 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/system/air/fvOptions
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/system/air/fvOptions
@@ -51,8 +51,14 @@ porosityBlockage
 
             coordinateSystem
             {
-                e1  (0 1 0);
-                e2  (0 0 1);
+                type    cartesian;
+                origin  (0 0 0);
+                coordinateRotation
+                {
+                    type    axesRotation;
+                    e1      (0 1 0);
+                    e2      (0 0 1);
+                }
             }
         }
     }
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/0/T.org b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/0/T.org
similarity index 97%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/0/T.org
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/0/T.org
index e5ac2eeb27e347dab629027bf93918e211179ee3..ce47bfaefcfa1a98ef1d8e640c3e1ac012478a14 100644
--- a/tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/0/T.org
+++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/0/T.org
@@ -10,7 +10,7 @@ FoamFile
     version     2.0;
     format      ascii;
     class       volScalarField;
-    object      alpha1;
+    object      T;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/0/U b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/0/U
similarity index 100%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/0/U
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/0/U
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/0/alphawater.org b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/0/alphawater.org
similarity index 100%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/0/alphawater.org
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/0/alphawater.org
diff --git a/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/0/p.org b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/0/p.org
new file mode 100644
index 0000000000000000000000000000000000000000..1e603613afa78464d8eb6271352e9887d5615e39
--- /dev/null
+++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/0/p.org
@@ -0,0 +1,35 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      p;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -1 -2 0 0 0 0];
+
+internalField   uniform 1e5;
+
+boundaryField
+{
+    walls
+    {
+        type            calculated;
+        value           uniform 1e5;
+    }
+
+    defaultFaces
+    {
+        type            empty;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/0/p_rgh.org b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/0/p_rgh.org
similarity index 100%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/0/p_rgh.org
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/0/p_rgh.org
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/Allclean b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/Allclean
similarity index 67%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/Allclean
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/Allclean
index d6e8dce5df4d6bb1480f3d9a86ae4abb36ea0fff..8821d7e1cc12328cac82fd5fbcfeb2cd2198e4ef 100755
--- a/tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/Allclean
+++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/Allclean
@@ -3,4 +3,4 @@ cd ${0%/*} || exit 1    # run from this directory
 
 foamCleanTutorials cases
 rm -rf processor*
-rm -rf 0/p_rgh.gz 0/alphawater.gz 0/T.gz
+rm -rf 0/p_rgh.gz 0/p.gz 0/alphawater.gz 0/T*.gz
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/Allrun b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/Allrun
similarity index 96%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/Allrun
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/Allrun
index 76547516b77f0ec8beb17b5b56f9419008d1c5b2..ac803d715f9a0b56c58f68b1c496093fbee21d3d 100755
--- a/tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/Allrun
+++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/Allrun
@@ -10,6 +10,7 @@ application=`getApplication`
 runApplication blockMesh
 cp 0/alphawater.org 0/alphawater
 cp 0/p_rgh.org 0/p_rgh
+cp 0/p.org 0/p
 cp 0/T.org 0/T
 runApplication setFields
 runApplication $application
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/constant/LESProperties b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/LESProperties
similarity index 100%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/constant/LESProperties
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/LESProperties
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/constant/g b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/g
similarity index 100%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/constant/g
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/g
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/constant/polyMesh/blockMeshDict b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/polyMesh/blockMeshDict
similarity index 100%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/constant/polyMesh/blockMeshDict
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/polyMesh/blockMeshDict
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/constant/polyMesh/boundary b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/polyMesh/boundary
similarity index 100%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/constant/polyMesh/boundary
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/polyMesh/boundary
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/constant/thermophysicalProperties b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/thermophysicalProperties
similarity index 88%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/constant/thermophysicalProperties
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/thermophysicalProperties
index 3c26cf1692ad357236bb940734e078d27d8d1ac3..9c14314414d80ca417142445651da9b4b1b5ce69 100644
--- a/tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/constant/thermophysicalProperties
+++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/thermophysicalProperties
@@ -15,5 +15,10 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+phases (water air);
+
+pMin            pMin [ 1 -1 -2 0 0 0 0 ] 10000;
+
+sigma           sigma [ 1 0 -2 0 0 0 0 ] 0.07;
 
 // ************************************************************************* //
diff --git a/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/thermophysicalPropertiesair b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/thermophysicalPropertiesair
new file mode 100644
index 0000000000000000000000000000000000000000..e61009c10be927d2af1b6981cc75ad368e85d5c3
--- /dev/null
+++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/thermophysicalPropertiesair
@@ -0,0 +1,49 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      thermophysicalProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+thermoType
+{
+    type            heRhoThermo;
+    mixture         pureMixture;
+    transport       const;
+    thermo          hConst;
+    equationOfState perfectGas;
+    specie          specie;
+    energy          sensibleInternalEnergy;
+}
+
+mixture
+{
+    specie
+    {
+        nMoles      1;
+        molWeight   28.9;
+    }
+    thermodynamics
+    {
+        Cp          1007;
+        Hf          0;
+    }
+    transport
+    {
+        mu          1.84e-05;
+        Pr          0.7;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/thermophysicalPropertieswater b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/thermophysicalPropertieswater
new file mode 100644
index 0000000000000000000000000000000000000000..1ffcbddad7b44c5aecf0266ac4d48835674b0344
--- /dev/null
+++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/thermophysicalPropertieswater
@@ -0,0 +1,54 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      thermophysicalProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+thermoType
+{
+    type            heRhoThermo;
+    mixture         pureMixture;
+    transport       const;
+    thermo          hConst;
+    equationOfState perfectFluid;
+    specie          specie;
+    energy          sensibleInternalEnergy;
+}
+
+mixture
+{
+    specie
+    {
+        nMoles      1;
+        molWeight   18.0;
+    }
+    equationOfState
+    {
+        R           3000;
+        rho0        1027;
+    }
+    thermodynamics
+    {
+        Cp          4195;
+        Hf          0;
+    }
+    transport
+    {
+        mu          3.645e-4;
+        Pr          2.289;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/constant/turbulenceProperties b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/turbulenceProperties
similarity index 97%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/constant/turbulenceProperties
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/turbulenceProperties
index a925d3cc2b28640b5aebf7779f6a9008e77b09fc..c2c3b28a1b4e8f4a2cae55f58bd61f9b1a67b488 100644
--- a/tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/constant/turbulenceProperties
+++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/turbulenceProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  LESModel;
+simulationType  laminar;
 
 
 // ************************************************************************* //
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/system/controlDict b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/system/controlDict
similarity index 100%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/system/controlDict
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/system/controlDict
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/system/fvSchemes b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/system/fvSchemes
similarity index 96%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/system/fvSchemes
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/system/fvSchemes
index 0c204f053f8dad1f6c9cf2ebace5172c11f77ea5..469090b5e0c522c21d90d80958ba88389a249b6d 100644
--- a/tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/system/fvSchemes
+++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/system/fvSchemes
@@ -35,7 +35,7 @@ divSchemes
     div(rho*phi,T)  Gauss upwind;
     div(rho*phi,K)  Gauss upwind;
     div(phi,k)      Gauss vanLeer;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div((muEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/system/fvSolution b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/system/fvSolution
similarity index 100%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/system/fvSolution
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/system/fvSolution
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/system/setFieldsDict b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/system/setFieldsDict
similarity index 95%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/system/setFieldsDict
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/system/setFieldsDict
index 88198a4d2492d2a3aea2da05522422006700024a..f312b4e9725624b24c148066d9685f03d42e2a9f 100644
--- a/tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/system/setFieldsDict
+++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/system/setFieldsDict
@@ -19,6 +19,7 @@ defaultFieldValues
 (
     volScalarFieldValue alphawater 1
     volScalarFieldValue p_rgh 1e5
+    volScalarFieldValue p 1e5
     volScalarFieldValue T 300
 );
 
@@ -32,6 +33,7 @@ regions
         (
             volScalarFieldValue alphawater 0
             volScalarFieldValue p_rgh 1e6
+            volScalarFieldValue p 1e6
             volScalarFieldValue T 578
         );
     }
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/0/T.org b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/0/T.org
similarity index 92%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/0/T.org
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/0/T.org
index b40cb08478605737ff4cac5ebc6bf0cef6004ac7..ce47bfaefcfa1a98ef1d8e640c3e1ac012478a14 100644
--- a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/0/T.org
+++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/0/T.org
@@ -10,7 +10,7 @@ FoamFile
     version     2.0;
     format      ascii;
     class       volScalarField;
-    object      alpha1;
+    object      T;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -24,6 +24,11 @@ boundaryField
     {
         type            zeroGradient;
     }
+
+    defaultFaces
+    {
+        type            empty;
+    }
 }
 
 // ************************************************************************* //
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/0/U b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/0/U
similarity index 94%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/0/U
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/0/U
index d37b2aea30e93c01cec35a4a5e005d7cc6e151ab..f267a870fcbaa90279da2fa20989a83329804a6a 100644
--- a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/0/U
+++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/0/U
@@ -25,6 +25,10 @@ boundaryField
         type            fixedValue;
         value           uniform (0 0 0);
     }
+    frontAndBack
+    {
+        type            empty;
+    }
 }
 
 // ************************************************************************* //
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/0/alphawater.org b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/0/alphawater.org
similarity index 94%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/0/alphawater.org
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/0/alphawater.org
index 62be61f403a247c589ce0dfd45bc84e54eaeb536..d90b720092af3d27f74cf6ca3cb23723735c73da 100644
--- a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/0/alphawater.org
+++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/0/alphawater.org
@@ -24,6 +24,11 @@ boundaryField
     {
         type            zeroGradient;
     }
+
+    defaultFaces
+    {
+        type            empty;
+    }
 }
 
 // ************************************************************************* //
diff --git a/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/0/p.org b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/0/p.org
new file mode 100644
index 0000000000000000000000000000000000000000..1e603613afa78464d8eb6271352e9887d5615e39
--- /dev/null
+++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/0/p.org
@@ -0,0 +1,35 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      p;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -1 -2 0 0 0 0];
+
+internalField   uniform 1e5;
+
+boundaryField
+{
+    walls
+    {
+        type            calculated;
+        value           uniform 1e5;
+    }
+
+    defaultFaces
+    {
+        type            empty;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/0/p_rgh.org b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/0/p_rgh.org
similarity index 94%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/0/p_rgh.org
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/0/p_rgh.org
index 0394387374d5ef9bb77528165e097f872381d9a4..396d380daddd7bc4e4a3c9d427a5226c6c3f44af 100644
--- a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/0/p_rgh.org
+++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/0/p_rgh.org
@@ -25,6 +25,11 @@ boundaryField
         type            fixedFluxPressure;
         value           uniform 1e5;
     }
+
+    defaultFaces
+    {
+        type            empty;
+    }
 }
 
 // ************************************************************************* //
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/Allclean b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/Allclean
similarity index 74%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/Allclean
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/Allclean
index 539c7721669d0975387894caa2ffcd81d6927fae..3ec07f62c5ce06923cbfba8158a68fa1c3cdc6f1 100755
--- a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/Allclean
+++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/Allclean
@@ -3,6 +3,6 @@ cd ${0%/*} || exit 1    # run from this directory
 
 foamCleanTutorials cases
 rm -rf processor*
-rm -rf 0/p_rgh 0/p_rgh.gz 0/alphawater 0/alphawater.gz 0/T.gz
+rm -rf 0/p_rgh.gz 0/p.gz 0/alphawater.gz 0/T.gz
 
 # ----------------------------------------------------------------- end-of-file
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/Allrun b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/Allrun
similarity index 96%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/Allrun
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/Allrun
index 0941ac4aa1aaff404b79022685eec6717e2ed8aa..11b84a3251a97ea8539fe65034448bf77d3ebb6a 100755
--- a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/Allrun
+++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/Allrun
@@ -10,6 +10,7 @@ application=`getApplication`
 runApplication blockMesh
 cp 0/alphawater.org 0/alphawater
 cp 0/p_rgh.org 0/p_rgh
+cp 0/p.org 0/p
 cp 0/T.org 0/T
 runApplication setFields
 runApplication decomposePar
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/constant/LESProperties b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/LESProperties
similarity index 100%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/constant/LESProperties
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/LESProperties
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/constant/g b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/g
similarity index 100%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/constant/g
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/g
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/constant/polyMesh/blockMeshDict b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/polyMesh/blockMeshDict
similarity index 100%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/constant/polyMesh/blockMeshDict
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/polyMesh/blockMeshDict
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/constant/polyMesh/boundary b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/polyMesh/boundary
similarity index 100%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/constant/polyMesh/boundary
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/polyMesh/boundary
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/constant/transportProperties b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/thermophysicalProperties
similarity index 80%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/constant/transportProperties
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/thermophysicalProperties
index 78f85f47a2d7fd6c44c040653766d237404fba31..9c14314414d80ca417142445651da9b4b1b5ce69 100644
--- a/tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/constant/transportProperties
+++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/thermophysicalProperties
@@ -11,29 +11,14 @@ FoamFile
     format      ascii;
     class       dictionary;
     location    "constant";
-    object      transportProperties;
+    object      thermophysicalProperties;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 phases (water air);
 
-water
-{
-    transportModel  Newtonian;
-    nu              1e-06;
-    rho             1000;
-}
-
-air
-{
-    transportModel  Newtonian;
-    nu              1.589e-05;
-    rho             1;
-}
-
 pMin            pMin [ 1 -1 -2 0 0 0 0 ] 10000;
 
 sigma           sigma [ 1 0 -2 0 0 0 0 ] 0.07;
 
-
 // ************************************************************************* //
diff --git a/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/thermophysicalPropertiesair b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/thermophysicalPropertiesair
new file mode 100644
index 0000000000000000000000000000000000000000..e61009c10be927d2af1b6981cc75ad368e85d5c3
--- /dev/null
+++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/thermophysicalPropertiesair
@@ -0,0 +1,49 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      thermophysicalProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+thermoType
+{
+    type            heRhoThermo;
+    mixture         pureMixture;
+    transport       const;
+    thermo          hConst;
+    equationOfState perfectGas;
+    specie          specie;
+    energy          sensibleInternalEnergy;
+}
+
+mixture
+{
+    specie
+    {
+        nMoles      1;
+        molWeight   28.9;
+    }
+    thermodynamics
+    {
+        Cp          1007;
+        Hf          0;
+    }
+    transport
+    {
+        mu          1.84e-05;
+        Pr          0.7;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/thermophysicalPropertieswater b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/thermophysicalPropertieswater
new file mode 100644
index 0000000000000000000000000000000000000000..1ffcbddad7b44c5aecf0266ac4d48835674b0344
--- /dev/null
+++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/thermophysicalPropertieswater
@@ -0,0 +1,54 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      thermophysicalProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+thermoType
+{
+    type            heRhoThermo;
+    mixture         pureMixture;
+    transport       const;
+    thermo          hConst;
+    equationOfState perfectFluid;
+    specie          specie;
+    energy          sensibleInternalEnergy;
+}
+
+mixture
+{
+    specie
+    {
+        nMoles      1;
+        molWeight   18.0;
+    }
+    equationOfState
+    {
+        R           3000;
+        rho0        1027;
+    }
+    thermodynamics
+    {
+        Cp          4195;
+        Hf          0;
+    }
+    transport
+    {
+        mu          3.645e-4;
+        Pr          2.289;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/constant/transportProperties b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/transportProperties
similarity index 100%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/constant/transportProperties
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/transportProperties
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/constant/turbulenceProperties b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/turbulenceProperties
similarity index 97%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/constant/turbulenceProperties
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/turbulenceProperties
index a925d3cc2b28640b5aebf7779f6a9008e77b09fc..c2c3b28a1b4e8f4a2cae55f58bd61f9b1a67b488 100644
--- a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/constant/turbulenceProperties
+++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/turbulenceProperties
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-simulationType  LESModel;
+simulationType  laminar;
 
 
 // ************************************************************************* //
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/system/controlDict b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/system/controlDict
similarity index 100%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/system/controlDict
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/system/controlDict
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/system/decomposeParDict b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/system/decomposeParDict
similarity index 100%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/system/decomposeParDict
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/system/decomposeParDict
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/system/fvSchemes b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/system/fvSchemes
similarity index 94%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/system/fvSchemes
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/system/fvSchemes
index 903d94d30c6e6ac6ecc85e0d048a668f7d3cb220..469090b5e0c522c21d90d80958ba88389a249b6d 100644
--- a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/system/fvSchemes
+++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/system/fvSchemes
@@ -33,8 +33,9 @@ divSchemes
     div(phid1,p_rgh) Gauss upwind;
     div(phid2,p_rgh) Gauss upwind;
     div(rho*phi,T)  Gauss upwind;
+    div(rho*phi,K)  Gauss upwind;
     div(phi,k)      Gauss vanLeer;
-    div((muEff*dev(T(grad(U))))) Gauss linear;
+    div((muEff*dev2(T(grad(U))))) Gauss linear;
 }
 
 laplacianSchemes
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/system/fvSolution b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/system/fvSolution
similarity index 99%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/system/fvSolution
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/system/fvSolution
index 461897454640df6743233c416536bbb89b0fa6a0..9066c1c700c4ba078eae024acd15d76d07f45f55 100644
--- a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/system/fvSolution
+++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/system/fvSolution
@@ -39,7 +39,7 @@ solvers
         maxIter         100;
     }
 
-    "(rho|rhoFinal)"
+    ".*(rho|rhoFinal)"
     {
         solver          diagonal;
     }
diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/system/setFieldsDict b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/system/setFieldsDict
similarity index 95%
rename from tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/system/setFieldsDict
rename to tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/system/setFieldsDict
index ec31deae034f52a0bcee92507698a43d1acd06de..dc90a362c06eab75ce1c892c6f693f67b817d413 100644
--- a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/system/setFieldsDict
+++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/system/setFieldsDict
@@ -19,6 +19,7 @@ defaultFieldValues
 (
     volScalarFieldValue alphawater 1
     volScalarFieldValue p_rgh 1e5
+    volScalarFieldValue p 1e5
     volScalarFieldValue T 300
 );
 
@@ -32,6 +33,7 @@ regions
         (
             volScalarFieldValue alphawater 0
             volScalarFieldValue p_rgh 1e6
+            volScalarFieldValue p 1e6
             volScalarFieldValue T 578
         );
     }
diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/bubbleColumn/constant/thermophysicalPropertieswater b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/bubbleColumn/constant/thermophysicalPropertieswater
index 672b24a98b365f170f3f2567723294befd79a06e..43cb59fafa8cd01f32e04a281bdd6405770cca06 100644
--- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/bubbleColumn/constant/thermophysicalPropertieswater
+++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/bubbleColumn/constant/thermophysicalPropertieswater
@@ -31,11 +31,12 @@ mixture
     specie
     {
         nMoles      1;
-        molWeight   28.9;
+        molWeight   18;
     }
     equationOfState
     {
         rho0        1027;
+        R           3000;
     }
     thermodynamics
     {
diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/mixerVessel2D/constant/thermophysicalProperties2 b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/mixerVessel2D/constant/thermophysicalProperties2
index 672b24a98b365f170f3f2567723294befd79a06e..43cb59fafa8cd01f32e04a281bdd6405770cca06 100644
--- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/mixerVessel2D/constant/thermophysicalProperties2
+++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/mixerVessel2D/constant/thermophysicalProperties2
@@ -31,11 +31,12 @@ mixture
     specie
     {
         nMoles      1;
-        molWeight   28.9;
+        molWeight   18;
     }
     equationOfState
     {
         rho0        1027;
+        R           3000;
     }
     thermodynamics
     {