diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.C
index 7660bb972c291afc850c6e41a70a7369409782c4..f390ed9015173140eec1ecceddd619e099612797 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,7 +24,7 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "TomiyamaAspectRatio.H"
-#include "orderedPhasePair.H"
+#include "phasePair.H"
 #include "addToRunTimeSelectionTable.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@@ -49,7 +49,7 @@ namespace aspectRatioModels
 Foam::aspectRatioModels::TomiyamaAspectRatio::TomiyamaAspectRatio
 (
     const dictionary& dict,
-    const orderedPhasePair& pair
+    const phasePair& pair
 )
 :
     VakhrushevEfremov(dict, pair),
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.H
index d7afacf71c7f1c65cf39f75ea4e9b554a6eaa236..7adf90e552f5fb8dd23496cc0cdb672c33b7c0e1 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -74,7 +74,7 @@ public:
         TomiyamaAspectRatio
         (
             const dictionary& dict,
-            const orderedPhasePair& pair
+            const phasePair& pair
         );
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/VakhrushevEfremov/VakhrushevEfremov.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/VakhrushevEfremov/VakhrushevEfremov.C
index 4d9c14d6fbf86581675b36dd472b187d2c28f5c2..270419c5b42faa4866894cfb7d7ddd687498645e 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/VakhrushevEfremov/VakhrushevEfremov.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/VakhrushevEfremov/VakhrushevEfremov.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,7 +24,7 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "VakhrushevEfremov.H"
-#include "orderedPhasePair.H"
+#include "phasePair.H"
 #include "addToRunTimeSelectionTable.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@@ -33,7 +33,7 @@ namespace Foam
 {
 namespace aspectRatioModels
 {
-    defineTypeNameAndDebug(VakhrushevEfremov, 0); 
+    defineTypeNameAndDebug(VakhrushevEfremov, 0);
     addToRunTimeSelectionTable
     (
         aspectRatioModel,
@@ -49,7 +49,7 @@ namespace aspectRatioModels
 Foam::aspectRatioModels::VakhrushevEfremov::VakhrushevEfremov
 (
     const dictionary& dict,
-    const orderedPhasePair& pair
+    const phasePair& pair
 )
 :
     aspectRatioModel(dict, pair)
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/VakhrushevEfremov/VakhrushevEfremov.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/VakhrushevEfremov/VakhrushevEfremov.H
index ab84e12f7c22f712b18a6373621f07506accac81..e0e1215c614e715f96f4303c35ba650866d60111 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/VakhrushevEfremov/VakhrushevEfremov.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/VakhrushevEfremov/VakhrushevEfremov.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -73,7 +73,7 @@ public:
         VakhrushevEfremov
         (
             const dictionary& dict,
-            const orderedPhasePair& pair
+            const phasePair& pair
         );
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/Wellek/Wellek.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/Wellek/Wellek.C
index 43aae93580e77c2f2cbf8eb4a838e74ccbf1fbd9..1bc610ae9c42f3ba10666fe6cd735b8e3cc66982 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/Wellek/Wellek.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/Wellek/Wellek.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,7 +24,7 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "Wellek.H"
-#include "orderedPhasePair.H"
+#include "phasePair.H"
 #include "addToRunTimeSelectionTable.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@@ -49,7 +49,7 @@ namespace aspectRatioModels
 Foam::aspectRatioModels::Wellek::Wellek
 (
     const dictionary& dict,
-    const orderedPhasePair& pair
+    const phasePair& pair
 )
 :
     aspectRatioModel(dict, pair)
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/Wellek/Wellek.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/Wellek/Wellek.H
index d3d90f4b844823863b99fed0d341b00372d5f9c8..9ab8f0ddc6b3b02b771f3072ba77e0267ee3d395 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/Wellek/Wellek.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/Wellek/Wellek.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -79,7 +79,7 @@ public:
         Wellek
         (
             const dictionary& dict,
-            const orderedPhasePair& pair
+            const phasePair& pair
         );
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/aspectRatioModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/aspectRatioModel.C
index dc55e278681096428d4074405faa26896e37e2d0..956159fccef7480e37b5af1007c4b9ef9146851a 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/aspectRatioModel.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/aspectRatioModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,7 +24,7 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "aspectRatioModel.H"
-#include "orderedPhasePair.H"
+#include "phasePair.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
@@ -40,7 +40,7 @@ namespace Foam
 Foam::aspectRatioModel::aspectRatioModel
 (
     const dictionary& dict,
-    const orderedPhasePair& pair
+    const phasePair& pair
 )
 :
     pair_(pair)
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/aspectRatioModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/aspectRatioModel.H
index 7e5550307a92d33369ecac0286770d3f2323c155..04732aa81b9fa613f199159225b769053dec016f 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/aspectRatioModel.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/aspectRatioModel.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,7 +44,7 @@ SourceFiles
 namespace Foam
 {
 
-class orderedPhasePair;
+class phasePair;
 
 /*---------------------------------------------------------------------------*\
                            Class aspectRatioModel Declaration
@@ -57,7 +57,7 @@ protected:
     // Protected data
 
         //- Phase pair
-        const orderedPhasePair& pair_;
+        const phasePair& pair_;
 
 
 public:
@@ -74,7 +74,7 @@ public:
         dictionary,
         (
             const dictionary& dict,
-            const orderedPhasePair& pair
+            const phasePair& pair
         ),
         (dict, pair)
     );
@@ -86,7 +86,7 @@ public:
         aspectRatioModel
         (
             const dictionary& dict,
-            const orderedPhasePair& pair
+            const phasePair& pair
         );
 
 
@@ -99,7 +99,7 @@ public:
         static autoPtr<aspectRatioModel> New
         (
             const dictionary& dict,
-            const orderedPhasePair& pair
+            const phasePair& pair
         );
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/newAspectRatioModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/newAspectRatioModel.C
index cf65f1110f05a62167e0da6513bfed2f289215eb..ff4cb63441f5d297c29ad8f8922dfcf44361b445 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/newAspectRatioModel.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/newAspectRatioModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,15 +24,15 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "aspectRatioModel.H"
-#include "orderedPhasePair.H"
+#include "phasePair.H"
 
 // * * * * * * * * * * * * * * * * Selector  * * * * * * * * * * * * * * * * //
 
-Foam::autoPtr<Foam::aspectRatioModel >
+Foam::autoPtr<Foam::aspectRatioModel>
 Foam::aspectRatioModel::New
 (
     const dictionary& dict,
-    const orderedPhasePair& pair
+    const phasePair& pair
 )
 {
     word aspectRatioModelType(dict.lookup("type"));
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.C
index c17b6dd068ba8e963f7dfbe26d0ce3c5c94623a3..e89646382230569dff8369374ed78b2ac02b4542 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,7 +24,7 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "constantAspectRatio.H"
-#include "orderedPhasePair.H"
+#include "phasePair.H"
 #include "addToRunTimeSelectionTable.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@@ -33,7 +33,7 @@ namespace Foam
 {
 namespace aspectRatioModels
 {
-    defineTypeNameAndDebug(constantAspectRatio, 0); 
+    defineTypeNameAndDebug(constantAspectRatio, 0);
     addToRunTimeSelectionTable
     (
         aspectRatioModel,
@@ -49,7 +49,7 @@ namespace aspectRatioModels
 Foam::aspectRatioModels::constantAspectRatio::constantAspectRatio
 (
     const dictionary& dict,
-    const orderedPhasePair& pair
+    const phasePair& pair
 )
 :
     aspectRatioModel(dict, pair),
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.H
index 20bef2108245354c5b56595d87ca5276c15c2320..4ca36a0a965e7cf25f9f44061693ed982ee0fc79 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -70,7 +70,7 @@ public:
         constantAspectRatio
         (
             const dictionary& dict,
-            const orderedPhasePair& pair
+            const phasePair& pair
         );
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.C
index 2e7d9716790ed65d27107dfae984846f5957c73f..2bc5d377de989db355cb865ab3ee430762419818 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -34,7 +34,7 @@ namespace Foam
 namespace dragModels
 {
     defineTypeNameAndDebug(Ergun, 0);
-    addToRunTimeSelectionTable(dragModel, Ergun, dictionary); 
+    addToRunTimeSelectionTable(dragModel, Ergun, dictionary);
 }
 }
 
@@ -66,8 +66,11 @@ Foam::tmp<Foam::volScalarField> Foam::dragModels::Ergun::CdRe() const
         (4/3)
        *(
             150
-           *max(scalar(1) - pair_.continuous(), residualAlpha_)
-           /max(pair_.continuous(), residualAlpha_)
+           *max
+            (
+                scalar(1) - pair_.continuous(),
+                pair_.continuous().residualAlpha()
+            )/max(pair_.continuous(), pair_.continuous().residualAlpha())
           + 1.75
            *pair_.Re()
         );
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.C
index 51e28ffdfb74d10553d26ad74b2b0178cb2aa0ec..ca378985ea568e1cf05c9c5b39d701e2ae52a2c5 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -34,7 +34,7 @@ namespace Foam
 namespace dragModels
 {
     defineTypeNameAndDebug(Gibilaro, 0);
-    addToRunTimeSelectionTable(dragModel, Gibilaro, dictionary); 
+    addToRunTimeSelectionTable(dragModel, Gibilaro, dictionary);
 }
 }
 
@@ -62,12 +62,15 @@ Foam::dragModels::Gibilaro::~Gibilaro()
 
 Foam::tmp<Foam::volScalarField> Foam::dragModels::Gibilaro::CdRe() const
 {
-    volScalarField alpha2(max(scalar(1) - pair_.dispersed(), residualAlpha_));
+    volScalarField alpha2
+    (
+        max(scalar(1) - pair_.dispersed(), pair_.continuous().residualAlpha())
+    );
 
     return
         (4/3)
        *(17.3/alpha2 + 0.336*pair_.Re())
-       *max(pair_.continuous(), residualAlpha_)
+       *max(pair_.continuous(), pair_.continuous().residualAlpha())
        *pow(alpha2, -2.8);
 }
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C
index ded80e6660f8d06e02229b8abefd2838473b1aed..c637c3bb354a4e23afb748b835caf36a13b0858d 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -64,8 +64,13 @@ Foam::dragModels::GidaspowSchillerNaumann::~GidaspowSchillerNaumann()
 Foam::tmp<Foam::volScalarField>
 Foam::dragModels::GidaspowSchillerNaumann::CdRe() const
 {
-    volScalarField alpha2(max(scalar(1) - pair_.dispersed(), residualAlpha_));
+    volScalarField alpha2
+    (
+        max(scalar(1) - pair_.dispersed(), pair_.continuous().residualAlpha())
+    );
+
     volScalarField Re(alpha2*pair_.Re());
+
     volScalarField CdsRe
     (
         neg(Re - 1000)*24.0*(1.0 + 0.15*pow(Re, 0.687))/alpha2
@@ -75,7 +80,7 @@ Foam::dragModels::GidaspowSchillerNaumann::CdRe() const
     return
         CdsRe
        *pow(alpha2, -2.65)
-       *max(pair_.continuous(), residualAlpha_);
+       *max(pair_.continuous(), pair_.continuous().residualAlpha());
 }
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C
index 86f38db1552cd7727f5881cbed339c5d370c3098..b722736b60117ffefaaeb4d8dc444f93d146386b 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -34,7 +34,7 @@ namespace Foam
 namespace dragModels
 {
     defineTypeNameAndDebug(SyamlalOBrien, 0);
-    addToRunTimeSelectionTable(dragModel, SyamlalOBrien, dictionary); 
+    addToRunTimeSelectionTable(dragModel, SyamlalOBrien, dictionary);
 }
 }
 
@@ -62,7 +62,11 @@ Foam::dragModels::SyamlalOBrien::~SyamlalOBrien()
 
 Foam::tmp<Foam::volScalarField> Foam::dragModels::SyamlalOBrien::CdRe() const
 {
-    volScalarField alpha2(max(scalar(1) - pair_.dispersed(), residualAlpha_));
+    volScalarField alpha2
+    (
+        max(scalar(1) - pair_.dispersed(), pair_.continuous().residualAlpha())
+    );
+
     volScalarField A(pow(alpha2, 4.14));
     volScalarField B
     (
@@ -81,7 +85,7 @@ Foam::tmp<Foam::volScalarField> Foam::dragModels::SyamlalOBrien::CdRe() const
 
     return
         CdsRe
-       *max(pair_.continuous(), residualAlpha_)
+       *max(pair_.continuous(), pair_.continuous().residualAlpha())
        /sqr(Vr);
 }
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.C
index 34eab7db37eee1814b6e829789146a193c723176..bf1e1da4a770fb2cb9278fc790d06c29573f94fe 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -34,7 +34,7 @@ namespace Foam
 namespace dragModels
 {
     defineTypeNameAndDebug(WenYu, 0);
-    addToRunTimeSelectionTable(dragModel, WenYu, dictionary); 
+    addToRunTimeSelectionTable(dragModel, WenYu, dictionary);
 }
 }
 
@@ -63,7 +63,11 @@ Foam::dragModels::WenYu::~WenYu()
 
 Foam::tmp<Foam::volScalarField> Foam::dragModels::WenYu::CdRe() const
 {
-    volScalarField alpha2(max(scalar(1) - pair_.dispersed(), residualAlpha_));
+    volScalarField alpha2
+    (
+        max(scalar(1) - pair_.dispersed(), pair_.continuous().residualAlpha())
+    );
+
     volScalarField Re(pair_.Re());
     volScalarField CdsRe
     (
@@ -74,7 +78,7 @@ Foam::tmp<Foam::volScalarField> Foam::dragModels::WenYu::CdRe() const
     return
         CdsRe
        *pow(alpha2, -2.65)
-       *max(pair_.continuous(), residualAlpha_);
+       *max(pair_.continuous(), pair_.continuous().residualAlpha());
 }
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.C
index e4b9a8b27673db5edf2f4bcb74c2ca9b43293625..29a7bdf884128e1fe978e8cfabfb5a930e6900f5 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.C
@@ -90,8 +90,7 @@ Foam::dragModel::dragModel
             dict.subDict("swarmCorrection"),
             pair
         )
-    ),
-    residualAlpha_("residualAlpha", dimless, dict.lookup("residualAlpha"))
+    )
 {}
 
 
@@ -117,15 +116,18 @@ Foam::tmp<Foam::volScalarField> Foam::dragModel::Ki() const
 
 Foam::tmp<Foam::volScalarField> Foam::dragModel::K() const
 {
-    return max(pair_.dispersed(), residualAlpha_)*Ki();
+    return max(pair_.dispersed(), pair_.dispersed().residualAlpha())*Ki();
 }
 
 
 Foam::tmp<Foam::surfaceScalarField> Foam::dragModel::Kf() const
 {
     return
-        max(fvc::interpolate(pair_.dispersed()), residualAlpha_)
-       *fvc::interpolate(Ki());
+        max
+        (
+            fvc::interpolate(pair_.dispersed()),
+            pair_.dispersed().residualAlpha()
+        )*fvc::interpolate(Ki());
 }
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.H
index 4d4c5693ba8222fa74b1e36f1be4bd80ae7d2358..733393cca51e9a46d26b4072b7de39b6a582b2c2 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.H
@@ -65,9 +65,6 @@ protected:
         //- Swarm correction
         autoPtr<swarmCorrection> swarmCorrection_;
 
-        //- Residual phase fraction
-        const dimensionedScalar residualAlpha_;
-
 
 public:
 
@@ -130,13 +127,6 @@ public:
 
     // Member Functions
 
-        //- Return the residual phase-fraction
-        //  used to stabilize the phase momentum as the phase-fraction -> 0
-        const dimensionedScalar& residualAlpha() const
-        {
-            return residualAlpha_;
-        }
-
         //- Drag coefficient
         virtual tmp<volScalarField> CdRe() const = 0;
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.C
index cb6a9fc34f204c8b21e92216523d656d6d184e3b..b50a711c77fd349f4459a357d842e91d319c4df5 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.C
@@ -112,7 +112,7 @@ Foam::tmp<Foam::volScalarField> Foam::dragModels::segregated::K() const
        /max
         (
             alpha1 + alpha2,
-            residualAlpha_
+            pair_.phase1().residualAlpha() + pair_.phase2().residualAlpha()
         )
     );
     volScalarField magGradI
@@ -120,7 +120,7 @@ Foam::tmp<Foam::volScalarField> Foam::dragModels::segregated::K() const
         max
         (
             mag(fvc::grad(I)),
-            residualAlpha_/L
+            (pair_.phase1().residualAlpha() + pair_.phase2().residualAlpha())/L
         )
     );
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.H
index 04ce5c90497d9876755ab9e6bd9b664ae9f95f28..c02126528a03c8ddd8c503120b0263a03cb17492 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -25,6 +25,8 @@ Class
     Foam::heatTransferModels::RanzMarshall
 
 Description
+    Ranz-Marshall correlation for turbulent heat transfer from the surface of a
+    sphere to the surrounding fluid.
 
 SourceFiles
     RanzMarshall.C
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.C
index 2a47cbbb798cbb14878b8ff34b2602c754fbe0c5..1621b6be19dbeb3fdcaee31f379d0569c8a201cd 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -46,7 +46,16 @@ Foam::heatTransferModel::heatTransferModel
 )
 :
     pair_(pair),
-    residualAlpha_("residualAlpha", dimless, dict.lookup("residualAlpha"))
+    residualAlpha_
+    (
+        "residualAlpha",
+        dimless,
+        dict.lookupOrDefault<scalar>
+        (
+            "residualAlpha",
+            pair_.dispersed().residualAlpha().value()
+        )
+    )
 {}
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/swarmCorrections/TomiyamaSwarm/TomiyamaSwarm.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/swarmCorrections/TomiyamaSwarm/TomiyamaSwarm.C
index 7cc49195d8686bde1a535936986c2f8974e973e1..38c0cf6db69ae387e1bbd25c48627da51fd7b552 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/swarmCorrections/TomiyamaSwarm/TomiyamaSwarm.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/swarmCorrections/TomiyamaSwarm/TomiyamaSwarm.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -33,7 +33,7 @@ namespace Foam
 {
 namespace swarmCorrections
 {
-    defineTypeNameAndDebug(TomiyamaSwarm, 0); 
+    defineTypeNameAndDebug(TomiyamaSwarm, 0);
     addToRunTimeSelectionTable
     (
         swarmCorrection,
@@ -53,7 +53,16 @@ Foam::swarmCorrections::TomiyamaSwarm::TomiyamaSwarm
 )
 :
     swarmCorrection(dict, pair),
-    residualAlpha_("residualAlpha", dimless, dict.lookup("residualAlpha")),
+    residualAlpha_
+    (
+        "residualAlpha",
+        dimless,
+        dict.lookupOrDefault<scalar>
+        (
+            "residualAlpha",
+            pair_.dispersed().residualAlpha().value()
+        )
+    ),
     l_("l", dimless, dict.lookup("l"))
 {}
 
@@ -69,7 +78,7 @@ Foam::swarmCorrections::TomiyamaSwarm::~TomiyamaSwarm()
 Foam::tmp<Foam::volScalarField>
 Foam::swarmCorrections::TomiyamaSwarm::Cs() const
 {
-    return 
+    return
         pow(max(this->pair_.continuous(), residualAlpha_), scalar(3) - 2*l_);
 }
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/Burns/Burns.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/Burns/Burns.C
index 3ae3141aff2a62ad46643b2624428e2afe3bf9be..c51b716340a930a01de142f51f63d5d19f666586 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/Burns/Burns.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/Burns/Burns.C
@@ -57,7 +57,16 @@ Foam::turbulentDispersionModels::Burns::Burns
 :
     turbulentDispersionModel(dict, pair),
     sigma_("sigma", dimless, dict.lookup("sigma")),
-    residualAlpha_("residualAlpha", dimless, dict.lookup("residualAlpha"))
+    residualAlpha_
+    (
+        "residualAlpha",
+        dimless,
+        dict.lookupOrDefault<scalar>
+        (
+            "residualAlpha",
+            pair_.dispersed().residualAlpha().value()
+        )
+    )
 {}
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/pU/pEqn.H b/applications/solvers/multiphase/twoPhaseEulerFoam/pU/pEqn.H
index e629f37d462a69b58e9983ae2a096355eb4ddeb1..994f07d672a4f5d6f4420efe9d42a6a24d650140 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/pU/pEqn.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/pU/pEqn.H
@@ -7,7 +7,7 @@ volScalarField rAU1
     1.0
    /(
         U1Eqn.A()
-      + max(fluid.residualAlpha(phase1) - alpha1, scalar(0))
+      + max(phase1.residualAlpha() - alpha1, scalar(0))
        *rho1/runTime.deltaT()
     )
 );
@@ -17,18 +17,18 @@ volScalarField rAU2
     1.0
    /(
         U2Eqn.A()
-      + max(fluid.residualAlpha(phase2) - alpha2, scalar(0))
+      + max(phase2.residualAlpha() - alpha2, scalar(0))
        *rho2/runTime.deltaT()
     )
 );
 
 surfaceScalarField alpharAUf1
 (
-    fvc::interpolate(max(alpha1, fluid.residualAlpha(phase1))*rAU1)
+    fvc::interpolate(max(alpha1, phase1.residualAlpha())*rAU1)
 );
 surfaceScalarField alpharAUf2
 (
-    fvc::interpolate(max(alpha2, fluid.residualAlpha(phase2))*rAU2)
+    fvc::interpolate(max(alpha2, phase2.residualAlpha())*rAU2)
 );
 
 // Turbulent diffusion, particle-pressure, lift and wall-lubrication fluxes
@@ -104,7 +104,7 @@ while (pimple.correct())
         rAU1
        *(
             U1Eqn.H()
-          + max(fluid.residualAlpha(phase1) - alpha1, scalar(0))
+          + max(phase1.residualAlpha() - alpha1, scalar(0))
            *rho1*U1.oldTime()/runTime.deltaT()
         );
 
@@ -117,7 +117,7 @@ while (pimple.correct())
         rAU2
        *(
             U2Eqn.H()
-         +  max(fluid.residualAlpha(phase2) - alpha2, scalar(0))
+         +  max(phase2.residualAlpha() - alpha2, scalar(0))
            *rho2*U2.oldTime()/runTime.deltaT()
         );
 
@@ -145,7 +145,7 @@ while (pimple.correct())
        *(
            ghSnGradRho
          - alphaf1*fvc::interpolate(rho2 - rho1)*(g & mesh.Sf())
-       )
+        )
     );
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/pUf/pEqn.H b/applications/solvers/multiphase/twoPhaseEulerFoam/pUf/pEqn.H
index 69eb3a7e20d286c9dec3c96af91ac5ddcf28b64c..d269577591286a068c8b5191cedc9bd5f2f0ee04 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/pUf/pEqn.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/pUf/pEqn.H
@@ -6,7 +6,7 @@ surfaceScalarField alphaRhof10
     "alphaRhof10",
     fvc::interpolate
     (
-        max(alpha1.oldTime(), fluid.residualAlpha(phase1))
+        max(alpha1.oldTime(), phase1.residualAlpha())
        *rho1.oldTime()
     )
 );
@@ -16,7 +16,7 @@ surfaceScalarField alphaRhof20
     "alphaRhof20",
     fvc::interpolate
     (
-        max(alpha2.oldTime(), fluid.residualAlpha(phase2))
+        max(alpha2.oldTime(), phase2.residualAlpha())
        *rho2.oldTime()
     )
 );
@@ -105,13 +105,13 @@ while (pimple.correct())
     surfaceScalarField alpharAUf1
     (
         IOobject::groupName("alpharAUf", phase1.name()),
-        max(alphaf1, fluid.residualAlpha(phase1))*rAUf1
+        max(alphaf1, phase1.residualAlpha())*rAUf1
     );
 
     surfaceScalarField alpharAUf2
     (
         IOobject::groupName("alpharAUf", phase2.name()),
-        max(alphaf2, fluid.residualAlpha(phase2))*rAUf2
+        max(alphaf2, phase2.residualAlpha())*rAUf2
     );
 
     volScalarField rho("rho", fluid.rho());
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phaseModel/phaseModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phaseModel/phaseModel.C
index e0981134a7c34e78c6285e1febbc461310af2a90..b0b5a591b3f751dd30ce2faf896beae468b67e51 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phaseModel/phaseModel.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phaseModel/phaseModel.C
@@ -36,6 +36,7 @@ License
 #include "partialSlipFvPatchFields.H"
 #include "surfaceInterpolate.H"
 
+
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 Foam::phaseModel::phaseModel
@@ -64,6 +65,12 @@ Foam::phaseModel::phaseModel
     (
         phaseProperties.subDict(name_)
     ),
+    residualAlpha_
+    (
+        "residualAlpha",
+        dimless,
+        fluid.subDict(phaseName).lookup("residualAlpha")
+    ),
     alphaMax_(phaseDict_.lookupOrDefault("alphaMax", 1.0)),
     thermo_(rhoThermo::New(fluid.mesh(), name_)),
     U_
@@ -212,23 +219,27 @@ Foam::tmp<Foam::volScalarField> Foam::phaseModel::d() const
     return dPtr_().d();
 }
 
+
 Foam::PhaseCompressibleTurbulenceModel<Foam::phaseModel>&
 Foam::phaseModel::turbulence()
 {
     return turbulence_();
 }
 
+
 const Foam::PhaseCompressibleTurbulenceModel<Foam::phaseModel>&
 Foam::phaseModel::turbulence() const
 {
     return turbulence_();
 }
 
+
 void Foam::phaseModel::correct()
 {
     return dPtr_->correct();
 }
 
+
 bool Foam::phaseModel::read(const dictionary& phaseProperties)
 {
     phaseDict_ = phaseProperties.subDict(name_);
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phaseModel/phaseModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phaseModel/phaseModel.H
index a61e603d1b26a4903efffe6ab5d3ff62446c8f78..3550c3da9859d85b278ab5a097e5a31d7d9f6759 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phaseModel/phaseModel.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phaseModel/phaseModel.H
@@ -71,6 +71,10 @@ class phaseModel
 
         dictionary phaseDict_;
 
+        //- Return the residual phase-fraction for given phase
+        //  Used to stabilize the phase momentum as the phase-fraction -> 0
+        dimensionedScalar residualAlpha_;
+
         //- Optional maximum phase-fraction (e.g. packing limit)
         scalar alphaMax_;
 
@@ -129,6 +133,13 @@ public:
         //- Return the other phase in this two-phase system
         const phaseModel& otherPhase() const;
 
+        //- Return the residual phase-fraction for given phase
+        //  Used to stabilize the phase momentum as the phase-fraction -> 0
+        const dimensionedScalar& residualAlpha() const
+        {
+            return residualAlpha_;
+        }
+
         //- Optional maximum phase-fraction (e.g. packing limit)
         //  Defaults to 1
         scalar alphaMax() const
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.C
index 59b727dad50f59eec48a945f19b3f023c6b01146..2c686bd32d9fdf7eb09724692e95b3b81892113b 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.C
@@ -48,14 +48,6 @@ License
 #include "HashPtrTable.H"
 
 
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-Foam::dimensionedScalar Foam::twoPhaseSystem::zeroResidualAlpha_
-(
-    "zeroResidualAlpha", dimless, 0
-);
-
-
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 Foam::twoPhaseSystem::twoPhaseSystem
@@ -588,20 +580,6 @@ bool Foam::twoPhaseSystem::read()
 }
 
 
-const Foam::dimensionedScalar&
-Foam::twoPhaseSystem::residualAlpha(const phaseModel& phase) const
-{
-    if (drag_->hasModel(phase))
-    {
-        return drag_->phaseModel(phase).residualAlpha();
-    }
-    else
-    {
-        return zeroResidualAlpha_;
-    }
-}
-
-
 const Foam::dragModel& Foam::twoPhaseSystem::drag(const phaseModel& phase) const
 {
     return drag_->phaseModel(phase);
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.H
index c6c6a95125105f257b56368c7a5b93efa6ae63f5..18928c7cc7fe0fa143562b7fba1ccd97407630d1 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.H
@@ -116,9 +116,6 @@ class twoPhaseSystem
         autoPtr<BlendedInterfacialModel<turbulentDispersionModel> >
             turbulentDispersion_;
 
-        //- Default residual alpha (0)
-        static dimensionedScalar zeroResidualAlpha_;
-
 
     // Private member functions
 
@@ -185,13 +182,6 @@ public:
 
         // Access
 
-            //- Return the residual phase-fraction for given phase
-            //  Used to stabilize the phase momentum as the phase-fraction -> 0
-            const dimensionedScalar& residualAlpha
-            (
-                const phaseModel& phase
-            ) const;
-
             //- Return the drag model for the given phase
             const dragModel& drag(const phaseModel& phase) const;
 
diff --git a/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/constant/phaseProperties b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/constant/phaseProperties
index 72a1edf6fd1527c4349b7927a7392e87d2a25e94..34551827f4ab97679b7b3f4d128f9794d3711e63 100644
--- a/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/constant/phaseProperties
+++ b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/constant/phaseProperties
@@ -25,6 +25,8 @@ air
         d0              3e-3;
         p0              1e5;
     }
+
+    residualAlpha   1e-6;
 }
 
 water
@@ -34,6 +36,8 @@ water
     {
         d               1e-4;
     }
+
+    residualAlpha   1e-6;
 }
 
 blending
@@ -73,7 +77,6 @@ drag
     (air in water)
     {
         type            SchillerNaumann;
-        residualAlpha   1e-6;
         residualRe      1e-3;
         swarmCorrection
         {
@@ -84,7 +87,6 @@ drag
     (water in air)
     {
         type            SchillerNaumann;
-        residualAlpha   1e-6;
         residualRe      1e-3;
         swarmCorrection
         {
@@ -95,7 +97,6 @@ drag
     (air and water)
     {
         type            segregated;
-        residualAlpha   1e-6;
         m               0.5;
         n               8;
         swarmCorrection
diff --git a/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/constant/phaseProperties b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/constant/phaseProperties
index 72a1edf6fd1527c4349b7927a7392e87d2a25e94..34551827f4ab97679b7b3f4d128f9794d3711e63 100644
--- a/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/constant/phaseProperties
+++ b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/constant/phaseProperties
@@ -25,6 +25,8 @@ air
         d0              3e-3;
         p0              1e5;
     }
+
+    residualAlpha   1e-6;
 }
 
 water
@@ -34,6 +36,8 @@ water
     {
         d               1e-4;
     }
+
+    residualAlpha   1e-6;
 }
 
 blending
@@ -73,7 +77,6 @@ drag
     (air in water)
     {
         type            SchillerNaumann;
-        residualAlpha   1e-6;
         residualRe      1e-3;
         swarmCorrection
         {
@@ -84,7 +87,6 @@ drag
     (water in air)
     {
         type            SchillerNaumann;
-        residualAlpha   1e-6;
         residualRe      1e-3;
         swarmCorrection
         {
@@ -95,7 +97,6 @@ drag
     (air and water)
     {
         type            segregated;
-        residualAlpha   1e-6;
         m               0.5;
         n               8;
         swarmCorrection
diff --git a/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/constant/phaseProperties b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/constant/phaseProperties
index d66f2f8429821327847ca89dc0055ab7ae476384..18e714aec4ca118121251dd426d7ca7c2ff15599 100644
--- a/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/constant/phaseProperties
+++ b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/constant/phaseProperties
@@ -19,22 +19,29 @@ phases (particles air);
 
 particles
 {
+    residualAlpha   1e-6;
+
     diameterModel constant;
     constantCoeffs
     {
         d               3e-4;
     }
 
-    alphaMax 0.62;
+    alphaMax        0.62;
+    residualAlpha   1e-6;
 }
 
 air
 {
+    residualAlpha   0;
+
     diameterModel constant;
     constantCoeffs
     {
         d               1;
     }
+
+    residualAlpha   0;
 }
 
 blending
@@ -60,7 +67,6 @@ drag
     (particles in air)
     {
         type            GidaspowErgunWenYu;
-        residualAlpha   1e-6;
         residualRe      1e-3;
         swarmCorrection
         {
diff --git a/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/constant/phaseProperties b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/constant/phaseProperties
index 72a1edf6fd1527c4349b7927a7392e87d2a25e94..c96162d7cfaec71c95e6a476b30408809e399cfe 100644
--- a/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/constant/phaseProperties
+++ b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/constant/phaseProperties
@@ -25,6 +25,8 @@ air
         d0              3e-3;
         p0              1e5;
     }
+
+    residualAlpha   1e-6;
 }
 
 water
@@ -34,6 +36,8 @@ water
     {
         d               1e-4;
     }
+
+    residualAlpha   1e-6;
 }
 
 blending
@@ -73,7 +77,6 @@ drag
     (air in water)
     {
         type            SchillerNaumann;
-        residualAlpha   1e-6;
         residualRe      1e-3;
         swarmCorrection
         {
@@ -84,7 +87,6 @@ drag
     (water in air)
     {
         type            SchillerNaumann;
-        residualAlpha   1e-6;
         residualRe      1e-3;
         swarmCorrection
         {
diff --git a/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumnIATE/constant/phaseProperties b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumnIATE/constant/phaseProperties
index 9b5500341d3bf8028085b94a71d5356f870108d9..e74028c4b03b42347a53501d6a82724e38bed5e6 100644
--- a/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumnIATE/constant/phaseProperties
+++ b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumnIATE/constant/phaseProperties
@@ -46,6 +46,8 @@ air
             }
         );
     }
+
+    residualAlpha   1e-6;
 }
 
 water
@@ -55,6 +57,8 @@ water
     {
         d               1e-4;
     }
+
+    residualAlpha   1e-6;
 }
 
 blending
@@ -94,7 +98,6 @@ drag
     (air in water)
     {
         type            SchillerNaumann;
-        residualAlpha   1e-6;
         residualRe      1e-3;
         swarmCorrection
         {
@@ -105,7 +108,6 @@ drag
     (water in air)
     {
         type            SchillerNaumann;
-        residualAlpha   1e-6;
         residualRe      1e-3;
         swarmCorrection
         {
@@ -116,7 +118,6 @@ drag
     (air and water)
     {
         type            segregated;
-        residualAlpha   1e-6;
         m               0.5;
         n               8;
         swarmCorrection
diff --git a/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/constant/phaseProperties b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/constant/phaseProperties
index fe0696580a3b0812605bc2513ed9029945b6382e..e0ec9c1cd41e8394b96487a8211807f330460f71 100644
--- a/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/constant/phaseProperties
+++ b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/constant/phaseProperties
@@ -25,7 +25,8 @@ particles
         d               3e-4;
     }
 
-    alphaMax 0.62;
+    alphaMax        0.62;
+    residualAlpha   1e-6;
 }
 
 air
@@ -35,6 +36,8 @@ air
     {
         d               1;
     }
+
+    residualAlpha   0;
 }
 
 blending
@@ -60,7 +63,6 @@ drag
     (particles in air)
     {
         type            GidaspowErgunWenYu;
-        residualAlpha   1e-6;
         residualRe      1e-3;
         swarmCorrection
         {
diff --git a/tutorials/multiphase/twoPhaseEulerFoam/laminar/injection/constant/phaseProperties b/tutorials/multiphase/twoPhaseEulerFoam/laminar/injection/constant/phaseProperties
index 2f2cd8de6811246fea766d8af1d9e253a44665cb..ab168c846ac6690ceeba6ba1c08023e9d2894747 100644
--- a/tutorials/multiphase/twoPhaseEulerFoam/laminar/injection/constant/phaseProperties
+++ b/tutorials/multiphase/twoPhaseEulerFoam/laminar/injection/constant/phaseProperties
@@ -25,6 +25,8 @@ air
         d0              3e-3;
         p0              1e5;
     }
+
+    residualAlpha   1e-4;
 }
 
 water
@@ -34,6 +36,8 @@ water
     {
         d               1e-4;
     }
+
+    residualAlpha   1e-4;
 }
 
 blending
@@ -73,7 +77,6 @@ drag
     (air in water)
     {
         type            SchillerNaumann;
-        residualAlpha   1e-4;
         residualRe      1e-3;
         swarmCorrection
         {
@@ -84,7 +87,6 @@ drag
     (water in air)
     {
         type            SchillerNaumann;
-        residualAlpha   1e-4;
         residualRe      1e-3;
         swarmCorrection
         {
diff --git a/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/constant/phaseProperties b/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/constant/phaseProperties
index 2f2cd8de6811246fea766d8af1d9e253a44665cb..808de74ee0b3b0e15c9f47031f33da3b3421b5cd 100644
--- a/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/constant/phaseProperties
+++ b/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/constant/phaseProperties
@@ -25,6 +25,8 @@ air
         d0              3e-3;
         p0              1e5;
     }
+
+    residualAlpha   1e-4;
 }
 
 water
@@ -34,6 +36,8 @@ water
     {
         d               1e-4;
     }
+
+    residualAlpha   1e-4;
 }
 
 blending
@@ -73,7 +77,6 @@ drag
     (air in water)
     {
         type            SchillerNaumann;
-        residualAlpha   1e-4;
         residualRe      1e-3;
         swarmCorrection
         {
@@ -84,7 +87,6 @@ drag
     (water in air)
     {
         type            SchillerNaumann;
-        residualAlpha   1e-4;
         residualRe      1e-3;
         swarmCorrection
         {
@@ -95,7 +97,6 @@ drag
     (air and water)
     {
         type            segregated;
-        residualAlpha   1e-4;
         m               0.5;
         n               8;
         swarmCorrection