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 64 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 Y.

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(), and Y.

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(), and Y.

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 127 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 134 of file EulerCoordinateRotation.H.

virtual const tensor& R ( ) const
inlinevirtual

Return local-to-global transformation tensor.

Implements coordinateRotation.

Definition at line 140 of file EulerCoordinateRotation.H.

virtual const tensor& Rtr ( ) const
inlinevirtual

Return global-to-local transformation tensor.

Implements coordinateRotation.

Definition at line 146 of file EulerCoordinateRotation.H.

virtual const vector e1 ( ) const
inlinevirtual

Return local Cartesian x-axis.

Implements coordinateRotation.

Definition at line 152 of file EulerCoordinateRotation.H.

virtual const vector e2 ( ) const
inlinevirtual

Return local Cartesian y-axis.

Implements coordinateRotation.

Definition at line 158 of file EulerCoordinateRotation.H.

virtual const vector e3 ( ) const
inlinevirtual

Return local Cartesian z-axis.

Implements coordinateRotation.

Definition at line 164 of file EulerCoordinateRotation.H.

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(), and forAll.

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: