diff --git a/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/cavitatingDyMFoam.C b/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/cavitatingDyMFoam.C
index cf608d0a6ab498e18bbd55fae57409bc9e9738fb..2dca530c145434bf062f6ff8cca9192ec1617af8 100644
--- a/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/cavitatingDyMFoam.C
+++ b/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/cavitatingDyMFoam.C
@@ -101,7 +101,7 @@ int main(int argc, char *argv[])
         while (pimple.loop())
         {
             #include "rhoEqn.H"
-            #include "gammaPsi.H"
+            #include "alphavPsi.H"
             #include "UEqn.H"
 
             // --- Pressure corrector loop
diff --git a/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/pEqn.H b/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/pEqn.H
index 3c4cbb0d32e48f0ff38415408ec669119b4f9f03..5ad7fdeb66c730abbeed416ea6e8e0d429bd166b 100644
--- a/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/pEqn.H
+++ b/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/pEqn.H
@@ -4,8 +4,8 @@
         p =
         (
             rho
-          - gamma2*rhol0
-          - ((gamma*psiv + gamma2*psil) - psi)*pSat
+          - alphal*rhol0
+          - ((alphav*psiv + alphal*psil) - psi)*pSat
         )/psi;
     }
 
@@ -52,13 +52,13 @@
 
     rho == max(rho0 + psi*p, rhoMin);
 
-    #include "gammaPsi.H"
+    #include "alphavPsi.H"
 
     p =
     (
         rho
-      - gamma2*rhol0
-      - ((gamma*psiv + gamma2*psil) - psi)*pSat
+      - alphal*rhol0
+      - ((alphav*psiv + alphal*psil) - psi)*pSat
     )/psi;
 
     p.correctBoundaryConditions();
diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/createFields.H b/applications/solvers/multiphase/interFoam/interMixingFoam/createFields.H
index a425d40e7f268bb2a6ae334ee3cf81eb22913856..196c82194c9fdac753607d426491c67f5dbaf972 100644
--- a/applications/solvers/multiphase/interFoam/interMixingFoam/createFields.H
+++ b/applications/solvers/multiphase/interFoam/interMixingFoam/createFields.H
@@ -12,53 +12,6 @@
         mesh
     );
 
-    Info<< "Reading field alpha1\n" << endl;
-    volScalarField alpha1
-    (
-        IOobject
-        (
-            "alpha1",
-            runTime.timeName(),
-            mesh,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh
-    );
-
-
-    Info<< "Reading field alpha2\n" << endl;
-    volScalarField alpha2
-    (
-        IOobject
-        (
-            "alpha2",
-            runTime.timeName(),
-            mesh,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh
-    );
-
-
-    Info<< "Reading field alpha3\n" << endl;
-    volScalarField alpha3
-    (
-        IOobject
-        (
-            "alpha3",
-            runTime.timeName(),
-            mesh,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh
-    );
-
-    alpha3 == 1.0 - alpha1 - alpha2;
-
-
     Info<< "Reading field U\n" << endl;
     volVectorField U
     (
@@ -77,6 +30,10 @@
 
     threePhaseMixture threePhaseProperties(U, phi);
 
+    volScalarField& alpha1(threePhaseProperties.alpha1());
+    volScalarField& alpha2(threePhaseProperties.alpha2());
+    volScalarField& alpha3(threePhaseProperties.alpha3());
+
     const dimensionedScalar& rho1 = threePhaseProperties.rho1();
     const dimensionedScalar& rho2 = threePhaseProperties.rho2();
     const dimensionedScalar& rho3 = threePhaseProperties.rho3();
diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/incompressibleThreePhaseMixture/threePhaseMixture.C b/applications/solvers/multiphase/interFoam/interMixingFoam/incompressibleThreePhaseMixture/threePhaseMixture.C
index fbf1e10ce3252dd4e4009de0c71abc2697e0f512..50494062d5ca547b1c3037e4f39990775728c96b 100644
--- a/applications/solvers/multiphase/interFoam/interMixingFoam/incompressibleThreePhaseMixture/threePhaseMixture.C
+++ b/applications/solvers/multiphase/interFoam/interMixingFoam/incompressibleThreePhaseMixture/threePhaseMixture.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
@@ -62,9 +62,64 @@ Foam::threePhaseMixture::threePhaseMixture
         )
     ),
 
-    phase1Name_("phase1"),
-    phase2Name_("phase2"),
-    phase3Name_("phase3"),
+    phase1Name_(wordList(lookup("phases"))[0]),
+    phase2Name_(wordList(lookup("phases"))[1]),
+    phase3Name_(wordList(lookup("phases"))[2]),
+
+    alpha1_
+    (
+        IOobject
+        (
+            IOobject::groupName("alpha", phase1Name_),
+            U.time().timeName(),
+            U.mesh(),
+            IOobject::MUST_READ,
+            IOobject::AUTO_WRITE
+        ),
+        U.mesh()
+    ),
+
+    alpha2_
+    (
+        IOobject
+        (
+            IOobject::groupName("alpha", phase2Name_),
+            U.time().timeName(),
+            U.mesh(),
+            IOobject::MUST_READ,
+            IOobject::AUTO_WRITE
+        ),
+        U.mesh()
+    ),
+
+    alpha3_
+    (
+        IOobject
+        (
+            IOobject::groupName("alpha", phase3Name_),
+            U.time().timeName(),
+            U.mesh(),
+            IOobject::MUST_READ,
+            IOobject::AUTO_WRITE
+        ),
+        U.mesh()
+    ),
+
+    U_(U),
+    phi_(phi),
+
+    nu_
+    (
+        IOobject
+        (
+            "nu",
+            U.time().timeName(),
+            U.db()
+        ),
+        U.mesh(),
+        dimensionedScalar("nu", dimensionSet(0, 2, -1, 0, 0), 0),
+        calculatedFvPatchScalarField::typeName
+    ),
 
     nuModel1_
     (
@@ -99,28 +154,9 @@ Foam::threePhaseMixture::threePhaseMixture
 
     rho1_(nuModel1_->viscosityProperties().lookup("rho")),
     rho2_(nuModel2_->viscosityProperties().lookup("rho")),
-    rho3_(nuModel3_->viscosityProperties().lookup("rho")),
-
-    U_(U),
-    phi_(phi),
-
-    alpha1_(U_.db().lookupObject<const volScalarField> ("alpha1")),
-    alpha2_(U_.db().lookupObject<const volScalarField> ("alpha2")),
-    alpha3_(U_.db().lookupObject<const volScalarField> ("alpha3")),
-
-    nu_
-    (
-        IOobject
-        (
-            "nu",
-            U_.time().timeName(),
-            U_.db()
-        ),
-        U_.mesh(),
-        dimensionedScalar("nu", dimensionSet(0, 2, -1, 0, 0), 0),
-        calculatedFvPatchScalarField::typeName
-    )
+    rho3_(nuModel3_->viscosityProperties().lookup("rho"))
 {
+    alpha3_ == 1.0 - alpha1_ - alpha2_;
     calcNu();
 }
 
diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/incompressibleThreePhaseMixture/threePhaseMixture.H b/applications/solvers/multiphase/interFoam/interMixingFoam/incompressibleThreePhaseMixture/threePhaseMixture.H
index 3c8b8739838aefe948a4ec5a9aebacf4104f9626..16337521d3bbd86c5b9e6a0368bfb80af15e2063 100644
--- a/applications/solvers/multiphase/interFoam/interMixingFoam/incompressibleThreePhaseMixture/threePhaseMixture.H
+++ b/applications/solvers/multiphase/interFoam/interMixingFoam/incompressibleThreePhaseMixture/threePhaseMixture.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
@@ -60,6 +60,15 @@ class threePhaseMixture
         word phase2Name_;
         word phase3Name_;
 
+        volScalarField alpha1_;
+        volScalarField alpha2_;
+        volScalarField alpha3_;
+
+        const volVectorField& U_;
+        const surfaceScalarField& phi_;
+
+        volScalarField nu_;
+
         autoPtr<viscosityModel> nuModel1_;
         autoPtr<viscosityModel> nuModel2_;
         autoPtr<viscosityModel> nuModel3_;
@@ -68,15 +77,6 @@ class threePhaseMixture
         dimensionedScalar rho2_;
         dimensionedScalar rho3_;
 
-        const volVectorField& U_;
-        const surfaceScalarField& phi_;
-
-        const volScalarField& alpha1_;
-        const volScalarField& alpha2_;
-        const volScalarField& alpha3_;
-
-        volScalarField nu_;
-
 
     // Private Member Functions
 
@@ -103,22 +103,49 @@ public:
 
     // Member Functions
 
-        //- Return const-access to phase1 viscosityModel
-        const viscosityModel& nuModel1() const
+        const word phase1Name() const
         {
-            return nuModel1_();
+            return phase1Name_;
         }
 
-        //- Return const-access to phase2 viscosityModel
-        const viscosityModel& nuModel2() const
+        const word phase2Name() const
         {
-            return nuModel2_();
+            return phase2Name_;
         }
 
-        //- Return const-access to phase3 viscosityModel
-        const viscosityModel& nuModel3() const
+        const word phase3Name() const
         {
-            return nuModel3_();
+            return phase3Name_;
+        }
+
+        const volScalarField& alpha1() const
+        {
+            return alpha1_;
+        }
+
+        volScalarField& alpha1()
+        {
+            return alpha1_;
+        }
+
+        const volScalarField& alpha2() const
+        {
+            return alpha2_;
+        }
+
+        volScalarField& alpha2()
+        {
+            return alpha2_;
+        }
+
+        const volScalarField& alpha3() const
+        {
+            return alpha3_;
+        }
+
+        volScalarField& alpha3()
+        {
+            return alpha3_;
         }
 
         //- Return const-access to phase1 density
@@ -139,31 +166,34 @@ public:
             return rho3_;
         };
 
-        const volScalarField& alpha1() const
+        //- Return the velocity
+        const volVectorField& U() const
         {
-            return alpha1_;
+            return U_;
         }
 
-        const volScalarField& alpha2() const
+        //- Return the flux
+        const surfaceScalarField& phi() const
         {
-            return alpha2_;
+            return phi_;
         }
 
-        const volScalarField& alpha3() const
+        //- Return const-access to phase1 viscosityModel
+        const viscosityModel& nuModel1() const
         {
-            return alpha3_;
+            return nuModel1_();
         }
 
-        //- Return the velocity
-        const volVectorField& U() const
+        //- Return const-access to phase2 viscosityModel
+        const viscosityModel& nuModel2() const
         {
-            return U_;
+            return nuModel2_();
         }
 
-        //- Return the flux
-        const surfaceScalarField& phi() const
+        //- Return const-access to phase3 viscosityModel
+        const viscosityModel& nuModel3() const
         {
-            return phi_;
+            return nuModel3_();
         }
 
         //- Return the dynamic laminar viscosity
diff --git a/tutorials/multiphase/interMixingFoam/laminar/damBreak/0/alpha1.org b/tutorials/multiphase/interMixingFoam/laminar/damBreak/0/alpha.air.org
similarity index 97%
rename from tutorials/multiphase/interMixingFoam/laminar/damBreak/0/alpha1.org
rename to tutorials/multiphase/interMixingFoam/laminar/damBreak/0/alpha.air.org
index 04a3a4c143e4c35a22cca011427944f1b7710660..204afda9411402921304430d315a8dc20acc2b32 100644
--- a/tutorials/multiphase/interMixingFoam/laminar/damBreak/0/alpha1.org
+++ b/tutorials/multiphase/interMixingFoam/laminar/damBreak/0/alpha.air.org
@@ -10,7 +10,7 @@ FoamFile
     version     2.0;
     format      ascii;
     class       volScalarField;
-    object      alpha1;
+    object      alpha.air;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/tutorials/multiphase/interMixingFoam/laminar/damBreak/0/alpha2.org b/tutorials/multiphase/interMixingFoam/laminar/damBreak/0/alpha.other.org
similarity index 100%
rename from tutorials/multiphase/interMixingFoam/laminar/damBreak/0/alpha2.org
rename to tutorials/multiphase/interMixingFoam/laminar/damBreak/0/alpha.other.org
diff --git a/tutorials/multiphase/interMixingFoam/laminar/damBreak/0/alpha3.org b/tutorials/multiphase/interMixingFoam/laminar/damBreak/0/alpha.water.org
similarity index 100%
rename from tutorials/multiphase/interMixingFoam/laminar/damBreak/0/alpha3.org
rename to tutorials/multiphase/interMixingFoam/laminar/damBreak/0/alpha.water.org
diff --git a/tutorials/multiphase/interMixingFoam/laminar/damBreak/Allrun b/tutorials/multiphase/interMixingFoam/laminar/damBreak/Allrun
index 9bb76eb3c726dd6819abcdb1c2e583a7352eae51..c07cc1113c875a4c80b8918764999f0c8bfe8f3a 100755
--- a/tutorials/multiphase/interMixingFoam/laminar/damBreak/Allrun
+++ b/tutorials/multiphase/interMixingFoam/laminar/damBreak/Allrun
@@ -5,9 +5,9 @@ cd ${0%/*} || exit 1    # run from this directory
 . $WM_PROJECT_DIR/bin/tools/RunFunctions
 
 runApplication blockMesh
-cp 0/alpha1.org 0/alpha1
-cp 0/alpha2.org 0/alpha2
-cp 0/alpha3.org 0/alpha3
+cp 0/alpha.air.org 0/alpha.air
+cp 0/alpha.other.org 0/alpha.other
+cp 0/alpha.water.org 0/alpha.water
 runApplication setFields
 runApplication `getApplication`
 
diff --git a/tutorials/multiphase/interMixingFoam/laminar/damBreak/constant/polyMesh/boundary b/tutorials/multiphase/interMixingFoam/laminar/damBreak/constant/polyMesh/boundary
index 41c06d5f3f4d03c47e0a53a8d3008451786eda15..1b4dbb60aaeaec2d5cfe40e3d4a35843d35b44a2 100644
--- a/tutorials/multiphase/interMixingFoam/laminar/damBreak/constant/polyMesh/boundary
+++ b/tutorials/multiphase/interMixingFoam/laminar/damBreak/constant/polyMesh/boundary
@@ -44,6 +44,7 @@ FoamFile
     defaultFaces
     {
         type            empty;
+        inGroups        1(empty);
         nFaces          4536;
         startFace       4640;
     }
diff --git a/tutorials/multiphase/interMixingFoam/laminar/damBreak/constant/transportProperties b/tutorials/multiphase/interMixingFoam/laminar/damBreak/constant/transportProperties
index fac1cbd4fd727bdf83ef442766911711bbed33ad..83c4643a5ae1cab0cef1768471f0de65e056df1c 100644
--- a/tutorials/multiphase/interMixingFoam/laminar/damBreak/constant/transportProperties
+++ b/tutorials/multiphase/interMixingFoam/laminar/damBreak/constant/transportProperties
@@ -15,24 +15,23 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-// Air
-phase1
+phases (air other water);
+
+air
 {
     transportModel  Newtonian;
     nu              nu [0 2 -1 0 0 0 0] 1.48e-05;
     rho             rho [1 -3 0 0 0 0 0] 1;
 }
 
-// Other Liquid
-phase2
+other
 {
     transportModel  Newtonian;
     nu              nu [0 2 -1 0 0 0 0]  1e-6;
     rho             rho [1 -3 0 0 0 0 0] 1010;
 }
 
-// Water
-phase3
+water
 {
     transportModel  Newtonian;
     nu              nu [0 2 -1 0 0 0 0]  1e-6;
diff --git a/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/fvSchemes b/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/fvSchemes
index c80ccb314ef4160a628f59e7e4ffc6d97caa3dd8..ea304e7042cb6bda7221eed5ee0c717684d3f48f 100644
--- a/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/fvSchemes
+++ b/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/fvSchemes
@@ -53,7 +53,7 @@ fluxRequired
     default         no;
     p_rgh;
     pcorr;
-    "alpha.";
+    "alpha.*";
 }
 
 
diff --git a/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/fvSolution b/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/fvSolution
index 235c7014d026ce19570cd1470824b2fdf1bdfcb6..3403701035d1de3c23fdff530462daa2fee8863e 100644
--- a/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/fvSolution
+++ b/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/fvSolution
@@ -17,7 +17,7 @@ FoamFile
 
 solvers
 {
-    "alpha."
+    "alpha.*"
     {
         nAlphaCorr      1;
         nAlphaSubCycles 2;
diff --git a/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/setFieldsDict b/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/setFieldsDict
index 46fd28b2257ca5c06def80caa307c570fb0e2b05..3e8e2ec9835ac999d50dbe986260d33d42dd3eb3 100644
--- a/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/setFieldsDict
+++ b/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/setFieldsDict
@@ -17,9 +17,9 @@ FoamFile
 
 defaultFieldValues
 (
-    volScalarFieldValue alpha1 0
-    volScalarFieldValue alpha2 1
-    volScalarFieldValue alpha3 0
+    volScalarFieldValue alpha.air 0
+    volScalarFieldValue alpha.other 1
+    volScalarFieldValue alpha.water 0
 );
 
 regions
@@ -29,9 +29,9 @@ regions
         box (0 0 -1) (0.1461 0.292 1);
         fieldValues
         (
-            volScalarFieldValue alpha1 0
-            volScalarFieldValue alpha2 0
-            volScalarFieldValue alpha3 1
+            volScalarFieldValue alpha.air 0
+            volScalarFieldValue alpha.other 0
+            volScalarFieldValue alpha.water 1
         );
     }
     boxToCell
@@ -39,9 +39,9 @@ regions
         box (0.1461 0.05 -1) (1 1 1);
         fieldValues
         (
-            volScalarFieldValue alpha1 1
-            volScalarFieldValue alpha2 0
-            volScalarFieldValue alpha3 0
+            volScalarFieldValue alpha.air 1
+            volScalarFieldValue alpha.other 0
+            volScalarFieldValue alpha.water 0
         );
     }
 );