diff --git a/src/fieldSources/Make/files b/src/fieldSources/Make/files
index 5d7aa03a43706b735bc0aed31af3cb9d4dd64678..e4d2baa6a34e5d808341747887e3104810292533 100644
--- a/src/fieldSources/Make/files
+++ b/src/fieldSources/Make/files
@@ -1,7 +1,7 @@
-basicSource/basicSource.C
-basicSource/basicSourceIO.C
-basicSource/basicSourceList.C
-basicSource/IObasicSourceList.C
+fvOptions/fvOption.C
+fvOptions/fvOptionIO.C
+fvOptions/fvOptionList.C
+fvOptions/fvIOoptionList.C
 
 
 /* sources */
diff --git a/src/fieldSources/constraints/derived/fixedTemperatureConstraint/fixedTemperatureConstraint.C b/src/fieldSources/constraints/derived/fixedTemperatureConstraint/fixedTemperatureConstraint.C
index 9f26a261edcb9615c6f2884968ad8f703f2ad882..c0594704656cc756e606f8e843769297949ecc14 100644
--- a/src/fieldSources/constraints/derived/fixedTemperatureConstraint/fixedTemperatureConstraint.C
+++ b/src/fieldSources/constraints/derived/fixedTemperatureConstraint/fixedTemperatureConstraint.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
@@ -34,16 +34,19 @@ License
 
 namespace Foam
 {
-    defineTypeNameAndDebug(fixedTemperatureConstraint, 0);
-    addToRunTimeSelectionTable
-    (
-        basicSource,
-        fixedTemperatureConstraint,
-        dictionary
-    );
+    namespace fv
+    {
+        defineTypeNameAndDebug(fixedTemperatureConstraint, 0);
+        addToRunTimeSelectionTable
+        (
+            option,
+            fixedTemperatureConstraint,
+            dictionary
+        );
+    }
 
     template<>
-    const char* NamedEnum<fixedTemperatureConstraint::temperatureMode, 2>::
+    const char* NamedEnum<fv::fixedTemperatureConstraint::temperatureMode, 2>::
     names[] =
     {
         "uniform",
@@ -51,13 +54,13 @@ namespace Foam
     };
 }
 
-const Foam::NamedEnum<Foam::fixedTemperatureConstraint::temperatureMode, 2>
-    Foam::fixedTemperatureConstraint::temperatureModeNames_;
+const Foam::NamedEnum<Foam::fv::fixedTemperatureConstraint::temperatureMode, 2>
+    Foam::fv::fixedTemperatureConstraint::temperatureModeNames_;
 
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::fixedTemperatureConstraint::fixedTemperatureConstraint
+Foam::fv::fixedTemperatureConstraint::fixedTemperatureConstraint
 (
     const word& name,
     const word& modelType,
@@ -65,7 +68,7 @@ Foam::fixedTemperatureConstraint::fixedTemperatureConstraint
     const fvMesh& mesh
 )
 :
-    basicSource(name, modelType, dict, mesh),
+    option(name, modelType, dict, mesh),
     mode_(temperatureModeNames_.read(coeffs_.lookup("mode"))),
     Tuniform_(NULL),
     TName_("T")
@@ -99,13 +102,13 @@ Foam::fixedTemperatureConstraint::fixedTemperatureConstraint
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-bool Foam::fixedTemperatureConstraint::alwaysApply() const
+bool Foam::fv::fixedTemperatureConstraint::alwaysApply() const
 {
     return true;
 }
 
 
-void Foam::fixedTemperatureConstraint::setValue
+void Foam::fv::fixedTemperatureConstraint::setValue
 (
     fvMatrix<scalar>& eqn,
     const label
@@ -146,16 +149,16 @@ void Foam::fixedTemperatureConstraint::setValue
 }
 
 
-void Foam::fixedTemperatureConstraint::writeData(Ostream& os) const
+void Foam::fv::fixedTemperatureConstraint::writeData(Ostream& os) const
 {
     os  << indent << name_ << endl;
     dict_.write(os);
 }
 
 
-bool Foam::fixedTemperatureConstraint::read(const dictionary& dict)
+bool Foam::fv::fixedTemperatureConstraint::read(const dictionary& dict)
 {
-    if (basicSource::read(dict))
+    if (option::read(dict))
     {
         if (coeffs_.found(Tuniform_->name()))
         {
diff --git a/src/fieldSources/constraints/derived/fixedTemperatureConstraint/fixedTemperatureConstraint.H b/src/fieldSources/constraints/derived/fixedTemperatureConstraint/fixedTemperatureConstraint.H
index 33066b61df1f4365a328ce892e5aac4860482c61..0c8cf930c3d498610edf92098c7722adabc5700c 100644
--- a/src/fieldSources/constraints/derived/fixedTemperatureConstraint/fixedTemperatureConstraint.H
+++ b/src/fieldSources/constraints/derived/fixedTemperatureConstraint/fixedTemperatureConstraint.H
@@ -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
@@ -23,7 +23,7 @@ License
     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 
 Class
-    Foam::fixedTemperatureConstraint
+    Foam::fv::fixedTemperatureConstraint
 
 Description
     Fixed temperature equation constraint
@@ -46,14 +46,14 @@ Note:
     by means of the DataEntry type.
 
 SourceFiles
-    basicSource.C
+    fvOption.C
 
 \*---------------------------------------------------------------------------*/
 
 #ifndef fixedTemperatureConstraint_H
 #define fixedTemperatureConstraint_H
 
-#include "basicSource.H"
+#include "fvOption.H"
 #include "NamedEnum.H"
 #include "DataEntry.H"
 
@@ -61,6 +61,8 @@ SourceFiles
 
 namespace Foam
 {
+namespace fv
+{
 
 /*---------------------------------------------------------------------------*\
                  Class fixedTemperatureConstraint Declaration
@@ -68,7 +70,7 @@ namespace Foam
 
 class fixedTemperatureConstraint
 :
-    public basicSource
+    public option
 {
 
 public:
@@ -156,6 +158,7 @@ public:
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+} // End namespace fv
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/fieldSources/constraints/derived/temperatureLimitsConstraint/temperatureLimitsConstraint.C b/src/fieldSources/constraints/derived/temperatureLimitsConstraint/temperatureLimitsConstraint.C
index 5f4723702130bb41f1135dc007af1aa087020074..4dcf2249b0eea65ed6f2b90a6883a7a53231346c 100644
--- a/src/fieldSources/constraints/derived/temperatureLimitsConstraint/temperatureLimitsConstraint.C
+++ b/src/fieldSources/constraints/derived/temperatureLimitsConstraint/temperatureLimitsConstraint.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
@@ -32,19 +32,22 @@ License
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
 namespace Foam
+{
+namespace fv
 {
     defineTypeNameAndDebug(temperatureLimitsConstraint, 0);
     addToRunTimeSelectionTable
     (
-        basicSource,
+        option,
         temperatureLimitsConstraint,
         dictionary
     );
 }
+}
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::temperatureLimitsConstraint::temperatureLimitsConstraint
+Foam::fv::temperatureLimitsConstraint::temperatureLimitsConstraint
 (
     const word& name,
     const word& modelType,
@@ -52,7 +55,7 @@ Foam::temperatureLimitsConstraint::temperatureLimitsConstraint
     const fvMesh& mesh
 )
 :
-    basicSource(name, modelType, dict, mesh),
+    option(name, modelType, dict, mesh),
     Tmin_(readScalar(coeffs_.lookup("Tmin"))),
     Tmax_(readScalar(coeffs_.lookup("Tmax")))
 {
@@ -63,13 +66,13 @@ Foam::temperatureLimitsConstraint::temperatureLimitsConstraint
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-bool Foam::temperatureLimitsConstraint::alwaysApply() const
+bool Foam::fv::temperatureLimitsConstraint::alwaysApply() const
 {
     return true;
 }
 
 
-void Foam::temperatureLimitsConstraint::correct(volScalarField& he)
+void Foam::fv::temperatureLimitsConstraint::correct(volScalarField& he)
 {
     const basicThermo& thermo =
         mesh_.lookupObject<basicThermo>("thermophysicalProperties");
@@ -123,16 +126,16 @@ void Foam::temperatureLimitsConstraint::correct(volScalarField& he)
 }
 
 
-void Foam::temperatureLimitsConstraint::writeData(Ostream& os) const
+void Foam::fv::temperatureLimitsConstraint::writeData(Ostream& os) const
 {
     os  << indent << name_ << endl;
     dict_.write(os);
 }
 
 
-bool Foam::temperatureLimitsConstraint::read(const dictionary& dict)
+bool Foam::fv::temperatureLimitsConstraint::read(const dictionary& dict)
 {
-    if (basicSource::read(dict))
+    if (option::read(dict))
     {
         coeffs_.readIfPresent("Tmin", Tmin_);
         coeffs_.readIfPresent("Tmax", Tmax_);
diff --git a/src/fieldSources/constraints/derived/temperatureLimitsConstraint/temperatureLimitsConstraint.H b/src/fieldSources/constraints/derived/temperatureLimitsConstraint/temperatureLimitsConstraint.H
index 52a25564f471dd886471aaadce23a52243f511bc..cd69e81bda11e8fe57f19dc9d01fe7fa44dcd98d 100644
--- a/src/fieldSources/constraints/derived/temperatureLimitsConstraint/temperatureLimitsConstraint.H
+++ b/src/fieldSources/constraints/derived/temperatureLimitsConstraint/temperatureLimitsConstraint.H
@@ -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
@@ -23,7 +23,7 @@ License
     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 
 Class
-    Foam::temperatureLimitsConstraint
+    Foam::fv::temperatureLimitsConstraint
 
 Description
     Constraint for temperature to apply limits between minimum and maximum
@@ -39,19 +39,21 @@ Description
 
 
 SourceFiles
-    basicSource.C
+    fvOption.C
 
 \*---------------------------------------------------------------------------*/
 
 #ifndef temperatureLimitsConstraint_H
 #define temperatureLimitsConstraint_H
 
-#include "basicSource.H"
+#include "fvOption.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
 {
+namespace fv
+{
 
 /*---------------------------------------------------------------------------*\
                  Class temperatureLimitsConstraint Declaration
@@ -59,7 +61,7 @@ namespace Foam
 
 class temperatureLimitsConstraint
 :
-    public basicSource
+    public option
 {
 
 protected:
@@ -130,6 +132,7 @@ public:
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+} // End namespace fv
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/fieldSources/constraints/general/explicitSetValue/ExplicitSetValue.C b/src/fieldSources/constraints/general/explicitSetValue/ExplicitSetValue.C
index eb67c707e35bcca66f9cde25fc4b689958f40f65..0ccc05a9b9c3ad7a5a9c702083c68e6109b17da3 100644
--- a/src/fieldSources/constraints/general/explicitSetValue/ExplicitSetValue.C
+++ b/src/fieldSources/constraints/general/explicitSetValue/ExplicitSetValue.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
@@ -31,7 +31,7 @@ License
 // * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
 
 template<class Type>
-void Foam::ExplicitSetValue<Type>::setFieldData(const dictionary& dict)
+void Foam::fv::ExplicitSetValue<Type>::setFieldData(const dictionary& dict)
 {
     fieldNames_.setSize(dict.toc().size());
     injectionRate_.setSize(fieldNames_.size());
@@ -51,7 +51,7 @@ void Foam::ExplicitSetValue<Type>::setFieldData(const dictionary& dict)
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 template<class Type>
-Foam::ExplicitSetValue<Type>::ExplicitSetValue
+Foam::fv::ExplicitSetValue<Type>::ExplicitSetValue
 (
     const word& name,
     const word& modelType,
@@ -59,7 +59,7 @@ Foam::ExplicitSetValue<Type>::ExplicitSetValue
     const fvMesh& mesh
 )
 :
-    basicSource(name, modelType, dict, mesh),
+    option(name, modelType, dict, mesh),
     injectionRate_()
 {
     read(dict);
@@ -69,7 +69,7 @@ Foam::ExplicitSetValue<Type>::ExplicitSetValue
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
 template<class Type>
-void Foam::ExplicitSetValue<Type>::setValue
+void Foam::fv::ExplicitSetValue<Type>::setValue
 (
     fvMatrix<Type>& eqn,
     const label fieldI
diff --git a/src/fieldSources/constraints/general/explicitSetValue/ExplicitSetValue.H b/src/fieldSources/constraints/general/explicitSetValue/ExplicitSetValue.H
index 653029340ba088d69bac55f63f4301571adde02f..52ec13a68e6e7a01c273f713617961eed416c8f3 100644
--- a/src/fieldSources/constraints/general/explicitSetValue/ExplicitSetValue.H
+++ b/src/fieldSources/constraints/general/explicitSetValue/ExplicitSetValue.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
@@ -22,7 +22,7 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::explicitSetValue
+    Foam::fv::explicitSetValue
 
 Description
     Set values field values explicity.
@@ -41,7 +41,7 @@ Description
     \endverbatim
 
 SeeAlso
-    Foam::basicSource
+    Foam::fvOption
 
 SourceFiles
     explicitSetValue.C
@@ -51,13 +51,15 @@ SourceFiles
 #ifndef ExplicitSetValue_H
 #define ExplicitSetValue_H
 
-#include "basicSource.H"
+#include "fvOption.H"
 #include "Tuple2.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
 {
+namespace fv
+{
 
 /*---------------------------------------------------------------------------*\
                        Class explicitSetValue Declaration
@@ -66,7 +68,7 @@ namespace Foam
 template<class Type>
 class ExplicitSetValue
 :
-    public basicSource
+    public option
 {
 
 protected:
@@ -121,6 +123,7 @@ public:
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+} // End namespace fv
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/fieldSources/constraints/general/explicitSetValue/ExplicitSetValueIO.C b/src/fieldSources/constraints/general/explicitSetValue/ExplicitSetValueIO.C
index f5c14c2fcc9301165f57506ab0bb6ea739acd35d..2df213772f5262d17bbdb4eff8ca5082fb67dded 100644
--- a/src/fieldSources/constraints/general/explicitSetValue/ExplicitSetValueIO.C
+++ b/src/fieldSources/constraints/general/explicitSetValue/ExplicitSetValueIO.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
@@ -28,7 +28,7 @@ License
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
 template<class Type>
-void Foam::ExplicitSetValue<Type>::writeData(Ostream& os) const
+void Foam::fv::ExplicitSetValue<Type>::writeData(Ostream& os) const
 {
     os  << indent << name_ << endl;
     dict_.write(os);
@@ -36,9 +36,9 @@ void Foam::ExplicitSetValue<Type>::writeData(Ostream& os) const
 
 
 template<class Type>
-bool Foam::ExplicitSetValue<Type>::read(const dictionary& dict)
+bool Foam::fv::ExplicitSetValue<Type>::read(const dictionary& dict)
 {
-    if (basicSource::read(dict))
+    if (option::read(dict))
     {
         setFieldData(coeffs_.subDict("injectionRate"));
         return true;
diff --git a/src/fieldSources/constraints/general/explicitSetValue/explicitSetValue.C b/src/fieldSources/constraints/general/explicitSetValue/explicitSetValue.C
index e968c127ef768ba49692c719992af70b09776c2d..d3420bef8dcbcb9539fd899817e4c266686c99bf 100644
--- a/src/fieldSources/constraints/general/explicitSetValue/explicitSetValue.C
+++ b/src/fieldSources/constraints/general/explicitSetValue/explicitSetValue.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
@@ -23,18 +23,21 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "makeBasicSource.H"
+#include "makeFvOption.H"
 #include "ExplicitSetValue.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
 {
-    makeBasicSource(ExplicitSetValue, scalar);
-    makeBasicSource(ExplicitSetValue, vector);
-    makeBasicSource(ExplicitSetValue, sphericalTensor);
-    makeBasicSource(ExplicitSetValue, symmTensor);
-    makeBasicSource(ExplicitSetValue, tensor);
+namespace fv
+{
+    makeFvOption(ExplicitSetValue, scalar);
+    makeFvOption(ExplicitSetValue, vector);
+    makeFvOption(ExplicitSetValue, sphericalTensor);
+    makeFvOption(ExplicitSetValue, symmTensor);
+    makeFvOption(ExplicitSetValue, tensor);
+}
 }
 
 
diff --git a/src/fieldSources/include/createFvOptions.H b/src/fieldSources/include/createFvOptions.H
index 53bac8179731219a372e14acedef25820744c62f..3b190c2459b831930bee1ae87c52201e1b30262e 100644
--- a/src/fieldSources/include/createFvOptions.H
+++ b/src/fieldSources/include/createFvOptions.H
@@ -1,2 +1,2 @@
-Info<< "Creating sources" << endl;
-IObasicSourceList sources(mesh);
+Info<< "Creating finite volume options" << endl;
+fv::IOoptionList fvOptions(mesh);
diff --git a/src/fieldSources/sources/derived/MRFSource/MRFSource.C b/src/fieldSources/sources/derived/MRFSource/MRFSource.C
index 3b0582a2327f881a08174e07d429cd06bf18d238..1ab4c39fb18bd8de3cedec0b0fb0265236893025 100644
--- a/src/fieldSources/sources/derived/MRFSource/MRFSource.C
+++ b/src/fieldSources/sources/derived/MRFSource/MRFSource.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
@@ -33,19 +33,22 @@ License
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
 namespace Foam
+{
+namespace fv
 {
     defineTypeNameAndDebug(MRFSource, 0);
     addToRunTimeSelectionTable
     (
-        basicSource,
+        option,
         MRFSource,
         dictionary
     );
 }
+}
 
 // * * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * //
 
-void Foam::MRFSource::initialise()
+void Foam::fv::MRFSource::initialise()
 {
     if (selectionMode_ != smCellZone)
     {
@@ -77,7 +80,7 @@ void Foam::MRFSource::initialise()
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::MRFSource::MRFSource
+Foam::fv::MRFSource::MRFSource
 (
     const word& name,
     const word& modelType,
@@ -85,7 +88,7 @@ Foam::MRFSource::MRFSource
     const fvMesh& mesh
 )
 :
-    basicSource(name, modelType, dict, mesh),
+    option(name, modelType, dict, mesh),
     mrfPtr_(NULL),
     UName_(coeffs_.lookupOrDefault<word>("UName", "U")),
     rhoName_(coeffs_.lookupOrDefault<word>("rhoName", "rho"))
@@ -96,7 +99,7 @@ Foam::MRFSource::MRFSource
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-void Foam::MRFSource::addSup
+void Foam::fv::MRFSource::addSup
 (
     fvMatrix<vector>& eqn,
     const label fieldI
@@ -118,13 +121,13 @@ void Foam::MRFSource::addSup
 }
 
 
-void Foam::MRFSource::relativeFlux(surfaceScalarField& phi) const
+void Foam::fv::MRFSource::relativeFlux(surfaceScalarField& phi) const
 {
     mrfPtr_->relativeFlux(phi);
 }
 
 
-void Foam::MRFSource::relativeFlux
+void Foam::fv::MRFSource::relativeFlux
 (
     const surfaceScalarField& rho,
     surfaceScalarField& phi
@@ -134,13 +137,13 @@ void Foam::MRFSource::relativeFlux
 }
 
 
-void Foam::MRFSource::absoluteFlux(surfaceScalarField& phi) const
+void Foam::fv::MRFSource::absoluteFlux(surfaceScalarField& phi) const
 {
     mrfPtr_->absoluteFlux(phi);
 }
 
 
-void Foam::MRFSource::absoluteFlux
+void Foam::fv::MRFSource::absoluteFlux
 (
     const surfaceScalarField& rho,
     surfaceScalarField& phi
@@ -150,16 +153,16 @@ void Foam::MRFSource::absoluteFlux
 }
 
 
-void Foam::MRFSource::writeData(Ostream& os) const
+void Foam::fv::MRFSource::writeData(Ostream& os) const
 {
     os  << indent << name_ << endl;
     dict_.write(os);
 }
 
 
-bool Foam::MRFSource::read(const dictionary& dict)
+bool Foam::fv::MRFSource::read(const dictionary& dict)
 {
-    if (basicSource::read(dict))
+    if (option::read(dict))
     {
         coeffs_.readIfPresent("UName", UName_);
         coeffs_.readIfPresent("rhoName", rhoName_);
diff --git a/src/fieldSources/sources/derived/MRFSource/MRFSource.H b/src/fieldSources/sources/derived/MRFSource/MRFSource.H
index 1742ac301104e65ce5343b3733fb538715f2ea76..f2a84dee302657c3838064a3a2b8db76511b5781 100644
--- a/src/fieldSources/sources/derived/MRFSource/MRFSource.H
+++ b/src/fieldSources/sources/derived/MRFSource/MRFSource.H
@@ -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
@@ -23,7 +23,7 @@ License
     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 
 Class
-    Foam::MRFSource
+    Foam::fv::MRFSource
 
 Description
     Multiple Reference Frame (MRF) source
@@ -45,7 +45,7 @@ SourceFiles
 #ifndef MRFSource_H
 #define MRFSource_H
 
-#include "basicSource.H"
+#include "fvOption.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -54,13 +54,16 @@ namespace Foam
 
 class MRFZone;
 
+namespace fv
+{
+
 /*---------------------------------------------------------------------------*\
                           Class MRFSource Declaration
 \*---------------------------------------------------------------------------*/
 
 class MRFSource
 :
-    public basicSource
+    public option
 {
 
 protected:
@@ -164,6 +167,7 @@ public:
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+} // End namespace fv
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/fieldSources/sources/derived/actuationDiskSource/actuationDiskSource.C b/src/fieldSources/sources/derived/actuationDiskSource/actuationDiskSource.C
index d20266d7cc3592267049efc919720105af9655c8..a84cdc21540e80cad3c2e2eb0d842adb26719540 100644
--- a/src/fieldSources/sources/derived/actuationDiskSource/actuationDiskSource.C
+++ b/src/fieldSources/sources/derived/actuationDiskSource/actuationDiskSource.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,49 +26,52 @@ License
 
 #include "actuationDiskSource.H"
 #include "fvMesh.H"
-#include "fvMatrices.H"
+#include "fvMatrix.H"
 #include "geometricOneField.H"
 #include "addToRunTimeSelectionTable.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
 namespace Foam
+{
+namespace fv
 {
     defineTypeNameAndDebug(actuationDiskSource, 0);
     addToRunTimeSelectionTable
     (
-        basicSource,
+        option,
         actuationDiskSource,
         dictionary
     );
 }
+}
 
 
 // * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
-void Foam::actuationDiskSource::checkData() const
+void Foam::fv::actuationDiskSource::checkData() const
 {
     if (magSqr(diskArea_) <= VSMALL)
     {
-        FatalErrorIn("Foam::actuationDiskSource::checkData()")
+        FatalErrorIn("Foam::fv::actuationDiskSource::checkData()")
            << "diskArea is approximately zero"
            << exit(FatalIOError);
     }
     if (Cp_ <= VSMALL || Ct_ <= VSMALL)
     {
-        FatalErrorIn("Foam::actuationDiskSource::checkData()")
+        FatalErrorIn("Foam::fv::actuationDiskSource::checkData()")
            << "Cp and Ct must be greater than zero"
            << exit(FatalIOError);
     }
     if (mag(diskDir_) < VSMALL)
     {
-        FatalErrorIn("Foam::actuationDiskSource::checkData()")
+        FatalErrorIn("Foam::fv::actuationDiskSource::checkData()")
            << "disk direction vector is approximately zero"
            << exit(FatalIOError);
     }
     if (returnReduce(upstreamCellId_, maxOp<label>()) == -1)
     {
-        FatalErrorIn("Foam::actuationDiskSource::checkData()")
+        FatalErrorIn("Foam::fv::actuationDiskSource::checkData()")
            << "upstream location " << upstreamPoint_  << " not found in mesh"
            << exit(FatalIOError);
     }
@@ -77,7 +80,7 @@ void Foam::actuationDiskSource::checkData() const
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::actuationDiskSource::actuationDiskSource
+Foam::fv::actuationDiskSource::actuationDiskSource
 (
     const word& name,
     const word& modelType,
@@ -85,7 +88,7 @@ Foam::actuationDiskSource::actuationDiskSource
     const fvMesh& mesh
 )
 :
-    basicSource(name, modelType, dict, mesh),
+    option(name, modelType, dict, mesh),
     diskDir_(coeffs_.lookup("diskDir")),
     Cp_(readScalar(coeffs_.lookup("Cp"))),
     Ct_(readScalar(coeffs_.lookup("Ct"))),
@@ -107,7 +110,7 @@ Foam::actuationDiskSource::actuationDiskSource
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-void Foam::actuationDiskSource::addSup
+void Foam::fv::actuationDiskSource::addSup
 (
     fvMatrix<vector>& eqn,
     const label fieldI
@@ -151,16 +154,16 @@ void Foam::actuationDiskSource::addSup
 }
 
 
-void Foam::actuationDiskSource::writeData(Ostream& os) const
+void Foam::fv::actuationDiskSource::writeData(Ostream& os) const
 {
     os  << indent << name_ << endl;
     dict_.write(os);
 }
 
 
-bool Foam::actuationDiskSource::read(const dictionary& dict)
+bool Foam::fv::actuationDiskSource::read(const dictionary& dict)
 {
-    if (basicSource::read(dict))
+    if (option::read(dict))
     {
         coeffs_.readIfPresent("diskDir", diskDir_);
         coeffs_.readIfPresent("Cp", Cp_);
diff --git a/src/fieldSources/sources/derived/actuationDiskSource/actuationDiskSource.H b/src/fieldSources/sources/derived/actuationDiskSource/actuationDiskSource.H
index d7609fa093106a743b5f8336943956068fe98ce2..ca6734402db4e2f6d46f5d9548883aded4054587 100644
--- a/src/fieldSources/sources/derived/actuationDiskSource/actuationDiskSource.H
+++ b/src/fieldSources/sources/derived/actuationDiskSource/actuationDiskSource.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
@@ -23,7 +23,7 @@ License
     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 
 Class
-    Foam::actuationDiskSource
+    Foam::fv::actuationDiskSource
 
 Description
     Actuation disk source
@@ -61,12 +61,14 @@ SourceFiles
 #ifndef actuationDiskSource_H
 #define actuationDiskSource_H
 
-#include "basicSource.H"
+#include "fvOption.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
 {
+namespace fv
+{
 
 /*---------------------------------------------------------------------------*\
                      Class actuationDiskSource Declaration
@@ -74,7 +76,7 @@ namespace Foam
 
 class actuationDiskSource
 :
-    public basicSource
+    public option
 {
 
 protected:
@@ -195,6 +197,7 @@ public:
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+} // End namespace fv
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/fieldSources/sources/derived/actuationDiskSource/actuationDiskSourceTemplates.C b/src/fieldSources/sources/derived/actuationDiskSource/actuationDiskSourceTemplates.C
index 1efb261c68d9354ad7f0d3d67f87323719330cfa..d38a0e48e6910a1e78d857c0f91f799b353f7ccb 100644
--- a/src/fieldSources/sources/derived/actuationDiskSource/actuationDiskSourceTemplates.C
+++ b/src/fieldSources/sources/derived/actuationDiskSource/actuationDiskSourceTemplates.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,13 +26,11 @@ License
 
 #include "actuationDiskSource.H"
 #include "volFields.H"
-#include "fvMatrix.H"
-#include "fvm.H"
 
 // * * * * * * * * * * * * * * *  Member Functions * * * * * * * * * * * * * //
 
 template<class RhoFieldType>
-void Foam::actuationDiskSource::addActuationDiskAxialInertialResistance
+void Foam::fv::actuationDiskSource::addActuationDiskAxialInertialResistance
 (
     vectorField& Usource,
     const labelList& cells,
diff --git a/src/fieldSources/sources/derived/explicitPorositySource/explicitPorositySource.C b/src/fieldSources/sources/derived/explicitPorositySource/explicitPorositySource.C
index 9c5eeb17ca6d63d2a0fd2a442fca9d5d9b39968c..87c5268eeda8e6700b9b34d8ac53c7bff7c4c0b6 100644
--- a/src/fieldSources/sources/derived/explicitPorositySource/explicitPorositySource.C
+++ b/src/fieldSources/sources/derived/explicitPorositySource/explicitPorositySource.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
@@ -33,23 +33,26 @@ License
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
 namespace Foam
+{
+namespace fv
 {
     defineTypeNameAndDebug(explicitPorositySource, 0);
     addToRunTimeSelectionTable
     (
-        basicSource,
+        option,
         explicitPorositySource,
         dictionary
     );
 }
+}
 
 // * * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * //
 
-void Foam::explicitPorositySource::initialise()
+void Foam::fv::explicitPorositySource::initialise()
 {
     if (selectionMode_ != smCellZone)
     {
-        FatalErrorIn("void Foam::explicitPorositySource::initialise()")
+        FatalErrorIn("void Foam::fv::explicitPorositySource::initialise()")
             << "The porosity region must be specified as a cellZone.  Current "
             << "selection mode is " << selectionModeTypeNames_[selectionMode_]
             << exit(FatalError);
@@ -73,7 +76,7 @@ void Foam::explicitPorositySource::initialise()
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::explicitPorositySource::explicitPorositySource
+Foam::fv::explicitPorositySource::explicitPorositySource
 (
     const word& name,
     const word& modelType,
@@ -81,7 +84,7 @@ Foam::explicitPorositySource::explicitPorositySource
     const fvMesh& mesh
 )
 :
-    basicSource(name, modelType, dict, mesh),
+    option(name, modelType, dict, mesh),
     porosityPtr_(NULL),
     UName_(coeffs_.lookupOrDefault<word>("UName", "U")),
     rhoName_(coeffs_.lookupOrDefault<word>("rhoName", "rho")),
@@ -93,7 +96,7 @@ Foam::explicitPorositySource::explicitPorositySource
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-void Foam::explicitPorositySource::addSup
+void Foam::fv::explicitPorositySource::addSup
 (
     fvMatrix<vector>& eqn,
     const label fieldI
@@ -118,16 +121,16 @@ void Foam::explicitPorositySource::addSup
 }
 
 
-void Foam::explicitPorositySource::writeData(Ostream& os) const
+void Foam::fv::explicitPorositySource::writeData(Ostream& os) const
 {
     os  << indent << name_ << endl;
     dict_.write(os);
 }
 
 
-bool Foam::explicitPorositySource::read(const dictionary& dict)
+bool Foam::fv::explicitPorositySource::read(const dictionary& dict)
 {
-    if (basicSource::read(dict))
+    if (option::read(dict))
     {
         coeffs_.readIfPresent("UName", UName_);
         coeffs_.readIfPresent("rhoName", rhoName_);
diff --git a/src/fieldSources/sources/derived/explicitPorositySource/explicitPorositySource.H b/src/fieldSources/sources/derived/explicitPorositySource/explicitPorositySource.H
index 30fc6c90da7bf0757fc4387201969bb90a5ead6a..2bd602ac1f4b41205ad964cefe23df6082c02cf4 100644
--- a/src/fieldSources/sources/derived/explicitPorositySource/explicitPorositySource.H
+++ b/src/fieldSources/sources/derived/explicitPorositySource/explicitPorositySource.H
@@ -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
@@ -23,7 +23,7 @@ License
     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 
 Class
-    Foam::explicitPorositySource
+    Foam::fv::explicitPorositySource
 
 Description
     Explicit porosity source
@@ -57,7 +57,7 @@ SourceFiles
 #ifndef explicitPorositySource_H
 #define explicitPorositySource_H
 
-#include "basicSource.H"
+#include "fvOption.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -66,13 +66,17 @@ namespace Foam
 
 class porosityModel;
 
+namespace fv
+{
+
+
 /*---------------------------------------------------------------------------*\
                    Class explicitPorositySource Declaration
 \*---------------------------------------------------------------------------*/
 
 class explicitPorositySource
 :
-    public basicSource
+    public option
 {
 
 protected:
@@ -157,6 +161,7 @@ public:
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+} // End namespace fv
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/fieldSources/sources/derived/interRegionHeatTransferModel/constantHeatTransfer/constantHeatTransfer.C b/src/fieldSources/sources/derived/interRegionHeatTransferModel/constantHeatTransfer/constantHeatTransfer.C
index d81e32adbe958e1b6b0433575fd903c9db469bf4..ce570f48df67f842c26754ee74f060ec0ba49272 100644
--- a/src/fieldSources/sources/derived/interRegionHeatTransferModel/constantHeatTransfer/constantHeatTransfer.C
+++ b/src/fieldSources/sources/derived/interRegionHeatTransferModel/constantHeatTransfer/constantHeatTransfer.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
@@ -25,27 +25,29 @@ License
 
 #include "constantHeatTransfer.H"
 #include "fvm.H"
-#include "IObasicSourceList.H"
 #include "addToRunTimeSelectionTable.H"
 #include "fvcVolumeIntegrate.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
 namespace Foam
+{
+namespace fv
 {
     defineTypeNameAndDebug(constantHeatTransfer, 0);
     addToRunTimeSelectionTable
     (
-        basicSource,
+        option,
         constantHeatTransfer,
         dictionary
     );
 }
+}
 
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::constantHeatTransfer::constantHeatTransfer
+Foam::fv::constantHeatTransfer::constantHeatTransfer
 (
     const word& name,
     const word& modelType,
@@ -99,20 +101,20 @@ Foam::constantHeatTransfer::constantHeatTransfer
 
 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
 
-Foam::constantHeatTransfer::~constantHeatTransfer()
+Foam::fv::constantHeatTransfer::~constantHeatTransfer()
 {}
 
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-const Foam::tmp<Foam::volScalarField>Foam::constantHeatTransfer::
-calculateHtc()
+const Foam::tmp<Foam::volScalarField>
+Foam::fv::constantHeatTransfer::calculateHtc()
 {
     return htc_;
 }
 
 
-void Foam::constantHeatTransfer::writeData(Ostream& os) const
+void Foam::fv::constantHeatTransfer::writeData(Ostream& os) const
 {
     os  << indent << token::BEGIN_BLOCK << incrIndent << nl;
     interRegionHeatTransferModel::writeData(os);
@@ -125,9 +127,9 @@ void Foam::constantHeatTransfer::writeData(Ostream& os) const
 }
 
 
-bool Foam::constantHeatTransfer::read(const dictionary& dict)
+bool Foam::fv::constantHeatTransfer::read(const dictionary& dict)
 {
-    if (basicSource::read(dict))
+    if (option::read(dict))
     {
         return true;
     }
@@ -138,4 +140,4 @@ bool Foam::constantHeatTransfer::read(const dictionary& dict)
 }
 
 
-// ************************************************************************* //
\ No newline at end of file
+// ************************************************************************* //
diff --git a/src/fieldSources/sources/derived/interRegionHeatTransferModel/constantHeatTransfer/constantHeatTransfer.H b/src/fieldSources/sources/derived/interRegionHeatTransferModel/constantHeatTransfer/constantHeatTransfer.H
index d2383496b21d4a35a08864d88c6171e1b86f5847..4aeb12a79e0c9c3e3f2cdd90ecf7628c0334d059 100644
--- a/src/fieldSources/sources/derived/interRegionHeatTransferModel/constantHeatTransfer/constantHeatTransfer.H
+++ b/src/fieldSources/sources/derived/interRegionHeatTransferModel/constantHeatTransfer/constantHeatTransfer.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
@@ -22,7 +22,7 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::constantHeatTransfer
+    Foam::fv::constantHeatTransfer
 
 Description
     Constant heat transfer model. htCoeffs [W/m2/K] and area [m2] must be
@@ -40,8 +40,11 @@ Description
 
 namespace Foam
 {
+namespace fv
+{
+
 /*---------------------------------------------------------------------------*\
-                        Class constantHeatTransfer Declaration
+                    Class constantHeatTransfer Declaration
 \*---------------------------------------------------------------------------*/
 
 class constantHeatTransfer
@@ -94,17 +97,16 @@ public:
 
             //- Read dictionary
             virtual bool read(const dictionary& dict) ;
-
 };
 
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+} // End namespace fv
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-
 #endif
 
 // ************************************************************************* //
diff --git a/src/fieldSources/sources/derived/interRegionHeatTransferModel/interRegionHeatTransferModel/interRegionHeatTransferModel.C b/src/fieldSources/sources/derived/interRegionHeatTransferModel/interRegionHeatTransferModel/interRegionHeatTransferModel.C
index fd3f1b4475a351023afb57d93f0324f7e47a948b..763c2dc026a747f3a9668cdee8680b4baa4ba0cc 100644
--- a/src/fieldSources/sources/derived/interRegionHeatTransferModel/interRegionHeatTransferModel/interRegionHeatTransferModel.C
+++ b/src/fieldSources/sources/derived/interRegionHeatTransferModel/interRegionHeatTransferModel/interRegionHeatTransferModel.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,32 +26,32 @@ License
 #include "interRegionHeatTransferModel.H"
 #include "fluidThermo.H"
 #include "fvm.H"
-#include "IObasicSourceList.H"
 #include "zeroGradientFvPatchFields.H"
 #include "fvcVolumeIntegrate.H"
+#include "fvOptionList.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
 namespace Foam
+{
+namespace fv
 {
     defineTypeNameAndDebug(interRegionHeatTransferModel, 0);
-};
+}
+}
 
 
 // * * * * * * * * * * * *  Private member functions * * * * * * * * * * * //
 
-void Foam::interRegionHeatTransferModel::check()
+void Foam::fv::interRegionHeatTransferModel::check()
 {
     const fvMesh& secondaryMesh =
-            mesh_.time().lookupObject<fvMesh>(mapRegionName_);
+        mesh_.time().lookupObject<fvMesh>(mapRegionName_);
 
-    const basicSourceList& IObsl =
-        secondaryMesh.lookupObject<basicSourceList>
-        (
-            "sourcesProperties"
-        );
+    const optionList& IObsl =
+        secondaryMesh.lookupObject<optionList>("sourcesProperties");
 
-    const PtrList<basicSource>& bsl = IObsl;
+    const PtrList<option>& bsl = IObsl;
 
     bool secSourceFound(false);
 
@@ -70,10 +70,8 @@ void Foam::interRegionHeatTransferModel::check()
 
     if (!secSourceFound)
     {
-        FatalErrorIn
-        (
-            "constantHeatTransfer::interRegionHeatTransferModel::check()"
-        )   << "Secondary source name not found" << secondarySourceName_
+        FatalErrorIn("interRegionHeatTransferModel::check()")
+            << "Secondary source name not found" << secondarySourceName_
             << " in region " << secondaryMesh.name()
             << nl
             << exit(FatalError);
@@ -83,7 +81,7 @@ void Foam::interRegionHeatTransferModel::check()
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::interRegionHeatTransferModel::interRegionHeatTransferModel
+Foam::fv::interRegionHeatTransferModel::interRegionHeatTransferModel
 (
     const word& name,
     const word& modelType,
@@ -91,7 +89,7 @@ Foam::interRegionHeatTransferModel::interRegionHeatTransferModel
     const fvMesh& mesh
 )
 :
-    basicSource(name, modelType, dict, mesh),
+    option(name, modelType, dict, mesh),
     secIrht_(),
     firstIter_(true),
     htc_
@@ -121,13 +119,13 @@ Foam::interRegionHeatTransferModel::interRegionHeatTransferModel
 
 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
 
-Foam::interRegionHeatTransferModel::~interRegionHeatTransferModel()
+Foam::fv::interRegionHeatTransferModel::~interRegionHeatTransferModel()
 {}
 
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-void Foam::interRegionHeatTransferModel::addSup
+void Foam::fv::interRegionHeatTransferModel::addSup
 (
     fvMatrix<scalar>& eEqn,
     const label fieldI
@@ -234,7 +232,7 @@ void Foam::interRegionHeatTransferModel::addSup
 }
 
 
-void Foam::interRegionHeatTransferModel::writeData(Ostream& os) const
+void Foam::fv::interRegionHeatTransferModel::writeData(Ostream& os) const
 {
     os.writeKeyword("name") << this->name() << token::END_STATEMENT << nl;
     os.writeKeyword("mapRegionName") << mapRegionName_
@@ -254,9 +252,9 @@ void Foam::interRegionHeatTransferModel::writeData(Ostream& os) const
 }
 
 
-bool Foam::interRegionHeatTransferModel::read(const dictionary& dict)
+bool Foam::fv::interRegionHeatTransferModel::read(const dictionary& dict)
 {
-    if (basicSource::read(dict))
+    if (option::read(dict))
     {
         return true;
     }
diff --git a/src/fieldSources/sources/derived/interRegionHeatTransferModel/interRegionHeatTransferModel/interRegionHeatTransferModel.H b/src/fieldSources/sources/derived/interRegionHeatTransferModel/interRegionHeatTransferModel/interRegionHeatTransferModel.H
index ae843d9ab9323a44cdd255b1afd09318e7e7acbe..69c92408ea30847222b1996ed534320b6f77acec 100644
--- a/src/fieldSources/sources/derived/interRegionHeatTransferModel/interRegionHeatTransferModel/interRegionHeatTransferModel.H
+++ b/src/fieldSources/sources/derived/interRegionHeatTransferModel/interRegionHeatTransferModel/interRegionHeatTransferModel.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
@@ -22,7 +22,7 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::interRegionHeatTransferModel
+    Foam::fv::interRegionHeatTransferModel
 
 Description
     Base class for inter region heat exchange. The derived classes must
@@ -33,7 +33,7 @@ Description
 #ifndef interRegionHeatTransferModel_H
 #define interRegionHeatTransferModel_H
 
-#include "basicSource.H"
+#include "fvOption.H"
 #include "volFields.H"
 
 
@@ -41,6 +41,8 @@ Description
 
 namespace Foam
 {
+namespace fv
+{
 
 /*---------------------------------------------------------------------------*\
                 Class interRegionHeatTransferModel Declaration
@@ -48,7 +50,7 @@ namespace Foam
 
 class interRegionHeatTransferModel
 :
-    public basicSource
+    public option
 {
 
 private:
@@ -129,9 +131,9 @@ public:
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+} // End namespace fv
 } // End namespace Foam
 
-
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 #endif
 
diff --git a/src/fieldSources/sources/derived/interRegionHeatTransferModel/tabulatedHeatTransfer/tabulatedHeatTransfer.C b/src/fieldSources/sources/derived/interRegionHeatTransferModel/tabulatedHeatTransfer/tabulatedHeatTransfer.C
index b06ff1aaabb92cabbbeb47135e34617561228384..c8d97dd69329d45ce2ee593f081bd73561708ad9 100644
--- a/src/fieldSources/sources/derived/interRegionHeatTransferModel/tabulatedHeatTransfer/tabulatedHeatTransfer.C
+++ b/src/fieldSources/sources/derived/interRegionHeatTransferModel/tabulatedHeatTransfer/tabulatedHeatTransfer.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
@@ -31,20 +31,23 @@ License
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
 namespace Foam
+{
+namespace fv
 {
     defineTypeNameAndDebug(tabulatedHeatTransfer, 0);
     addToRunTimeSelectionTable
     (
-        basicSource,
+        option,
         tabulatedHeatTransfer,
         dictionary
     );
 }
+}
 
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::tabulatedHeatTransfer::tabulatedHeatTransfer
+Foam::fv::tabulatedHeatTransfer::tabulatedHeatTransfer
 (
     const word& name,
     const word& modelType,
@@ -86,15 +89,15 @@ Foam::tabulatedHeatTransfer::tabulatedHeatTransfer
 
 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
 
-Foam::tabulatedHeatTransfer::~tabulatedHeatTransfer()
+Foam::fv::tabulatedHeatTransfer::~tabulatedHeatTransfer()
 {}
 
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
 
-const Foam::tmp<Foam::volScalarField>Foam::tabulatedHeatTransfer::
-calculateHtc()
+const Foam::tmp<Foam::volScalarField>
+Foam::fv::tabulatedHeatTransfer::calculateHtc()
 {
     const fvMesh& secondaryMesh =
         mesh_.time().lookupObject<fvMesh>(mapRegionName());
@@ -126,7 +129,7 @@ calculateHtc()
 }
 
 
-void Foam::tabulatedHeatTransfer::writeData(Ostream& os) const
+void Foam::fv::tabulatedHeatTransfer::writeData(Ostream& os) const
 {
     os  << indent << token::BEGIN_BLOCK << incrIndent << nl;
     interRegionHeatTransferModel::writeData(os);
@@ -139,9 +142,9 @@ void Foam::tabulatedHeatTransfer::writeData(Ostream& os) const
 }
 
 
-bool Foam::tabulatedHeatTransfer::read(const dictionary& dict)
+bool Foam::fv::tabulatedHeatTransfer::read(const dictionary& dict)
 {
-    if (basicSource::read(dict))
+    if (option::read(dict))
     {
         return true;
     }
@@ -152,4 +155,4 @@ bool Foam::tabulatedHeatTransfer::read(const dictionary& dict)
 }
 
 
-// ************************************************************************* //
\ No newline at end of file
+// ************************************************************************* //
diff --git a/src/fieldSources/sources/derived/interRegionHeatTransferModel/tabulatedHeatTransfer/tabulatedHeatTransfer.H b/src/fieldSources/sources/derived/interRegionHeatTransferModel/tabulatedHeatTransfer/tabulatedHeatTransfer.H
index b792a2f4bf2cb805ffa55420a7e671fd79c15c07..d1ece93d8bf0e1ade7d543e37e700590e296aecc 100644
--- a/src/fieldSources/sources/derived/interRegionHeatTransferModel/tabulatedHeatTransfer/tabulatedHeatTransfer.H
+++ b/src/fieldSources/sources/derived/interRegionHeatTransferModel/tabulatedHeatTransfer/tabulatedHeatTransfer.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
@@ -22,7 +22,7 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::tabulatedHeatTransfer
+    Foam::fv::tabulatedHeatTransfer
 
 Description
     Tabulated heat transfer model. The heat exchange area must be
@@ -42,6 +42,9 @@ Description
 
 namespace Foam
 {
+namespace fv
+{
+
 /*---------------------------------------------------------------------------*\
                     Class tabulatedHeatTransfer Declaration
 \*---------------------------------------------------------------------------*/
@@ -102,6 +105,7 @@ public:
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+} // End namespace fv
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/fieldSources/sources/derived/interRegionHeatTransferModel/variableHeatTransfer/variableHeatTransfer.C b/src/fieldSources/sources/derived/interRegionHeatTransferModel/variableHeatTransfer/variableHeatTransfer.C
index 1c4c78a5eb501d6ba6b05b1ae35f98a9dde0596a..253b7a4065f8b125b0b2f49afcec7ff81e6efe86 100644
--- a/src/fieldSources/sources/derived/interRegionHeatTransferModel/variableHeatTransfer/variableHeatTransfer.C
+++ b/src/fieldSources/sources/derived/interRegionHeatTransferModel/variableHeatTransfer/variableHeatTransfer.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
@@ -24,27 +24,29 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "variableHeatTransfer.H"
-#include "IObasicSourceList.H"
 #include "turbulenceModel.H"
 #include "addToRunTimeSelectionTable.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
 namespace Foam
+{
+namespace fv
 {
     defineTypeNameAndDebug(variableHeatTransfer, 0);
     addToRunTimeSelectionTable
     (
-        basicSource,
+        option,
         variableHeatTransfer,
         dictionary
     );
 }
+}
 
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::variableHeatTransfer::variableHeatTransfer
+Foam::fv::variableHeatTransfer::variableHeatTransfer
 (
     const word& name,
     const word& modelType,
@@ -88,17 +90,16 @@ Foam::variableHeatTransfer::variableHeatTransfer
 
 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
 
-Foam::variableHeatTransfer::~variableHeatTransfer()
+Foam::fv::variableHeatTransfer::~variableHeatTransfer()
 {}
 
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
 
-const Foam::tmp<Foam::volScalarField> Foam::variableHeatTransfer::
-calculateHtc()
+const Foam::tmp<Foam::volScalarField>
+Foam::fv::variableHeatTransfer::calculateHtc()
 {
-
     const fvMesh& secondaryMesh =
         mesh_.time().lookupObject<fvMesh>(mapRegionName());
 
@@ -140,7 +141,7 @@ calculateHtc()
 }
 
 
-void Foam::variableHeatTransfer::writeData(Ostream& os) const
+void Foam::fv::variableHeatTransfer::writeData(Ostream& os) const
 {
     os  << indent << token::BEGIN_BLOCK << incrIndent << nl;
     interRegionHeatTransferModel::writeData(os);
@@ -159,9 +160,9 @@ void Foam::variableHeatTransfer::writeData(Ostream& os) const
 }
 
 
-bool Foam::variableHeatTransfer::read(const dictionary& dict)
+bool Foam::fv::variableHeatTransfer::read(const dictionary& dict)
 {
-    if (basicSource::read(dict))
+    if (option::read(dict))
     {
 
         const dictionary& sourceDict = dict.subDict(name());
diff --git a/src/fieldSources/sources/derived/interRegionHeatTransferModel/variableHeatTransfer/variableHeatTransfer.H b/src/fieldSources/sources/derived/interRegionHeatTransferModel/variableHeatTransfer/variableHeatTransfer.H
index 491264155696b7d802095ca490d31ffe14d9308c..cf65c5eda88f74f7596f67040c5fcc3633bfec4c 100644
--- a/src/fieldSources/sources/derived/interRegionHeatTransferModel/variableHeatTransfer/variableHeatTransfer.H
+++ b/src/fieldSources/sources/derived/interRegionHeatTransferModel/variableHeatTransfer/variableHeatTransfer.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
@@ -22,7 +22,7 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::variableHeatTransfer
+    Foam::fv::variableHeatTransfer
 
 Description
     Variable heat transfer model depending on local values. The area of contact
@@ -30,13 +30,13 @@ Description
 
         Nu = a*pow(Re, b)*pow(Pr, c)
 
-        and the heat transfer coefficient as:
+    and the heat transfer coefficient as:
 
         htc = Nu*K/ds
 
-        where:
-            K is the heat conduction
-            ds is the strut diameter
+    where:
+        K is the heat conduction
+        ds is the strut diameter
 
 \*---------------------------------------------------------------------------*/
 
@@ -50,8 +50,11 @@ Description
 
 namespace Foam
 {
+namespace fv
+{
+
 /*---------------------------------------------------------------------------*\
-                        Class variableHeatTransfer Declaration
+                    Class variableHeatTransfer Declaration
 \*---------------------------------------------------------------------------*/
 
 class variableHeatTransfer
@@ -80,7 +83,7 @@ private:
 public:
 
     //- Runtime type information
-        TypeName("variableHeatTransfer");
+    TypeName("variableHeatTransfer");
 
 
     // Constructors
@@ -112,17 +115,16 @@ public:
 
             //- Read dictionary
             virtual bool read(const dictionary& dict) ;
-
 };
 
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+} // End namespace fv
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-
 #endif
 
 // ************************************************************************* //
diff --git a/src/fieldSources/sources/derived/pressureGradientExplicitSource/pressureGradientExplicitSource.C b/src/fieldSources/sources/derived/pressureGradientExplicitSource/pressureGradientExplicitSource.C
index d506bdb19ee391d1bc253262c6ecbf3778579e15..896b78478534a3f305edc29f63dfe80633215600 100644
--- a/src/fieldSources/sources/derived/pressureGradientExplicitSource/pressureGradientExplicitSource.C
+++ b/src/fieldSources/sources/derived/pressureGradientExplicitSource/pressureGradientExplicitSource.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
@@ -32,21 +32,27 @@ License
 // * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * //
 
 namespace Foam
+{
+namespace fv
 {
     defineTypeNameAndDebug(pressureGradientExplicitSource, 0);
 
     addToRunTimeSelectionTable
     (
-        basicSource,
+        option,
         pressureGradientExplicitSource,
         dictionary
     );
 }
+}
 
 
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
-void Foam::pressureGradientExplicitSource::writeProps(const scalar gradP) const
+void Foam::fv::pressureGradientExplicitSource::writeProps
+(
+    const scalar gradP
+) const
 {
     // Only write on output time
     if (mesh_.time().outputTime())
@@ -71,7 +77,7 @@ void Foam::pressureGradientExplicitSource::writeProps(const scalar gradP) const
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::pressureGradientExplicitSource::pressureGradientExplicitSource
+Foam::fv::pressureGradientExplicitSource::pressureGradientExplicitSource
 (
     const word& sourceName,
     const word& modelType,
@@ -79,7 +85,7 @@ Foam::pressureGradientExplicitSource::pressureGradientExplicitSource
     const fvMesh& mesh
 )
 :
-    basicSource(sourceName, modelType, dict, mesh),
+    option(sourceName, modelType, dict, mesh),
     Ubar_(coeffs_.lookup("Ubar")),
     gradP0_(0.0),
     dGradP_(0.0),
@@ -92,7 +98,7 @@ Foam::pressureGradientExplicitSource::pressureGradientExplicitSource
     {
         FatalErrorIn
         (
-            "Foam::pressureGradientExplicitSource::"
+            "Foam::fv::pressureGradientExplicitSource::"
             "pressureGradientExplicitSource"
             "("
                 "const word&, "
@@ -125,7 +131,7 @@ Foam::pressureGradientExplicitSource::pressureGradientExplicitSource
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-void Foam::pressureGradientExplicitSource::correct(volVectorField& U)
+void Foam::fv::pressureGradientExplicitSource::correct(volVectorField& U)
 {
     const scalarField& rAU = invAPtr_().internalField();
 
@@ -169,7 +175,7 @@ void Foam::pressureGradientExplicitSource::correct(volVectorField& U)
 }
 
 
-void Foam::pressureGradientExplicitSource::addSup
+void Foam::fv::pressureGradientExplicitSource::addSup
 (
     fvMatrix<vector>& eqn,
     const label fieldI
@@ -197,7 +203,7 @@ void Foam::pressureGradientExplicitSource::addSup
 }
 
 
-void Foam::pressureGradientExplicitSource::setValue
+void Foam::fv::pressureGradientExplicitSource::setValue
 (
     fvMatrix<vector>& eqn,
     const label
diff --git a/src/fieldSources/sources/derived/pressureGradientExplicitSource/pressureGradientExplicitSource.H b/src/fieldSources/sources/derived/pressureGradientExplicitSource/pressureGradientExplicitSource.H
index 72ed2d7cf5635d34256fcc6ec9a4c9af14ba0e7b..47a48a24c04a8a810645e01104f6256525af8361 100644
--- a/src/fieldSources/sources/derived/pressureGradientExplicitSource/pressureGradientExplicitSource.H
+++ b/src/fieldSources/sources/derived/pressureGradientExplicitSource/pressureGradientExplicitSource.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
@@ -22,7 +22,7 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::pressureGradientExplicitSource
+    Foam::fv::pressureGradientExplicitSource
 
 Description
     Creates a pressure gradient source
@@ -53,12 +53,14 @@ SourceFiles
 #include "cellSet.H"
 #include "fvMesh.H"
 #include "volFields.H"
-#include "basicSource.H"
+#include "fvOption.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
 {
+namespace fv
+{
 
 /*---------------------------------------------------------------------------*\
                Class pressureGradientExplicitSource Declaration
@@ -66,7 +68,7 @@ namespace Foam
 
 class pressureGradientExplicitSource
 :
-    public basicSource
+    public option
 {
     // Private data
 
@@ -149,6 +151,7 @@ public:
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+} // End namespace fv
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/fieldSources/sources/derived/pressureGradientExplicitSource/pressureGradientExplicitSourceIO.C b/src/fieldSources/sources/derived/pressureGradientExplicitSource/pressureGradientExplicitSourceIO.C
index 96a6257042d28d19b3d1f038d9effeb6b02f3bc3..ff639d776b7672a2ce40dfdab8b241459555362e 100644
--- a/src/fieldSources/sources/derived/pressureGradientExplicitSource/pressureGradientExplicitSourceIO.C
+++ b/src/fieldSources/sources/derived/pressureGradientExplicitSource/pressureGradientExplicitSourceIO.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,11 +27,11 @@ License
 
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
-void Foam::pressureGradientExplicitSource::writeData(Ostream& os) const
+void Foam::fv::pressureGradientExplicitSource::writeData(Ostream& os) const
 {
     notImplemented
     (
-        "void Foam::pressureGradientExplicitSource::writeData"
+        "void Foam::fv::pressureGradientExplicitSource::writeData"
         "("
             "Ostream&"
         ") const"
@@ -39,11 +39,11 @@ void Foam::pressureGradientExplicitSource::writeData(Ostream& os) const
 }
 
 
-bool Foam::pressureGradientExplicitSource::read(const dictionary& dict)
+bool Foam::fv::pressureGradientExplicitSource::read(const dictionary& dict)
 {
     notImplemented
     (
-        "bool Foam::pressureGradientExplicitSource::read"
+        "bool Foam::fv::pressureGradientExplicitSource::read"
         "("
             "const dictionary&"
         ") const"
diff --git a/src/fieldSources/sources/derived/radialActuationDiskSource/radialActuationDiskSource.C b/src/fieldSources/sources/derived/radialActuationDiskSource/radialActuationDiskSource.C
index 3564cbfe101601d049008d13257233278ef2335f..e5316f35519add8d467fdfedd9eb14a3fca98119 100644
--- a/src/fieldSources/sources/derived/radialActuationDiskSource/radialActuationDiskSource.C
+++ b/src/fieldSources/sources/derived/radialActuationDiskSource/radialActuationDiskSource.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
@@ -31,20 +31,22 @@ License
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
 namespace Foam
+{
+namespace fv
 {
     defineTypeNameAndDebug(radialActuationDiskSource, 0);
     addToRunTimeSelectionTable
     (
-        basicSource,
+        option,
         radialActuationDiskSource,
         dictionary
     );
 }
-
+}
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::radialActuationDiskSource::radialActuationDiskSource
+Foam::fv::radialActuationDiskSource::radialActuationDiskSource
 (
     const word& name,
     const word& modelType,
@@ -61,7 +63,7 @@ Foam::radialActuationDiskSource::radialActuationDiskSource
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-void Foam::radialActuationDiskSource::addSup
+void Foam::fv::radialActuationDiskSource::addSup
 (
     fvMatrix<vector>& eqn,
     const label fieldI
@@ -105,15 +107,15 @@ void Foam::radialActuationDiskSource::addSup
 }
 
 
-void Foam::radialActuationDiskSource::writeData(Ostream& os) const
+void Foam::fv::radialActuationDiskSource::writeData(Ostream& os) const
 {
     actuationDiskSource::writeData(os);
 }
 
 
-bool Foam::radialActuationDiskSource::read(const dictionary& dict)
+bool Foam::fv::radialActuationDiskSource::read(const dictionary& dict)
 {
-    if (basicSource::read(dict))
+    if (option::read(dict))
     {
         coeffs_.readIfPresent("diskDir", diskDir_);
         coeffs_.readIfPresent("Cp", Cp_);
diff --git a/src/fieldSources/sources/derived/radialActuationDiskSource/radialActuationDiskSource.H b/src/fieldSources/sources/derived/radialActuationDiskSource/radialActuationDiskSource.H
index 9b05c7141a06d0620a69b005954670a0d1af7591..02a2970e8c812cb806c11bec24719c172ccbc317 100644
--- a/src/fieldSources/sources/derived/radialActuationDiskSource/radialActuationDiskSource.H
+++ b/src/fieldSources/sources/derived/radialActuationDiskSource/radialActuationDiskSource.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
@@ -23,7 +23,7 @@ License
     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 
 Class
-    Foam::radialActuationDiskSource
+    Foam::fv::radialActuationDiskSource
 
 Description
     Actuation disk zone definition.
@@ -73,6 +73,8 @@ SourceFiles
 
 namespace Foam
 {
+namespace fv
+{
 
 /*---------------------------------------------------------------------------*\
                   Class radialActuationDiskSource Declaration
@@ -131,24 +133,25 @@ public:
     {}
 
 
-        // Public Functions
+    // Member Functions
 
-            //- Source term to fvMatrix<vector>
-            virtual void addSup(fvMatrix<vector>& eqn, const label fieldI);
+        //- Source term to fvMatrix<vector>
+        virtual void addSup(fvMatrix<vector>& eqn, const label fieldI);
 
 
-        // I-O
+    // I-O
 
-            //- Write data
-            virtual void writeData(Ostream&) const;
+        //- Write data
+        virtual void writeData(Ostream&) const;
 
-            //- Read dictionary
-            virtual bool read(const dictionary& dict);
+        //- Read dictionary
+        virtual bool read(const dictionary& dict);
 };
 
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+} // End namespace fv
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/fieldSources/sources/derived/radialActuationDiskSource/radialActuationDiskSourceTemplates.C b/src/fieldSources/sources/derived/radialActuationDiskSource/radialActuationDiskSourceTemplates.C
index 086d8472fecc35ff7190dc2d0a539930824d00a8..f9e1a894b60df6c6150b250a3b3a2d7a7f17dcdd 100644
--- a/src/fieldSources/sources/derived/radialActuationDiskSource/radialActuationDiskSourceTemplates.C
+++ b/src/fieldSources/sources/derived/radialActuationDiskSource/radialActuationDiskSourceTemplates.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 @@ License
 // * * * * * * * * * * * * * * *  Member Functions * * * * * * * * * * * * * //
 
 template<class RhoFieldType>
-void Foam::radialActuationDiskSource::
+void Foam::fv::radialActuationDiskSource::
 addRadialActuationDiskAxialInertialResistance
 (
     vectorField& Usource,
diff --git a/src/fieldSources/sources/derived/rotorDiskSource/profileModel/profileModel.H b/src/fieldSources/sources/derived/rotorDiskSource/profileModel/profileModel.H
index d419fe8f8b568d6d8d95e9df10c287ce511d3d78..d5817f092f759c7a289b8fa51671a3665e045e98 100644
--- a/src/fieldSources/sources/derived/rotorDiskSource/profileModel/profileModel.H
+++ b/src/fieldSources/sources/derived/rotorDiskSource/profileModel/profileModel.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
@@ -93,7 +93,7 @@ public:
 
     // Selectors
 
-        //- Return a reference to the selected basicSource model
+        //- Return a reference to the selected fvOption model
         static autoPtr<profileModel> New(const dictionary& dict);
 
 
diff --git a/src/fieldSources/sources/derived/rotorDiskSource/rotorDiskSource.C b/src/fieldSources/sources/derived/rotorDiskSource/rotorDiskSource.C
index 2b73a471f48ad3fbf57a8dd97645ae1cc6ba51f6..070ce02518dd6f14cdff2e90d840969fdb80a45a 100644
--- a/src/fieldSources/sources/derived/rotorDiskSource/rotorDiskSource.C
+++ b/src/fieldSources/sources/derived/rotorDiskSource/rotorDiskSource.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,20 +37,23 @@ using namespace Foam::constant;
 
 namespace Foam
 {
-    defineTypeNameAndDebug(rotorDiskSource, 0);
-    addToRunTimeSelectionTable(basicSource, rotorDiskSource, dictionary);
+    namespace fv
+    {
+        defineTypeNameAndDebug(rotorDiskSource, 0);
+        addToRunTimeSelectionTable(option, rotorDiskSource, dictionary);
+    }
 
-    template<> const char* NamedEnum<rotorDiskSource::geometryModeType, 2>::
+    template<> const char* NamedEnum<fv::rotorDiskSource::geometryModeType, 2>::
         names[] =
     {
         "auto",
         "specified"
     };
 
-    const NamedEnum<rotorDiskSource::geometryModeType, 2>
-        rotorDiskSource::geometryModeTypeNames_;
+    const NamedEnum<fv::rotorDiskSource::geometryModeType, 2>
+        fv::rotorDiskSource::geometryModeTypeNames_;
 
-    template<> const char* NamedEnum<rotorDiskSource::inletFlowType, 3>::
+    template<> const char* NamedEnum<fv::rotorDiskSource::inletFlowType, 3>::
         names[] =
     {
         "fixed",
@@ -58,14 +61,14 @@ namespace Foam
         "local"
     };
 
-    const NamedEnum<rotorDiskSource::inletFlowType, 3>
-        rotorDiskSource::inletFlowTypeNames_;
+    const NamedEnum<fv::rotorDiskSource::inletFlowType, 3>
+        fv::rotorDiskSource::inletFlowTypeNames_;
 }
 
 
 // * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
 
-void Foam::rotorDiskSource::checkData()
+void Foam::fv::rotorDiskSource::checkData()
 {
     // set inflow type
     switch (selectionMode())
@@ -122,7 +125,7 @@ void Foam::rotorDiskSource::checkData()
 }
 
 
-void Foam::rotorDiskSource::setFaceArea(vector& axis, const bool correct)
+void Foam::fv::rotorDiskSource::setFaceArea(vector& axis, const bool correct)
 {
     area_ = 0.0;
 
@@ -235,7 +238,7 @@ void Foam::rotorDiskSource::setFaceArea(vector& axis, const bool correct)
 }
 
 
-void Foam::rotorDiskSource::createCoordinateSystem()
+void Foam::fv::rotorDiskSource::createCoordinateSystem()
 {
     // construct the local rotor co-prdinate system
     vector origin(vector::zero);
@@ -348,7 +351,7 @@ void Foam::rotorDiskSource::createCoordinateSystem()
 }
 
 
-void Foam::rotorDiskSource::constructGeometry()
+void Foam::fv::rotorDiskSource::constructGeometry()
 {
     const vectorField& C = mesh_.C();
 
@@ -382,7 +385,7 @@ void Foam::rotorDiskSource::constructGeometry()
 }
 
 
-Foam::tmp<Foam::vectorField> Foam::rotorDiskSource::inflowVelocity
+Foam::tmp<Foam::vectorField> Foam::fv::rotorDiskSource::inflowVelocity
 (
     const volVectorField& U
 ) const
@@ -410,7 +413,7 @@ Foam::tmp<Foam::vectorField> Foam::rotorDiskSource::inflowVelocity
             FatalErrorIn
             (
                 "Foam::tmp<Foam::vectorField> "
-                "Foam::rotorDiskSource::inflowVelocity"
+                "Foam::fv::rotorDiskSource::inflowVelocity"
                 "(const volVectorField&) const"
             )   << "Unknown inlet flow specification" << abort(FatalError);
         }
@@ -422,7 +425,7 @@ Foam::tmp<Foam::vectorField> Foam::rotorDiskSource::inflowVelocity
 
 // * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * * //
 
-Foam::rotorDiskSource::rotorDiskSource
+Foam::fv::rotorDiskSource::rotorDiskSource
 (
     const word& name,
     const word& modelType,
@@ -431,7 +434,7 @@ Foam::rotorDiskSource::rotorDiskSource
 
 )
 :
-    basicSource(name, modelType, dict, mesh),
+    option(name, modelType, dict, mesh),
     rhoName_("none"),
     rhoRef_(1.0),
     omega_(0.0),
@@ -456,13 +459,13 @@ Foam::rotorDiskSource::rotorDiskSource
 
 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
 
-Foam::rotorDiskSource::~rotorDiskSource()
+Foam::fv::rotorDiskSource::~rotorDiskSource()
 {}
 
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-void Foam::rotorDiskSource::calculate
+void Foam::fv::rotorDiskSource::calculate
 (
     const vectorField& U,
     const scalarField& thetag,
@@ -585,7 +588,11 @@ void Foam::rotorDiskSource::calculate
 }
 
 
-void Foam::rotorDiskSource::addSup(fvMatrix<vector>& eqn, const label fieldI)
+void Foam::fv::rotorDiskSource::addSup
+(
+    fvMatrix<vector>& eqn,
+    const label fieldI
+)
 {
     dimensionSet dims = dimless;
     if (eqn.dimensions() == dimForce)
@@ -632,16 +639,16 @@ void Foam::rotorDiskSource::addSup(fvMatrix<vector>& eqn, const label fieldI)
 }
 
 
-void Foam::rotorDiskSource::writeData(Ostream& os) const
+void Foam::fv::rotorDiskSource::writeData(Ostream& os) const
 {
     os  << indent << name_ << endl;
     dict_.write(os);
 }
 
 
-bool Foam::rotorDiskSource::read(const dictionary& dict)
+bool Foam::fv::rotorDiskSource::read(const dictionary& dict)
 {
-    if (basicSource::read(dict))
+    if (option::read(dict))
     {
         coeffs_.lookup("fieldNames") >> fieldNames_;
         applied_.setSize(fieldNames_.size(), false);
diff --git a/src/fieldSources/sources/derived/rotorDiskSource/rotorDiskSource.H b/src/fieldSources/sources/derived/rotorDiskSource/rotorDiskSource.H
index d28bc6171398a7e522bbec5fa65b9b0cb76965bc..70775644dbd0a092165d1cf5f93e586f3033504f 100644
--- a/src/fieldSources/sources/derived/rotorDiskSource/rotorDiskSource.H
+++ b/src/fieldSources/sources/derived/rotorDiskSource/rotorDiskSource.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
@@ -22,7 +22,7 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::rotorDiskSource
+    Foam::fv::rotorDiskSource
 
 Description
     Cell based momemtum source
@@ -87,7 +87,7 @@ SourceFiles
 #ifndef rotorDiskSource_H
 #define rotorDiskSource_H
 
-#include "basicSource.H"
+#include "fvOption.H"
 #include "cylindricalCS.H"
 #include "NamedEnum.H"
 #include "bladeModel.H"
@@ -103,13 +103,16 @@ namespace Foam
 // Forward declaration of classes
 class trimModel;
 
+namespace fv
+{
+
 /*---------------------------------------------------------------------------*\
                       Class rotorDiskSource Declaration
 \*---------------------------------------------------------------------------*/
 
 class rotorDiskSource
 :
-    public basicSource
+    public option
 {
 public:
 
@@ -305,6 +308,7 @@ public:
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+} // End namespace fv
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/fieldSources/sources/derived/rotorDiskSource/rotorDiskSourceI.H b/src/fieldSources/sources/derived/rotorDiskSource/rotorDiskSourceI.H
index 3db904fb9de3576b3c1cb7e612291a10460fd160..64f77e0ce34754ac67aa9c31971c2934ce348366 100644
--- a/src/fieldSources/sources/derived/rotorDiskSource/rotorDiskSourceI.H
+++ b/src/fieldSources/sources/derived/rotorDiskSource/rotorDiskSourceI.H
@@ -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
@@ -27,37 +27,37 @@ License
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-Foam::scalar Foam::rotorDiskSource::rhoRef() const
+Foam::scalar Foam::fv::rotorDiskSource::rhoRef() const
 {
     return rhoRef_;
 }
 
 
-Foam::scalar Foam::rotorDiskSource::omega() const
+Foam::scalar Foam::fv::rotorDiskSource::omega() const
 {
     return omega_;
 }
 
 
-const Foam::List<Foam::point>& Foam::rotorDiskSource::x() const
+const Foam::List<Foam::point>& Foam::fv::rotorDiskSource::x() const
 {
     return x_;
 }
 
 
-const Foam::cylindricalCS& Foam::rotorDiskSource::coordSys() const
+const Foam::cylindricalCS& Foam::fv::rotorDiskSource::coordSys() const
 {
     return coordSys_;
 }
 
 
-bool Foam::rotorDiskSource::compressible() const
+bool Foam::fv::rotorDiskSource::compressible() const
 {
     return rhoName_ != "none";
 }
 
 
-Foam::tmp<Foam::volScalarField> Foam::rotorDiskSource::rho() const
+Foam::tmp<Foam::volScalarField> Foam::fv::rotorDiskSource::rho() const
 {
     if (compressible())
     {
@@ -69,4 +69,5 @@ Foam::tmp<Foam::volScalarField> Foam::rotorDiskSource::rho() const
     }
 }
 
+
 // ************************************************************************* //
diff --git a/src/fieldSources/sources/derived/rotorDiskSource/rotorDiskSourceTemplates.C b/src/fieldSources/sources/derived/rotorDiskSource/rotorDiskSourceTemplates.C
index f8e0113308cb1e8c89da5b06b0053bf54b3e1a00..9be5e9e9a8985054abea2869e2f7f27a580ec721 100644
--- a/src/fieldSources/sources/derived/rotorDiskSource/rotorDiskSourceTemplates.C
+++ b/src/fieldSources/sources/derived/rotorDiskSource/rotorDiskSourceTemplates.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
@@ -29,7 +29,7 @@ License
 // * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
 
 template<class Type>
-void Foam::rotorDiskSource::writeField
+void Foam::fv::rotorDiskSource::writeField
 (
     const word& name,
     const List<Type>& values,
diff --git a/src/fieldSources/sources/derived/rotorDiskSource/trimModel/fixed/fixedTrim.C b/src/fieldSources/sources/derived/rotorDiskSource/trimModel/fixed/fixedTrim.C
index 28b208c7c944108b6900e76c69daf1c397cd09da..4379c3399d24716f71e305698c11e3fbb017e425 100644
--- a/src/fieldSources/sources/derived/rotorDiskSource/trimModel/fixed/fixedTrim.C
+++ b/src/fieldSources/sources/derived/rotorDiskSource/trimModel/fixed/fixedTrim.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
@@ -42,7 +42,11 @@ namespace Foam
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::fixedTrim::fixedTrim(const rotorDiskSource& rotor, const dictionary& dict)
+Foam::fixedTrim::fixedTrim
+(
+    const fv::rotorDiskSource& rotor,
+    const dictionary& dict
+)
 :
     trimModel(rotor, dict, typeName),
     thetag_(rotor.cells().size(), 0.0)
diff --git a/src/fieldSources/sources/derived/rotorDiskSource/trimModel/fixed/fixedTrim.H b/src/fieldSources/sources/derived/rotorDiskSource/trimModel/fixed/fixedTrim.H
index aa11919671dfae0dd1a4267097296835d2364aa3..5b8a6c2cd7a8af50e09fa64d9f42f0698476412b 100644
--- a/src/fieldSources/sources/derived/rotorDiskSource/trimModel/fixed/fixedTrim.H
+++ b/src/fieldSources/sources/derived/rotorDiskSource/trimModel/fixed/fixedTrim.H
@@ -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
@@ -65,7 +65,7 @@ public:
     TypeName("fixedTrim");
 
     //- Constructor
-    fixedTrim(const rotorDiskSource& rotor, const dictionary& dict);
+    fixedTrim(const fv::rotorDiskSource& rotor, const dictionary& dict);
 
     //- Destructor
     virtual ~fixedTrim();
diff --git a/src/fieldSources/sources/derived/rotorDiskSource/trimModel/targetCoeff/targetCoeffTrim.C b/src/fieldSources/sources/derived/rotorDiskSource/trimModel/targetCoeff/targetCoeffTrim.C
index d2f91614d4e31bfbea46b2f1027e85d712bb3c57..8ee53bad24986f4e4d319d40c14b1c3ae6c267e2 100644
--- a/src/fieldSources/sources/derived/rotorDiskSource/trimModel/targetCoeff/targetCoeffTrim.C
+++ b/src/fieldSources/sources/derived/rotorDiskSource/trimModel/targetCoeff/targetCoeffTrim.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
@@ -105,7 +105,7 @@ Foam::vector Foam::targetCoeffTrim::calcCoeffs
 
 Foam::targetCoeffTrim::targetCoeffTrim
 (
-    const rotorDiskSource& rotor,
+    const fv::rotorDiskSource& rotor,
     const dictionary& dict
 )
 :
diff --git a/src/fieldSources/sources/derived/rotorDiskSource/trimModel/targetCoeff/targetCoeffTrim.H b/src/fieldSources/sources/derived/rotorDiskSource/trimModel/targetCoeff/targetCoeffTrim.H
index 4425d55772a3e096349b7964d570475e34789e52..022d0c49a57aef6643251518caf402e992196170 100644
--- a/src/fieldSources/sources/derived/rotorDiskSource/trimModel/targetCoeff/targetCoeffTrim.H
+++ b/src/fieldSources/sources/derived/rotorDiskSource/trimModel/targetCoeff/targetCoeffTrim.H
@@ -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
@@ -139,7 +139,7 @@ public:
     TypeName("targetCoeffTrim");
 
     //- Constructor
-    targetCoeffTrim(const rotorDiskSource& rotor, const dictionary& dict);
+    targetCoeffTrim(const fv::rotorDiskSource& rotor, const dictionary& dict);
 
     //- Destructor
     virtual ~targetCoeffTrim();
diff --git a/src/fieldSources/sources/derived/rotorDiskSource/trimModel/trimModel/trimModel.C b/src/fieldSources/sources/derived/rotorDiskSource/trimModel/trimModel/trimModel.C
index 115d58c7b47e39fcd2683e4eda10c74bde567d53..9126ee841d42cbad4f85a063a0613d79c58c8fb9 100644
--- a/src/fieldSources/sources/derived/rotorDiskSource/trimModel/trimModel/trimModel.C
+++ b/src/fieldSources/sources/derived/rotorDiskSource/trimModel/trimModel/trimModel.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 @@ namespace Foam
 
 Foam::trimModel::trimModel
 (
-    const rotorDiskSource& rotor,
+    const fv::rotorDiskSource& rotor,
     const dictionary& dict,
     const word& name
 )
diff --git a/src/fieldSources/sources/derived/rotorDiskSource/trimModel/trimModel/trimModel.H b/src/fieldSources/sources/derived/rotorDiskSource/trimModel/trimModel/trimModel.H
index b69f062e30d25453e8eeacd7551b54444e64f7c2..ca9b6ed21e7158bd79c621398024859b12a289ce 100644
--- a/src/fieldSources/sources/derived/rotorDiskSource/trimModel/trimModel/trimModel.H
+++ b/src/fieldSources/sources/derived/rotorDiskSource/trimModel/trimModel/trimModel.H
@@ -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
@@ -56,7 +56,7 @@ protected:
     // Protected data
 
         //- Reference to the rotor source model
-        const rotorDiskSource& rotor_;
+        const fv::rotorDiskSource& rotor_;
 
         //- Name of model
         const word name_;
@@ -79,7 +79,7 @@ public:
             trimModel,
             dictionary,
             (
-                const rotorDiskSource& rotor,
+                const fv::rotorDiskSource& rotor,
                 const dictionary& dict
             ),
             (rotor, dict)
@@ -91,7 +91,7 @@ public:
         //- Construct from components
         trimModel
         (
-            const rotorDiskSource& rotor,
+            const fv::rotorDiskSource& rotor,
             const dictionary& dict,
             const word& name
         );
@@ -102,7 +102,7 @@ public:
         //- Return a reference to the selected trim model
         static autoPtr<trimModel> New
         (
-            const rotorDiskSource& rotor,
+            const fv::rotorDiskSource& rotor,
             const dictionary& dict
         );
 
diff --git a/src/fieldSources/sources/derived/rotorDiskSource/trimModel/trimModel/trimModelNew.C b/src/fieldSources/sources/derived/rotorDiskSource/trimModel/trimModel/trimModelNew.C
index 97efa17c746bc7998fc7971177a85a1133b17f2d..401e04ae8d4004a3d5e2b2841039e13d4795e574 100644
--- a/src/fieldSources/sources/derived/rotorDiskSource/trimModel/trimModel/trimModelNew.C
+++ b/src/fieldSources/sources/derived/rotorDiskSource/trimModel/trimModel/trimModelNew.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
@@ -29,7 +29,7 @@ License
 
 Foam::autoPtr<Foam::trimModel> Foam::trimModel::New
 (
-    const rotorDiskSource& rotor,
+    const fv::rotorDiskSource& rotor,
     const dictionary& dict
 )
 {
diff --git a/src/fieldSources/sources/general/codedSource/CodedSource.C b/src/fieldSources/sources/general/codedSource/CodedSource.C
index b379123e87a02524442c1c5f4a3afa6b5f0edb67..80be8bf45f5a265791ffa49b7d1f8abe58002ed6 100644
--- a/src/fieldSources/sources/general/codedSource/CodedSource.C
+++ b/src/fieldSources/sources/general/codedSource/CodedSource.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
@@ -29,13 +29,10 @@ License
 #include "dynamicCode.H"
 #include "dynamicCodeContext.H"
 
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
 template<class Type>
-void Foam::CodedSource<Type>::prepare
+void Foam::fv::CodedSource<Type>::prepare
 (
     dynamicCode& dynCode,
     const dynamicCodeContext& context
@@ -54,10 +51,10 @@ void Foam::CodedSource<Type>::prepare
     dynCode.setFilterVariable("codeSetValue", codeSetValue_);
 
     // compile filtered C template
-    dynCode.addCompileFile("codedBasicSourceTemplate.C");
+    dynCode.addCompileFile("codedFvOptionTemplate.C");
 
     // copy filtered H template
-    dynCode.addCopyFile("codedBasicSourceTemplate.H");
+    dynCode.addCopyFile("codedFvOptionTemplate.H");
 
     // debugging: make BC verbose
     //         dynCode.setFilterVariable("verbose", "true");
@@ -84,28 +81,28 @@ void Foam::CodedSource<Type>::prepare
 
 
 template<class Type>
-Foam::dlLibraryTable& Foam::CodedSource<Type>::libs() const
+Foam::dlLibraryTable& Foam::fv::CodedSource<Type>::libs() const
 {
     return const_cast<Time&>(mesh_.time()).libs();
 }
 
 
 template<class Type>
-Foam::string Foam::CodedSource<Type>::description() const
+Foam::string Foam::fv::CodedSource<Type>::description() const
 {
-    return "basicSource " + name_;
+    return "fvOption:: " + name_;
 }
 
 
 template<class Type>
-void Foam::CodedSource<Type>::clearRedirect() const
+void Foam::fv::CodedSource<Type>::clearRedirect() const
 {
-    redirectBasicSourcePtr_.clear();
+    redirectFvOptionPtr_.clear();
 }
 
 
 template<class Type>
-const Foam::dictionary& Foam::CodedSource<Type>::codeDict() const
+const Foam::dictionary& Foam::fv::CodedSource<Type>::codeDict() const
 {
     return coeffs_;
 }
@@ -114,7 +111,7 @@ const Foam::dictionary& Foam::CodedSource<Type>::codeDict() const
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 template<class Type>
-Foam::CodedSource<Type>::CodedSource
+Foam::fv::CodedSource<Type>::CodedSource
 (
     const word& name,
     const word& modelType,
@@ -122,7 +119,7 @@ Foam::CodedSource<Type>::CodedSource
     const fvMesh& mesh
 )
 :
-    basicSource(name, modelType, dict, mesh)
+    option(name, modelType, dict, mesh)
 {
     read(dict);
 }
@@ -131,27 +128,26 @@ Foam::CodedSource<Type>::CodedSource
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
 template<class Type>
-Foam::basicSource& Foam::CodedSource<Type>::redirectBasicSource()
-const
+Foam::fv::option& Foam::fv::CodedSource<Type>::redirectFvOption() const
 {
-    if (!redirectBasicSourcePtr_.valid())
+    if (!redirectFvOptionPtr_.valid())
     {
         dictionary constructDict(dict_);
         constructDict.set("type", redirectType_);
 
-        redirectBasicSourcePtr_ = basicSource::New
+        redirectFvOptionPtr_ = option::New
         (
             redirectType_,
             constructDict,
             mesh_
         );
     }
-    return redirectBasicSourcePtr_();
+    return redirectFvOptionPtr_();
 }
 
 
 template<class Type>
-void Foam::CodedSource<Type>::correct
+void Foam::fv::CodedSource<Type>::correct
 (
     GeometricField<Type, fvPatchField, volMesh>& fld
 )
@@ -163,12 +159,12 @@ void Foam::CodedSource<Type>::correct
     }
 
     updateLibrary(redirectType_);
-    redirectBasicSource().correct(fld);
+    redirectFvOption().correct(fld);
 }
 
 
 template<class Type>
-void Foam::CodedSource<Type>::addSup
+void Foam::fv::CodedSource<Type>::addSup
 (
     fvMatrix<Type>& eqn,
     const label fieldI
@@ -181,12 +177,12 @@ void Foam::CodedSource<Type>::addSup
     }
 
     updateLibrary(redirectType_);
-    redirectBasicSource().addSup(eqn, fieldI);
+    redirectFvOption().addSup(eqn, fieldI);
 }
 
 
 template<class Type>
-void Foam::CodedSource<Type>::setValue
+void Foam::fv::CodedSource<Type>::setValue
 (
     fvMatrix<Type>& eqn,
     const label fieldI
@@ -199,7 +195,7 @@ void Foam::CodedSource<Type>::setValue
     }
 
     updateLibrary(redirectType_);
-    redirectBasicSource().setValue(eqn, fieldI);
+    redirectFvOption().setValue(eqn, fieldI);
 }
 
 
diff --git a/src/fieldSources/sources/general/codedSource/CodedSource.H b/src/fieldSources/sources/general/codedSource/CodedSource.H
index 66ad2cdb5c4e6006a5b8b5318ce444fb4d895321..b20c6525ffdf2ba0c871225b27e1cf6e996ed76d 100644
--- a/src/fieldSources/sources/general/codedSource/CodedSource.H
+++ b/src/fieldSources/sources/general/codedSource/CodedSource.H
@@ -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
@@ -22,10 +22,10 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::codedSource
+    Foam::fv::codedSource
 
 Description
-    Constructs on-the-fly a new basicSource.
+    Constructs on-the-fly a new fvOption.
 
     E.g. in constant/sourcesProperties
 
@@ -80,22 +80,24 @@ SourceFiles
 #ifndef CodedSource_H
 #define CodedSource_H
 
-#include "basicSource.H"
+#include "fvOption.H"
 #include "codedBase.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
 {
+namespace fv
+{
 
 /*---------------------------------------------------------------------------*\
-                       Class codedSource Declaration
+                         Class codedSource Declaration
 \*---------------------------------------------------------------------------*/
 
 template<class Type>
 class CodedSource
 :
-    public basicSource,
+    public option,
     public codedBase
 {
 
@@ -110,7 +112,7 @@ protected:
         string codeSetValue_;
 
         //- Underlying functionObject
-        mutable autoPtr<basicSource> redirectBasicSourcePtr_;
+        mutable autoPtr<option> redirectFvOptionPtr_;
 
 
     // Protected Member Functions
@@ -119,7 +121,7 @@ protected:
         virtual dlLibraryTable& libs() const;
 
         //- adapt the context for the current object
-        virtual void prepare(dynamicCode &,const dynamicCodeContext&) const;
+        virtual void prepare(dynamicCode&, const dynamicCodeContext&) const;
 
         // Return a description (type + name) for the output
         virtual string description() const;
@@ -151,8 +153,8 @@ public:
 
     // Member Functions
 
-        //- Dynamically compiled basicSource
-        basicSource& redirectBasicSource() const;
+        //- Dynamically compiled fvOption
+        option& redirectFvOption() const;
 
         // Evaluation
 
@@ -189,6 +191,7 @@ public:
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+} // End namespace fv
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/fieldSources/sources/general/codedSource/CodedSourceIO.C b/src/fieldSources/sources/general/codedSource/CodedSourceIO.C
index 77075bba3e1b98d8a03a88022ab2f68979b37d03..89e6205ceff3b82bda615d687d7e07ac258eabff 100644
--- a/src/fieldSources/sources/general/codedSource/CodedSourceIO.C
+++ b/src/fieldSources/sources/general/codedSource/CodedSourceIO.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
@@ -29,7 +29,7 @@ License
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
 template<class Type>
-void Foam::CodedSource<Type>::writeData(Ostream& os) const
+void Foam::fv::CodedSource<Type>::writeData(Ostream& os) const
 {
     os  << indent << name_ << endl;
     dict_.write(os);
@@ -37,9 +37,9 @@ void Foam::CodedSource<Type>::writeData(Ostream& os) const
 
 
 template<class Type>
-bool Foam::CodedSource<Type>::read(const dictionary& dict)
+bool Foam::fv::CodedSource<Type>::read(const dictionary& dict)
 {
-    if (basicSource::read(dict))
+    if (option::read(dict))
     {
         coeffs_.lookup("fieldNames") >> fieldNames_;
         applied_.setSize(fieldNames_.size(), false);
diff --git a/src/fieldSources/sources/general/codedSource/codedSource.C b/src/fieldSources/sources/general/codedSource/codedSource.C
index 5fd9d3cdb303e5c7c7a8c724afdab8cf068d5ec8..654caa7c20ca4fef4816835c422122cc0ed6ca2b 100644
--- a/src/fieldSources/sources/general/codedSource/codedSource.C
+++ b/src/fieldSources/sources/general/codedSource/codedSource.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
@@ -23,18 +23,21 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "makeBasicSource.H"
+#include "makeFvOption.H"
 #include "CodedSource.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
 {
-    makeBasicSource(CodedSource, scalar);
-    makeBasicSource(CodedSource, vector);
-    makeBasicSource(CodedSource, sphericalTensor);
-    makeBasicSource(CodedSource, symmTensor);
-    makeBasicSource(CodedSource, tensor);
+namespace fv
+{
+    makeFvOption(CodedSource, scalar);
+    makeFvOption(CodedSource, vector);
+    makeFvOption(CodedSource, sphericalTensor);
+    makeFvOption(CodedSource, symmTensor);
+    makeFvOption(CodedSource, tensor);
+}
 }
 
 
diff --git a/src/fieldSources/sources/general/semiImplicitSource/SemiImplicitSource.C b/src/fieldSources/sources/general/semiImplicitSource/SemiImplicitSource.C
index 2e556eaf01ca19736387fff22571e158b7b233ca..b4d39e417017c6ba614a4cd04817e21877bf4db5 100644
--- a/src/fieldSources/sources/general/semiImplicitSource/SemiImplicitSource.C
+++ b/src/fieldSources/sources/general/semiImplicitSource/SemiImplicitSource.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
@@ -32,8 +32,7 @@ License
 // * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * * //
 
 template<class Type>
-const Foam::wordList Foam::SemiImplicitSource<Type>::
-volumeModeTypeNames_
+const Foam::wordList Foam::fv::SemiImplicitSource<Type>::volumeModeTypeNames_
 (
     IStringStream("(absolute specific)")()
 );
@@ -42,8 +41,8 @@ volumeModeTypeNames_
 // * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
 
 template<class Type>
-typename Foam::SemiImplicitSource<Type>::volumeModeType
-Foam::SemiImplicitSource<Type>::wordToVolumeModeType
+typename Foam::fv::SemiImplicitSource<Type>::volumeModeType
+Foam::fv::SemiImplicitSource<Type>::wordToVolumeModeType
 (
     const word& vmtName
 ) const
@@ -69,7 +68,7 @@ Foam::SemiImplicitSource<Type>::wordToVolumeModeType
 
 
 template<class Type>
-Foam::word Foam::SemiImplicitSource<Type>::volumeModeTypeToWord
+Foam::word Foam::fv::SemiImplicitSource<Type>::volumeModeTypeToWord
 (
     const volumeModeType& vmtType
 ) const
@@ -86,7 +85,7 @@ Foam::word Foam::SemiImplicitSource<Type>::volumeModeTypeToWord
 
 
 template<class Type>
-void Foam::SemiImplicitSource<Type>::setFieldData(const dictionary& dict)
+void Foam::fv::SemiImplicitSource<Type>::setFieldData(const dictionary& dict)
 {
     fieldNames_.setSize(dict.toc().size());
     injectionRate_.setSize(fieldNames_.size());
@@ -112,7 +111,7 @@ void Foam::SemiImplicitSource<Type>::setFieldData(const dictionary& dict)
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 template<class Type>
-Foam::SemiImplicitSource<Type>::SemiImplicitSource
+Foam::fv::SemiImplicitSource<Type>::SemiImplicitSource
 (
     const word& name,
     const word& modelType,
@@ -120,7 +119,7 @@ Foam::SemiImplicitSource<Type>::SemiImplicitSource
     const fvMesh& mesh
 )
 :
-    basicSource(name, modelType, dict, mesh),
+    option(name, modelType, dict, mesh),
     volumeMode_(vmAbsolute),
     VDash_(1.0),
     injectionRate_()
@@ -132,7 +131,7 @@ Foam::SemiImplicitSource<Type>::SemiImplicitSource
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
 template<class Type>
-void Foam::SemiImplicitSource<Type>::addSup
+void Foam::fv::SemiImplicitSource<Type>::addSup
 (
     fvMatrix<Type>& eqn,
     const label fieldI
diff --git a/src/fieldSources/sources/general/semiImplicitSource/SemiImplicitSource.H b/src/fieldSources/sources/general/semiImplicitSource/SemiImplicitSource.H
index 94a174034b24589aeac0355edd2ba6250e543355..0a806fcdf920abccc3a2e07c53afb8764c9c7314 100644
--- a/src/fieldSources/sources/general/semiImplicitSource/SemiImplicitSource.H
+++ b/src/fieldSources/sources/general/semiImplicitSource/SemiImplicitSource.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
@@ -22,7 +22,7 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::SemiImplicitSource
+    Foam::fv::SemiImplicitSource
 
 Description
     Semi-implicit source, described using an input dictionary.  The injection
@@ -58,7 +58,7 @@ Description
     - specific: values are given as \<quantity\>/m3
 
 SeeAlso
-    Foam::basicSource
+    Foam::fvOption
 
 SourceFiles
     SemiImplicitSource.C
@@ -69,16 +69,17 @@ SourceFiles
 #define SemiImplicitSource_H
 
 #include "Tuple2.H"
-#include "basicSource.H"
+#include "fvOption.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
 {
+namespace fv
+{
 
 // Forward declaration of classes
 
-class fvMesh;
 
 template<class Type>
 class SemiImplicitSource;
@@ -99,7 +100,7 @@ Ostream& operator<<
 template<class Type>
 class SemiImplicitSource
 :
-    public basicSource
+    public option
 {
 public:
 
@@ -198,6 +199,7 @@ public:
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+} // End namespace fv
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/fieldSources/sources/general/semiImplicitSource/SemiImplicitSourceI.H b/src/fieldSources/sources/general/semiImplicitSource/SemiImplicitSourceI.H
index eb352de08a36c423ff63fe3bd24dfc0f079e9dc8..fd1fbf79582a49e7d1935a53444db17cbc616764 100644
--- a/src/fieldSources/sources/general/semiImplicitSource/SemiImplicitSourceI.H
+++ b/src/fieldSources/sources/general/semiImplicitSource/SemiImplicitSourceI.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
@@ -28,8 +28,8 @@ License
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
 template<class Type>
-inline const typename Foam::SemiImplicitSource<Type>::volumeModeType&
-Foam::SemiImplicitSource<Type>::volumeMode() const
+inline const typename Foam::fv::SemiImplicitSource<Type>::volumeModeType&
+Foam::fv::SemiImplicitSource<Type>::volumeMode() const
 {
     return volumeMode_;
 }
@@ -37,15 +37,15 @@ Foam::SemiImplicitSource<Type>::volumeMode() const
 
 template<class Type>
 inline const Foam::List<Foam::Tuple2<Type, Foam::scalar> >&
-Foam::SemiImplicitSource<Type>::injectionRate() const
+Foam::fv::SemiImplicitSource<Type>::injectionRate() const
 {
     return injectionRate_;
 }
 
 
 template<class Type>
-inline typename Foam::SemiImplicitSource<Type>::volumeModeType&
-Foam::SemiImplicitSource<Type>::volumeMode()
+inline typename Foam::fv::SemiImplicitSource<Type>::volumeModeType&
+Foam::fv::SemiImplicitSource<Type>::volumeMode()
 {
     return volumeMode_;
 }
@@ -53,7 +53,7 @@ Foam::SemiImplicitSource<Type>::volumeMode()
 
 template<class Type>
 inline Foam::List<Foam::Tuple2<Type,
-Foam::scalar> >& Foam::SemiImplicitSource<Type>::injectionRate()
+Foam::scalar> >& Foam::fv::SemiImplicitSource<Type>::injectionRate()
 {
     return injectionRate_;
 }
diff --git a/src/fieldSources/sources/general/semiImplicitSource/SemiImplicitSourceIO.C b/src/fieldSources/sources/general/semiImplicitSource/SemiImplicitSourceIO.C
index 6b91798be649a9c9faec5ccb084e1443ce946c14..17968ae0b78233fcae117f2f998957e608432772 100644
--- a/src/fieldSources/sources/general/semiImplicitSource/SemiImplicitSourceIO.C
+++ b/src/fieldSources/sources/general/semiImplicitSource/SemiImplicitSourceIO.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
@@ -28,7 +28,7 @@ License
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
 template<class Type>
-void Foam::SemiImplicitSource<Type>::writeData(Ostream& os) const
+void Foam::fv::SemiImplicitSource<Type>::writeData(Ostream& os) const
 {
     os  << indent << name_ << endl;
     dict_.write(os);
@@ -36,9 +36,9 @@ void Foam::SemiImplicitSource<Type>::writeData(Ostream& os) const
 
 
 template<class Type>
-bool Foam::SemiImplicitSource<Type>::read(const dictionary& dict)
+bool Foam::fv::SemiImplicitSource<Type>::read(const dictionary& dict)
 {
-    if (basicSource::read(dict))
+    if (option::read(dict))
     {
         volumeMode_ = wordToVolumeModeType(coeffs_.lookup("volumeMode"));
         setFieldData(coeffs_.subDict("injectionRateSuSp"));
diff --git a/src/fieldSources/sources/general/semiImplicitSource/semiImplicitSource.C b/src/fieldSources/sources/general/semiImplicitSource/semiImplicitSource.C
index e3b294fa59d2b210d1a6802f597c7e138db3300a..0fb667ff06c074b6f740ac30577dd90378a856d7 100644
--- a/src/fieldSources/sources/general/semiImplicitSource/semiImplicitSource.C
+++ b/src/fieldSources/sources/general/semiImplicitSource/semiImplicitSource.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
@@ -23,18 +23,21 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "makeBasicSource.H"
+#include "makeFvOption.H"
 #include "SemiImplicitSource.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
 {
-    makeBasicSource(SemiImplicitSource, scalar);
-    makeBasicSource(SemiImplicitSource, vector);
-    makeBasicSource(SemiImplicitSource, sphericalTensor);
-    makeBasicSource(SemiImplicitSource, symmTensor);
-    makeBasicSource(SemiImplicitSource, tensor);
+namespace fv
+{
+    makeFvOption(SemiImplicitSource, scalar);
+    makeFvOption(SemiImplicitSource, vector);
+    makeFvOption(SemiImplicitSource, sphericalTensor);
+    makeFvOption(SemiImplicitSource, symmTensor);
+    makeFvOption(SemiImplicitSource, tensor);
+}
 }