diff --git a/src/OpenFOAM/primitives/spatialVectorAlgebra/SpatialVector/SpatialVector.H b/src/OpenFOAM/primitives/spatialVectorAlgebra/SpatialVector/SpatialVector.H
index 19eb9ad1db1ecf43456752d7bd24258b6c7e502c..d60710d305bd7660c41ccb73fcd968320695bd7a 100644
--- a/src/OpenFOAM/primitives/spatialVectorAlgebra/SpatialVector/SpatialVector.H
+++ b/src/OpenFOAM/primitives/spatialVectorAlgebra/SpatialVector/SpatialVector.H
@@ -67,6 +67,10 @@ class SpatialVector
 
 public:
 
+    //- Component labeling enumeration
+    enum components { WX, WY, WZ, LX, LY, LZ };
+
+
     // Constructors
 
         //- Construct null
@@ -81,19 +85,19 @@ public:
         //- Construct from the angular and linear vector components
         inline SpatialVector
         (
-            const Vector<Cmpt>& angular,
-            const Vector<Cmpt>& linear
+            const Vector<Cmpt>& w,
+            const Vector<Cmpt>& l
         );
 
         //- Construct given 6 components
         inline SpatialVector
         (
-            const Cmpt& v0,
-            const Cmpt& v1,
-            const Cmpt& v2,
-            const Cmpt& v3,
-            const Cmpt& v4,
-            const Cmpt& v5
+            const Cmpt& wx,
+            const Cmpt& wy,
+            const Cmpt& wz,
+            const Cmpt& lx,
+            const Cmpt& ly,
+            const Cmpt& lz
         );
 
         //- Construct from Istream
@@ -102,11 +106,32 @@ public:
 
     // Member Functions
 
-        //- Return the angular part of the spatial vector as a vector
-        inline Vector<Cmpt> angular() const;
+        // Component access
+
+            inline const Cmpt& wx() const;
+            inline const Cmpt& wy() const;
+            inline const Cmpt& wz() const;
+
+            inline const Cmpt& lx() const;
+            inline const Cmpt& ly() const;
+            inline const Cmpt& lz() const;
+
+            inline Cmpt& wx();
+            inline Cmpt& wy();
+            inline Cmpt& wz();
+
+            inline Cmpt& lx();
+            inline Cmpt& ly();
+            inline Cmpt& lz();
+
+
+        // Sub-vector access.
+
+            //- Return the angular part of the spatial vector as a vector
+            inline Vector<Cmpt> w() const;
 
-        //- Return the linear part of the spatial vector as a vector
-        inline Vector<Cmpt> linear() const;
+            //- Return the linear part of the spatial vector as a vector
+            inline Vector<Cmpt> l() const;
 
 
     // Member Operators
diff --git a/src/OpenFOAM/primitives/spatialVectorAlgebra/SpatialVector/SpatialVectorI.H b/src/OpenFOAM/primitives/spatialVectorAlgebra/SpatialVector/SpatialVectorI.H
index af14d753012583c72720675e1996808215a1a1fa..6dd73d36fc47f0f4416e41533ee28643ceaf850a 100644
--- a/src/OpenFOAM/primitives/spatialVectorAlgebra/SpatialVector/SpatialVectorI.H
+++ b/src/OpenFOAM/primitives/spatialVectorAlgebra/SpatialVector/SpatialVectorI.H
@@ -50,16 +50,16 @@ inline Foam::SpatialVector<Cmpt>::SpatialVector
 template<class Cmpt>
 inline Foam::SpatialVector<Cmpt>::SpatialVector
 (
-    const Vector<Cmpt>& angular,
-    const Vector<Cmpt>& linear
+    const Vector<Cmpt>& w,
+    const Vector<Cmpt>& l
 )
 {
-    this->v_[0] = angular.x();
-    this->v_[1] = angular.y();
-    this->v_[2] = angular.z();
-    this->v_[3] = linear.x();
-    this->v_[4] = linear.y();
-    this->v_[5] = linear.z();
+    this->v_[0] = w.x();
+    this->v_[1] = w.y();
+    this->v_[2] = w.z();
+    this->v_[3] = l.x();
+    this->v_[4] = l.y();
+    this->v_[5] = l.z();
 }
 
 
@@ -93,13 +93,97 @@ inline Foam::SpatialVector<Cmpt>::SpatialVector(Istream& is)
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
 template<class Cmpt>
-inline Foam::Vector<Cmpt> Foam::SpatialVector<Cmpt>::angular() const
+inline const Cmpt& Foam::SpatialVector<Cmpt>::wx() const
+{
+    return this->v_[WX];
+}
+
+
+template<class Cmpt>
+inline const Cmpt& Foam::SpatialVector<Cmpt>::wy() const
+{
+    return this->v_[WY];
+}
+
+
+template<class Cmpt>
+inline const Cmpt& Foam::SpatialVector<Cmpt>::wz() const
+{
+    return this->v_[WZ];
+}
+
+
+template<class Cmpt>
+inline const Cmpt& Foam::SpatialVector<Cmpt>::lx() const
+{
+    return this->v_[LX];
+}
+
+
+template<class Cmpt>
+inline const Cmpt& Foam::SpatialVector<Cmpt>::ly() const
+{
+    return this->v_[LY];
+}
+
+
+template<class Cmpt>
+inline const Cmpt& Foam::SpatialVector<Cmpt>::lz() const
+{
+    return this->v_[LZ];
+}
+
+
+template<class Cmpt>
+inline Cmpt& Foam::SpatialVector<Cmpt>::wx()
+{
+    return this->v_[WX];
+}
+
+
+template<class Cmpt>
+inline Cmpt& Foam::SpatialVector<Cmpt>::wy()
+{
+    return this->v_[WY];
+}
+
+
+template<class Cmpt>
+inline Cmpt& Foam::SpatialVector<Cmpt>::wz()
+{
+    return this->v_[WZ];
+}
+
+
+template<class Cmpt>
+inline Cmpt& Foam::SpatialVector<Cmpt>::lx()
+{
+    return this->v_[LX];
+}
+
+
+template<class Cmpt>
+inline Cmpt& Foam::SpatialVector<Cmpt>::ly()
+{
+    return this->v_[LY];
+}
+
+
+template<class Cmpt>
+inline Cmpt& Foam::SpatialVector<Cmpt>::lz()
+{
+    return this->v_[LZ];
+}
+
+
+template<class Cmpt>
+inline Foam::Vector<Cmpt> Foam::SpatialVector<Cmpt>::w() const
 {
     return Vector<Cmpt>(this->v_[0], this->v_[1], this->v_[2]);
 }
 
 template<class Cmpt>
-inline Foam::Vector<Cmpt> Foam::SpatialVector<Cmpt>::linear() const
+inline Foam::Vector<Cmpt> Foam::SpatialVector<Cmpt>::l() const
 {
     return Vector<Cmpt>(this->v_[3], this->v_[4], this->v_[5]);
 }
diff --git a/src/OpenFOAM/primitives/spatialVectorAlgebra/SpatialVector/spatialVector/spatialVector.C b/src/OpenFOAM/primitives/spatialVectorAlgebra/SpatialVector/spatialVector/spatialVector.C
index 08d1d28b98327956ea221e604d5c9ebb5cad685a..422f31238d4af4b56707dcdd7b455e8596bc2146 100644
--- a/src/OpenFOAM/primitives/spatialVectorAlgebra/SpatialVector/spatialVector/spatialVector.C
+++ b/src/OpenFOAM/primitives/spatialVectorAlgebra/SpatialVector/spatialVector/spatialVector.C
@@ -36,7 +36,7 @@ const char* const Foam::spatialVector::vsType::typeName = "spatialVector";
 template<>
 const char* const Foam::spatialVector::vsType::componentNames[] =
 {
-    "x", "y", "z"
+    "wx", "wy", "wz", "lx", "ly", "lz"
 };
 
 template<>
diff --git a/src/OpenFOAM/primitives/spatialVectorAlgebra/spatialTransform/spatialTransformI.H b/src/OpenFOAM/primitives/spatialVectorAlgebra/spatialTransform/spatialTransformI.H
index c2a4c943a4baa9b110cc93e22a97700e9751fa89..d3d2cfb99119c1b770adcdeabffd920971dd5f91 100644
--- a/src/OpenFOAM/primitives/spatialVectorAlgebra/spatialTransform/spatialTransformI.H
+++ b/src/OpenFOAM/primitives/spatialVectorAlgebra/spatialTransform/spatialTransformI.H
@@ -148,8 +148,8 @@ inline Foam::spatialVector Foam::spatialTransform::operator&
 {
     return spatialVector
     (
-        E_ & v.angular(),
-        E_ & (v.linear() - (r_ ^ v.angular()))
+        E_ & v.w(),
+        E_ & (v.l() - (r_ ^ v.w()))
     );
 }
 
@@ -169,11 +169,11 @@ inline Foam::spatialVector Foam::spatialTransform::transpose::operator&
     const spatialVector& f
 ) const
 {
-    vector ETfl(X_.E().T() & f.linear());
+    vector ETfl(X_.E().T() & f.l());
 
     return spatialVector
     (
-        (X_.E().T() & f.angular()) + (X_.r() ^ ETfl),
+        (X_.E().T() & f.w()) + (X_.r() ^ ETfl),
         ETfl
     );
 }
@@ -196,8 +196,8 @@ inline Foam::spatialVector Foam::spatialTransform::dual::operator&
 {
     return spatialVector
     (
-        X_.E() & (f.angular() - (X_.r() ^ f.linear())),
-        X_.E() & f.linear()
+        X_.E() & (f.w() - (X_.r() ^ f.l())),
+        X_.E() & f.l()
     );
 }