From d2b84dc5116290bd82b6cf04139e11d72c14e69d Mon Sep 17 00:00:00 2001
From: andy <andy>
Date: Tue, 8 Jan 2013 09:38:01 +0000
Subject: [PATCH] ENH: Updated fieldSources->fvOptions for solvers

---
 .../basic/scalarTransportFoam/Make/options     |  4 ++--
 .../scalarTransportFoam/scalarTransportFoam.C  |  8 ++++----
 applications/solvers/combustion/XiFoam/EaEqn.H |  6 +++---
 .../solvers/combustion/XiFoam/EauEqn.H         |  6 +++---
 .../solvers/combustion/XiFoam/Make/options     |  4 ++--
 applications/solvers/combustion/XiFoam/UEqn.H  |  6 +++---
 .../solvers/combustion/XiFoam/XiFoam.C         |  6 +++---
 applications/solvers/combustion/XiFoam/bEqn.H  | 18 +++++++++---------
 applications/solvers/combustion/XiFoam/ftEqn.H |  6 +++---
 applications/solvers/combustion/XiFoam/pEqn.H  | 14 +++++++-------
 .../combustion/coldEngineFoam/Make/options     |  4 ++--
 .../combustion/coldEngineFoam/coldEngineFoam.C |  6 +++---
 .../solvers/combustion/engineFoam/Make/options |  4 ++--
 .../solvers/combustion/engineFoam/UEqn.H       |  4 ++--
 .../solvers/combustion/engineFoam/engineFoam.C |  6 +++---
 .../solvers/combustion/engineFoam/pEqn.H       | 14 +++++++-------
 .../solvers/combustion/fireFoam/Make/options   |  4 ++--
 .../solvers/combustion/fireFoam/UEqn.H         |  6 +++---
 .../solvers/combustion/fireFoam/YEEqn.H        | 12 ++++++------
 .../solvers/combustion/fireFoam/fireFoam.C     |  6 +++---
 .../solvers/combustion/fireFoam/pEqn.H         |  8 ++++----
 .../solvers/combustion/fireFoam/rhoEqn.H       |  8 ++++----
 .../solvers/combustion/reactingFoam/EEqn.H     |  6 +++---
 .../combustion/reactingFoam/Make/options       |  4 ++--
 .../solvers/combustion/reactingFoam/UEqn.H     |  6 +++---
 .../solvers/combustion/reactingFoam/YEqn.H     |  6 +++---
 .../solvers/combustion/reactingFoam/pEqn.H     | 14 +++++++-------
 .../combustion/reactingFoam/reactingFoam.C     |  6 +++---
 .../rhoReactingBuoyantFoam/Make/options        |  4 ++--
 .../reactingFoam/rhoReactingBuoyantFoam/UEqn.H |  6 +++---
 .../reactingFoam/rhoReactingBuoyantFoam/pEqn.H |  8 ++++----
 .../rhoReactingBuoyantFoam.C                   |  6 +++---
 .../reactingFoam/rhoReactingFoam/Make/options  |  4 ++--
 .../reactingFoam/rhoReactingFoam/pEqn.H        | 14 +++++++-------
 .../rhoReactingFoam/rhoReactingFoam.C          |  6 +++---
 .../solvers/compressible/rhoPimpleFoam/EEqn.H  |  6 +++---
 .../compressible/rhoPimpleFoam/Make/options    |  4 ++--
 .../solvers/compressible/rhoPimpleFoam/UEqn.H  |  6 +++---
 .../solvers/compressible/rhoPimpleFoam/pEqn.H  | 14 +++++++-------
 .../rhoLTSPimpleFoam/Make/options              |  4 ++--
 .../rhoLTSPimpleFoam/rhoLTSPimpleFoam.C        |  9 +++++----
 .../compressible/rhoPimpleFoam/rhoPimpleFoam.C |  6 +++---
 .../rhoPimpleFoam/rhoPimplecFoam/Make/options  |  4 ++--
 .../rhoPimpleFoam/rhoPimplecFoam/pEqn.H        | 12 ++++++------
 .../rhoPimplecFoam/rhoPimplecFoam.C            |  6 +++---
 .../solvers/compressible/rhoSimpleFoam/EEqn.H  |  6 +++---
 .../compressible/rhoSimpleFoam/Make/options    |  4 ++--
 .../solvers/compressible/rhoSimpleFoam/UEqn.H  |  6 +++---
 .../solvers/compressible/rhoSimpleFoam/pEqn.H  | 14 +++++++-------
 .../rhoSimpleFoam/rhoPorousSimpleFoam/EEqn.H   |  6 +++---
 .../rhoPorousSimpleFoam/Make/options           |  4 ++--
 .../rhoSimpleFoam/rhoPorousSimpleFoam/UEqn.H   | 12 ++++++------
 .../rhoSimpleFoam/rhoPorousSimpleFoam/pEqn.H   | 12 ++++++------
 .../rhoPorousSimpleFoam/rhoPorousSimpleFoam.C  |  6 +++---
 .../compressible/rhoSimpleFoam/rhoSimpleFoam.C |  6 +++---
 .../rhoSimpleFoam/rhoSimplecFoam/Make/options  |  4 ++--
 .../rhoSimpleFoam/rhoSimplecFoam/pEqn.H        | 12 ++++++------
 .../rhoSimplecFoam/rhoSimplecFoam.C            |  6 +++---
 .../heatTransfer/buoyantPimpleFoam/EEqn.H      |  6 +++---
 .../buoyantPimpleFoam/Make/options             |  4 ++--
 .../heatTransfer/buoyantPimpleFoam/UEqn.H      |  6 +++---
 .../buoyantPimpleFoam/buoyantPimpleFoam.C      |  6 +++---
 .../heatTransfer/buoyantPimpleFoam/pEqn.H      |  8 ++++----
 .../heatTransfer/buoyantSimpleFoam/EEqn.H      |  6 +++---
 .../buoyantSimpleFoam/Make/options             |  4 ++--
 .../heatTransfer/buoyantSimpleFoam/UEqn.H      |  6 +++---
 .../buoyantSimpleFoam/buoyantSimpleFoam.C      |  6 +++---
 .../heatTransfer/buoyantSimpleFoam/pEqn.H      |  4 ++--
 .../chtMultiRegionFoam/Make/options            |  4 ++--
 .../chtMultiRegionFoam/chtMultiRegionFoam.C    |  4 ++--
 .../chtMultiRegionSimpleFoam/Make/options      |  4 ++--
 .../chtMultiRegionSimpleFoam.C                 |  4 ++--
 .../chtMultiRegionSimpleFoam/fluid/EEqn.H      |  6 +++---
 .../chtMultiRegionSimpleFoam/fluid/UEqn.H      |  6 +++---
 .../fluid/createFluidFields.H                  |  8 ++++----
 .../chtMultiRegionSimpleFoam/fluid/pEqn.H      |  4 ++--
 .../fluid/setRegionFluidFields.H               |  2 +-
 .../solid/solveSolid.H                         |  6 +++---
 .../chtMultiRegionFoam/fluid/EEqn.H            |  6 +++---
 .../chtMultiRegionFoam/fluid/UEqn.H            |  6 +++---
 .../fluid/createFluidFields.H                  |  8 ++++----
 .../chtMultiRegionFoam/fluid/pEqn.H            |  4 ++--
 .../fluid/setRegionFluidFields.H               |  2 +-
 .../solid/createSolidFields.H                  |  6 +++---
 .../solid/setRegionSolidFields.H               |  2 +-
 .../chtMultiRegionFoam/solid/solveSolid.H      |  6 +++---
 .../incompressible/pimpleFoam/Make/options     |  4 ++--
 .../pimpleFoam/SRFPimpleFoam/Make/options      |  4 ++--
 .../pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C   |  6 +++---
 .../pimpleFoam/SRFPimpleFoam/UrelEqn.H         |  6 +++---
 .../pimpleFoam/SRFPimpleFoam/pEqn.H            |  4 ++--
 .../solvers/incompressible/pimpleFoam/UEqn.H   |  6 +++---
 .../solvers/incompressible/pimpleFoam/pEqn.H   |  4 ++--
 .../pimpleFoam/pimpleDyMFoam/Make/options      |  4 ++--
 .../pimpleFoam/pimpleDyMFoam/UEqn.H            |  6 +++---
 .../pimpleFoam/pimpleDyMFoam/pEqn.H            |  4 ++--
 .../pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C   |  6 +++---
 .../incompressible/pimpleFoam/pimpleFoam.C     |  8 ++++----
 .../potentialFreeSurfaceFoam/Make/options      |  4 ++--
 .../potentialFreeSurfaceFoam/UEqn.H            |  6 +++---
 .../potentialFreeSurfaceFoam/pEqn.H            |  4 ++--
 .../potentialFreeSurfaceFoam.C                 |  6 +++---
 .../incompressible/simpleFoam/Make/options     |  4 ++--
 .../simpleFoam/SRFSimpleFoam/Make/options      |  4 ++--
 .../simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C   |  6 +++---
 .../simpleFoam/SRFSimpleFoam/UrelEqn.H         |  6 +++---
 .../simpleFoam/SRFSimpleFoam/pEqn.H            |  2 +-
 .../solvers/incompressible/simpleFoam/UEqn.H   |  6 +++---
 .../solvers/incompressible/simpleFoam/pEqn.H   |  4 ++--
 .../simpleFoam/porousSimpleFoam/Make/options   |  4 ++--
 .../simpleFoam/porousSimpleFoam/UEqn.H         | 10 +++++-----
 .../simpleFoam/porousSimpleFoam/pEqn.H         |  2 +-
 .../porousSimpleFoam/porousSimpleFoam.C        |  6 +++---
 .../incompressible/simpleFoam/simpleFoam.C     |  6 +++---
 .../lagrangian/coalChemistryFoam/EEqn.H        |  6 +++---
 .../lagrangian/coalChemistryFoam/Make/options  |  4 ++--
 .../lagrangian/coalChemistryFoam/UEqn.H        |  6 +++---
 .../lagrangian/coalChemistryFoam/YEqn.H        |  6 +++---
 .../coalChemistryFoam/coalChemistryFoam.C      |  6 +++---
 .../lagrangian/coalChemistryFoam/pEqn.H        | 14 +++++++-------
 .../lagrangian/coalChemistryFoam/rhoEqn.H      |  8 ++++----
 .../lagrangian/reactingParcelFilmFoam/EEqn.H   |  6 +++---
 .../reactingParcelFilmFoam/Make/options        |  4 ++--
 .../lagrangian/reactingParcelFilmFoam/UEqn.H   |  6 +++---
 .../lagrangian/reactingParcelFilmFoam/YEqn.H   |  6 +++---
 .../lagrangian/reactingParcelFilmFoam/pEqn.H   |  8 ++++----
 .../reactingParcelFilmFoam.C                   |  6 +++---
 .../lagrangian/reactingParcelFilmFoam/rhoEqn.H |  8 ++++----
 .../lagrangian/reactingParcelFoam/EEqn.H       |  6 +++---
 .../LTSReactingParcelFoam.C                    | 10 +++++-----
 .../LTSReactingParcelFoam/Make/options         |  4 ++--
 .../LTSReactingParcelFoam/timeScales.H         |  4 ++--
 .../lagrangian/reactingParcelFoam/Make/options |  4 ++--
 .../lagrangian/reactingParcelFoam/UEqn.H       |  6 +++---
 .../lagrangian/reactingParcelFoam/YEqn.H       |  6 +++---
 .../lagrangian/reactingParcelFoam/pEqn.H       |  8 ++++----
 .../reactingParcelFoam/reactingParcelFoam.C    | 18 +++++-------------
 .../lagrangian/reactingParcelFoam/rhoEqn.H     |  8 ++++----
 .../solvers/lagrangian/sprayFoam/Make/options  |  4 ++--
 .../solvers/lagrangian/sprayFoam/UEqn.H        |  6 +++---
 .../solvers/lagrangian/sprayFoam/pEqn.H        | 14 +++++++-------
 .../solvers/lagrangian/sprayFoam/rhoEqn.H      |  8 ++++----
 .../sprayFoam/sprayEngineFoam/Make/options     |  4 ++--
 .../sprayFoam/sprayEngineFoam/pEqn.H           | 14 +++++++-------
 .../sprayEngineFoam/sprayEngineFoam.C          |  6 +++---
 .../solvers/lagrangian/sprayFoam/sprayFoam.C   |  6 +++---
 .../interFoam/LTSInterFoam/LTSInterFoam.C      |  4 ++--
 .../interFoam/LTSInterFoam/Make/options        |  4 ++--
 .../interFoam/MRFInterFoam/MRFInterFoam.C      |  4 ++--
 .../interFoam/MRFInterFoam/Make/options        |  4 ++--
 .../multiphase/interFoam/MRFInterFoam/UEqn.H   |  4 ++--
 .../multiphase/interFoam/MRFInterFoam/pEqn.H   |  2 +-
 .../solvers/multiphase/interFoam/Make/options  |  4 ++--
 .../multiphase/interFoam/createFields.H        |  2 +-
 .../interFoam/interDyMFoam/Make/options        |  4 ++--
 .../interFoam/interDyMFoam/interDyMFoam.C      |  4 ++--
 .../multiphase/interFoam/interDyMFoam/pEqn.H   |  2 +-
 .../solvers/multiphase/interFoam/interFoam.C   |  4 ++--
 .../interFoam/interMixingFoam/Make/options     |  4 ++--
 .../interFoam/interMixingFoam/createFields.H   |  2 +-
 .../interMixingFoam/interMixingFoam.C          |  4 ++--
 .../solvers/multiphase/interFoam/pEqn.H        |  2 +-
 .../interFoam/porousInterFoam/Make/options     |  4 ++--
 .../interFoam/porousInterFoam/UEqn.H           |  4 ++--
 .../porousInterFoam/porousInterFoam.C          |  4 ++--
 165 files changed, 497 insertions(+), 504 deletions(-)

diff --git a/applications/solvers/basic/scalarTransportFoam/Make/options b/applications/solvers/basic/scalarTransportFoam/Make/options
index e6fbbb80000..51402dfc993 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 deae96ea02b..3539ad3e308 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 2565e3f9e3a..c6cc5efc511 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 092cdc2a6d8..dd4c455518b 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 fdebdc8ce84..468cc1919ba 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 95f10bfcc96..60c2a8a71f7 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 bebbd49266f..84fac04820f 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 e10be7b6dfa..2c6000afd86 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 013e8b3180f..87bfaa97909 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 b5a6d173fbe..76cfbc4658b 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 2eaea744b0c..d688fb1e2df 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 3b229ded146..bd5e2c3b99d 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 c7b3219f2d7..fcbc3a4206f 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 a8b02072255..d35e71101cc 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 f11f677398e..592abbd3e67 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 b38d6dbf4b0..6bb80b1eaff 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 73804d82839..c243c07e3d6 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 81d90bd695e..205eb09156e 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 358e4953d1a..da485e73050 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 afe1b815e5e..14e46bef661 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 6101c9dd5db..4fa4799ff20 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 5cc780abb1d..45c93a1488b 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 c3f25da17d4..56ddf867e79 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 d29dc0ed9a0..15cf68cb5e1 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 95f10bfcc96..60c2a8a71f7 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 c9b4942a5ba..c8d34cf1d59 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 2ed1bc1ca56..9172736266b 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 5ebd3573a89..831df5c9a3e 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 0d1336e1ac9..bf015097e35 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 d9aca344a90..7d1a350e163 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 4fbe3b15a0d..9b5d81522a5 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 19356b0fe6a..19e9f96f512 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 0d1336e1ac9..bf015097e35 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 cb25d83662c..3fb6dfe45e4 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 fffbf485d8f..192fb74051a 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 712a3a9ab4d..ee2a95f2082 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 c96a146eca2..c25d7701488 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 daa25ac316b..1adabbc1f09 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 a656d772481..78f4ddb0316 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 2976366c08a..11053f31a95 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 f3d088b4d62..8f2943f84cf 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 a2b951de7c2..6c6c4e99ab4 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 c78d474b4fb..502938c53c0 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 aa3e615af6c..8a83efdd86b 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 c1c323e7abe..308a90e51af 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 7adacc8fd1b..56e78ff6308 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 741dc4f822b..4606400cbdf 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 c01b4d7984e..323af72fb2e 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 2782d206524..61917fcefd5 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 7adacc8fd1b..56e78ff6308 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 4ba7ed1f7d1..39d6f696eb5 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 e1c964a1793..9398c3e8d03 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 708449eb3d8..dd9723b9db1 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 55169f14419..628c1cabe4b 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 e0adb91773a..c0a6282a3e4 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 facff4ac649..cc82ba958d7 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 02300d8a9e9..3ff183f5671 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 be186ff319d..a7c9b2070b3 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 712a3a9ab4d..ee2a95f2082 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 6962643dcd6..192c63bff47 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 892de138bff..75f5e955fad 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 bac6d8d03e9..b1b6ceede26 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 99bef3a118b..92643394f9c 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 f84961f1811..cf7743817d6 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 5103b2dd72c..9e6e4f0455d 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 82e85ca563c..ccb13caf684 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 0b401c974c3..3d2c18e6684 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 2e6cbf3d47d..91d6eaf84e4 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 f5520125f78..06126f0bf86 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 7805adf8d76..48b28a07e49 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 7418bfd694e..ccd275ad87c 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 149a81a3a4b..d076652a1dd 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 01f2d322338..4ebeacb5bc1 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 e5ab958f109..212d7267974 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 cc5eda691d9..99f14113f37 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 fca08489123..3e566a21cf1 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 935b27d57ce..34aea7643e0 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 d0f5dbc656a..7573002af52 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 143ca3a7425..7f9f6021212 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 9c32ec054e1..35881bb544c 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 fbc39c85569..9afa705c113 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 2944c6aef06..58ee6ae1b4d 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 84a22048e42..867585f43a4 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 8edfe413bbb..df3915980b5 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 7e95615b14e..ad8894a6315 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 be24cc2ba08..86f23292e37 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 1be54a53a33..a597aafbc7f 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 5e77cdd21e4..7cdb6a55511 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 19b42eb4d53..1eb1edb5c12 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 4c5ec3c9a9c..6750d98f360 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 29f1c48c070..9b5b1a89a4d 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 94913478a60..7bd10afc473 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 9fc62bd9f13..1d133108d00 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 11c10272ffd..5cc44fea11a 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 c125d2ac2ae..7a7d604b484 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 d9a6f672a08..217304168b4 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 27fc93f341a..3f68ebbcd34 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 ceb186cdbf4..0ddfa64588c 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 1be54a53a33..a597aafbc7f 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 123eaf7ac63..4c84e256c0d 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 42b72484d1d..780bb280224 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 114c183c4c4..ca35e81116d 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 9ba4552938f..f9913bf0dd1 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 046cbd0baf6..cae6c88fed7 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 eab6907e8da..5387b736db0 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 265a7312695..75df41d00b6 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 e30ef7baaae..b9fa52c0ffb 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 719e294a081..0c5932ff2c2 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 116929e3ea9..79f4f560767 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 8ffc7f6d586..6cee67f66f7 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 3ce7e2f533d..31b817bf82c 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 7aa494744fe..b05a9fe270d 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 4c3563ac8f1..01c1dc16fb1 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 80bca738bdc..80521c39697 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 37ca5e82a48..19b7a0de0f1 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 adc629c4f2b..85cd3a4713a 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 3dee99c1c77..24d3a9ebb19 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 a5c39e84736..a719c83cd70 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 2197ae8d525..208b7b9ce98 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 0baee1ad302..03e9033edb3 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 5c37255fefd..564368f8a42 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 4abcdcf4414..6bbd7cc7884 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 a2d24b6d11d..e0aac8c5dbb 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 81d90bd695e..205eb09156e 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 615342c4364..b23f00dbf1e 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 bcdd3beca46..26c3a6f0625 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 80add60630f..65cfcb4516a 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 5cc780abb1d..45c93a1488b 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 57456fe791c..d4f9d7f6ac5 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 c0b75196073..991de15ad65 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 fad2ee86fad..9aa18479609 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 c1e9c202904..50ceb3b433f 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 572cd1fb2ce..705cfc9433f 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 11d4b27ef8e..6a12aae3bc7 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 b7e40dcc59f..fbcc0a0f657 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 569beae0586..fb2e125a581 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 c273f71856c..424c23b8b9c 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 6ad34d56c7e..581280230f9 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 bcbb2fb5cb8..9dce65d0235 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 11d4b27ef8e..6a12aae3bc7 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 9d95ee6dec5..590e00d81fc 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 ecda54ee833..f0fce23ccd1 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 d2d83e3920d..77034c9ef3b 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 d3435a81636..b7998b9e848 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 fd2df8b2ac2..baafc8d5e3f 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 243c9a60586..1c93d3ab13e 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 208e1c03b28..7580c3f9ac1 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 437d8c57f32..b5c7b88e4f8 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 8950d265b0a..99cc1dd8bd6 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 437d8c57f32..b5c7b88e4f8 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 50f0e4fb91d..c0a9b615a06 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 086f39cc3ac..f5f349f2274 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 3791297ea0f..b87380d8a1e 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 17f31e6fc64..df1edf04e1e 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 b01465ff8c7..4fa14dd6d22 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 7304a7841f6..1a9d210e23d 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 84519dbcdd8..6fa43309975 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 0cca9e81e5f..53cc2719b93 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 aeaf998111e..6c54b4454b8 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 ae024d48077..a425d40e7f2 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 dcb314025df..1fb80a4b2c9 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 83341e02469..0ec531f0dd3 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 437d8c57f32..b5c7b88e4f8 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 e6e58b35e3c..f8dcecf6acf 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 f32d6f3e6d9..ea1a15b0322 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"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-- 
GitLab