EulerCoordinateRotation Class Reference

A coordinateRotation defined in the z-x-y Euler convention. More...

Inheritance diagram for EulerCoordinateRotation:
Collaboration diagram for EulerCoordinateRotation:

Public Member Functions

 TypeName ("EulerRotation")
 Runtime type information. More...
 
 EulerCoordinateRotation ()
 Construct null. More...
 
 EulerCoordinateRotation (const vector &phiThetaPsi, const bool inDegrees=true)
 Construct from rotation vector. More...
 
 EulerCoordinateRotation (const scalar phiAngle, const scalar thetaAngle, const scalar psiAngle, const bool inDegrees=true)
 Construct from components of rotation vector. More...
 
 EulerCoordinateRotation (const dictionary &)
 Construct from dictionary. More...
 
 EulerCoordinateRotation (const dictionary &, const objectRegistry &)
 Construct from dictionary and mesh. More...
 
virtual void clear ()
 Reset rotation to an identity rotation. More...
 
virtual void updateCells (const polyMesh &, const labelList &)
 Update the rotation for a list of cells. More...
 
virtual const tensorR () const
 Return local-to-global transformation tensor. More...
 
virtual const tensorRtr () const
 Return global-to-local transformation tensor. More...
 
virtual const vector e1 () const
 Return local Cartesian x-axis. More...
 
virtual const vector e2 () const
 Return local Cartesian y-axis. More...
 
virtual const vector e3 () const
 Return local Cartesian z-axis. More...
 
virtual const tensorFieldTr () const
 Return transformation tensor field. More...
 
virtual tmp< vectorFieldtransform (const vectorField &st) const
 Transform vectorField using transformation tensor field. More...
 
virtual vector transform (const vector &st) const
 Transform vector using transformation tensor. More...
 
virtual tmp< vectorFieldinvTransform (const vectorField &st) const
 Inverse transform vectorField using transformation tensor field. More...
 
virtual vector invTransform (const vector &st) const
 Inverse transform vector using transformation tensor. More...
 
virtual tmp< tensorFieldtransformTensor (const tensorField &st) const
 Transform tensor field using transformation tensorField. More...
 
virtual tensor transformTensor (const tensor &st) const
 Transform tensor using transformation tensorField. More...
 
virtual tmp< tensorFieldtransformTensor (const tensorField &st, const labelList &cellMap) const
 Transform tensor sub-field using transformation tensorField. More...
 
virtual tmp< symmTensorFieldtransformVector (const vectorField &st) const
 Transform vectorField using transformation tensorField and return. More...
 
virtual symmTensor transformVector (const vector &st) const
 Transform vector using transformation tensor and return. More...
 
virtual void write (Ostream &) const
 Write. More...
 
- Public Member Functions inherited from coordinateRotation
 TypeName ("coordinateRotation")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, coordinateRotation, objectRegistry,(const dictionary &dict, const objectRegistry &obr),(dict, obr))
 
 declareRunTimeSelectionTable (autoPtr, coordinateRotation, dictionary,(const dictionary &dict),(dict))
 
virtual ~coordinateRotation ()
 Destructor. More...
 
virtual bool uniform () const
 Return true if the rotation tensor is uniform. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from coordinateRotation
static autoPtr
< coordinateRotation
New (const dictionary &dict, const objectRegistry &obr)
 Select constructed from dictionary and objectRegistry. More...
 
static autoPtr
< coordinateRotation
New (const dictionary &dict)
 Select constructed from dictionary. More...
 
- Protected Member Functions inherited from coordinateRotation
symmTensor transformPrincipal (const tensor &, const vector &) const
 Transform principal. More...
 

Detailed Description

A coordinateRotation defined in the z-x-y Euler convention.

The 3 rotations are defined in the Euler convention (around Z, around X' and around Z'). For reference and illustration, see http://mathworld.wolfram.com/EulerAngles.html Note, however, that it is the reverse transformation (local->global) that is defined here.

  • the rotation angles are in degrees, unless otherwise explictly specified:
    coordinateRotation
    {
        type        EulerRotation
        degrees     false;
        rotation    (0 0 3.141592654);
    }

Definition at line 63 of file EulerCoordinateRotation.H.

Constructor & Destructor Documentation

Construct null.

Definition at line 215 of file EulerCoordinateRotation.C.

EulerCoordinateRotation ( const vector phiThetaPsi,
const bool  inDegrees = true 
)

Construct from rotation vector.

Definition at line 223 of file EulerCoordinateRotation.C.

References VectorSpace< Form, Cmpt, nCmpt >::component(), Vector< Cmpt >::X, Vector< Cmpt >::Y, and Vector< Cmpt >::Z.

Here is the call graph for this function:

EulerCoordinateRotation ( const scalar  phiAngle,
const scalar  thetaAngle,
const scalar  psiAngle,
const bool  inDegrees = true 
)

Construct from components of rotation vector.

Definition at line 242 of file EulerCoordinateRotation.C.

Construct from dictionary.

Definition at line 257 of file EulerCoordinateRotation.C.

References dictionary::lookup(), dictionary::lookupOrDefault(), Vector< Cmpt >::X, Vector< Cmpt >::Y, and Vector< Cmpt >::Z.

Here is the call graph for this function:

EulerCoordinateRotation ( const dictionary dict,
const objectRegistry  
)

Construct from dictionary and mesh.

Definition at line 277 of file EulerCoordinateRotation.C.

References dictionary::lookup(), dictionary::lookupOrDefault(), Vector< Cmpt >::X, Vector< Cmpt >::Y, and Vector< Cmpt >::Z.

Here is the call graph for this function:

Member Function Documentation

TypeName ( "EulerRotation"  )

Runtime type information.

virtual void clear ( )
inlinevirtual

Reset rotation to an identity rotation.

Implements coordinateRotation.

Definition at line 126 of file EulerCoordinateRotation.H.

References SphericalTensor< Cmpt >::I.

virtual void updateCells ( const polyMesh ,
const labelList  
)
inlinevirtual

Update the rotation for a list of cells.

Implements coordinateRotation.

Definition at line 133 of file EulerCoordinateRotation.H.

virtual const tensor& R ( ) const
inlinevirtual

Return local-to-global transformation tensor.

Implements coordinateRotation.

Definition at line 139 of file EulerCoordinateRotation.H.

virtual const tensor& Rtr ( ) const
inlinevirtual

Return global-to-local transformation tensor.

Implements coordinateRotation.

Definition at line 145 of file EulerCoordinateRotation.H.

virtual const vector e1 ( ) const
inlinevirtual

Return local Cartesian x-axis.

Implements coordinateRotation.

Definition at line 151 of file EulerCoordinateRotation.H.

References Tensor< Cmpt >::x().

Here is the call graph for this function:

virtual const vector e2 ( ) const
inlinevirtual

Return local Cartesian y-axis.

Implements coordinateRotation.

Definition at line 157 of file EulerCoordinateRotation.H.

References Tensor< Cmpt >::y().

Here is the call graph for this function:

virtual const vector e3 ( ) const
inlinevirtual

Return local Cartesian z-axis.

Implements coordinateRotation.

Definition at line 163 of file EulerCoordinateRotation.H.

References Tensor< Cmpt >::z().

Here is the call graph for this function:

const Foam::tensorField & Tr ( ) const
virtual

Return transformation tensor field.

Implements coordinateRotation.

Definition at line 95 of file EulerCoordinateRotation.C.

References notImplemented.

Foam::tmp< Foam::vectorField > transform ( const vectorField st) const
virtual

Transform vectorField using transformation tensor field.

Implements coordinateRotation.

Definition at line 68 of file EulerCoordinateRotation.C.

References notImplemented.

Foam::vector transform ( const vector st) const
virtual

Transform vector using transformation tensor.

Implements coordinateRotation.

Definition at line 52 of file EulerCoordinateRotation.C.

Foam::tmp< Foam::vectorField > invTransform ( const vectorField st) const
virtual

Inverse transform vectorField using transformation tensor field.

Implements coordinateRotation.

Definition at line 82 of file EulerCoordinateRotation.C.

References notImplemented.

Foam::vector invTransform ( const vector st) const
virtual

Inverse transform vector using transformation tensor.

Implements coordinateRotation.

Definition at line 59 of file EulerCoordinateRotation.C.

Foam::tmp< Foam::tensorField > transformTensor ( const tensorField st) const
virtual

Transform tensor field using transformation tensorField.

Implements coordinateRotation.

Definition at line 106 of file EulerCoordinateRotation.C.

References notImplemented.

Foam::tensor transformTensor ( const tensor st) const
virtual

Transform tensor using transformation tensorField.

Implements coordinateRotation.

Definition at line 119 of file EulerCoordinateRotation.C.

Foam::tmp< Foam::tensorField > transformTensor ( const tensorField st,
const labelList cellMap 
) const
virtual

Transform tensor sub-field using transformation tensorField.

Implements coordinateRotation.

Definition at line 128 of file EulerCoordinateRotation.C.

References notImplemented.

Foam::tmp< Foam::symmTensorField > transformVector ( const vectorField st) const
virtual

Transform vectorField using transformation tensorField and return.

symmetrical tensorField

Implements coordinateRotation.

Definition at line 146 of file EulerCoordinateRotation.C.

References fld(), forAll, and List< T >::size().

Here is the call graph for this function:

Foam::symmTensor transformVector ( const vector st) const
virtual

Transform vector using transformation tensor and return.

symmetrical tensor

Implements coordinateRotation.

Definition at line 162 of file EulerCoordinateRotation.C.

void write ( Ostream os) const
virtual

Write.

Implements coordinateRotation.

Definition at line 297 of file EulerCoordinateRotation.C.

References token::END_STATEMENT, Foam::nl, and Ostream::writeKeyword().

Here is the call graph for this function:


The documentation for this class was generated from the following files: