diff --git a/applications/solvers/basic/scalarTransportFoam/Make/options b/applications/solvers/basic/scalarTransportFoam/Make/options
index e6fbbb80000d244fa102764e6fb9dfc5e361c696..51402dfc9934f1bd3e0a3bbf96a0591a22b2558e 100644
--- a/applications/solvers/basic/scalarTransportFoam/Make/options
+++ b/applications/solvers/basic/scalarTransportFoam/Make/options
@@ -1,11 +1,11 @@
 EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 EXE_LIBS = \
     -lfiniteVolume \
-    -lfieldSources \
+    -lfvOptions \
     -lmeshTools \
     -lsampling
diff --git a/applications/solvers/basic/scalarTransportFoam/scalarTransportFoam.C b/applications/solvers/basic/scalarTransportFoam/scalarTransportFoam.C
index deae96ea02b80c23877ec35fb05305d12e19a57d..3539ad3e308188e6afaf6f1eac16416f42908d22 100644
--- a/applications/solvers/basic/scalarTransportFoam/scalarTransportFoam.C
+++ b/applications/solvers/basic/scalarTransportFoam/scalarTransportFoam.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
@@ -30,7 +30,7 @@ Description
 \*---------------------------------------------------------------------------*/
 
 #include "fvCFD.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 #include "simpleControl.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -41,7 +41,7 @@ int main(int argc, char *argv[])
     #include "createTime.H"
     #include "createMesh.H"
     #include "createFields.H"
-    #include "createSources.H"
+    #include "createFvOptions.H"
 
     simpleControl simple(mesh);
 
@@ -63,7 +63,7 @@ int main(int argc, char *argv[])
               + fvm::div(phi, T)
               - fvm::laplacian(DT, T)
              ==
-                sources(T)
+                fvOptions(T)
             );
         }
 
diff --git a/applications/solvers/combustion/XiFoam/EaEqn.H b/applications/solvers/combustion/XiFoam/EaEqn.H
index 2565e3f9e3aa4c6a7ac0ba6ee18c0311a2d6f32e..c6cc5efc51122dba5920d87ef477ea86c8d5bb3c 100644
--- a/applications/solvers/combustion/XiFoam/EaEqn.H
+++ b/applications/solvers/combustion/XiFoam/EaEqn.H
@@ -16,16 +16,16 @@
           : -dpdt
         )
       - fvm::laplacian(turbulence->alphaEff(), hea)
-      + sources(rho, hea)
+      + fvOptions(rho, hea)
     );
 
     EaEqn.relax();
 
-    sources.constrain(EaEqn);
+    fvOptions.constrain(EaEqn);
 
     EaEqn.solve();
 
-    sources.correct(hea);
+    fvOptions.correct(hea);
 
     thermo.correct();
 }
diff --git a/applications/solvers/combustion/XiFoam/EauEqn.H b/applications/solvers/combustion/XiFoam/EauEqn.H
index 092cdc2a6d8546e54e3a1299a6e79887da1e9720..dd4c455518bbfc11615d25f3287ed0a252f69d2e 100644
--- a/applications/solvers/combustion/XiFoam/EauEqn.H
+++ b/applications/solvers/combustion/XiFoam/EauEqn.H
@@ -25,12 +25,12 @@ if (ign.ignited())
         //+ fvm::Sp(fvc::div(muEff*fvc::grad(b)/(b + 0.001)), heau)
 
      ==
-        sources(rho, heau)
+        fvOptions(rho, heau)
     );
 
-    sources.constrain(heauEqn);
+    fvOptions.constrain(heauEqn);
 
     heauEqn.solve();
 
-    sources.correct(heau);
+    fvOptions.correct(heau);
 }
diff --git a/applications/solvers/combustion/XiFoam/Make/options b/applications/solvers/combustion/XiFoam/Make/options
index fdebdc8ce844bc066f0a6e3d2806a5fb4f4399d6..468cc1919baa34eab930970f2ace4243e5b5f786 100644
--- a/applications/solvers/combustion/XiFoam/Make/options
+++ b/applications/solvers/combustion/XiFoam/Make/options
@@ -1,6 +1,6 @@
 EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude\
     -I$(LIB_SRC)/engine/lnInclude \
@@ -12,7 +12,7 @@ EXE_INC = \
 
 EXE_LIBS = \
     -lfiniteVolume \
-    -lfieldSources \
+    -lfvOptions \
     -lsampling \
     -lmeshTools \
     -lengine \
diff --git a/applications/solvers/combustion/XiFoam/UEqn.H b/applications/solvers/combustion/XiFoam/UEqn.H
index 95f10bfcc9673d3908bffe5ea6355185c9f9838f..60c2a8a71f72308fa9befd1097fbf5c5b0f641e7 100644
--- a/applications/solvers/combustion/XiFoam/UEqn.H
+++ b/applications/solvers/combustion/XiFoam/UEqn.H
@@ -5,17 +5,17 @@
       + turbulence->divDevRhoReff(U)
      ==
         rho*g
-      + sources(rho, U)
+      + fvOptions(rho, U)
     );
 
     UEqn.relax();
 
-    sources.constrain(UEqn);
+    fvOptions.constrain(UEqn);
 
     if (pimple.momentumPredictor())
     {
         solve(UEqn == -fvc::grad(p));
 
-        sources.correct(U);
+        fvOptions.correct(U);
         K = 0.5*magSqr(U);
     }
diff --git a/applications/solvers/combustion/XiFoam/XiFoam.C b/applications/solvers/combustion/XiFoam/XiFoam.C
index bebbd49266f42eb1c839e5126799d5e6aa225e46..84fac04820f628ee9528a2bcd6b63e0c19d82725 100644
--- a/applications/solvers/combustion/XiFoam/XiFoam.C
+++ b/applications/solvers/combustion/XiFoam/XiFoam.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
@@ -56,7 +56,7 @@ Description
 #include "ignition.H"
 #include "Switch.H"
 #include "pimpleControl.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -69,7 +69,7 @@ int main(int argc, char *argv[])
     #include "readCombustionProperties.H"
     #include "readGravitationalAcceleration.H"
     #include "createFields.H"
-    #include "createSources.H"
+    #include "createFvOptions.H"
     #include "initContinuityErrs.H"
     #include "readTimeControls.H"
     #include "compressibleCourantNo.H"
diff --git a/applications/solvers/combustion/XiFoam/bEqn.H b/applications/solvers/combustion/XiFoam/bEqn.H
index e10be7b6dfae01f3e551c6f2c30bb0db68a6a01d..2c6000afd860d34e4d8e1e94e21418f8f2698ab5 100644
--- a/applications/solvers/combustion/XiFoam/bEqn.H
+++ b/applications/solvers/combustion/XiFoam/bEqn.H
@@ -54,7 +54,7 @@ if (ign.ignited())
       - fvm::Sp(fvc::div(phiSt), b)
       - fvm::laplacian(turbulence->alphaEff(), b)
      ==
-        sources(rho, b)
+        fvOptions(rho, b)
     );
 
 
@@ -67,11 +67,11 @@ if (ign.ignited())
     // ~~~~~~~~~~~
     bEqn.relax();
 
-    sources.constrain(bEqn);
+    fvOptions.constrain(bEqn);
 
     bEqn.solve();
 
-    sources.correct(b);
+    fvOptions.correct(b);
 
     Info<< "min(b) = " << min(b).value() << endl;
 
@@ -160,16 +160,16 @@ if (ign.ignited())
           ==
           - fvm::SuSp(-rho*Rc*Su0/Su, Su)
           - fvm::SuSp(rho*(sigmas + Rc), Su)
-          + sources(rho, Su)
+          + fvOptions(rho, Su)
         );
 
         SuEqn.relax();
 
-        sources.constrain(SuEqn);
+        fvOptions.constrain(SuEqn);
 
         SuEqn.solve();
 
-        sources.correct(Su);
+        fvOptions.correct(Su);
 
         // Limit the maximum Su
         // ~~~~~~~~~~~~~~~~~~~~
@@ -247,16 +247,16 @@ if (ign.ignited())
                 ),
                 Xi
             )
-          + sources(rho, Xi)
+          + fvOptions(rho, Xi)
         );
 
         XiEqn.relax();
 
-        sources.constrain(XiEqn);
+        fvOptions.constrain(XiEqn);
 
         XiEqn.solve();
 
-        sources.correct(Xi);
+        fvOptions.correct(Xi);
 
         // Correct boundedness of Xi
         // ~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/applications/solvers/combustion/XiFoam/ftEqn.H b/applications/solvers/combustion/XiFoam/ftEqn.H
index 013e8b3180fa2f44ea2668ea12ed07b0a3d289c2..87bfaa97909a1c4fcfeed52c655c972fbbf9c139 100644
--- a/applications/solvers/combustion/XiFoam/ftEqn.H
+++ b/applications/solvers/combustion/XiFoam/ftEqn.H
@@ -19,12 +19,12 @@ if (composition.contains("ft"))
       + mvConvection->fvmDiv(phi, ft)
       - fvm::laplacian(turbulence->alphaEff(), ft)
      ==
-        sources(rho, ft)
+        fvOptions(rho, ft)
     );
 
-    sources.constrain(ftEqn);
+    fvOptions.constrain(ftEqn);
 
     ftEqn.solve();
 
-    sources.correct(ft);
+    fvOptions.correct(ft);
 }
diff --git a/applications/solvers/combustion/XiFoam/pEqn.H b/applications/solvers/combustion/XiFoam/pEqn.H
index b5a6d173fbe4a1b2c5bd4ef2feb89a1550c5bb40..76cfbc4658b0fad1661249661c40a4f727334c2b 100644
--- a/applications/solvers/combustion/XiFoam/pEqn.H
+++ b/applications/solvers/combustion/XiFoam/pEqn.H
@@ -16,7 +16,7 @@ if (pimple.transonic())
         )
     );
 
-    sources.relativeFlux(fvc::interpolate(psi), phid);
+    fvOptions.relativeFlux(fvc::interpolate(psi), phid);
 
     while (pimple.correctNonOrthogonal())
     {
@@ -26,10 +26,10 @@ if (pimple.transonic())
           + fvm::div(phid, p)
           - fvm::laplacian(rho*rAU, p)
          ==
-            sources(psi, p, rho.name())
+            fvOptions(psi, p, rho.name())
         );
 
-        sources.constrain(pEqn);
+        fvOptions.constrain(pEqn);
 
         pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
 
@@ -51,7 +51,7 @@ else
         )
     );
 
-    sources.relativeFlux(phiHbyA);
+    fvOptions.relativeFlux(phiHbyA);
 
     while (pimple.correctNonOrthogonal())
     {
@@ -61,10 +61,10 @@ else
           + fvc::div(phiHbyA)
           - fvm::laplacian(rho*rAU, p)
          ==
-            sources(psi, p, rho.name())
+            fvOptions(psi, p, rho.name())
         );
 
-        sources.constrain(pEqn);
+        fvOptions.constrain(pEqn);
 
         pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
 
@@ -80,7 +80,7 @@ else
 
 U = HbyA - rAU*fvc::grad(p);
 U.correctBoundaryConditions();
-sources.correct(U);
+fvOptions.correct(U);
 K = 0.5*magSqr(U);
 
 if (thermo.dpdt())
diff --git a/applications/solvers/combustion/coldEngineFoam/Make/options b/applications/solvers/combustion/coldEngineFoam/Make/options
index 2eaea744b0c5e93ec6a199f72e5463679da2333d..d688fb1e2dfdd8c207c3e39a6bf700399aa230a2 100644
--- a/applications/solvers/combustion/coldEngineFoam/Make/options
+++ b/applications/solvers/combustion/coldEngineFoam/Make/options
@@ -10,7 +10,7 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude
+    -I$(LIB_SRC)/fvOptions/lnInclude
 
 EXE_LIBS = \
     -lengine \
@@ -21,4 +21,4 @@ EXE_LIBS = \
     -lspecie \
     -lfiniteVolume \
     -lmeshTools \
-    -lfieldSources
+    -lfvOptions
diff --git a/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C b/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C
index 3b229ded146743f05850756199267cd92a9d1c3b..bd5e2c3b99d3779fdd0ffce94cf68ccecfe8d657 100644
--- a/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C
+++ b/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.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
@@ -35,7 +35,7 @@ Description
 #include "psiThermo.H"
 #include "turbulenceModel.H"
 #include "OFstream.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 #include "pimpleControl.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
     #include "createEngineTime.H"
     #include "createEngineMesh.H"
     #include "createFields.H"
-    #include "createSources.H"
+    #include "createFvOptions.H"
     #include "initContinuityErrs.H"
     #include "readEngineTimeControls.H"
     #include "compressibleCourantNo.H"
diff --git a/applications/solvers/combustion/engineFoam/Make/options b/applications/solvers/combustion/engineFoam/Make/options
index c7b3219f2d7f3bbed8115f1c2cda16e3dfda57b6..fcbc3a4206f3facb049d49b730e30d7436c243e2 100644
--- a/applications/solvers/combustion/engineFoam/Make/options
+++ b/applications/solvers/combustion/engineFoam/Make/options
@@ -1,7 +1,7 @@
 EXE_INC = \
     -I$(FOAM_SOLVERS)/combustion/XiFoam \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/engine/lnInclude \
@@ -13,7 +13,7 @@ EXE_INC = \
 
 EXE_LIBS = \
     -lfiniteVolume \
-    -lfieldSources \
+    -lfvOptions \
     -lsampling \
     -lmeshTools \
     -lengine \
diff --git a/applications/solvers/combustion/engineFoam/UEqn.H b/applications/solvers/combustion/engineFoam/UEqn.H
index a8b0207225579307ad9985248ca386f51b992ff7..d35e71101ccd2554dcb39baaf05ef2ca037e54e8 100644
--- a/applications/solvers/combustion/engineFoam/UEqn.H
+++ b/applications/solvers/combustion/engineFoam/UEqn.H
@@ -4,13 +4,13 @@
       + fvm::div(phi, U)
       + turbulence->divDevRhoReff(U)
      ==
-        sources(rho, U)
+        fvOptions(rho, U)
     );
 
     if (pimple.momentumPredictor())
     {
         solve(UEqn == -fvc::grad(p));
 
-        sources.correct(U);
+        fvOptions.correct(U);
         K = 0.5*magSqr(U);
     }
diff --git a/applications/solvers/combustion/engineFoam/engineFoam.C b/applications/solvers/combustion/engineFoam/engineFoam.C
index f11f677398e14e057c04e685bf052073b24f0acc..592abbd3e67ba23a79d05c4432ed1452af46b1d6 100644
--- a/applications/solvers/combustion/engineFoam/engineFoam.C
+++ b/applications/solvers/combustion/engineFoam/engineFoam.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
@@ -59,7 +59,7 @@ Description
 #include "OFstream.H"
 #include "mathematicalConstants.H"
 #include "pimpleControl.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -71,7 +71,7 @@ int main(int argc, char *argv[])
     #include "createEngineMesh.H"
     #include "readCombustionProperties.H"
     #include "createFields.H"
-    #include "createSources.H"
+    #include "createFvOptions.H"
     #include "initContinuityErrs.H"
     #include "readEngineTimeControls.H"
     #include "compressibleCourantNo.H"
diff --git a/applications/solvers/combustion/engineFoam/pEqn.H b/applications/solvers/combustion/engineFoam/pEqn.H
index b38d6dbf4b0506f27a3e8492d1ed22ebc554fdf1..6bb80b1eaff865d6aff49df705db7e88aa015160 100644
--- a/applications/solvers/combustion/engineFoam/pEqn.H
+++ b/applications/solvers/combustion/engineFoam/pEqn.H
@@ -13,7 +13,7 @@ if (pimple.transonic())
        *((fvc::interpolate(HbyA) & mesh.Sf()) - fvc::meshPhi(rho, U))
     );
 
-    sources.relativeFlux(fvc::interpolate(psi), phid);
+    fvOptions.relativeFlux(fvc::interpolate(psi), phid);
 
     while (pimple.correctNonOrthogonal())
     {
@@ -23,10 +23,10 @@ if (pimple.transonic())
           + fvm::div(phid, p)
           - fvm::laplacian(rho*rAU, p)
          ==
-            sources(psi, p, rho.name())
+            fvOptions(psi, p, rho.name())
         );
 
-        sources.constrain(pEqn);
+        fvOptions.constrain(pEqn);
 
         pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
 
@@ -45,7 +45,7 @@ else
        *((fvc::interpolate(HbyA) & mesh.Sf()) - fvc::meshPhi(rho, U))
     );
 
-    sources.relativeFlux(fvc::interpolate(rho), phiHbyA);
+    fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
 
     while (pimple.correctNonOrthogonal())
     {
@@ -55,10 +55,10 @@ else
           + fvc::div(phiHbyA)
           - fvm::laplacian(rho*rAU, p)
          ==
-            sources(psi, p, rho.name())
+            fvOptions(psi, p, rho.name())
         );
 
-        sources.constrain(pEqn);
+        fvOptions.constrain(pEqn);
 
         pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
 
@@ -74,7 +74,7 @@ else
 
 U = HbyA - rAU*fvc::grad(p);
 U.correctBoundaryConditions();
-sources.correct(U);
+fvOptions.correct(U);
 K = 0.5*magSqr(U);
 
 if (thermo.dpdt())
diff --git a/applications/solvers/combustion/fireFoam/Make/options b/applications/solvers/combustion/fireFoam/Make/options
index 73804d8283937f5150ae8fe419f9d1ba7b5bfdac..c243c07e3d6b7cbf68de798641ddc286485b6622 100644
--- a/applications/solvers/combustion/fireFoam/Make/options
+++ b/applications/solvers/combustion/fireFoam/Make/options
@@ -1,6 +1,6 @@
 EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I${LIB_SRC}/meshTools/lnInclude \
     -I${LIB_SRC}/sampling/lnInclude \
     -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
@@ -31,7 +31,7 @@ EXE_INC = \
 
 EXE_LIBS = \
     -lfiniteVolume \
-    -lfieldSources \
+    -lfvOptions \
     -lmeshTools \
     -lsampling \
     -lcompressibleRASModels \
diff --git a/applications/solvers/combustion/fireFoam/UEqn.H b/applications/solvers/combustion/fireFoam/UEqn.H
index 81d90bd695e912277c83e1744a9814f5b8cca7ec..205eb09156e9a7e29fcbdc8bc2d37c985dab31a8 100644
--- a/applications/solvers/combustion/fireFoam/UEqn.H
+++ b/applications/solvers/combustion/fireFoam/UEqn.H
@@ -5,12 +5,12 @@
       + turbulence->divDevRhoReff(U)
      ==
         parcels.SU(U)
-      + sources(rho, U)
+      + fvOptions(rho, U)
     );
 
     UEqn.relax();
 
-    sources.constrain(UEqn);
+    fvOptions.constrain(UEqn);
 
     if (pimple.momentumPredictor())
     {
@@ -27,6 +27,6 @@
             )
         );
 
-        sources.correct(U);
+        fvOptions.correct(U);
         K = 0.5*magSqr(U);
     }
diff --git a/applications/solvers/combustion/fireFoam/YEEqn.H b/applications/solvers/combustion/fireFoam/YEEqn.H
index 358e4953d1a274be55da723bf6c0ebabf68c4ed5..da485e730506a4aa64eeae7a314741d2d3f110d4 100644
--- a/applications/solvers/combustion/fireFoam/YEEqn.H
+++ b/applications/solvers/combustion/fireFoam/YEEqn.H
@@ -30,16 +30,16 @@ tmp<fv::convectionScheme<scalar> > mvConvection
                 parcels.SYi(i, Yi)
               + surfaceFilm.Srho(i)
               + combustion->R(Yi)
-              + sources(rho, Yi)
+              + fvOptions(rho, Yi)
             );
 
             YiEqn.relax();
 
-            sources.constrain(YiEqn);
+            fvOptions.constrain(YiEqn);
 
             YiEqn.solve(mesh.solver("Yi"));
 
-            sources.correct(Yi);
+            fvOptions.correct(Yi);
 
             Yi.max(0.0);
             Yt += Yi;
@@ -75,16 +75,16 @@ tmp<fv::convectionScheme<scalar> > mvConvection
       + radiation->Sh(thermo)
       + parcels.Sh(he)
       + surfaceFilm.Sh()
-      + sources(rho, he)
+      + fvOptions(rho, he)
     );
 
     EEqn.relax();
 
-    sources.constrain(EEqn);
+    fvOptions.constrain(EEqn);
 
     EEqn.solve();
 
-    sources.correct(he);
+    fvOptions.correct(he);
 
     thermo.correct();
 
diff --git a/applications/solvers/combustion/fireFoam/fireFoam.C b/applications/solvers/combustion/fireFoam/fireFoam.C
index afe1b815e5eee7938ff0ad94f6caeb3ed4419850..14e46bef66199cc2a28d6e1ab8f6e97a988952e4 100644
--- a/applications/solvers/combustion/fireFoam/fireFoam.C
+++ b/applications/solvers/combustion/fireFoam/fireFoam.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
@@ -40,7 +40,7 @@ Description
 #include "solidChemistryModel.H"
 #include "psiCombustionModel.H"
 #include "pimpleControl.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -52,7 +52,7 @@ int main(int argc, char *argv[])
     #include "createMesh.H"
     #include "readGravitationalAcceleration.H"
     #include "createFields.H"
-    #include "createSources.H"
+    #include "createFvOptions.H"
     #include "createClouds.H"
     #include "createSurfaceFilmModel.H"
     #include "createPyrolysisModel.H"
diff --git a/applications/solvers/combustion/fireFoam/pEqn.H b/applications/solvers/combustion/fireFoam/pEqn.H
index 6101c9dd5dbb59d6792ea45f09b11ac52c8ad21c..4fa4799ff208fda64e21b62bfdfdb10e3813c90a 100644
--- a/applications/solvers/combustion/fireFoam/pEqn.H
+++ b/applications/solvers/combustion/fireFoam/pEqn.H
@@ -21,7 +21,7 @@ surfaceScalarField phiHbyA
   + phig
 );
 
-sources.relativeFlux(phiHbyA);
+fvOptions.relativeFlux(phiHbyA);
 
 while (pimple.correctNonOrthogonal())
 {
@@ -34,10 +34,10 @@ while (pimple.correctNonOrthogonal())
      ==
         parcels.Srho()
       + surfaceFilm.Srho()
-      + sources(psi, p_rgh, rho.name())
+      + fvOptions(psi, p_rgh, rho.name())
     );
 
-    sources.constrain(p_rghEqn);
+    fvOptions.constrain(p_rghEqn);
 
     p_rghEqn.solve(mesh.solver(p_rgh.select(pimple.finalInnerIter())));
 
@@ -46,7 +46,7 @@ while (pimple.correctNonOrthogonal())
         phi = phiHbyA + p_rghEqn.flux();
         U = HbyA + rAU*fvc::reconstruct((p_rghEqn.flux() + phig)/rhorAUf);
         U.correctBoundaryConditions();
-        sources.correct(U);
+        fvOptions.correct(U);
     }
 }
 
diff --git a/applications/solvers/combustion/fireFoam/rhoEqn.H b/applications/solvers/combustion/fireFoam/rhoEqn.H
index 5cc780abb1d02bd1621841aa52186429eb140d6f..45c93a1488b419ae4c182181ecd312049e2cc0f9 100644
--- a/applications/solvers/combustion/fireFoam/rhoEqn.H
+++ b/applications/solvers/combustion/fireFoam/rhoEqn.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
@@ -37,14 +37,14 @@ Description
       ==
         parcels.Srho(rho)
       + surfaceFilm.Srho()
-      + sources(rho)
+      + fvOptions(rho)
     );
 
-    sources.constrain(rhoEqn);
+    fvOptions.constrain(rhoEqn);
 
     rhoEqn.solve();
 
-    sources.correct(rho);
+    fvOptions.correct(rho);
 }
 
 // ************************************************************************* //
diff --git a/applications/solvers/combustion/reactingFoam/EEqn.H b/applications/solvers/combustion/reactingFoam/EEqn.H
index c3f25da17d40f26ee0f1da68f02252c5ee7428cb..56ddf867e796f60086400e0a8e65125aafe6117e 100644
--- a/applications/solvers/combustion/reactingFoam/EEqn.H
+++ b/applications/solvers/combustion/reactingFoam/EEqn.H
@@ -19,16 +19,16 @@
 //    - fvm::laplacian(turbulence->muEff(), he)  // unit lewis no.
      ==
         reaction->Sh()
-      + sources(rho, he)
+      + fvOptions(rho, he)
     );
 
     EEqn.relax();
 
-    sources.constrain(EEqn);
+    fvOptions.constrain(EEqn);
 
     EEqn.solve();
 
-    sources.correct(he);
+    fvOptions.correct(he);
 
     thermo.correct();
 
diff --git a/applications/solvers/combustion/reactingFoam/Make/options b/applications/solvers/combustion/reactingFoam/Make/options
index d29dc0ed9a0616d836f13a988cb1a6e57ba114a7..15cf68cb5e1ee384e7f74fe523740fc33c320de7 100644
--- a/applications/solvers/combustion/reactingFoam/Make/options
+++ b/applications/solvers/combustion/reactingFoam/Make/options
@@ -1,6 +1,6 @@
 EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
@@ -13,7 +13,7 @@ EXE_INC = \
 
 EXE_LIBS = \
     -lfiniteVolume \
-    -lfieldSources \
+    -lfvOptions \
     -lmeshTools \
     -lsampling \
     -lcompressibleTurbulenceModel \
diff --git a/applications/solvers/combustion/reactingFoam/UEqn.H b/applications/solvers/combustion/reactingFoam/UEqn.H
index 95f10bfcc9673d3908bffe5ea6355185c9f9838f..60c2a8a71f72308fa9befd1097fbf5c5b0f641e7 100644
--- a/applications/solvers/combustion/reactingFoam/UEqn.H
+++ b/applications/solvers/combustion/reactingFoam/UEqn.H
@@ -5,17 +5,17 @@
       + turbulence->divDevRhoReff(U)
      ==
         rho*g
-      + sources(rho, U)
+      + fvOptions(rho, U)
     );
 
     UEqn.relax();
 
-    sources.constrain(UEqn);
+    fvOptions.constrain(UEqn);
 
     if (pimple.momentumPredictor())
     {
         solve(UEqn == -fvc::grad(p));
 
-        sources.correct(U);
+        fvOptions.correct(U);
         K = 0.5*magSqr(U);
     }
diff --git a/applications/solvers/combustion/reactingFoam/YEqn.H b/applications/solvers/combustion/reactingFoam/YEqn.H
index c9b4942a5bad3278266c334a9b8982059bcd741f..c8d34cf1d591f446c29b3f5b5e49d41e13514ccf 100644
--- a/applications/solvers/combustion/reactingFoam/YEqn.H
+++ b/applications/solvers/combustion/reactingFoam/YEqn.H
@@ -28,16 +28,16 @@ tmp<fv::convectionScheme<scalar> > mvConvection
               - fvm::laplacian(turbulence->muEff(), Yi)
              ==
                 reaction->R(Yi)
-              + sources(rho, Yi)
+              + fvOptions(rho, Yi)
             );
 
             YiEqn.relax();
 
-            sources.constrain(YiEqn);
+            fvOptions.constrain(YiEqn);
 
             YiEqn.solve(mesh.solver("Yi"));
 
-            sources.correct(Yi);
+            fvOptions.correct(Yi);
 
             Yi.max(0.0);
             Yt += Yi;
diff --git a/applications/solvers/combustion/reactingFoam/pEqn.H b/applications/solvers/combustion/reactingFoam/pEqn.H
index 2ed1bc1ca56166e6df3f500a893e37432957666f..9172736266bc283174ae859c6f8ac422f7a658da 100644
--- a/applications/solvers/combustion/reactingFoam/pEqn.H
+++ b/applications/solvers/combustion/reactingFoam/pEqn.H
@@ -16,7 +16,7 @@ if (pimple.transonic())
         )
     );
 
-    sources.relativeFlux(fvc::interpolate(psi), phid);
+    fvOptions.relativeFlux(fvc::interpolate(psi), phid);
 
     while (pimple.correctNonOrthogonal())
     {
@@ -26,10 +26,10 @@ if (pimple.transonic())
           + fvm::div(phid, p)
           - fvm::laplacian(rho*rAU, p)
          ==
-            sources(psi, p, rho.name())
+            fvOptions(psi, p, rho.name())
         );
 
-        sources.constrain(pEqn);
+        fvOptions.constrain(pEqn);
 
         pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
 
@@ -51,7 +51,7 @@ else
         )
     );
 
-    sources.relativeFlux(fvc::interpolate(rho), phiHbyA);
+    fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
 
     while (pimple.correctNonOrthogonal())
     {
@@ -61,10 +61,10 @@ else
           + fvc::div(phiHbyA)
           - fvm::laplacian(rho*rAU, p)
          ==
-            sources(psi, p, rho.name())
+            fvOptions(psi, p, rho.name())
         );
 
-        sources.constrain(pEqn);
+        fvOptions.constrain(pEqn);
 
         pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
 
@@ -80,7 +80,7 @@ else
 
 U = HbyA - rAU*fvc::grad(p);
 U.correctBoundaryConditions();
-sources.correct(U);
+fvOptions.correct(U);
 K = 0.5*magSqr(U);
 
 if (thermo.dpdt())
diff --git a/applications/solvers/combustion/reactingFoam/reactingFoam.C b/applications/solvers/combustion/reactingFoam/reactingFoam.C
index 5ebd3573a89484de800eed6b27dff907df4c5ee8..831df5c9a3eb67203e1fa2ae29a2aeafccb451bc 100644
--- a/applications/solvers/combustion/reactingFoam/reactingFoam.C
+++ b/applications/solvers/combustion/reactingFoam/reactingFoam.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 "psiCombustionModel.H"
 #include "multivariateScheme.H"
 #include "pimpleControl.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -45,7 +45,7 @@ int main(int argc, char *argv[])
     #include "createMesh.H"
     #include "readGravitationalAcceleration.H"
     #include "createFields.H"
-    #include "createSources.H"
+    #include "createFvOptions.H"
     #include "initContinuityErrs.H"
     #include "readTimeControls.H"
     #include "compressibleCourantNo.H"
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/Make/options b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/Make/options
index 0d1336e1ac931489b22f4fa81c82b37cc547aa64..bf015097e3542242f87928ac0824d2dd06b1c068 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/Make/options
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/Make/options
@@ -1,7 +1,7 @@
 EXE_INC = \
     -I$(FOAM_SOLVERS)/combustion/reactingFoam \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
@@ -15,7 +15,7 @@ EXE_INC = \
 
 EXE_LIBS = \
     -lfiniteVolume \
-    -lfieldSources \
+    -lfvOptions \
     -lmeshTools \
     -lsampling \
     -lcompressibleTurbulenceModel \
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/UEqn.H b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/UEqn.H
index d9aca344a903c8562c07906f2905606376a6e43e..7d1a350e163ce8099331311ad0d4a797a5a3c282 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/UEqn.H
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/UEqn.H
@@ -4,12 +4,12 @@
       + fvm::div(phi, U)
       + turbulence->divDevRhoReff(U)
      ==
-        sources(rho, U)
+        fvOptions(rho, U)
     );
 
     UEqn.relax();
 
-    sources.constrain(UEqn);
+    fvOptions.constrain(UEqn);
 
     if (pimple.momentumPredictor())
     {
@@ -26,6 +26,6 @@
             )
         );
 
-        sources.correct(U);
+        fvOptions.correct(U);
         K = 0.5*magSqr(U);
     }
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/pEqn.H b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/pEqn.H
index 4fbe3b15a0d76fd7b530b0049510230294b1b850..9b5d81522a5924c1f304a266216fe30413d33e55 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/pEqn.H
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/pEqn.H
@@ -24,14 +24,14 @@
       + phig
     );
 
-    sources.relativeFlux(fvc::interpolate(rho), phiHbyA);
+    fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
 
     fvScalarMatrix p_rghDDtEqn
     (
         fvc::ddt(rho) + psi*correction(fvm::ddt(p_rgh))
       + fvc::div(phiHbyA)
       ==
-        sources(psi, p_rgh, rho.name())
+        fvOptions(psi, p_rgh, rho.name())
     );
 
     while (pimple.correctNonOrthogonal())
@@ -42,7 +42,7 @@
           - fvm::laplacian(rhorAUf, p_rgh)
         );
 
-        sources.constrain(p_rghEqn);
+        fvOptions.constrain(p_rghEqn);
 
         p_rghEqn.solve(mesh.solver(p_rgh.select(pimple.finalInnerIter())));
 
@@ -58,7 +58,7 @@
             // calculated from the relaxed pressure
             U = HbyA + rAU*fvc::reconstruct((phig + p_rghEqn.flux())/rhorAUf);
             U.correctBoundaryConditions();
-            sources.correct(U);
+            fvOptions.correct(U);
             K = 0.5*magSqr(U);
         }
     }
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C
index 19356b0fe6affe10c8471cbe6d05230f2ab34fc2..19e9f96f512a871c54ac36ad3d37bc83e52bcf72 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.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 "turbulenceModel.H"
 #include "multivariateScheme.H"
 #include "pimpleControl.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -46,7 +46,7 @@ int main(int argc, char *argv[])
     #include "createMesh.H"
     #include "readGravitationalAcceleration.H"
     #include "createFields.H"
-    #include "createSources.H"
+    #include "createFvOptions.H"
     #include "initContinuityErrs.H"
     #include "readTimeControls.H"
     #include "compressibleCourantNo.H"
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/Make/options b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/Make/options
index 0d1336e1ac931489b22f4fa81c82b37cc547aa64..bf015097e3542242f87928ac0824d2dd06b1c068 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/Make/options
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/Make/options
@@ -1,7 +1,7 @@
 EXE_INC = \
     -I$(FOAM_SOLVERS)/combustion/reactingFoam \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
@@ -15,7 +15,7 @@ EXE_INC = \
 
 EXE_LIBS = \
     -lfiniteVolume \
-    -lfieldSources \
+    -lfvOptions \
     -lmeshTools \
     -lsampling \
     -lcompressibleTurbulenceModel \
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/pEqn.H b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/pEqn.H
index cb25d83662c4c1634950e493c25b02f931f816be..3fb6dfe45e412afeca48b498fb99a2127b03196a 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/pEqn.H
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/pEqn.H
@@ -18,7 +18,7 @@
           + fvc::ddtPhiCorr(rAU, rho, U, phi)
         );
 
-        sources.relativeFlux(phiHbyA);
+        fvOptions.relativeFlux(phiHbyA);
 
         surfaceScalarField phid("phid", fvc::interpolate(thermo.psi())*phiHbyA);
 
@@ -37,10 +37,10 @@
                 pDDtEqn
               - fvm::laplacian(rho*rAU, p)
              ==
-                sources(psi, p, rho.name())
+                fvOptions(psi, p, rho.name())
             );
 
-            sources.constrain(pEqn);
+            fvOptions.constrain(pEqn);
 
             pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
 
@@ -62,14 +62,14 @@
             )
         );
 
-        sources.relativeFlux(fvc::interpolate(rho), phiHbyA);
+        fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
 
         fvScalarMatrix pDDtEqn
         (
             fvc::ddt(rho) + psi*correction(fvm::ddt(p))
           + fvc::div(phiHbyA)
          ==
-            sources(psi, p, rho.name())
+            fvOptions(psi, p, rho.name())
         );
 
         while (pimple.correctNonOrthogonal())
@@ -80,7 +80,7 @@
               - fvm::laplacian(rho*rAU, p)
             );
 
-            sources.constrain(pEqn);
+            fvOptions.constrain(pEqn);
 
             pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
 
@@ -99,7 +99,7 @@
 
     U = HbyA - rAU*fvc::grad(p);
     U.correctBoundaryConditions();
-    sources.correct(U);
+    fvOptions.correct(U);
     K = 0.5*magSqr(U);
 
     if (thermo.dpdt())
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C
index fffbf485d8f92c4eb5c5ade28159edfd9987829e..192fb74051a8447baf7da2b0f41915e4b957be27 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.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
@@ -35,7 +35,7 @@ Description
 #include "turbulenceModel.H"
 #include "multivariateScheme.H"
 #include "pimpleControl.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -46,7 +46,7 @@ int main(int argc, char *argv[])
     #include "createMesh.H"
     #include "readGravitationalAcceleration.H"
     #include "createFields.H"
-    #include "createSources.H"
+    #include "createFvOptions.H"
     #include "initContinuityErrs.H"
     #include "readTimeControls.H"
     #include "compressibleCourantNo.H"
diff --git a/applications/solvers/compressible/rhoPimpleFoam/EEqn.H b/applications/solvers/compressible/rhoPimpleFoam/EEqn.H
index 712a3a9ab4d4a8885f0b3bc05aa0623eaddbbc1d..ee2a95f2082b2a298e2ac4a53ae7d307191f1e2d 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/EEqn.H
+++ b/applications/solvers/compressible/rhoPimpleFoam/EEqn.H
@@ -17,16 +17,16 @@
         )
       - fvm::laplacian(turbulence->alphaEff(), he)
      ==
-        sources(rho, he)
+        fvOptions(rho, he)
     );
 
     EEqn.relax();
 
-    sources.constrain(EEqn);
+    fvOptions.constrain(EEqn);
 
     EEqn.solve();
 
-    sources.correct(he);
+    fvOptions.correct(he);
 
     thermo.correct();
 }
diff --git a/applications/solvers/compressible/rhoPimpleFoam/Make/options b/applications/solvers/compressible/rhoPimpleFoam/Make/options
index c96a146eca26d9bfdb69c0526632707b4cea13e4..c25d7701488ea0c3dce537a1e4e270e46c5b3b02 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/Make/options
+++ b/applications/solvers/compressible/rhoPimpleFoam/Make/options
@@ -5,7 +5,7 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude
+    -I$(LIB_SRC)/fvOptions/lnInclude
 
 EXE_LIBS = \
     -lfluidThermophysicalModels \
@@ -16,4 +16,4 @@ EXE_LIBS = \
     -lfiniteVolume \
     -lmeshTools \
     -lsampling \
-    -lfieldSources
+    -lfvOptions
diff --git a/applications/solvers/compressible/rhoPimpleFoam/UEqn.H b/applications/solvers/compressible/rhoPimpleFoam/UEqn.H
index daa25ac316bcfabeb0ae347c86dd244385cf9491..1adabbc1f09d365005cd7d09e0663f1052702160 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/UEqn.H
+++ b/applications/solvers/compressible/rhoPimpleFoam/UEqn.H
@@ -6,17 +6,17 @@ tmp<fvVectorMatrix> UEqn
   + fvm::div(phi, U)
   + turbulence->divDevRhoReff(U)
  ==
-    sources(rho, U)
+    fvOptions(rho, U)
 );
 
 UEqn().relax();
 
-sources.constrain(UEqn());
+fvOptions.constrain(UEqn());
 
 if (pimple.momentumPredictor())
 {
     solve(UEqn() == -fvc::grad(p));
 
-    sources.correct(U);
+    fvOptions.correct(U);
     K = 0.5*magSqr(U);
 }
diff --git a/applications/solvers/compressible/rhoPimpleFoam/pEqn.H b/applications/solvers/compressible/rhoPimpleFoam/pEqn.H
index a656d772481adc52390a1c9fd7889545f6e50d4a..78f4ddb0316da812837722fde3d8baba8540512b 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/pEqn.H
+++ b/applications/solvers/compressible/rhoPimpleFoam/pEqn.H
@@ -24,7 +24,7 @@ if (pimple.transonic())
         )
     );
 
-    sources.relativeFlux(fvc::interpolate(psi), phid);
+    fvOptions.relativeFlux(fvc::interpolate(psi), phid);
 
     volScalarField Dp("Dp", rho*rAU);
 
@@ -36,10 +36,10 @@ if (pimple.transonic())
           + fvm::div(phid, p)
           - fvm::laplacian(Dp, p)
           ==
-            sources(psi, p, rho.name())
+            fvOptions(psi, p, rho.name())
         );
 
-        sources.constrain(pEqn);
+        fvOptions.constrain(pEqn);
 
         pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
 
@@ -61,7 +61,7 @@ else
         )
     );
 
-    sources.relativeFlux(fvc::interpolate(rho), phiHbyA);
+    fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
 
     volScalarField Dp("Dp", rho*rAU);
 
@@ -74,10 +74,10 @@ else
           + fvc::div(phiHbyA)
           - fvm::laplacian(Dp, p)
           ==
-            sources(psi, p, rho.name())
+            fvOptions(psi, p, rho.name())
         );
 
-        sources.constrain(pEqn);
+        fvOptions.constrain(pEqn);
 
         pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
 
@@ -104,7 +104,7 @@ Info<< "rho max/min : " << max(rho).value()
 
 U = HbyA - rAU*fvc::grad(p);
 U.correctBoundaryConditions();
-sources.correct(U);
+fvOptions.correct(U);
 K = 0.5*magSqr(U);
 
 if (thermo.dpdt())
diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/Make/options b/applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/Make/options
index 2976366c08ac366a8c0abe6c3291714ed86f1908..11053f31a952b0aabfcb4e228da801f80f0233dd 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/Make/options
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/Make/options
@@ -7,7 +7,7 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude
+    -I$(LIB_SRC)/fvOptions/lnInclude
 
 EXE_LIBS = \
     -lfluidThermophysicalModels \
@@ -18,4 +18,4 @@ EXE_LIBS = \
     -lfiniteVolume \
     -lmeshTools \
     -lsampling \
-    -lfieldSources
+    -lfvOptions
diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/rhoLTSPimpleFoam.C b/applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/rhoLTSPimpleFoam.C
index f3d088b4d627302c1f7092d129588dea020f18f1..8f2943f84cfa62d86e4369930edea5d9caa0d414 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/rhoLTSPimpleFoam.C
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/rhoLTSPimpleFoam.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
@@ -26,7 +26,8 @@ Application
 
 Description
     Transient solver for laminar or turbulent flow of compressible fluids
-    with support for run-time selectable sources, e.g. MRF, explicit porosity.
+    with support for run-time selectable finite volume options, e.g. MRF,
+    explicit porosity.
 
     Uses the flexible PIMPLE (PISO-SIMPLE) solution for time-resolved and
     pseudo-transient simulations with support for local time-stepping for
@@ -37,7 +38,7 @@ Description
 #include "fvCFD.H"
 #include "psiThermo.H"
 #include "turbulenceModel.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 #include "fvcSmooth.H"
 #include "pimpleControl.H"
 #include "bound.H"
@@ -54,7 +55,7 @@ int main(int argc, char *argv[])
 
     #include "setInitialrDeltaT.H"
     #include "createFields.H"
-    #include "createSources.H"
+    #include "createFvOptions.H"
     #include "initContinuityErrs.H"
 
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C
index a2b951de7c28bf0ad045d843df2bae96054849db..6c6c4e99ab4df634b6648562ab809e19254253dc 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.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
@@ -38,7 +38,7 @@ Description
 #include "turbulenceModel.H"
 #include "bound.H"
 #include "pimpleControl.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -51,7 +51,7 @@ int main(int argc, char *argv[])
     pimpleControl pimple(mesh);
 
     #include "createFields.H"
-    #include "createSources.H"
+    #include "createFvOptions.H"
     #include "initContinuityErrs.H"
 
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPimplecFoam/Make/options b/applications/solvers/compressible/rhoPimpleFoam/rhoPimplecFoam/Make/options
index c78d474b4fb3d4649d7afad5957132ee2da37253..502938c53c027fcd59c4ae9bc1e7b7c7c84d52fd 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/rhoPimplecFoam/Make/options
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPimplecFoam/Make/options
@@ -6,7 +6,7 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude
+    -I$(LIB_SRC)/fvOptions/lnInclude
 
 EXE_LIBS = \
     -lfluidThermophysicalModels \
@@ -17,4 +17,4 @@ EXE_LIBS = \
     -lfiniteVolume \
     -lmeshTools \
     -lsampling \
-    -lfieldSources
+    -lfvOptions
diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPimplecFoam/pEqn.H b/applications/solvers/compressible/rhoPimpleFoam/rhoPimplecFoam/pEqn.H
index aa3e615af6ca93aa284b2ada525da95363bb21db..8a83efdd86bb743fb2835f4ae5c3a30c9e166c89 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/rhoPimplecFoam/pEqn.H
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPimplecFoam/pEqn.H
@@ -7,7 +7,7 @@ volScalarField rAU(1.0/UEqn().A());
 volScalarField rAtU(1.0/(1.0/rAU - UEqn().H1()));
 
 volVectorField HbyA("HbyA", U);
-HbyA = rAU*(UEqn() == sources(rho, U))().H();
+HbyA = rAU*(UEqn() == fvOptions(rho, U))().H();
 
 if (pimple.nCorrPIMPLE() <= 1)
 {
@@ -45,13 +45,13 @@ if (pimple.transonic())
           + fvc::div(phic)
           - fvm::laplacian(Dp, p)
          ==
-            sources(psi, p, rho.name())
+            fvOptions(psi, p, rho.name())
         );
 
         // Relax the pressure equation to maintain diagonal dominance
         pEqn.relax();
 
-        sources.constrain(pEqn);
+        fvOptions.constrain(pEqn);
 
         pEqn.solve();
 
@@ -86,10 +86,10 @@ else
           + fvc::div(phiHbyA)
           - fvm::laplacian(Dp, p)
          ==
-            sources(psi, p, rho.name())
+            fvOptions(psi, p, rho.name())
         );
 
-        sources.constrain(pEqn);
+        fvOptions.constrain(pEqn);
 
         pEqn.solve();
 
@@ -108,7 +108,7 @@ p.relax();
 
 U = HbyA - rAtU*fvc::grad(p);
 U.correctBoundaryConditions();
-sources.correct(U);
+fvOptions.correct(U);
 K = 0.5*magSqr(U);
 
 if (thermo.dpdt())
diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPimplecFoam/rhoPimplecFoam.C b/applications/solvers/compressible/rhoPimpleFoam/rhoPimplecFoam/rhoPimplecFoam.C
index c1c323e7abe1dbd2e221abef3033d465f37cdc17..308a90e51af0500b3d1269ef2d25bbb73120bc92 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/rhoPimplecFoam/rhoPimplecFoam.C
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPimplecFoam/rhoPimplecFoam.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
@@ -38,7 +38,7 @@ Description
 #include "turbulenceModel.H"
 #include "bound.H"
 #include "pimpleControl.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -51,7 +51,7 @@ int main(int argc, char *argv[])
     pimpleControl pimple(mesh);
 
     #include "createFields.H"
-    #include "createSources.H"
+    #include "createFvOptions.H"
     #include "initContinuityErrs.H"
 
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/compressible/rhoSimpleFoam/EEqn.H b/applications/solvers/compressible/rhoSimpleFoam/EEqn.H
index 7adacc8fd1bbae9cd71919fdeaac619d03790708..56e78ff63080022531acae263d36f1151f919a95 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/EEqn.H
+++ b/applications/solvers/compressible/rhoSimpleFoam/EEqn.H
@@ -11,16 +11,16 @@
         )
       - fvm::laplacian(turbulence->alphaEff(), he)
      ==
-        sources(rho, he)
+        fvOptions(rho, he)
     );
 
     EEqn.relax();
 
-    sources.constrain(EEqn);
+    fvOptions.constrain(EEqn);
 
     EEqn.solve();
 
-    sources.correct(he);
+    fvOptions.correct(he);
 
     thermo.correct();
 }
diff --git a/applications/solvers/compressible/rhoSimpleFoam/Make/options b/applications/solvers/compressible/rhoSimpleFoam/Make/options
index 741dc4f822bc8343080f8afa237be831ba110e00..4606400cbdf344c50831b052190ca1a161219eb7 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/Make/options
+++ b/applications/solvers/compressible/rhoSimpleFoam/Make/options
@@ -6,7 +6,7 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude
+    -I$(LIB_SRC)/fvOptions/lnInclude
 
 EXE_LIBS = \
     -lfluidThermophysicalModels \
@@ -16,4 +16,4 @@ EXE_LIBS = \
     -lfiniteVolume \
     -lsampling \
     -lmeshTools \
-    -lfieldSources
+    -lfvOptions
diff --git a/applications/solvers/compressible/rhoSimpleFoam/UEqn.H b/applications/solvers/compressible/rhoSimpleFoam/UEqn.H
index c01b4d7984e18b52c5f06460d89941e9628e8a59..323af72fb2efebe80d7088655d9b481acdafaa84 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/UEqn.H
+++ b/applications/solvers/compressible/rhoSimpleFoam/UEqn.H
@@ -5,13 +5,13 @@
         fvm::div(phi, U)
       + turbulence->divDevRhoReff(U)
      ==
-        sources(rho, U)
+        fvOptions(rho, U)
     );
 
     UEqn().relax();
 
-    sources.constrain(UEqn());
+    fvOptions.constrain(UEqn());
 
     solve(UEqn() == -fvc::grad(p));
 
-    sources.correct(U);
+    fvOptions.correct(U);
diff --git a/applications/solvers/compressible/rhoSimpleFoam/pEqn.H b/applications/solvers/compressible/rhoSimpleFoam/pEqn.H
index 2782d206524c620c7e535a190aecb004ae99f5e9..61917fcefd59c192145aeac427225cd580142df8 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/pEqn.H
+++ b/applications/solvers/compressible/rhoSimpleFoam/pEqn.H
@@ -20,7 +20,7 @@
             fvc::interpolate(psi)*(fvc::interpolate(HbyA) & mesh.Sf())
         );
 
-        sources.relativeFlux(fvc::interpolate(psi), phid);
+        fvOptions.relativeFlux(fvc::interpolate(psi), phid);
 
         while (simple.correctNonOrthogonal())
         {
@@ -29,13 +29,13 @@
                 fvm::div(phid, p)
               - fvm::laplacian(rho*rAU, p)
               ==
-                sources(psi, p, rho.name())
+                fvOptions(psi, p, rho.name())
             );
 
             // Relax the pressure equation to ensure diagonal-dominance
             pEqn.relax();
 
-            sources.constrain(pEqn);
+            fvOptions.constrain(pEqn);
 
             pEqn.setReference(pRefCell, pRefValue);
 
@@ -55,7 +55,7 @@
             fvc::interpolate(rho)*(fvc::interpolate(HbyA) & mesh.Sf())
         );
 
-        sources.relativeFlux(fvc::interpolate(rho), phiHbyA);
+        fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
 
         closedVolume = adjustPhi(phiHbyA, U, p);
 
@@ -66,12 +66,12 @@
                 fvc::div(phiHbyA)
               - fvm::laplacian(rho*rAU, p)
               ==
-                sources(psi, p, rho.name())
+                fvOptions(psi, p, rho.name())
             );
 
             pEqn.setReference(pRefCell, pRefValue);
 
-            sources.constrain(pEqn);
+            fvOptions.constrain(pEqn);
 
             pEqn.solve();
 
@@ -90,7 +90,7 @@
 
     U = HbyA - rAU*fvc::grad(p);
     U.correctBoundaryConditions();
-    sources.correct(U);
+    fvOptions.correct(U);
 
     // For closed-volume cases adjust the pressure and density levels
     // to obey overall mass continuity
diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/EEqn.H b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/EEqn.H
index 7adacc8fd1bbae9cd71919fdeaac619d03790708..56e78ff63080022531acae263d36f1151f919a95 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/EEqn.H
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/EEqn.H
@@ -11,16 +11,16 @@
         )
       - fvm::laplacian(turbulence->alphaEff(), he)
      ==
-        sources(rho, he)
+        fvOptions(rho, he)
     );
 
     EEqn.relax();
 
-    sources.constrain(EEqn);
+    fvOptions.constrain(EEqn);
 
     EEqn.solve();
 
-    sources.correct(he);
+    fvOptions.correct(he);
 
     thermo.correct();
 }
diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/options b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/options
index 4ba7ed1f7d10bc843dcc0c9d55cd310b08bf98b0..39d6f696eb53e600fa8a86e289e35ce9ae4f7e5f 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/options
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/options
@@ -7,7 +7,7 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude
+    -I$(LIB_SRC)/fvOptions/lnInclude
 
 EXE_LIBS = \
     -lfluidThermophysicalModels \
@@ -17,4 +17,4 @@ EXE_LIBS = \
     -lfiniteVolume \
     -lsampling \
     -lmeshTools \
-    -lfieldSources
+    -lfvOptions
diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/UEqn.H b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/UEqn.H
index e1c964a1793dc838cd23c1e954f55f1b7065b3e9..9398c3e8d03d7a74826a6712ece620f5f6851dcf 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/UEqn.H
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/UEqn.H
@@ -24,27 +24,27 @@
         trTU = inv(tTU());
         trTU().rename("rAU");
 
-        sources.constrain(UEqn());
+        fvOptions.constrain(UEqn());
 
         volVectorField gradp(fvc::grad(p));
 
         for (int UCorr=0; UCorr<nUCorr; UCorr++)
         {
-            U = trTU() & ((UEqn() == sources(rho, U))().H() - gradp);
+            U = trTU() & ((UEqn() == fvOptions(rho, U))().H() - gradp);
         }
         U.correctBoundaryConditions();
 
-        sources.correct(U);
+        fvOptions.correct(U);
     }
     else
     {
         pZones.addResistance(UEqn());
 
-        sources.constrain(UEqn());
+        fvOptions.constrain(UEqn());
 
-        solve(UEqn() == -fvc::grad(p) + sources(rho, U));
+        solve(UEqn() == -fvc::grad(p) + fvOptions(rho, U));
 
-        sources.correct(U);
+        fvOptions.correct(U);
 
         trAU = 1.0/UEqn().A();
         trAU().rename("rAU");
diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/pEqn.H b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/pEqn.H
index 708449eb3d872a522f3a6c234937cef21aafe782..dd9723b9db1c6d94c9c07e6032c677a22a232325 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/pEqn.H
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/pEqn.H
@@ -10,11 +10,11 @@
 
     if (pressureImplicitPorosity)
     {
-        HbyA = trTU() & (UEqn() == sources(rho, U))().H();
+        HbyA = trTU() & (UEqn() == fvOptions(rho, U))().H();
     }
     else
     {
-        HbyA = trAU()*(UEqn() == sources(rho, U))().H();
+        HbyA = trAU()*(UEqn() == fvOptions(rho, U))().H();
     }
 
     UEqn.clear();
@@ -40,7 +40,7 @@
             tpEqn =
             (
                 fvm::laplacian(rho*trTU(), p)
-              + sources(psi, p, rho.name())
+              + fvOptions(psi, p, rho.name())
              ==
                 fvc::div(phiHbyA)
             );
@@ -50,7 +50,7 @@
             tpEqn =
             (
                 fvm::laplacian(rho*trAU(), p)
-              + sources(psi, p, rho.name())
+              + fvOptions(psi, p, rho.name())
              ==
                 fvc::div(phiHbyA)
             );
@@ -58,7 +58,7 @@
 
         tpEqn().setReference(pRefCell, pRefValue);
 
-        sources.constrain(tpEqn(), rho.name());
+        fvOptions.constrain(tpEqn(), rho.name());
 
         tpEqn().solve();
 
@@ -83,7 +83,7 @@
     }
 
     U.correctBoundaryConditions();
-    sources.correct(U);
+    fvOptions.correct(U);
 
     // For closed-volume cases adjust the pressure and density levels
     // to obey overall mass continuity
diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C
index 55169f14419694b6189650c2ab559155c60e11f2..628c1cabe4b6d917114a66326e0277d2a190fa5a 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.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
@@ -35,7 +35,7 @@ Description
 #include "rhoThermo.H"
 #include "RASModel.H"
 #include "IOMRFZoneList.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 #include "IOporosityModelList.H"
 #include "simpleControl.H"
 
@@ -50,7 +50,7 @@ int main(int argc, char *argv[])
     simpleControl simple(mesh);
 
     #include "createFields.H"
-    #include "createSources.H"
+    #include "createFvOptions.H"
     #include "createZones.H"
     #include "initContinuityErrs.H"
 
diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C b/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C
index e0adb91773aba04a666bcb2c483eb6a049d8b69c..c0a6282a3e4e1af93a651dafaa3171925c522cf0 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.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 "psiThermo.H"
 #include "RASModel.H"
 #include "simpleControl.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
     simpleControl simple(mesh);
 
     #include "createFields.H"
-    #include "createSources.H"
+    #include "createFvOptions.H"
     #include "initContinuityErrs.H"
 
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoSimplecFoam/Make/options b/applications/solvers/compressible/rhoSimpleFoam/rhoSimplecFoam/Make/options
index facff4ac649182a75207b28def3408506e51bc90..cc82ba958d74e570be58a9a614ccf3813a352c3e 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/rhoSimplecFoam/Make/options
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoSimplecFoam/Make/options
@@ -7,7 +7,7 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude
+    -I$(LIB_SRC)/fvOptions/lnInclude
 
 EXE_LIBS = \
     -lfluidThermophysicalModels \
@@ -16,4 +16,4 @@ EXE_LIBS = \
     -lfiniteVolume \
     -lsampling \
     -lmeshTools \
-    -lfieldSources
+    -lfvOptions
diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoSimplecFoam/pEqn.H b/applications/solvers/compressible/rhoSimpleFoam/rhoSimplecFoam/pEqn.H
index 02300d8a9e9a62676aa78bad3a9b53fae6f119ee..3ff183f5671992fae3d18ca257e10e6a593d65a6 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/rhoSimplecFoam/pEqn.H
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoSimplecFoam/pEqn.H
@@ -7,7 +7,7 @@ volScalarField rAU(1.0/UEqn().A());
 volScalarField rAtU(1.0/(1.0/rAU - UEqn().H1()));
 
 volVectorField HbyA("HbyA", U);
-HbyA = rAU*(UEqn() == sources(rho, U))().H();
+HbyA = rAU*(UEqn() == fvOptions(rho, U))().H();
 
 UEqn.clear();
 
@@ -39,13 +39,13 @@ if (simple.transonic())
           + fvc::div(phic)
           - fvm::laplacian(Dp, p)
          ==
-            sources(psi, p, rho.name())
+            fvOptions(psi, p, rho.name())
         );
 
         // Relax the pressure equation to maintain diagonal dominance
         pEqn.relax();
 
-        sources.constrain(pEqn);
+        fvOptions.constrain(pEqn);
 
         pEqn.setReference(pRefCell, pRefValue);
 
@@ -79,10 +79,10 @@ else
             fvc::div(phiHbyA)
           - fvm::laplacian(Dp, p)
           ==
-            sources(psi, p, rho.name())
+            fvOptions(psi, p, rho.name())
         );
 
-        sources.constrain(pEqn);
+        fvOptions.constrain(pEqn);
 
         pEqn.setReference(pRefCell, pRefValue);
 
@@ -104,7 +104,7 @@ p.relax();
 
 U = HbyA - rAtU*fvc::grad(p);
 U.correctBoundaryConditions();
-sources.correct(U);
+fvOptions.correct(U);
 
 // For closed-volume cases adjust the pressure and density levels
 // to obey overall mass continuity
diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoSimplecFoam/rhoSimplecFoam.C b/applications/solvers/compressible/rhoSimpleFoam/rhoSimplecFoam/rhoSimplecFoam.C
index be186ff319d8b1e91f6cce94e09746308dc7353e..a7c9b2070b30eae18b592edbbbee7980ad06b45a 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/rhoSimplecFoam/rhoSimplecFoam.C
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoSimplecFoam/rhoSimplecFoam.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
@@ -36,7 +36,7 @@ Description
 #include "mixedFvPatchFields.H"
 #include "bound.H"
 #include "simpleControl.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -49,7 +49,7 @@ int main(int argc, char *argv[])
     simpleControl simple(mesh);
 
     #include "createFields.H"
-    #include "createSources.H"
+    #include "createFvOptions.H"
     #include "initContinuityErrs.H"
 
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/heatTransfer/buoyantPimpleFoam/EEqn.H b/applications/solvers/heatTransfer/buoyantPimpleFoam/EEqn.H
index 712a3a9ab4d4a8885f0b3bc05aa0623eaddbbc1d..ee2a95f2082b2a298e2ac4a53ae7d307191f1e2d 100644
--- a/applications/solvers/heatTransfer/buoyantPimpleFoam/EEqn.H
+++ b/applications/solvers/heatTransfer/buoyantPimpleFoam/EEqn.H
@@ -17,16 +17,16 @@
         )
       - fvm::laplacian(turbulence->alphaEff(), he)
      ==
-        sources(rho, he)
+        fvOptions(rho, he)
     );
 
     EEqn.relax();
 
-    sources.constrain(EEqn);
+    fvOptions.constrain(EEqn);
 
     EEqn.solve();
 
-    sources.correct(he);
+    fvOptions.correct(he);
 
     thermo.correct();
 }
diff --git a/applications/solvers/heatTransfer/buoyantPimpleFoam/Make/options b/applications/solvers/heatTransfer/buoyantPimpleFoam/Make/options
index 6962643dcd609b438ad5e64f56641b41fa1221cb..192c63bff475202b13db66bbe963ae05788871f2 100644
--- a/applications/solvers/heatTransfer/buoyantPimpleFoam/Make/options
+++ b/applications/solvers/heatTransfer/buoyantPimpleFoam/Make/options
@@ -2,7 +2,7 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/radiationModels/lnInclude \
     -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel
@@ -11,7 +11,7 @@ EXE_LIBS = \
     -lfiniteVolume \
     -lsampling \
     -lmeshTools \
-    -lfieldSources \
+    -lfvOptions \
     -lfluidThermophysicalModels \
     -lradiationModels \
     -lspecie \
diff --git a/applications/solvers/heatTransfer/buoyantPimpleFoam/UEqn.H b/applications/solvers/heatTransfer/buoyantPimpleFoam/UEqn.H
index 892de138bffdcf71b60214f1ee1944bc8456b662..75f5e955fadf28156c7ce1dddc2b337b8f7b644d 100644
--- a/applications/solvers/heatTransfer/buoyantPimpleFoam/UEqn.H
+++ b/applications/solvers/heatTransfer/buoyantPimpleFoam/UEqn.H
@@ -6,12 +6,12 @@
       + fvm::div(phi, U)
       + turbulence->divDevRhoReff(U)
      ==
-        sources(rho, U)
+        fvOptions(rho, U)
     );
 
     UEqn.relax();
 
-    sources.constrain(UEqn);
+    fvOptions.constrain(UEqn);
 
     if (pimple.momentumPredictor())
     {
@@ -28,6 +28,6 @@
             )
         );
 
-        sources.correct(U);
+        fvOptions.correct(U);
         K = 0.5*magSqr(U);
     }
diff --git a/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C b/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C
index bac6d8d03e98cd7620e282a18995f02a8bc849dc..b1b6ceede2604aff349e25f489705b1b02e4a27f 100644
--- a/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C
+++ b/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.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
@@ -37,7 +37,7 @@ Description
 #include "rhoThermo.H"
 #include "turbulenceModel.H"
 #include "radiationModel.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 #include "pimpleControl.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -49,7 +49,7 @@ int main(int argc, char *argv[])
     #include "createMesh.H"
     #include "readGravitationalAcceleration.H"
     #include "createFields.H"
-    #include "createSources.H"
+    #include "createFvOptions.H"
     #include "createRadiationModel.H"
     #include "initContinuityErrs.H"
     #include "readTimeControls.H"
diff --git a/applications/solvers/heatTransfer/buoyantPimpleFoam/pEqn.H b/applications/solvers/heatTransfer/buoyantPimpleFoam/pEqn.H
index 99bef3a118b8f6163992997b6221bfa00ded3185..92643394f9c01ddf1b5b30b7058924df6fc6e46a 100644
--- a/applications/solvers/heatTransfer/buoyantPimpleFoam/pEqn.H
+++ b/applications/solvers/heatTransfer/buoyantPimpleFoam/pEqn.H
@@ -24,14 +24,14 @@
       + phig
     );
 
-    sources.relativeFlux(fvc::interpolate(rho), phiHbyA);
+    fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
 
     fvScalarMatrix p_rghDDtEqn
     (
         fvc::ddt(rho) + psi*correction(fvm::ddt(p_rgh))
       + fvc::div(phiHbyA)
       ==
-        sources(psi, p_rgh, rho.name())
+        fvOptions(psi, p_rgh, rho.name())
     );
 
     while (pimple.correctNonOrthogonal())
@@ -42,7 +42,7 @@
           - fvm::laplacian(rhorAUf, p_rgh)
         );
 
-        sources.constrain(p_rghEqn);
+        fvOptions.constrain(p_rghEqn);
 
         p_rghEqn.solve(mesh.solver(p_rgh.select(pimple.finalInnerIter())));
 
@@ -58,7 +58,7 @@
             // calculated from the relaxed pressure
             U = HbyA + rAU*fvc::reconstruct((phig + p_rghEqn.flux())/rhorAUf);
             U.correctBoundaryConditions();
-            sources.correct(U);
+            fvOptions.correct(U);
             K = 0.5*magSqr(U);
         }
     }
diff --git a/applications/solvers/heatTransfer/buoyantSimpleFoam/EEqn.H b/applications/solvers/heatTransfer/buoyantSimpleFoam/EEqn.H
index f84961f181120c012dc105fb9e641e5e219d770d..cf7743817d69bff94da52c06269df10adf6c5f6e 100644
--- a/applications/solvers/heatTransfer/buoyantSimpleFoam/EEqn.H
+++ b/applications/solvers/heatTransfer/buoyantSimpleFoam/EEqn.H
@@ -12,16 +12,16 @@
       - fvm::laplacian(turbulence->alphaEff(), he)
      ==
         radiation->Sh(thermo)
-      + sources(rho, he)
+      + fvOptions(rho, he)
     );
 
     EEqn.relax();
 
-    sources.constrain(EEqn);
+    fvOptions.constrain(EEqn);
 
     EEqn.solve();
 
-    sources.correct(he);
+    fvOptions.correct(he);
 
     thermo.correct();
     radiation->correct();
diff --git a/applications/solvers/heatTransfer/buoyantSimpleFoam/Make/options b/applications/solvers/heatTransfer/buoyantSimpleFoam/Make/options
index 5103b2dd72c6c1c05a19a38ff441ca31f39b197e..9e6e4f0455d7cb44fe0afeaf0aa18825104f94df 100644
--- a/applications/solvers/heatTransfer/buoyantSimpleFoam/Make/options
+++ b/applications/solvers/heatTransfer/buoyantSimpleFoam/Make/options
@@ -1,6 +1,6 @@
 EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
@@ -11,7 +11,7 @@ EXE_INC = \
 
 EXE_LIBS = \
     -lfiniteVolume \
-    -lfieldSources \
+    -lfvOptions \
     -lsampling \
     -lmeshTools \
     -lfluidThermophysicalModels \
diff --git a/applications/solvers/heatTransfer/buoyantSimpleFoam/UEqn.H b/applications/solvers/heatTransfer/buoyantSimpleFoam/UEqn.H
index 82e85ca563cba050802eba2ff17264a140494436..ccb13caf6845ba8cd44317bc32ddfb6605f64937 100644
--- a/applications/solvers/heatTransfer/buoyantSimpleFoam/UEqn.H
+++ b/applications/solvers/heatTransfer/buoyantSimpleFoam/UEqn.H
@@ -5,12 +5,12 @@
         fvm::div(phi, U)
       + turbulence->divDevRhoReff(U)
      ==
-        sources(rho, U)
+        fvOptions(rho, U)
     );
 
     UEqn().relax();
 
-    sources.constrain(UEqn());
+    fvOptions.constrain(UEqn());
 
     if (simple.momentumPredictor())
     {
@@ -27,5 +27,5 @@
             )
         );
 
-        sources.correct(U);
+        fvOptions.correct(U);
     }
diff --git a/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C b/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C
index 0b401c974c3d95b48b4144e936af5552316e683f..3d2c18e6684fa8a570f5a5b3f23ff80489bd3809 100644
--- a/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C
+++ b/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.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
@@ -35,7 +35,7 @@ Description
 #include "RASModel.H"
 #include "radiationModel.H"
 #include "simpleControl.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -46,7 +46,7 @@ int main(int argc, char *argv[])
     #include "createMesh.H"
     #include "readGravitationalAcceleration.H"
     #include "createFields.H"
-    #include "createSources.H"
+    #include "createFvOptions.H"
     #include "createRadiationModel.H"
     #include "initContinuityErrs.H"
 
diff --git a/applications/solvers/heatTransfer/buoyantSimpleFoam/pEqn.H b/applications/solvers/heatTransfer/buoyantSimpleFoam/pEqn.H
index 2e6cbf3d47d000cd34923efb37740ccd76d6ae3f..91d6eaf84e4acffb177ac01fcf390cbf70a7ffa2 100644
--- a/applications/solvers/heatTransfer/buoyantSimpleFoam/pEqn.H
+++ b/applications/solvers/heatTransfer/buoyantSimpleFoam/pEqn.H
@@ -17,7 +17,7 @@
         fvc::interpolate(rho)*(fvc::interpolate(HbyA) & mesh.Sf())
     );
 
-    sources.relativeFlux(fvc::interpolate(rho), phiHbyA);
+    fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
 
     bool closedVolume = adjustPhi(phiHbyA, U, p_rgh);
 
@@ -45,7 +45,7 @@
             // calculated from the relaxed pressure
             U = HbyA + rAU*fvc::reconstruct((phig - p_rghEqn.flux())/rhorAUf);
             U.correctBoundaryConditions();
-            sources.correct(U);
+            fvOptions.correct(U);
         }
     }
 
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/Make/options b/applications/solvers/heatTransfer/chtMultiRegionFoam/Make/options
index f5520125f788c39bf4c6c0e507f20f8cf14d27ca..06126f0bf86d8f3b6fe8545a230cb91b899dcff3 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/Make/options
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/Make/options
@@ -15,7 +15,7 @@ EXE_INC = \
     -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel/lnInclude \
     -I$(LIB_SRC)/turbulenceModels \
     -I$(LIB_SRC)/thermophysicalModels/radiationModels/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/regionModels/regionModel/lnInclude
 
 
@@ -28,6 +28,6 @@ EXE_LIBS = \
     -lmeshTools \
     -lfiniteVolume \
     -lradiationModels \
-    -lfieldSources \
+    -lfvOptions \
     -lregionModels \
     -lsampling
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C
index 7805adf8d76f7f4753a89aa5115aef2437c479c4..48b28a07e491f777ee2c718757f28dd3e4d28107 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.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
@@ -45,7 +45,7 @@ Description
 #include "solidRegionDiffNo.H"
 #include "solidThermo.H"
 #include "radiationModel.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/Make/options b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/Make/options
index 7418bfd694eb28a52412869885e3df3a350abaae..ccd275ad87c6fbce5779759cab4ebadc123d6c6d 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/Make/options
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/Make/options
@@ -12,7 +12,7 @@ EXE_INC = \
     -I$(LIB_SRC)/turbulenceModels \
     -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel/lnInclude \
     -I$(LIB_SRC)/turbulenceModels/compressible/RAS/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/regionModels/regionModel/lnInclude
 
@@ -25,6 +25,6 @@ EXE_LIBS = \
     -lcompressibleRASModels \
     -lcompressibleLESModels \
     -lradiationModels \
-    -lfieldSources \
+    -lfvOptions \
     -lregionModels \
     -lsampling
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/chtMultiRegionSimpleFoam.C b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/chtMultiRegionSimpleFoam.C
index 149a81a3a4b61484c154809536b9d5048fa013e9..d076652a1dd2b9759add875df934b731a11b3145 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/chtMultiRegionSimpleFoam.C
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/chtMultiRegionSimpleFoam.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
@@ -36,7 +36,7 @@ Description
 #include "regionProperties.H"
 #include "solidThermo.H"
 #include "radiationModel.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/EEqn.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/EEqn.H
index 01f2d3223382941b96c86b0bf99e950dda153399..4ebeacb5bc14408e82dbf10f2e43d535cb93e4a0 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/EEqn.H
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/EEqn.H
@@ -12,16 +12,16 @@
       - fvm::laplacian(turb.alphaEff(), he)
      ==
         rad.Sh(thermo)
-      + sources(rho, he)
+      + fvOptions(rho, he)
     );
 
     EEqn.relax();
 
-    sources.constrain(EEqn);
+    fvOptions.constrain(EEqn);
 
     EEqn.solve();
 
-    sources.correct(he);
+    fvOptions.correct(he);
 
     thermo.correct();
     rad.correct();
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/UEqn.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/UEqn.H
index e5ab958f1098be0db9d7891fd826691f735e57a9..212d72679747e271f35c9d26c5d4edb7ca17dad0 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/UEqn.H
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/UEqn.H
@@ -4,12 +4,12 @@
         fvm::div(phi, U)
       + turb.divDevRhoReff(U)
      ==
-        sources(rho, U)
+        fvOptions(rho, U)
     );
 
     UEqn().relax();
 
-    sources.constrain(UEqn());
+    fvOptions.constrain(UEqn());
 
     solve
     (
@@ -24,4 +24,4 @@
         )
     );
 
-    sources.correct(U);
+    fvOptions.correct(U);
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H
index cc5eda691d9e2779a037f950e4cb93b0f183accd..99f14113f374015d9835614130425ba67857da11 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H
@@ -17,7 +17,7 @@
     PtrList<dimensionedScalar> rhoMax(fluidRegions.size());
     PtrList<dimensionedScalar> rhoMin(fluidRegions.size());
 
-    PtrList<IObasicSourceList> fluidSources(fluidRegions.size());
+    PtrList<fv::IOoptionList> fluidFvOptions(fluidRegions.size());
 
     // Populate fluid field pointer lists
     forAll(fluidRegions, i)
@@ -193,11 +193,11 @@
             )
         );
 
-        Info<< "    Adding sources\n" << endl;
-        fluidSources.set
+        Info<< "    Adding fvOptions\n" << endl;
+        fluidFvOptions.set
         (
             i,
-            new IObasicSourceList(fluidRegions[i])
+            new fv::IOoptionList(fluidRegions[i])
         );
     }
 
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/pEqn.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/pEqn.H
index fca0848912396266a81e377094fd4c7aaef6548c..3e566a21cf1bae43ceb55b7d177266ab36d88606 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/pEqn.H
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/pEqn.H
@@ -23,7 +23,7 @@
 
     phiHbyA += phig;
 
-    sources.relativeFlux(fvc::interpolate(rho), phiHbyA);
+    fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
 
     dimensionedScalar compressibility = fvc::domainIntegrate(psi);
     bool compressible = (compressibility.value() > SMALL);
@@ -56,7 +56,7 @@
             // calculated from the relaxed pressure
             U = HbyA + rAU*fvc::reconstruct((phig - p_rghEqn.flux())/rhorAUf);
             U.correctBoundaryConditions();
-            sources.correct(U);
+            fvOptions.correct(U);
         }
     }
 
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/setRegionFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/setRegionFluidFields.H
index 935b27d57ce1bc83e40aa8113f66fba0bad8ddd2..34aea7643e0eb669a9944d0faf85746a8a989cf3 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/setRegionFluidFields.H
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/setRegionFluidFields.H
@@ -12,7 +12,7 @@
     volScalarField& p = thermo.p();
     const volScalarField& psi = thermo.psi();
 
-    IObasicSourceList& sources = fluidSources[i];
+    fv::IOoptionList& fvOptions = fluidFvOptions[i];
 
     const dimensionedScalar initialMass
     (
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/solveSolid.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/solveSolid.H
index d0f5dbc656a8200148df5e50be0f97ffa9081765..7573002af52e47423c72abede50f870fa812cdcf 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/solveSolid.H
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/solveSolid.H
@@ -4,16 +4,16 @@
         fvScalarMatrix hEqn
         (
            - fvm::laplacian(betav*alpha, h, "laplacian(alpha,h)")
-           + sources(rho, h)
+           + fvOptions(rho, h)
         );
 
         hEqn.relax();
 
-        sources.constrain(hEqn);
+        fvOptions.constrain(hEqn);
 
         hEqn.solve();
 
-        sources.correct(h);
+        fvOptions.correct(h);
     }
 }
 
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/EEqn.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/EEqn.H
index 143ca3a7425b80fc79a6083d3d7d19eab9472498..7f9f60212127abd5cd517aece4c0d3938c7a329d 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/EEqn.H
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/EEqn.H
@@ -18,16 +18,16 @@
       - fvm::laplacian(turb.alphaEff(), he)
      ==
         rad.Sh(thermo)
-      + sources(rho, he)
+      + fvOptions(rho, he)
     );
 
     EEqn.relax();
 
-    sources.constrain(EEqn);
+    fvOptions.constrain(EEqn);
 
     EEqn.solve(mesh.solver(he.select(finalIter)));
 
-    sources.correct(he);
+    fvOptions.correct(he);
 
     thermo.correct();
     rad.correct();
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/UEqn.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/UEqn.H
index 9c32ec054e1e9537fb01b020dd153003f82ce984..35881bb544c8013cd3b2f314221a0ee602d20426 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/UEqn.H
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/UEqn.H
@@ -4,12 +4,12 @@
         fvm::ddt(rho, U)
       + fvm::div(phi, U)
       + turb.divDevRhoReff(U)
-      + sources(rho, U)
+      + fvOptions(rho, U)
     );
 
     UEqn().relax();
 
-    sources.constrain(UEqn());
+    fvOptions.constrain(UEqn());
 
     if (momentumPredictor)
     {
@@ -27,6 +27,6 @@
             mesh.solver(U.select(finalIter))
         );
 
-        sources.correct(U);
+        fvOptions.correct(U);
         K = 0.5*magSqr(U);
     }
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H
index fbc39c85569d6e478ab99659512b2493d9dbf89c..9afa705c11306a167986287a62a6f3bc1b80c6a5 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H
@@ -14,7 +14,7 @@
 
     List<scalar> initialMassFluid(fluidRegions.size());
 
-    PtrList<IObasicSourceList> fluidSources(fluidRegions.size());
+    PtrList<fv::IOoptionList> fluidFvOptions(fluidRegions.size());
 
     // Populate fluid field pointer lists
     forAll(fluidRegions, i)
@@ -190,10 +190,10 @@
             )
         );
 
-        Info<< "    Adding sources\n" << endl;
-        fluidSources.set
+        Info<< "    Adding fvOptions\n" << endl;
+        fluidFvOptions.set
         (
             i,
-            new IObasicSourceList(fluidRegions[i])
+            new fv::IOoptionList(fluidRegions[i])
         );
     }
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/pEqn.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/pEqn.H
index 2944c6aef06de6b84e767b0e2fa74187078f013a..58ee6ae1b4de74c0f640d5d959c10ea4ff84f261 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/pEqn.H
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/pEqn.H
@@ -24,7 +24,7 @@
       + phig
     );
 
-    sources.relativeFlux(fvc::interpolate(rho), phiHbyA);
+    fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
 
     {
         fvScalarMatrix p_rghDDtEqn
@@ -66,7 +66,7 @@
                 U = HbyA
                   + rAU*fvc::reconstruct((phig + p_rghEqn.flux())/rhorAUf);
                 U.correctBoundaryConditions();
-                sources.correct(U);
+                fvOptions.correct(U);
                 K = 0.5*magSqr(U);
             }
         }
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/setRegionFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/setRegionFluidFields.H
index 84a22048e422f86bf48d47b9e2c2891981495e38..867585f43a416c6ed741788ea7a8ca9c188205f6 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/setRegionFluidFields.H
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/setRegionFluidFields.H
@@ -20,7 +20,7 @@
 
     radiation::radiationModel& rad = radiation[i];
 
-    IObasicSourceList& sources = fluidSources[i];
+    fv::IOoptionList& fvOptions = fluidFvOptions[i];
 
     const dimensionedScalar initialMass
     (
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/createSolidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/createSolidFields.H
index 8edfe413bbb0d5f62af0361915b7d565871d1c10..df3915980b546d54504a774b894929a170db062d 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/createSolidFields.H
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/createSolidFields.H
@@ -1,7 +1,7 @@
     // Initialise solid field pointer lists
     PtrList<solidThermo> thermos(solidRegions.size());
     PtrList<radiation::radiationModel> radiations(solidRegions.size());
-    PtrList<IObasicSourceList> solidHeatSources(solidRegions.size());
+    PtrList<fv::IOoptionList> solidHeatSources(solidRegions.size());
     PtrList<volScalarField> betavSolid(solidRegions.size());
 
     // Populate solid field pointer lists
@@ -16,11 +16,11 @@
         Info<< "    Adding to radiations\n" << endl;
         radiations.set(i, radiation::radiationModel::New(thermos[i].T()));
 
-        Info<< "    Adding sources\n" << endl;
+        Info<< "    Adding fvOptions\n" << endl;
         solidHeatSources.set
         (
             i,
-            new IObasicSourceList(solidRegions[i])
+            new fv::IOoptionList(solidRegions[i])
         );
 
         IOobject betavSolidIO
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/setRegionSolidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/setRegionSolidFields.H
index 7e95615b14e17b0aa8eca100d6e7b412efb73235..ad8894a631552af47a127e7fbcaabc62b36f588a 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/setRegionSolidFields.H
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/setRegionSolidFields.H
@@ -17,4 +17,4 @@
 
     const volScalarField& betav = betavSolid[i];
 
-    IObasicSourceList& sources = solidHeatSources[i];
+    fv::IOoptionList& fvOptions = solidHeatSources[i];
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solveSolid.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solveSolid.H
index be24cc2ba08d3bd53b0efa960847153065789614..86f23292e37445c2cddc27fe4c651290e4cd9e1d 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solveSolid.H
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solveSolid.H
@@ -11,16 +11,16 @@ if (finalIter)
             fvm::ddt(betav*rho, h)
           - fvm::laplacian(betav*alpha, h, "laplacian(alpha,h)")
           ==
-            sources(rho, h)
+            fvOptions(rho, h)
         );
 
         hEqn().relax();
 
-        sources.constrain(hEqn());
+        fvOptions.constrain(hEqn());
 
         hEqn().solve(mesh.solver(h.select(finalIter)));
 
-        sources.correct(h);
+        fvOptions.correct(h);
     }
 }
 
diff --git a/applications/solvers/incompressible/pimpleFoam/Make/options b/applications/solvers/incompressible/pimpleFoam/Make/options
index 1be54a53a33967b3e3eff25c404621ab6524e800..a597aafbc7f031ac5c72fcd61be7f48a9599af66 100644
--- a/applications/solvers/incompressible/pimpleFoam/Make/options
+++ b/applications/solvers/incompressible/pimpleFoam/Make/options
@@ -4,7 +4,7 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 
@@ -15,5 +15,5 @@ EXE_LIBS = \
     -lincompressibleLESModels \
     -lfiniteVolume \
     -lmeshTools \
-    -lfieldSources \
+    -lfvOptions \
     -lsampling
diff --git a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/Make/options b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/Make/options
index 5e77cdd21e42d811d2811d14bf207761036dd160..7cdb6a555110c3c2500650af576b5784f1a27172 100644
--- a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/Make/options
+++ b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/Make/options
@@ -4,7 +4,7 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 EXE_LIBS = \
@@ -14,5 +14,5 @@ EXE_LIBS = \
     -lincompressibleLESModels \
     -lfiniteVolume \
     -lmeshTools \
-    -lfieldSources \
+    -lfvOptions \
     -lsampling
diff --git a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C
index 19b42eb4d53321b3bac32caeb083efbde9eba69f..1eb1edb5c12687f1ac00aff5640a2cb11848c530 100644
--- a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C
+++ b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.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
@@ -37,7 +37,7 @@ Description
 #include "turbulenceModel.H"
 #include "pimpleControl.H"
 #include "SRFModel.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
     #include "createTime.H"
     #include "createMesh.H"
     #include "createFields.H"
-    #include "createSources.H"
+    #include "createFvOptions.H"
     #include "initContinuityErrs.H"
 
     pimpleControl pimple(mesh);
diff --git a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/UrelEqn.H b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/UrelEqn.H
index 4c5ec3c9a9c0a6303648d4babfcb87051e226c60..6750d98f36053a91c04c557fcb136a1e5ac9ed4c 100644
--- a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/UrelEqn.H
+++ b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/UrelEqn.H
@@ -9,8 +9,8 @@
 
     UrelEqn().relax();
 
-    sources.constrain(UrelEqn());
+    fvOptions.constrain(UrelEqn());
 
-    solve(UrelEqn() == -fvc::grad(p) + sources(Urel));
+    solve(UrelEqn() == -fvc::grad(p) + fvOptions(Urel));
 
-    sources.correct(Urel);
+    fvOptions.correct(Urel);
diff --git a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/pEqn.H b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/pEqn.H
index 29f1c48c070f493c813836164d34777fb4540f68..9b5b1a89a4d43e94cbb70961099eb00a2f98eab5 100644
--- a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/pEqn.H
+++ b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/pEqn.H
@@ -1,6 +1,6 @@
 volScalarField rAUrel(1.0/UrelEqn().A());
 volVectorField HbyA("HbyA", Urel);
-HbyA = rAUrel*(UrelEqn() == sources(Urel))().H();
+HbyA = rAUrel*(UrelEqn() == fvOptions(Urel))().H();
 
 if (pimple.nCorrPISO() <= 1)
 {
@@ -42,4 +42,4 @@ p.relax();
 // Momentum corrector
 Urel = HbyA - rAUrel*fvc::grad(p);
 Urel.correctBoundaryConditions();
-sources.correct(Urel);
+fvOptions.correct(Urel);
diff --git a/applications/solvers/incompressible/pimpleFoam/UEqn.H b/applications/solvers/incompressible/pimpleFoam/UEqn.H
index 94913478a606ba4990c313f81bdccc5d9f6e9482..7bd10afc4735a04f4c20afb3d589c0af8ad01046 100644
--- a/applications/solvers/incompressible/pimpleFoam/UEqn.H
+++ b/applications/solvers/incompressible/pimpleFoam/UEqn.H
@@ -6,12 +6,12 @@ tmp<fvVectorMatrix> UEqn
   + fvm::div(phi, U)
   + turbulence->divDevReff(U)
  ==
-    sources(U)
+    fvOptions(U)
 );
 
 UEqn().relax();
 
-sources.constrain(UEqn());
+fvOptions.constrain(UEqn());
 
 volScalarField rAU(1.0/UEqn().A());
 
@@ -19,5 +19,5 @@ if (pimple.momentumPredictor())
 {
     solve(UEqn() == -fvc::grad(p));
 
-    sources.correct(U);
+    fvOptions.correct(U);
 }
diff --git a/applications/solvers/incompressible/pimpleFoam/pEqn.H b/applications/solvers/incompressible/pimpleFoam/pEqn.H
index 9fc62bd9f13163a24aff6e02ec7b1dcb804878b2..1d133108d004869d75a221567085eeadf4cb78fe 100644
--- a/applications/solvers/incompressible/pimpleFoam/pEqn.H
+++ b/applications/solvers/incompressible/pimpleFoam/pEqn.H
@@ -15,7 +15,7 @@ surfaceScalarField phiHbyA
 
 adjustPhi(phiHbyA, U, p);
 
-sources.relativeFlux(phiHbyA);
+fvOptions.relativeFlux(phiHbyA);
 
 // Non-orthogonal pressure corrector loop
 while (pimple.correctNonOrthogonal())
@@ -43,4 +43,4 @@ p.relax();
 
 U = HbyA - rAU*fvc::grad(p);
 U.correctBoundaryConditions();
-sources.correct(U);
+fvOptions.correct(U);
diff --git a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/Make/options b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/Make/options
index 11c10272ffdb980f046dfeac141a476a640bd65f..5cc44fea11a43eb49e433c60c92ef57f22b1c4a1 100644
--- a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/Make/options
+++ b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/Make/options
@@ -7,7 +7,7 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 
@@ -21,5 +21,5 @@ EXE_LIBS = \
     -lincompressibleRASModels \
     -lincompressibleLESModels \
     -lfiniteVolume \
-    -lfieldSources \
+    -lfvOptions \
     -lsampling
diff --git a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/UEqn.H b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/UEqn.H
index c125d2ac2aee303e75d3dd2ea23f71ca4523344d..7a7d604b4845a1de98438c770c5c880626e0a103 100644
--- a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/UEqn.H
+++ b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/UEqn.H
@@ -9,13 +9,13 @@ tmp<fvVectorMatrix> UEqn
 
 UEqn().relax();
 
-sources.constrain(UEqn());
+fvOptions.constrain(UEqn());
 
 rAU = 1.0/UEqn().A();
 
 if (pimple.momentumPredictor())
 {
-    solve(UEqn() == -fvc::grad(p) + sources(U));
+    solve(UEqn() == -fvc::grad(p) + fvOptions(U));
 
-    sources.correct(U);
+    fvOptions.correct(U);
 }
diff --git a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pEqn.H b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pEqn.H
index d9a6f672a08a9737c9b36f6f38b3064dc8364003..217304168b44ff7732acab44781c0186166d9ace 100644
--- a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pEqn.H
+++ b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pEqn.H
@@ -1,5 +1,5 @@
 volVectorField HbyA("HbyA", U);
-HbyA = rAU*(UEqn() == sources(U))().H();
+HbyA = rAU*(UEqn() == fvOptions(U))().H();
 
 if (pimple.nCorrPISO() <= 1)
 {
@@ -51,4 +51,4 @@ fvc::makeRelative(phi, U);
 
 U = HbyA - rAU*fvc::grad(p);
 U.correctBoundaryConditions();
-sources.correct(U);
+fvOptions.correct(U);
diff --git a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C
index 27fc93f341a608605efedc9d1acfb9c7eb467c16..3f68ebbcd343b47c283ba3a50b9a11a4a9145908 100644
--- a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C
+++ b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.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
@@ -37,7 +37,7 @@ Description
 #include "turbulenceModel.H"
 #include "dynamicFvMesh.H"
 #include "pimpleControl.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -49,7 +49,7 @@ int main(int argc, char *argv[])
     #include "createDynamicFvMesh.H"
     #include "initContinuityErrs.H"
     #include "createFields.H"
-    #include "createSources.H"
+    #include "createFvOptions.H"
     #include "readTimeControls.H"
 
     pimpleControl pimple(mesh);
diff --git a/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C b/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C
index ceb186cdbf42bdfc6270115e0d280bbfc333b6a3..0ddfa64588cff2d1bf0fe3177ddb244b3ee6dacc 100644
--- a/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C
+++ b/applications/solvers/incompressible/pimpleFoam/pimpleFoam.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
@@ -30,7 +30,7 @@ Description
 
     Sub-models include:
     - turbulence modelling, i.e. laminar, RAS or LES
-    - run-time selectable sources, e.g. MRF, explicit porosity
+    - run-time selectable fvOptions, e.g. MRF, explicit porosity
 
 \*---------------------------------------------------------------------------*/
 
@@ -38,7 +38,7 @@ Description
 #include "singlePhaseTransportModel.H"
 #include "turbulenceModel.H"
 #include "pimpleControl.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 #include "IOporosityModelList.H"
 #include "IOMRFZoneList.H"
 
@@ -50,7 +50,7 @@ int main(int argc, char *argv[])
     #include "createTime.H"
     #include "createMesh.H"
     #include "createFields.H"
-    #include "createSources.H"
+    #include "createFvOptions.H"
     #include "initContinuityErrs.H"
 
     pimpleControl pimple(mesh);
diff --git a/applications/solvers/incompressible/potentialFreeSurfaceFoam/Make/options b/applications/solvers/incompressible/potentialFreeSurfaceFoam/Make/options
index 1be54a53a33967b3e3eff25c404621ab6524e800..a597aafbc7f031ac5c72fcd61be7f48a9599af66 100644
--- a/applications/solvers/incompressible/potentialFreeSurfaceFoam/Make/options
+++ b/applications/solvers/incompressible/potentialFreeSurfaceFoam/Make/options
@@ -4,7 +4,7 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 
@@ -15,5 +15,5 @@ EXE_LIBS = \
     -lincompressibleLESModels \
     -lfiniteVolume \
     -lmeshTools \
-    -lfieldSources \
+    -lfvOptions \
     -lsampling
diff --git a/applications/solvers/incompressible/potentialFreeSurfaceFoam/UEqn.H b/applications/solvers/incompressible/potentialFreeSurfaceFoam/UEqn.H
index 123eaf7ac63e67fc65279a7109f2dfa1ec4e2671..4c84e256c0dba8b472beb901eceece3d1a93fbd4 100644
--- a/applications/solvers/incompressible/potentialFreeSurfaceFoam/UEqn.H
+++ b/applications/solvers/incompressible/potentialFreeSurfaceFoam/UEqn.H
@@ -8,11 +8,11 @@ tmp<fvVectorMatrix> UEqn
 
 UEqn().relax();
 
-sources.constrain(UEqn());
+fvOptions.constrain(UEqn());
 
 if (pimple.momentumPredictor())
 {
-    solve(UEqn() == -fvc::grad(p_gh) + sources(U));
+    solve(UEqn() == -fvc::grad(p_gh) + fvOptions(U));
 
-    sources.correct(U);
+    fvOptions.correct(U);
 }
diff --git a/applications/solvers/incompressible/potentialFreeSurfaceFoam/pEqn.H b/applications/solvers/incompressible/potentialFreeSurfaceFoam/pEqn.H
index 42b72484d1d7e9a0f78a4e42570780ce7faaee99..780bb2802246ad7adcdd9c0f0313570308d3fc87 100644
--- a/applications/solvers/incompressible/potentialFreeSurfaceFoam/pEqn.H
+++ b/applications/solvers/incompressible/potentialFreeSurfaceFoam/pEqn.H
@@ -2,7 +2,7 @@ volScalarField rAU(1.0/UEqn().A());
 surfaceScalarField rAUf("Dp", fvc::interpolate(rAU));
 
 volVectorField HbyA("HbyA", U);
-HbyA = rAU*(UEqn() == sources(U))().H();
+HbyA = rAU*(UEqn() == fvOptions(U))().H();
 
 if (pimple.nCorrPISO() <= 1)
 {
@@ -46,4 +46,4 @@ p = p_gh + (g & mesh.C());
 
 U = HbyA - rAU*fvc::grad(p_gh);
 U.correctBoundaryConditions();
-sources.correct(U);
+fvOptions.correct(U);
diff --git a/applications/solvers/incompressible/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C b/applications/solvers/incompressible/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C
index 114c183c4c47a6892c73548fdaa2a687d8e110a0..ca35e81116db2bae461b4029efc65037cebc6691 100644
--- a/applications/solvers/incompressible/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C
+++ b/applications/solvers/incompressible/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.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
@@ -38,7 +38,7 @@ Description
 #include "singlePhaseTransportModel.H"
 #include "turbulenceModel.H"
 #include "pimpleControl.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -52,7 +52,7 @@ int main(int argc, char *argv[])
     pimpleControl pimple(mesh);
 
     #include "createFields.H"
-    #include "createSources.H"
+    #include "createFvOptions.H"
     #include "initContinuityErrs.H"
 
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/incompressible/simpleFoam/Make/options b/applications/solvers/incompressible/simpleFoam/Make/options
index 9ba4552938fc4895e326a884a33d9c5d9eb1d2ea..f9913bf0dd1f5a75613c5516587b979d90468227 100644
--- a/applications/solvers/incompressible/simpleFoam/Make/options
+++ b/applications/solvers/incompressible/simpleFoam/Make/options
@@ -5,7 +5,7 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 
@@ -15,5 +15,5 @@ EXE_LIBS = \
     -lincompressibleTransportModels \
     -lfiniteVolume \
     -lmeshTools \
-    -lfieldSources \
+    -lfvOptions \
     -lsampling
diff --git a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/Make/options b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/Make/options
index 046cbd0baf6417ab437b1eae21e641aefe6d8024..cae6c88fed72960bd034da0f6be78948ba35a811 100644
--- a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/Make/options
+++ b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/Make/options
@@ -6,7 +6,7 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 
@@ -15,5 +15,5 @@ EXE_LIBS = \
     -lincompressibleTransportModels \
     -lfiniteVolume \
     -lmeshTools \
-    -lfieldSources \
+    -lfvOptions \
     -lsampling
diff --git a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C
index eab6907e8da0dc355f34211373f12f2d98cef851..5387b736db09c433d0b8a6534a5f4be082bf029e 100644
--- a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C
+++ b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.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
@@ -35,7 +35,7 @@ Description
 #include "RASModel.H"
 #include "SRFModel.H"
 #include "simpleControl.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -45,7 +45,7 @@ int main(int argc, char *argv[])
     #include "createTime.H"
     #include "createMesh.H"
     #include "createFields.H"
-    #include "createSources.H"
+    #include "createFvOptions.H"
     #include "initContinuityErrs.H"
 
     simpleControl simple(mesh);
diff --git a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/UrelEqn.H b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/UrelEqn.H
index 265a731269581fd04789f21eb537444b4f0baa69..75df41d00b62a2a023c2972e014dfba5b78e355f 100644
--- a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/UrelEqn.H
+++ b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/UrelEqn.H
@@ -6,13 +6,13 @@
       + turbulence->divDevReff(Urel)
       + SRF->Su()
      ==
-        sources(Urel)
+        fvOptions(Urel)
     );
 
     UrelEqn().relax();
 
-    sources.constrain(UrelEqn());
+    fvOptions.constrain(UrelEqn());
 
     solve(UrelEqn() == -fvc::grad(p));
 
-    sources.correct(Urel);
+    fvOptions.correct(Urel);
diff --git a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/pEqn.H b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/pEqn.H
index e30ef7baaaedb09aca2188d64702066b870cbdd2..b9fa52c0ffb250c20b9329cafa91d3fd84945aae 100644
--- a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/pEqn.H
+++ b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/pEqn.H
@@ -33,5 +33,5 @@
     // Momentum corrector
     Urel = HbyA - rAUrel*fvc::grad(p);
     Urel.correctBoundaryConditions();
-    sources.correct(Urel);
+    fvOptions.correct(Urel);
 }
diff --git a/applications/solvers/incompressible/simpleFoam/UEqn.H b/applications/solvers/incompressible/simpleFoam/UEqn.H
index 719e294a08167fa92d68092466b3019fb6e59a1a..0c5932ff2c2c20e6b76fbb9b9f14fd7638c3446a 100644
--- a/applications/solvers/incompressible/simpleFoam/UEqn.H
+++ b/applications/solvers/incompressible/simpleFoam/UEqn.H
@@ -5,13 +5,13 @@
         fvm::div(phi, U)
       + turbulence->divDevReff(U)
       ==
-        sources(U)
+        fvOptions(U)
     );
 
     UEqn().relax();
 
-    sources.constrain(UEqn());
+    fvOptions.constrain(UEqn());
 
     solve(UEqn() == -fvc::grad(p));
 
-    sources.correct(U);
+    fvOptions.correct(U);
diff --git a/applications/solvers/incompressible/simpleFoam/pEqn.H b/applications/solvers/incompressible/simpleFoam/pEqn.H
index 116929e3ea9ef23ae220cd9910ce240554266954..79f4f5607673229bf43577e33cf043cdc8dc1141 100644
--- a/applications/solvers/incompressible/simpleFoam/pEqn.H
+++ b/applications/solvers/incompressible/simpleFoam/pEqn.H
@@ -7,7 +7,7 @@
     surfaceScalarField phiHbyA("phiHbyA", fvc::interpolate(HbyA) & mesh.Sf());
     adjustPhi(phiHbyA, U, p);
 
-    sources.relativeFlux(phiHbyA);
+    fvOptions.relativeFlux(phiHbyA);
 
     // Non-orthogonal pressure corrector loop
     while (simple.correctNonOrthogonal())
@@ -35,5 +35,5 @@
     // Momentum corrector
     U = HbyA - rAU*fvc::grad(p);
     U.correctBoundaryConditions();
-    sources.correct(U);
+    fvOptions.correct(U);
 }
diff --git a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/Make/options b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/Make/options
index 8ffc7f6d586a11055aa706b9fd6038b6662998a3..6cee67f66f70d81761d9ea925b19bfb45118d7f8 100644
--- a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/Make/options
+++ b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/Make/options
@@ -6,7 +6,7 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 
@@ -16,5 +16,5 @@ EXE_LIBS = \
     -lincompressibleTransportModels \
     -lfiniteVolume \
     -lmeshTools \
-    -lfieldSources \
+    -lfvOptions \
     -lsampling
diff --git a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/UEqn.H b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/UEqn.H
index 3ce7e2f533d792b57167d27e0c8a3fa4fea26e35..31b817bf82cdb5900dee7f3ba3578dcaeaa59ff3 100644
--- a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/UEqn.H
+++ b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/UEqn.H
@@ -5,7 +5,7 @@
         fvm::div(phi, U)
       + turbulence->divDevReff(U)
       ==
-        sources(U)
+        fvOptions(U)
     );
 
     mrfZones.addCoriolis(UEqn());
@@ -26,7 +26,7 @@
         trTU = inv(tTU());
         trTU().rename("rAU");
 
-        sources.constrain(UEqn());
+        fvOptions.constrain(UEqn());
 
         volVectorField gradp(fvc::grad(p));
 
@@ -36,17 +36,17 @@
         }
         U.correctBoundaryConditions();
 
-        sources.correct(U);
+        fvOptions.correct(U);
     }
     else
     {
         pZones.addResistance(UEqn());
 
-        sources.constrain(UEqn());
+        fvOptions.constrain(UEqn());
 
         solve(UEqn() == -fvc::grad(p));
 
-        sources.correct(U);
+        fvOptions.correct(U);
 
         trAU = 1.0/UEqn().A();
         trAU().rename("rAU");
diff --git a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/pEqn.H b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/pEqn.H
index 7aa494744fe554cab28351d8ff2e70dca9bb0ebe..b05a9fe270d693796535a858122e0daf855a3b6e 100644
--- a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/pEqn.H
+++ b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/pEqn.H
@@ -52,4 +52,4 @@ else
 }
 
 U.correctBoundaryConditions();
-sources.correct(U);
+fvOptions.correct(U);
diff --git a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C
index 4c3563ac8f14cae5db4cc696001b877f29c36ce6..01c1dc16fb1e30cbc5cc4a144ea9774cbc78069e 100644
--- a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C
+++ b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.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
@@ -37,7 +37,7 @@ Description
 #include "simpleControl.H"
 #include "IOMRFZoneList.H"
 #include "IOporosityModelList.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -50,7 +50,7 @@ int main(int argc, char *argv[])
     simpleControl simple(mesh);
 
     #include "createFields.H"
-    #include "createSources.H"
+    #include "createFvOptions.H"
     #include "createZones.H"
     #include "initContinuityErrs.H"
 
diff --git a/applications/solvers/incompressible/simpleFoam/simpleFoam.C b/applications/solvers/incompressible/simpleFoam/simpleFoam.C
index 80bca738bdc3d0241fb84fe9e9e64c0890f9ac6f..80521c39697a74995506972ee5df35814b6dae75 100644
--- a/applications/solvers/incompressible/simpleFoam/simpleFoam.C
+++ b/applications/solvers/incompressible/simpleFoam/simpleFoam.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
@@ -33,7 +33,7 @@ Description
 #include "singlePhaseTransportModel.H"
 #include "RASModel.H"
 #include "simpleControl.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -43,7 +43,7 @@ int main(int argc, char *argv[])
     #include "createTime.H"
     #include "createMesh.H"
     #include "createFields.H"
-    #include "createSources.H"
+    #include "createFvOptions.H"
     #include "initContinuityErrs.H"
 
     simpleControl simple(mesh);
diff --git a/applications/solvers/lagrangian/coalChemistryFoam/EEqn.H b/applications/solvers/lagrangian/coalChemistryFoam/EEqn.H
index 37ca5e82a48b82b15ac95fb1e72c0ac32e62f40f..19b7a0de0f195454642e1e3ffb1a52da161dd88d 100644
--- a/applications/solvers/lagrangian/coalChemistryFoam/EEqn.H
+++ b/applications/solvers/lagrangian/coalChemistryFoam/EEqn.H
@@ -21,16 +21,16 @@
       + coalParcels.Sh(he)
       + limestoneParcels.Sh(he)
       + radiation->Sh(thermo)
-      + sources(rho, he)
+      + fvOptions(rho, he)
     );
 
     EEqn.relax();
 
-    sources.constrain(EEqn);
+    fvOptions.constrain(EEqn);
 
     EEqn.solve();
 
-    sources.correct(he);
+    fvOptions.correct(he);
 
     thermo.correct();
     radiation->correct();
diff --git a/applications/solvers/lagrangian/coalChemistryFoam/Make/options b/applications/solvers/lagrangian/coalChemistryFoam/Make/options
index adc629c4f2b168e56c74193bd05ba17571106af8..85cd3a4713a8745ba72b995f0262f66a7e9288c4 100644
--- a/applications/solvers/lagrangian/coalChemistryFoam/Make/options
+++ b/applications/solvers/lagrangian/coalChemistryFoam/Make/options
@@ -22,7 +22,7 @@ EXE_INC = \
     -I$(LIB_SRC)/ODE/lnInclude \
     -I$(LIB_SRC)/combustionModels/lnInclude \
     -I$(FOAM_SOLVERS)/combustion/reactingFoam \
-    -I$(LIB_SRC)/fieldSources/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 
@@ -51,6 +51,6 @@ EXE_LIBS = \
     -lsurfaceFilmModels \
     -lODE \
     -lcombustionModels \
-    -lfieldSources \
+    -lfvOptions \
     -lsampling
 
diff --git a/applications/solvers/lagrangian/coalChemistryFoam/UEqn.H b/applications/solvers/lagrangian/coalChemistryFoam/UEqn.H
index 3dee99c1c7731e3f375d6394b8e2942f2ed43a92..24d3a9ebb1937d2fdd1ced85bda43902561b1749 100644
--- a/applications/solvers/lagrangian/coalChemistryFoam/UEqn.H
+++ b/applications/solvers/lagrangian/coalChemistryFoam/UEqn.H
@@ -7,17 +7,17 @@
         rho.dimensionedInternalField()*g
       + coalParcels.SU(U)
       + limestoneParcels.SU(U)
-      + sources(rho, U)
+      + fvOptions(rho, U)
     );
 
     UEqn.relax();
 
-    sources.constrain(UEqn);
+    fvOptions.constrain(UEqn);
 
     if (pimple.momentumPredictor())
     {
         solve(UEqn == -fvc::grad(p));
 
-        sources.correct(U);
+        fvOptions.correct(U);
         K = 0.5*magSqr(U);
     }
diff --git a/applications/solvers/lagrangian/coalChemistryFoam/YEqn.H b/applications/solvers/lagrangian/coalChemistryFoam/YEqn.H
index a5c39e84736ca4e883c88dd1f98a53ee7ccae863..a719c83cd70b3ba49dabd81e9335024f9015dffb 100644
--- a/applications/solvers/lagrangian/coalChemistryFoam/YEqn.H
+++ b/applications/solvers/lagrangian/coalChemistryFoam/YEqn.H
@@ -30,16 +30,16 @@ tmp<fv::convectionScheme<scalar> > mvConvection
               ==
                 coalParcels.SYi(i, Yi)
               + combustion->R(Yi)
-              + sources(rho, Yi)
+              + fvOptions(rho, Yi)
             );
 
             YiEqn.relax();
 
-            sources.constrain(YiEqn);
+            fvOptions.constrain(YiEqn);
 
             YiEqn.solve(mesh.solver("Yi"));
 
-            sources.correct(Yi);
+            fvOptions.correct(Yi);
 
             Yi.max(0.0);
             Yt += Yi;
diff --git a/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C b/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C
index 2197ae8d52577cd1023feefe22cc0438cc7d0969..208b7b9ce9816741241969f37bc9ff11e89ba6dc 100644
--- a/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C
+++ b/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.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
@@ -40,7 +40,7 @@ Description
 #include "fluidThermoCloud.H"
 #include "coalCloud.H"
 #include "psiCombustionModel.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 #include "radiationModel.H"
 #include "SLGThermo.H"
 #include "pimpleControl.H"
@@ -55,7 +55,7 @@ int main(int argc, char *argv[])
     #include "createMesh.H"
     #include "readGravitationalAcceleration.H"
     #include "createFields.H"
-    #include "createSources.H"
+    #include "createFvOptions.H"
     #include "createClouds.H"
     #include "createRadiationModel.H"
     #include "initContinuityErrs.H"
diff --git a/applications/solvers/lagrangian/coalChemistryFoam/pEqn.H b/applications/solvers/lagrangian/coalChemistryFoam/pEqn.H
index 0baee1ad3027eefd2261248ab45bb988b913c3f0..03e9033edb3860effa7e077e543b8248a5f5028f 100644
--- a/applications/solvers/lagrangian/coalChemistryFoam/pEqn.H
+++ b/applications/solvers/lagrangian/coalChemistryFoam/pEqn.H
@@ -16,7 +16,7 @@ if (pimple.transonic())
         )
     );
 
-    sources.relativeFlux(fvc::interpolate(psi), phid);
+    fvOptions.relativeFlux(fvc::interpolate(psi), phid);
 
     while (pimple.correctNonOrthogonal())
     {
@@ -27,10 +27,10 @@ if (pimple.transonic())
           - fvm::laplacian(rho*rAU, p)
          ==
             coalParcels.Srho()
-          + sources(psi, p, rho.name())
+          + fvOptions(psi, p, rho.name())
         );
 
-        sources.constrain(pEqn);
+        fvOptions.constrain(pEqn);
 
         pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
 
@@ -52,7 +52,7 @@ else
         )
     );
 
-    sources.relativeFlux(fvc::interpolate(rho), phiHbyA);
+    fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
 
     while (pimple.correctNonOrthogonal())
     {
@@ -63,10 +63,10 @@ else
           - fvm::laplacian(rho*rAU, p)
          ==
             coalParcels.Srho()
-          + sources(psi, p, rho.name())
+          + fvOptions(psi, p, rho.name())
         );
 
-        sources.constrain(pEqn);
+        fvOptions.constrain(pEqn);
 
         pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
 
@@ -82,7 +82,7 @@ else
 
 U = HbyA - rAU*fvc::grad(p);
 U.correctBoundaryConditions();
-sources.correct(U);
+fvOptions.correct(U);
 
 K = 0.5*magSqr(U);
 
diff --git a/applications/solvers/lagrangian/coalChemistryFoam/rhoEqn.H b/applications/solvers/lagrangian/coalChemistryFoam/rhoEqn.H
index 5c37255fefda07355b4b68bf93f8ca8eecf52090..564368f8a42e2db82365744173c47143ae9cb2f0 100644
--- a/applications/solvers/lagrangian/coalChemistryFoam/rhoEqn.H
+++ b/applications/solvers/lagrangian/coalChemistryFoam/rhoEqn.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
@@ -36,14 +36,14 @@ Description
       + fvc::div(phi)
       ==
         coalParcels.Srho(rho)
-      + sources(rho)
+      + fvOptions(rho)
     );
 
-    sources.constrain(rhoEqn);
+    fvOptions.constrain(rhoEqn);
 
     rhoEqn.solve();
 
-    sources.correct(rho);
+    fvOptions.correct(rho);
 }
 
 // ************************************************************************* //
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/EEqn.H b/applications/solvers/lagrangian/reactingParcelFilmFoam/EEqn.H
index 4abcdcf4414326767ed2525d60abfecbac1c02ba..6bbd7cc788400c1d8fbc9b71be2780693041323b 100644
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/EEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/EEqn.H
@@ -21,16 +21,16 @@
       + surfaceFilm.Sh()
       + radiation->Sh(thermo)
       + combustion->Sh()
-      + sources(rho, he)
+      + fvOptions(rho, he)
     );
 
     EEqn.relax();
 
-    sources.constrain(EEqn);
+    fvOptions.constrain(EEqn);
 
     EEqn.solve();
 
-    sources.correct(he);
+    fvOptions.correct(he);
 
     thermo.correct();
     radiation->correct();
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/Make/options b/applications/solvers/lagrangian/reactingParcelFilmFoam/Make/options
index a2d24b6d11d75c9adde33dd5c5cbc3f7df8e69c8..e0aac8c5dbb8e4011de1fb0da9e8a2b1348d7978 100644
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/Make/options
+++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/Make/options
@@ -1,6 +1,6 @@
 EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I${LIB_SRC}/sampling/lnInclude \
     -I${LIB_SRC}/meshTools/lnInclude \
     -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
@@ -27,7 +27,7 @@ EXE_INC = \
 
 EXE_LIBS = \
     -lfiniteVolume \
-    -lfieldSources \
+    -lfvOptions \
     -lsampling \
     -lmeshTools \
     -lcompressibleRASModels \
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/UEqn.H b/applications/solvers/lagrangian/reactingParcelFilmFoam/UEqn.H
index 81d90bd695e912277c83e1744a9814f5b8cca7ec..205eb09156e9a7e29fcbdc8bc2d37c985dab31a8 100644
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/UEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/UEqn.H
@@ -5,12 +5,12 @@
       + turbulence->divDevRhoReff(U)
      ==
         parcels.SU(U)
-      + sources(rho, U)
+      + fvOptions(rho, U)
     );
 
     UEqn.relax();
 
-    sources.constrain(UEqn);
+    fvOptions.constrain(UEqn);
 
     if (pimple.momentumPredictor())
     {
@@ -27,6 +27,6 @@
             )
         );
 
-        sources.correct(U);
+        fvOptions.correct(U);
         K = 0.5*magSqr(U);
     }
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/YEqn.H b/applications/solvers/lagrangian/reactingParcelFilmFoam/YEqn.H
index 615342c436419383bccbc1513093c756b7c32e83..b23f00dbf1e391d8aa7f16870e47596e2e9962f8 100644
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/YEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/YEqn.H
@@ -29,18 +29,18 @@ tmp<fv::convectionScheme<scalar> > mvConvection
               - fvm::laplacian(turbulence->alphaEff(), Yi)
               ==
                 parcels.SYi(i, Yi)
-              + sources(rho, Yi)
+              + fvOptions(rho, Yi)
               + combustion->R(Yi)
               + surfaceFilm.Srho(i)
             );
 
             YEqn.relax();
 
-            sources.constrain(YEqn);
+            fvOptions.constrain(YEqn);
 
             YEqn.solve(mesh.solver("Yi"));
 
-            sources.correct(Yi);
+            fvOptions.correct(Yi);
 
             Yi.max(0.0);
             Yt += Yi;
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/pEqn.H b/applications/solvers/lagrangian/reactingParcelFilmFoam/pEqn.H
index bcdd3beca46acfd90b8002086273b1194daa7325..26c3a6f062528e9ec15c86880e814f7e4ef35992 100644
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/pEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/pEqn.H
@@ -18,7 +18,7 @@ surfaceScalarField phiHbyA
   + phig
 );
 
-sources.relativeFlux(fvc::interpolate(rho), phiHbyA);
+fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
 
 while (pimple.correctNonOrthogonal())
 {
@@ -31,10 +31,10 @@ while (pimple.correctNonOrthogonal())
      ==
         parcels.Srho()
       + surfaceFilm.Srho()
-      + sources(psi, p_rgh, rho.name())
+      + fvOptions(psi, p_rgh, rho.name())
     );
 
-    sources.constrain(p_rghEqn);
+    fvOptions.constrain(p_rghEqn);
 
     p_rghEqn.solve(mesh.solver(p_rgh.select(pimple.finalInnerIter())));
 
@@ -43,7 +43,7 @@ while (pimple.correctNonOrthogonal())
         phi = phiHbyA + p_rghEqn.flux();
         U = HbyA + rAU*fvc::reconstruct((p_rghEqn.flux() + phig)/rhorAUf);
         U.correctBoundaryConditions();
-        sources.correct(U);
+        fvOptions.correct(U);
     }
 }
 
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/reactingParcelFilmFoam.C b/applications/solvers/lagrangian/reactingParcelFilmFoam/reactingParcelFilmFoam.C
index 80add60630f630f39c358e3ba64106f8436ab052..65cfcb4516a947a3c122d3bb0110e97f2ab804ba 100644
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/reactingParcelFilmFoam.C
+++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/reactingParcelFilmFoam.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
@@ -37,7 +37,7 @@ Description
 #include "psiCombustionModel.H"
 #include "radiationModel.H"
 #include "SLGThermo.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 #include "pimpleControl.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -50,7 +50,7 @@ int main(int argc, char *argv[])
     #include "createMesh.H"
     #include "readGravitationalAcceleration.H"
     #include "createFields.H"
-    #include "createSources.H"
+    #include "createFvOptions.H"
     #include "createClouds.H"
     #include "createRadiationModel.H"
     #include "createSurfaceFilmModel.H"
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/rhoEqn.H b/applications/solvers/lagrangian/reactingParcelFilmFoam/rhoEqn.H
index 5cc780abb1d02bd1621841aa52186429eb140d6f..45c93a1488b419ae4c182181ecd312049e2cc0f9 100644
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/rhoEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/rhoEqn.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
@@ -37,14 +37,14 @@ Description
       ==
         parcels.Srho(rho)
       + surfaceFilm.Srho()
-      + sources(rho)
+      + fvOptions(rho)
     );
 
-    sources.constrain(rhoEqn);
+    fvOptions.constrain(rhoEqn);
 
     rhoEqn.solve();
 
-    sources.correct(rho);
+    fvOptions.correct(rho);
 }
 
 // ************************************************************************* //
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/EEqn.H b/applications/solvers/lagrangian/reactingParcelFoam/EEqn.H
index 57456fe791ccbbeba99d488fbeb27aed4dba949b..d4f9d7f6ac560009fa322bfb6360c834ff20fced 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/EEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFoam/EEqn.H
@@ -20,16 +20,16 @@
         parcels.Sh(he)
       + radiation->Sh(thermo)
       + combustion->Sh()
-      + sources(rho, he)
+      + fvOptions(rho, he)
     );
 
     EEqn.relax();
 
-    sources.constrain(EEqn);
+    fvOptions.constrain(EEqn);
 
     EEqn.solve();
 
-    sources.correct(he);
+    fvOptions.correct(he);
 
     thermo.correct();
     radiation->correct();
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/LTSReactingParcelFoam/LTSReactingParcelFoam.C b/applications/solvers/lagrangian/reactingParcelFoam/LTSReactingParcelFoam/LTSReactingParcelFoam.C
index c0b75196073ed6890c2b59de3d38f1de0c1b842e..991de15ad658d640eb6e0a2bc69f66442c5fdd39 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/LTSReactingParcelFoam/LTSReactingParcelFoam.C
+++ b/applications/solvers/lagrangian/reactingParcelFoam/LTSReactingParcelFoam/LTSReactingParcelFoam.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
@@ -27,8 +27,8 @@ Application
 Description
     Local time stepping (LTS) solver for steady, compressible, laminar or
     turbulent reacting and non-reacting flow with multiphase Lagrangian
-    parcels and porous media, including explicit sources for mass, momentum
-    and energy
+    parcels and porous media, including run-time selectable finitite volume
+    options, e.g. fvOptions, constraints
 
     Note: ddtPhiCorr not used here when porous zones are active
     - not well defined for porous calculations
@@ -41,7 +41,7 @@ Description
 #include "rhoCombustionModel.H"
 #include "radiationModel.H"
 #include "IOporosityModelList.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 #include "SLGThermo.H"
 #include "fvcSmooth.H"
 #include "pimpleControl.H"
@@ -60,7 +60,7 @@ int main(int argc, char *argv[])
 
     #include "readTimeControls.H"
     #include "createFields.H"
-    #include "createSources.H"
+    #include "createFvOptions.H"
     #include "createRDeltaT.H"
     #include "createRadiationModel.H"
     #include "createClouds.H"
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/LTSReactingParcelFoam/Make/options b/applications/solvers/lagrangian/reactingParcelFoam/LTSReactingParcelFoam/Make/options
index fad2ee86fad28777a98ea7633c0dd51d3b06ee27..9aa1847960966e57ec60a341e92fded3ef701f49 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/LTSReactingParcelFoam/Make/options
+++ b/applications/solvers/lagrangian/reactingParcelFoam/LTSReactingParcelFoam/Make/options
@@ -22,7 +22,7 @@ EXE_INC = \
     -I$(LIB_SRC)/regionModels/regionModel/lnInclude \
     -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
     -I$(LIB_SRC)/combustionModels/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 
@@ -49,5 +49,5 @@ EXE_LIBS = \
     -lregionModels \
     -lsurfaceFilmModels \
     -lcombustionModels \
-    -lfieldSources \
+    -lfvOptions \
     -lsampling
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/LTSReactingParcelFoam/timeScales.H b/applications/solvers/lagrangian/reactingParcelFoam/LTSReactingParcelFoam/timeScales.H
index c1e9c2029046ec410142e56dc2d97c38cc02d653..50ceb3b433f1d704cd5b5ea6ac0e0d723777d486 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/LTSReactingParcelFoam/timeScales.H
+++ b/applications/solvers/lagrangian/reactingParcelFoam/LTSReactingParcelFoam/timeScales.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
@@ -75,7 +75,7 @@ Info<< "Time scales min/max:" << endl;
            *mag
             (
                 parcels.hsTrans()/(mesh.V()*runTime.deltaT())
-           // + sources(rho, hs)
+           // + fvOptions(rho, hs)
               + combustion->Sh()()
               - fvc::div(phi, 0.5*magSqr(U), "div(phi,K)")()
             )
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/Make/options b/applications/solvers/lagrangian/reactingParcelFoam/Make/options
index 572cd1fb2ceb9dfa4ce013b1e94e0c00740821cb..705cfc9433f4f9e47764f0f7d26e59cb0d82ff2c 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/Make/options
+++ b/applications/solvers/lagrangian/reactingParcelFoam/Make/options
@@ -21,7 +21,7 @@ EXE_INC = \
     -I$(LIB_SRC)/regionModels/regionModel/lnInclude \
     -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
     -I$(LIB_SRC)/combustionModels/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(FOAM_SOLVERS)/combustion/reactingFoam
 
@@ -49,5 +49,5 @@ EXE_LIBS = \
     -lregionModels \
     -lsurfaceFilmModels \
     -lcombustionModels \
-    -lfieldSources \
+    -lfvOptions \
     -lsampling
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/UEqn.H b/applications/solvers/lagrangian/reactingParcelFoam/UEqn.H
index 11d4b27ef8e137f9ed31df7d740588a450dcc739..6a12aae3bc7444fa8dcfe408848cb9005c1f958a 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/UEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFoam/UEqn.H
@@ -6,17 +6,17 @@
      ==
         rho.dimensionedInternalField()*g
       + parcels.SU(U)
-      + sources(rho, U)
+      + fvOptions(rho, U)
     );
 
     UEqn.relax();
 
-    sources.constrain(UEqn);
+    fvOptions.constrain(UEqn);
 
     if (pimple.momentumPredictor())
     {
         solve(UEqn == -fvc::grad(p));
 
-        sources.correct(U);
+        fvOptions.correct(U);
         K = 0.5*magSqr(U);
     }
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/YEqn.H b/applications/solvers/lagrangian/reactingParcelFoam/YEqn.H
index b7e40dcc59f616b40e4a9b18dbe5c5d280995ba1..fbcc0a0f65786df1b03adcd87af5c84802de3dcf 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/YEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFoam/YEqn.H
@@ -29,16 +29,16 @@ tmp<fv::convectionScheme<scalar> > mvConvection
              ==
                 parcels.SYi(i, Yi)
               + combustion->R(Yi)
-              + sources(rho, Yi)
+              + fvOptions(rho, Yi)
             );
 
             YEqn.relax();
 
-            sources.constrain(YEqn);
+            fvOptions.constrain(YEqn);
 
             YEqn.solve(mesh.solver("Yi"));
 
-            sources.correct(Yi);
+            fvOptions.correct(Yi);
 
             Yi.max(0.0);
             Yt += Yi;
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/pEqn.H b/applications/solvers/lagrangian/reactingParcelFoam/pEqn.H
index 569beae05861d2922dab4f9e1a0ae40c94eb3753..fb2e125a5813803e0e7d91ea4ae33e7f06e5bf17 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/pEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFoam/pEqn.H
@@ -19,7 +19,7 @@
         )
     );
 
-    sources.relativeFlux(fvc::interpolate(rho), phiHbyA);
+    fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
 
     fvScalarMatrix pDDtEqn
     (
@@ -27,7 +27,7 @@
       + fvc::div(phiHbyA)
      ==
         parcels.Srho()
-      + sources(psi, p, rho.name())
+      + fvOptions(psi, p, rho.name())
     );
 
     while (pimple.correctNonOrthogonal())
@@ -38,7 +38,7 @@
           - fvm::laplacian(rho*rAU, p)
         );
 
-        sources.constrain(pEqn);
+        fvOptions.constrain(pEqn);
 
         pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
 
@@ -58,7 +58,7 @@
 
     U = HbyA - rAU*fvc::grad(p);
     U.correctBoundaryConditions();
-    sources.correct(U);
+    fvOptions.correct(U);
     K = 0.5*magSqr(U);
 
     if (thermo.dpdt())
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C
index c273f71856c525c2d7a84f5472cbbebd95dc424c..424c23b8b9ce3b88a42feb5ded7b4fceb3e5c32a 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C
+++ b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.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
@@ -26,16 +26,8 @@ Application
 
 Description
     Transient PIMPLE solver for compressible, laminar or turbulent flow with
-    reacting multiphase Lagrangian parcels for porous media, including explicit
-    sources for mass, momentum and energy
-
-    The solver includes:
-    - reacting multiphase parcel cloud
-    - porous media
-    - mass, momentum and energy sources
-
-    Note: ddtPhiCorr not used here when porous zones are active
-    - not well defined for porous calculations
+    reacting multiphase Lagrangian parcels, including run-time selectable
+    finite volume options, e.g. fvOptions, constraints
 
 \*---------------------------------------------------------------------------*/
 
@@ -45,7 +37,7 @@ Description
 #include "rhoCombustionModel.H"
 #include "radiationModel.H"
 #include "IOporosityModelList.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 #include "SLGThermo.H"
 #include "pimpleControl.H"
 
@@ -64,7 +56,7 @@ int main(int argc, char *argv[])
     #include "createFields.H"
     #include "createRadiationModel.H"
     #include "createClouds.H"
-    #include "createSources.H"
+    #include "createFvOptions.H"
     #include "initContinuityErrs.H"
     #include "readTimeControls.H"
     #include "compressibleCourantNo.H"
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/rhoEqn.H b/applications/solvers/lagrangian/reactingParcelFoam/rhoEqn.H
index 6ad34d56c7e082a4733f0dfd91a53ec0fd5e9abc..581280230f95e97f13c6a5002a641da06eb9cd47 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/rhoEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFoam/rhoEqn.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
@@ -36,14 +36,14 @@ Description
       + fvc::div(phi)
       ==
         parcels.Srho(rho)
-      + sources(rho)
+      + fvOptions(rho)
     );
 
-    sources.constrain(rhoEqn);
+    fvOptions.constrain(rhoEqn);
 
     rhoEqn.solve();
 
-    sources.correct(rho);
+    fvOptions.correct(rho);
 
     Info<< "rho min/max = " << min(rho).value() << ", " << max(rho).value()
         << endl;
diff --git a/applications/solvers/lagrangian/sprayFoam/Make/options b/applications/solvers/lagrangian/sprayFoam/Make/options
index bcbb2fb5cb81e5d844de9989a0c87ebba04b7717..9dce65d02351332ef2934207d713b6636640e8a8 100644
--- a/applications/solvers/lagrangian/sprayFoam/Make/options
+++ b/applications/solvers/lagrangian/sprayFoam/Make/options
@@ -22,7 +22,7 @@ EXE_INC = \
     -I$(LIB_SRC)/ODE/lnInclude \
     -I$(LIB_SRC)/regionModels/regionModel/lnInclude \
     -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/combustionModels/lnInclude
 
 
@@ -50,5 +50,5 @@ EXE_LIBS = \
     -lODE \
     -lregionModels \
     -lsurfaceFilmModels \
-    -lfieldSources \
+    -lfvOptions \
     -lcombustionModels
diff --git a/applications/solvers/lagrangian/sprayFoam/UEqn.H b/applications/solvers/lagrangian/sprayFoam/UEqn.H
index 11d4b27ef8e137f9ed31df7d740588a450dcc739..6a12aae3bc7444fa8dcfe408848cb9005c1f958a 100644
--- a/applications/solvers/lagrangian/sprayFoam/UEqn.H
+++ b/applications/solvers/lagrangian/sprayFoam/UEqn.H
@@ -6,17 +6,17 @@
      ==
         rho.dimensionedInternalField()*g
       + parcels.SU(U)
-      + sources(rho, U)
+      + fvOptions(rho, U)
     );
 
     UEqn.relax();
 
-    sources.constrain(UEqn);
+    fvOptions.constrain(UEqn);
 
     if (pimple.momentumPredictor())
     {
         solve(UEqn == -fvc::grad(p));
 
-        sources.correct(U);
+        fvOptions.correct(U);
         K = 0.5*magSqr(U);
     }
diff --git a/applications/solvers/lagrangian/sprayFoam/pEqn.H b/applications/solvers/lagrangian/sprayFoam/pEqn.H
index 9d95ee6dec51a7ea040ce4002e5a36119bd5c403..590e00d81fc09a2cf57e1ce30790cba55a93c7c6 100644
--- a/applications/solvers/lagrangian/sprayFoam/pEqn.H
+++ b/applications/solvers/lagrangian/sprayFoam/pEqn.H
@@ -16,7 +16,7 @@ if (pimple.transonic())
         )
     );
 
-    sources.relativeFlux(fvc::interpolate(psi), phid);
+    fvOptions.relativeFlux(fvc::interpolate(psi), phid);
 
     while (pimple.correctNonOrthogonal())
     {
@@ -27,10 +27,10 @@ if (pimple.transonic())
           - fvm::laplacian(rho*rAU, p)
          ==
             parcels.Srho()
-          + sources(psi, p, rho.name())
+          + fvOptions(psi, p, rho.name())
         );
 
-        sources.constrain(pEqn);
+        fvOptions.constrain(pEqn);
 
         pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
 
@@ -52,7 +52,7 @@ else
         )
     );
 
-    sources.relativeFlux(fvc::interpolate(psi), phiHbyA);
+    fvOptions.relativeFlux(fvc::interpolate(psi), phiHbyA);
 
     while (pimple.correctNonOrthogonal())
     {
@@ -63,10 +63,10 @@ else
           - fvm::laplacian(rho*rAU, p)
          ==
             parcels.Srho()
-          + sources(psi, p, rho.name())
+          + fvOptions(psi, p, rho.name())
         );
 
-        sources.constrain(pEqn);
+        fvOptions.constrain(pEqn);
 
         pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
 
@@ -82,7 +82,7 @@ else
 
 U = HbyA - rAU*fvc::grad(p);
 U.correctBoundaryConditions();
-sources.correct(U);
+fvOptions.correct(U);
 K = 0.5*magSqr(U);
 
 if (thermo.dpdt())
diff --git a/applications/solvers/lagrangian/sprayFoam/rhoEqn.H b/applications/solvers/lagrangian/sprayFoam/rhoEqn.H
index ecda54ee8337cac84c1f3c3b56226cfcc4ebc26c..f0fce23ccd1581e330da7c6543d2d4fb1b1b9871 100644
--- a/applications/solvers/lagrangian/sprayFoam/rhoEqn.H
+++ b/applications/solvers/lagrangian/sprayFoam/rhoEqn.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
@@ -36,14 +36,14 @@ Description
       + fvc::div(phi)
       ==
         parcels.Srho(rho)
-      + sources(rho)
+      + fvOptions(rho)
     );
 
-    sources.constrain(rhoEqn);
+    fvOptions.constrain(rhoEqn);
 
     rhoEqn.solve();
 
-    sources.correct(rho);
+    fvOptions.correct(rho);
 }
 
 // ************************************************************************* //
diff --git a/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/Make/options b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/Make/options
index d2d83e3920dd0e4efa2797cec3b5fc98dd238c47..77034c9ef3b992e83ba612a970b62f32e0ba8b32 100644
--- a/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/Make/options
+++ b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/Make/options
@@ -24,7 +24,7 @@ EXE_INC = \
     -I$(LIB_SRC)/engine/lnInclude \
     -I$(LIB_SRC)/regionModels/regionModel/lnInclude \
     -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/combustionModels/lnInclude
 
 
@@ -53,5 +53,5 @@ EXE_LIBS = \
     -lengine \
     -lregionModels \
     -lsurfaceFilmModels \
-    -lfieldSources \
+    -lfvOptions \
     -lcombustionModels
diff --git a/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/pEqn.H b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/pEqn.H
index d3435a81636e7a7245b0d2642669c432410e8f5e..b7998b9e848b266fe910fbfb645a86c05c6b24c8 100644
--- a/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/pEqn.H
+++ b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/pEqn.H
@@ -16,7 +16,7 @@ if (pimple.transonic())
         )
     );
 
-    sources.relativeFlux(fvc::interpolate(psi), phid);
+    fvOptions.relativeFlux(fvc::interpolate(psi), phid);
 
     while (pimple.correctNonOrthogonal())
     {
@@ -27,10 +27,10 @@ if (pimple.transonic())
           - fvm::laplacian(rho*rAU, p)
          ==
             parcels.Srho()
-          + sources(psi, p, rho.name())
+          + fvOptions(psi, p, rho.name())
         );
 
-        sources.constrain(pEqn);
+        fvOptions.constrain(pEqn);
 
         pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
 
@@ -52,7 +52,7 @@ else
         )
     );
 
-    sources.relativeFlux(fvc::interpolate(rho), phiHbyA);
+    fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
 
     while (pimple.correctNonOrthogonal())
     {
@@ -63,10 +63,10 @@ else
           - fvm::laplacian(rho*rAU, p)
          ==
             parcels.Srho()
-          + sources(psi, p, rho.name())
+          + fvOptions(psi, p, rho.name())
         );
 
-        sources.constrain(pEqn);
+        fvOptions.constrain(pEqn);
 
         pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
 
@@ -82,7 +82,7 @@ else
 
 U = HbyA - rAU*fvc::grad(p);
 U.correctBoundaryConditions();
-sources.correct(U);
+fvOptions.correct(U);
 K = 0.5*magSqr(U);
 
 if (thermo.dpdt())
diff --git a/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/sprayEngineFoam.C b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/sprayEngineFoam.C
index fd2df8b2ac2b498a603de038291fbc664e29a7d8..baafc8d5e3ff9625d987d0ae1c7d6d1a3e37abb7 100644
--- a/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/sprayEngineFoam.C
+++ b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/sprayEngineFoam.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
@@ -39,7 +39,7 @@ Description
 #include "radiationModel.H"
 #include "SLGThermo.H"
 #include "pimpleControl.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -51,7 +51,7 @@ int main(int argc, char *argv[])
     #include "createEngineMesh.H"
     #include "readGravitationalAcceleration.H"
     #include "createFields.H"
-    #include "createSources.H"
+    #include "createFvOptions.H"
     #include "createClouds.H"
     #include "createRadiationModel.H"
     #include "initContinuityErrs.H"
diff --git a/applications/solvers/lagrangian/sprayFoam/sprayFoam.C b/applications/solvers/lagrangian/sprayFoam/sprayFoam.C
index 243c9a6058678ec3baaf017d1ec9d22510b2d81a..1c93d3ab13e1c609cbc7b01068e6a4d438a119c2 100644
--- a/applications/solvers/lagrangian/sprayFoam/sprayFoam.C
+++ b/applications/solvers/lagrangian/sprayFoam/sprayFoam.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
@@ -37,7 +37,7 @@ Description
 #include "radiationModel.H"
 #include "SLGThermo.H"
 #include "pimpleControl.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -49,7 +49,7 @@ int main(int argc, char *argv[])
     #include "createMesh.H"
     #include "readGravitationalAcceleration.H"
     #include "createFields.H"
-    #include "createSources.H"
+    #include "createFvOptions.H"
     #include "createClouds.H"
     #include "createRadiationModel.H"
     #include "initContinuityErrs.H"
diff --git a/applications/solvers/multiphase/interFoam/LTSInterFoam/LTSInterFoam.C b/applications/solvers/multiphase/interFoam/LTSInterFoam/LTSInterFoam.C
index 208e1c03b28eecbea9ee5c0ea544ec208754c3dd..7580c3f9ac17fee77f35432ace060fd65c4470c2 100644
--- a/applications/solvers/multiphase/interFoam/LTSInterFoam/LTSInterFoam.C
+++ b/applications/solvers/multiphase/interFoam/LTSInterFoam/LTSInterFoam.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
@@ -45,7 +45,7 @@ Description
 #include "turbulenceModel.H"
 #include "fvcSmooth.H"
 #include "pimpleControl.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/applications/solvers/multiphase/interFoam/LTSInterFoam/Make/options b/applications/solvers/multiphase/interFoam/LTSInterFoam/Make/options
index 437d8c57f3258e709b00dc43dec1b3ff94d3a42c..b5c7b88e4f82a4f201b9b7e397402c11a2cd8fb9 100644
--- a/applications/solvers/multiphase/interFoam/LTSInterFoam/Make/options
+++ b/applications/solvers/multiphase/interFoam/LTSInterFoam/Make/options
@@ -6,7 +6,7 @@ EXE_INC = \
     -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 EXE_LIBS = \
@@ -18,5 +18,5 @@ EXE_LIBS = \
     -lincompressibleLESModels \
     -lfiniteVolume \
     -lmeshTools \
-    -lfieldSources \
+    -lfvOptions \
     -lsampling
diff --git a/applications/solvers/multiphase/interFoam/MRFInterFoam/MRFInterFoam.C b/applications/solvers/multiphase/interFoam/MRFInterFoam/MRFInterFoam.C
index 8950d265b0ada4c15abcd359698407a25c01ee01..99cc1dd8bd62bd46a76fcb44f3ff89b5a83d822c 100644
--- a/applications/solvers/multiphase/interFoam/MRFInterFoam/MRFInterFoam.C
+++ b/applications/solvers/multiphase/interFoam/MRFInterFoam/MRFInterFoam.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
@@ -44,7 +44,7 @@ Description
 #include "turbulenceModel.H"
 #include "IOMRFZoneList.H"
 #include "pimpleControl.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/applications/solvers/multiphase/interFoam/MRFInterFoam/Make/options b/applications/solvers/multiphase/interFoam/MRFInterFoam/Make/options
index 437d8c57f3258e709b00dc43dec1b3ff94d3a42c..b5c7b88e4f82a4f201b9b7e397402c11a2cd8fb9 100644
--- a/applications/solvers/multiphase/interFoam/MRFInterFoam/Make/options
+++ b/applications/solvers/multiphase/interFoam/MRFInterFoam/Make/options
@@ -6,7 +6,7 @@ EXE_INC = \
     -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 EXE_LIBS = \
@@ -18,5 +18,5 @@ EXE_LIBS = \
     -lincompressibleLESModels \
     -lfiniteVolume \
     -lmeshTools \
-    -lfieldSources \
+    -lfvOptions \
     -lsampling
diff --git a/applications/solvers/multiphase/interFoam/MRFInterFoam/UEqn.H b/applications/solvers/multiphase/interFoam/MRFInterFoam/UEqn.H
index 50f0e4fb91df1b05f1d77b417be25dfd3d04b13b..c0a9b615a0667b6455f9cd75c942ff2b1b493087 100644
--- a/applications/solvers/multiphase/interFoam/MRFInterFoam/UEqn.H
+++ b/applications/solvers/multiphase/interFoam/MRFInterFoam/UEqn.H
@@ -13,12 +13,12 @@
       - (fvc::grad(U) & fvc::grad(muEff))
     //- fvc::div(muEff*(fvc::interpolate(dev(fvc::grad(U))) & mesh.Sf()))
      ==
-        sources(rho, U)
+        fvOptions(rho, U)
     );
 
     mrfZones.addCoriolis(rho, UEqn);
     UEqn.relax();
-    sources.constrain(UEqn);
+    fvOptions.constrain(UEqn);
 
     if (pimple.momentumPredictor())
     {
diff --git a/applications/solvers/multiphase/interFoam/MRFInterFoam/pEqn.H b/applications/solvers/multiphase/interFoam/MRFInterFoam/pEqn.H
index 086f39cc3ac2c6fc84102eb677322c7f88359764..f5f349f227403235bdec6936159991aca8f6fc79 100644
--- a/applications/solvers/multiphase/interFoam/MRFInterFoam/pEqn.H
+++ b/applications/solvers/multiphase/interFoam/MRFInterFoam/pEqn.H
@@ -42,7 +42,7 @@
 
             U = HbyA + rAU*fvc::reconstruct((phig - p_rghEqn.flux())/rAUf);
             U.correctBoundaryConditions();
-            sources.correct(U);
+            fvOptions.correct(U);
         }
     }
 
diff --git a/applications/solvers/multiphase/interFoam/Make/options b/applications/solvers/multiphase/interFoam/Make/options
index 3791297ea0fcf9fc903b704e1ac46c9286fa2ac5..b87380d8a1e515abe6dc6a27d643ef0f21d1e43b 100644
--- a/applications/solvers/multiphase/interFoam/Make/options
+++ b/applications/solvers/multiphase/interFoam/Make/options
@@ -5,7 +5,7 @@ EXE_INC = \
     -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 EXE_LIBS = \
@@ -17,5 +17,5 @@ EXE_LIBS = \
     -lincompressibleLESModels \
     -lfiniteVolume \
     -lmeshTools \
-    -lfieldSources \
+    -lfvOptions \
     -lsampling
diff --git a/applications/solvers/multiphase/interFoam/createFields.H b/applications/solvers/multiphase/interFoam/createFields.H
index 17f31e6fc64ef0b0af664779455adb0eb67e9ff7..df1edf04e1e4c1ef7f1cf802d4645bbe2c0ca122 100644
--- a/applications/solvers/multiphase/interFoam/createFields.H
+++ b/applications/solvers/multiphase/interFoam/createFields.H
@@ -132,4 +132,4 @@
         p_rgh = p - rho*gh;
     }
 
-    IObasicSourceList sources(mesh);
+    fv::IOoptionList fvOptions(mesh);
diff --git a/applications/solvers/multiphase/interFoam/interDyMFoam/Make/options b/applications/solvers/multiphase/interFoam/interDyMFoam/Make/options
index b01465ff8c7047ee8139a48c73bc4022a8c5cbd7..4fa14dd6d22655aa1fe2a693c0055c1c9ca0662f 100644
--- a/applications/solvers/multiphase/interFoam/interDyMFoam/Make/options
+++ b/applications/solvers/multiphase/interFoam/interDyMFoam/Make/options
@@ -8,7 +8,7 @@ EXE_INC = \
     -I$(LIB_SRC)/dynamicMesh/lnInclude \
     -I$(LIB_SRC)/dynamicFvMesh/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 EXE_LIBS = \
@@ -23,5 +23,5 @@ EXE_LIBS = \
     -ldynamicFvMesh \
     -ltopoChangerFvMesh \
     -lmeshTools \
-    -lfieldSources \
+    -lfvOptions \
     -lsampling
diff --git a/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C b/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C
index 7304a7841f6560897992b80a6b2b02ce79908877..1a9d210e23dd3df76df9c29f3b6e977a34d482ef 100644
--- a/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C
+++ b/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.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
@@ -40,7 +40,7 @@ Description
 #include "twoPhaseMixture.H"
 #include "turbulenceModel.H"
 #include "pimpleControl.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/applications/solvers/multiphase/interFoam/interDyMFoam/pEqn.H b/applications/solvers/multiphase/interFoam/interDyMFoam/pEqn.H
index 84519dbcdd85115907eb2c2c862bf0d55a556521..6fa43309975ef16e2223cd26448ea72d7b0e8eec 100644
--- a/applications/solvers/multiphase/interFoam/interDyMFoam/pEqn.H
+++ b/applications/solvers/multiphase/interFoam/interDyMFoam/pEqn.H
@@ -48,7 +48,7 @@
 
             U = HbyA + rAU*fvc::reconstruct((phig - p_rghEqn.flux())/rAUf);
             U.correctBoundaryConditions();
-            sources.correct(U);
+            fvOptions.correct(U);
         }
     }
 
diff --git a/applications/solvers/multiphase/interFoam/interFoam.C b/applications/solvers/multiphase/interFoam/interFoam.C
index 0cca9e81e5fd46f148319720d39a4224b5d6c08b..53cc2719b93810902900bb6316a7d2a493fc6782 100644
--- a/applications/solvers/multiphase/interFoam/interFoam.C
+++ b/applications/solvers/multiphase/interFoam/interFoam.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
@@ -44,7 +44,7 @@ Description
 #include "twoPhaseMixture.H"
 #include "turbulenceModel.H"
 #include "pimpleControl.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/Make/options b/applications/solvers/multiphase/interFoam/interMixingFoam/Make/options
index aeaf998111eeea7c5eed92cf04a183cf2420a810..6c54b4454b840f8e0829378dedcbd0357cd67192 100644
--- a/applications/solvers/multiphase/interFoam/interMixingFoam/Make/options
+++ b/applications/solvers/multiphase/interFoam/interMixingFoam/Make/options
@@ -8,7 +8,7 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 EXE_LIBS = \
@@ -19,5 +19,5 @@ EXE_LIBS = \
     -lincompressibleLESModels \
     -lfiniteVolume \
     -lmeshTools \
-    -lfieldSources \
+    -lfvOptions \
     -lsampling
diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/createFields.H b/applications/solvers/multiphase/interFoam/interMixingFoam/createFields.H
index ae024d48077acef48cc527366f496ab56f1fd80e..a425d40e7f268bb2a6ae334ee3cf81eb22913856 100644
--- a/applications/solvers/multiphase/interFoam/interMixingFoam/createFields.H
+++ b/applications/solvers/multiphase/interFoam/interMixingFoam/createFields.H
@@ -166,4 +166,4 @@
         p_rgh = p - rho*gh;
     }
 
-    IObasicSourceList sources(mesh);
+    fv::IOoptionList fvOptions(mesh);
diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C b/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C
index dcb314025dfb631b1f0a450dbf6c41b7498c9850..1fb80a4b2c9dd40a8a2349dd9be4e973eeab02af 100644
--- a/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C
+++ b/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.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
@@ -37,7 +37,7 @@ Description
 #include "threePhaseInterfaceProperties.H"
 #include "turbulenceModel.H"
 #include "pimpleControl.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/applications/solvers/multiphase/interFoam/pEqn.H b/applications/solvers/multiphase/interFoam/pEqn.H
index 83341e02469ff2ae3a2f3ace6f6af6c12a6aef86..0ec531f0dd31504c0f2df970bc1071cc2e35a129 100644
--- a/applications/solvers/multiphase/interFoam/pEqn.H
+++ b/applications/solvers/multiphase/interFoam/pEqn.H
@@ -42,7 +42,7 @@
 
             U = HbyA + rAU*fvc::reconstruct((phig - p_rghEqn.flux())/rAUf);
             U.correctBoundaryConditions();
-            sources.correct(U);
+            fvOptions.correct(U);
         }
     }
 
diff --git a/applications/solvers/multiphase/interFoam/porousInterFoam/Make/options b/applications/solvers/multiphase/interFoam/porousInterFoam/Make/options
index 437d8c57f3258e709b00dc43dec1b3ff94d3a42c..b5c7b88e4f82a4f201b9b7e397402c11a2cd8fb9 100644
--- a/applications/solvers/multiphase/interFoam/porousInterFoam/Make/options
+++ b/applications/solvers/multiphase/interFoam/porousInterFoam/Make/options
@@ -6,7 +6,7 @@ EXE_INC = \
     -I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/fieldSources/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
 EXE_LIBS = \
@@ -18,5 +18,5 @@ EXE_LIBS = \
     -lincompressibleLESModels \
     -lfiniteVolume \
     -lmeshTools \
-    -lfieldSources \
+    -lfvOptions \
     -lsampling
diff --git a/applications/solvers/multiphase/interFoam/porousInterFoam/UEqn.H b/applications/solvers/multiphase/interFoam/porousInterFoam/UEqn.H
index e6e58b35e3c4bf4fd56aca8263f674cef450c117..f8dcecf6acfc5d02c575781734799b9357893b05 100644
--- a/applications/solvers/multiphase/interFoam/porousInterFoam/UEqn.H
+++ b/applications/solvers/multiphase/interFoam/porousInterFoam/UEqn.H
@@ -17,12 +17,12 @@
       - (fvc::grad(U) & fvc::grad(muEff))
     //- fvc::div(muEff*(fvc::interpolate(dev(fvc::grad(U))) & mesh.Sf()))
      ==
-        sources(rho, U)
+        fvOptions(rho, U)
     );
 
     UEqn.relax();
     pZones.addResistance(UEqn);
-    sources.constrain(UEqn);
+    fvOptions.constrain(UEqn);
 
     if (pimple.momentumPredictor())
     {
diff --git a/applications/solvers/multiphase/interFoam/porousInterFoam/porousInterFoam.C b/applications/solvers/multiphase/interFoam/porousInterFoam/porousInterFoam.C
index f32d6f3e6d991dbeb12bd6da9ab72820865a4fa3..ea1a15b03222b823fc93eed6ca22bfff3978bed4 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-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -46,7 +46,7 @@ Description
 #include "turbulenceModel.H"
 #include "IOporosityModelList.H"
 #include "pimpleControl.H"
-#include "IObasicSourceList.H"
+#include "fvIOoptionList.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //