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() ); }