diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFLTSPimpleFoam/rhoPorousMRFLTSPimpleFoam.C b/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFLTSPimpleFoam/rhoPorousMRFLTSPimpleFoam.C
index 3a8eb884ba8ca7eaed6d7e8a6ea28ca834393447..d729b46c37cd5faa6b55aab813845ed397b69b75 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFLTSPimpleFoam/rhoPorousMRFLTSPimpleFoam.C
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFLTSPimpleFoam/rhoPorousMRFLTSPimpleFoam.C
@@ -38,7 +38,7 @@ Description
 #include "psiThermo.H"
 #include "turbulenceModel.H"
 #include "MRFZones.H"
-#include "porousZones.H"
+#include "IOporosityModelList.H"
 #include "fvcSmooth.H"
 #include "pimpleControl.H"
 #include "bound.H"
diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/createZones.H b/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/createZones.H
index 487a55d8eddc44a6fe987ec15b06165ed4b4008e..d2522b8c752ada18d083b3ebf450d0ae553aac64 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/createZones.H
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/createZones.H
@@ -1,5 +1,5 @@
     MRFZones mrfZones(mesh);
     mrfZones.correctBoundaryVelocity(U);
 
-    porousZones pZones(mesh);
+    IOporosityModelList pZones(mesh);
     Switch pressureImplicitPorosity(false);
diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/rhoPorousMRFPimpleFoam.C b/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/rhoPorousMRFPimpleFoam.C
index 16e6c0ad746313bcd41a51ab34d48868dfaebc71..47b3d6c35a6fa76738e74047d29790b7691a1c96 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/rhoPorousMRFPimpleFoam.C
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/rhoPorousMRFPimpleFoam.C
@@ -38,7 +38,7 @@ Description
 #include "turbulenceModel.H"
 #include "bound.H"
 #include "MRFZones.H"
-#include "porousZones.H"
+#include "IOporosityModelList.H"
 #include "pimpleControl.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousMRFSimpleFoam/createZones.H b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousMRFSimpleFoam/createZones.H
index 0ed5afa2745897eea93992ba7cad5c8e6a5c6fc2..e3cfd61f43e9875e6d43037f87e619e9131c8167 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousMRFSimpleFoam/createZones.H
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousMRFSimpleFoam/createZones.H
@@ -6,7 +6,7 @@
 
     // nUCorrectors used for pressureImplicitPorosity
     int nUCorr = 0;
-    if (pZones.size())
+    if (pZones.active())
     {
         // nUCorrectors for pressureImplicitPorosity
         simple.dict().readIfPresent("nUCorrectors", nUCorr);
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C
index 25e661dfc3260667acb167e9781651dc33e6b1e1..557017ccad4c7254298b1cc13622623b11d846d0 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C
@@ -45,7 +45,7 @@ Description
 #include "solidRegionDiffNo.H"
 #include "solidThermo.H"
 #include "radiationModel.H"
-#include "porousZones.H"
+#include "IOporosityModelList.H"
 #include "IObasicSourceList.H"
 
 
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/chtMultiRegionSimpleFoam.C b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/chtMultiRegionSimpleFoam.C
index c875d850cd8c16f2c4344c7648a104fdfdde703f..2f4b801cb398d5002de1ca0ec748199efc80eccf 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/chtMultiRegionSimpleFoam.C
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/chtMultiRegionSimpleFoam.C
@@ -36,7 +36,7 @@ Description
 #include "regionProperties.H"
 #include "solidThermo.H"
 #include "radiationModel.H"
-#include "porousZones.H"
+#include "IOporosityModelList.H"
 #include "IObasicSourceList.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H
index c34b547350610a684bbf77d2de057c44782d9bd4..3d66fa798b6bd653efc93ea38b1e35347b72bd9c 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H
@@ -18,7 +18,7 @@
     PtrList<dimensionedScalar> rhoMin(fluidRegions.size());
 
     PtrList<IObasicSourceList> heatSources(fluidRegions.size());
-    PtrList<porousZones> porousZonesFluid(fluidRegions.size());
+    PtrList<IOporosityModelList> porousZonesFluid(fluidRegions.size());
 
     // Populate fluid field pointer lists
     forAll(fluidRegions, i)
@@ -205,7 +205,7 @@
         porousZonesFluid.set
         (
             i,
-            new porousZones(fluidRegions[i])
+            new IOporosityModelList(fluidRegions[i])
         );
     }
 
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/setRegionFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/setRegionFluidFields.H
index 3abad394170710cf0748f64e42665bd773574e0c..4f15d8c6192c87acd9401c2ce0184d5c19faa1cb 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/setRegionFluidFields.H
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/setRegionFluidFields.H
@@ -14,7 +14,7 @@
 
     IObasicSourceList& sources = heatSources[i];
 
-    const porousZones& pZones = porousZonesFluid[i];
+    const IOporosityModelList& pZones = porousZonesFluid[i];
 
     const dimensionedScalar initialMass
     (
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H
index 81cb541ea4b646f33b2432334043cf81515d4606..a2021a5edc66f83255886fc86c18535c4c2e689d 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H
@@ -15,7 +15,7 @@
     List<scalar> initialMassFluid(fluidRegions.size());
 
     PtrList<IObasicSourceList> heatSources(fluidRegions.size());
-    PtrList<porousZones> porousZonesFluid(fluidRegions.size());
+    PtrList<IOporosityModelList> porousZonesFluid(fluidRegions.size());
 
     // Populate fluid field pointer lists
     forAll(fluidRegions, i)
@@ -202,6 +202,6 @@
         porousZonesFluid.set
         (
             i,
-            new porousZones(fluidRegions[i])
+            new IOporosityModelList(fluidRegions[i])
         );
     }
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/setRegionFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/setRegionFluidFields.H
index 04986d1289847fc88d09c615e8a24702ce879d2c..28f0ea96834746cf0dfafaea0951bbd8a5b5503c 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/setRegionFluidFields.H
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/setRegionFluidFields.H
@@ -22,7 +22,7 @@
 
     IObasicSourceList& sources = heatSources[i];
 
-    const porousZones& pZones = porousZonesFluid[i];
+    const IOporosityModelList& pZones = porousZonesFluid[i];
 
     const dimensionedScalar initialMass
     (
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/LTSReactingParcelFoam/LTSReactingParcelFoam.C b/applications/solvers/lagrangian/reactingParcelFoam/LTSReactingParcelFoam/LTSReactingParcelFoam.C
index fabb0bba6090f482877f029a4e97cab13fad88a2..4ea17727d9e6cc9088a8952cf6c2175841fd6cf5 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/LTSReactingParcelFoam/LTSReactingParcelFoam.C
+++ b/applications/solvers/lagrangian/reactingParcelFoam/LTSReactingParcelFoam/LTSReactingParcelFoam.C
@@ -40,7 +40,7 @@ Description
 #include "basicReactingMultiphaseCloud.H"
 #include "rhoCombustionModel.H"
 #include "radiationModel.H"
-#include "porousZones.H"
+#include "IOporosityModelList.H"
 #include "IObasicSourceList.H"
 #include "SLGThermo.H"
 #include "fvcSmooth.H"
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/createPorousZones.H b/applications/solvers/lagrangian/reactingParcelFoam/createPorousZones.H
index 90506856d2a072cad5ee3b4be584ee0aa42fda81..05f0f044ce4314fc37f7c64f0a8808099199a213 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/createPorousZones.H
+++ b/applications/solvers/lagrangian/reactingParcelFoam/createPorousZones.H
@@ -1,3 +1,3 @@
     Info<< "Creating porous zones" << nl << endl;
 
-    porousZones pZones(mesh);
+    IOporosityModelList pZones(mesh);
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/pEqn.H b/applications/solvers/lagrangian/reactingParcelFoam/pEqn.H
index 5b902273234aa924389682cd19bccb285bd1448d..1bcdf7c92f917c1a1514b50ab0ccbe95f1d38f15 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/pEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFoam/pEqn.H
@@ -10,7 +10,7 @@
     HbyA = rAU*(UEqn == sources(rho, U))().H();
 
     surfaceScalarField phiHbyA("phiHbyA", fvc::interpolate(HbyA) & mesh.Sf());
-    if (pZones.size() == 0)
+    if (!pZones.active())
     {
         // ddtPhiCorr only used without porosity
         phiHbyA += fvc::ddtPhiCorr(rAU, rho, U, phi);
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C
index 8ef6838c597de6b67c85ee7175f0a64643f44319..a8f43285433a4494c275f66cd556c65fddbc7f4d 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C
+++ b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C
@@ -44,7 +44,7 @@ Description
 #include "basicReactingMultiphaseCloud.H"
 #include "rhoCombustionModel.H"
 #include "radiationModel.H"
-#include "porousZones.H"
+#include "IOporosityModelList.H"
 #include "IObasicSourceList.H"
 #include "SLGThermo.H"
 #include "pimpleControl.H"
diff --git a/applications/solvers/multiphase/interFoam/porousInterFoam/createPorousZones.H b/applications/solvers/multiphase/interFoam/porousInterFoam/createPorousZones.H
index 430b466aac6e6cd3c634a3e75257d9efa477561c..983906074aa69f21dcf5a16c5f4ce8622909ba34 100644
--- a/applications/solvers/multiphase/interFoam/porousInterFoam/createPorousZones.H
+++ b/applications/solvers/multiphase/interFoam/porousInterFoam/createPorousZones.H
@@ -1 +1 @@
-    porousZones pZones(mesh);
+    IOporosityModelList pZones(mesh);
diff --git a/applications/solvers/multiphase/interFoam/porousInterFoam/porousInterFoam.C b/applications/solvers/multiphase/interFoam/porousInterFoam/porousInterFoam.C
index 891736c77fcc0f4872f92f76558b17b56f7bfe72..244ea75faef0e11ab52aaa6f4c40a42ef6db4004 100644
--- a/applications/solvers/multiphase/interFoam/porousInterFoam/porousInterFoam.C
+++ b/applications/solvers/multiphase/interFoam/porousInterFoam/porousInterFoam.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-2012 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,7 +44,7 @@ Description
 #include "interfaceProperties.H"
 #include "twoPhaseMixture.H"
 #include "turbulenceModel.H"
-#include "porousZones.H"
+#include "IOporosityModelList.H"
 #include "pimpleControl.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //