Public Member Functions | List of all members
EulerCoordinateRotation Class Reference

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

Inheritance diagram for EulerCoordinateRotation:
Inheritance graph
[legend]
Collaboration diagram for EulerCoordinateRotation:
Collaboration graph
[legend]

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 in global coordinates. More...
 
virtual const vector e2 () const
 Return local Cartesian y-axis in global coordinates. More...
 
virtual const vector e3 () const
 Return local Cartesian z-axis in global coordinates. 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< coordinateRotationNew (const dictionary &dict, const objectRegistry &obr)
 Select constructed from dictionary and objectRegistry. More...
 
static autoPtr< coordinateRotationNew (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.

coordinateRotation
{
    type        EulerRotation;
    degrees     false;
    rotation    (0 0 3.141592654);
}
Source files

Definition at line 66 of file EulerCoordinateRotation.H.

Constructor & Destructor Documentation

◆ EulerCoordinateRotation() [1/5]

Construct null.

Definition at line 195 of file EulerCoordinateRotation.C.

Referenced by EulerCoordinateRotation::EulerCoordinateRotation().

Here is the caller graph for this function:

◆ EulerCoordinateRotation() [2/5]

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

Construct from rotation vector.

Definition at line 203 of file EulerCoordinateRotation.C.

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

Here is the call graph for this function:

◆ EulerCoordinateRotation() [3/5]

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

Construct from components of rotation vector.

Definition at line 222 of file EulerCoordinateRotation.C.

References EulerCoordinateRotation::EulerCoordinateRotation().

Here is the call graph for this function:

◆ EulerCoordinateRotation() [4/5]

Construct from dictionary.

Definition at line 237 of file EulerCoordinateRotation.C.

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

Here is the call graph for this function:

◆ EulerCoordinateRotation() [5/5]

EulerCoordinateRotation ( const dictionary dict,
const objectRegistry  
)

Construct from dictionary and mesh.

Definition at line 257 of file EulerCoordinateRotation.C.

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

Here is the call graph for this function:

Member Function Documentation

◆ TypeName()

TypeName ( "EulerRotation"  )

Runtime type information.

◆ clear()

virtual void clear ( )
inlinevirtual

Reset rotation to an identity rotation.

Implements coordinateRotation.

Definition at line 129 of file EulerCoordinateRotation.H.

References SphericalTensor< Cmpt >::I.

◆ updateCells()

virtual void updateCells ( const polyMesh ,
const labelList  
)
inlinevirtual

Update the rotation for a list of cells.

Implements coordinateRotation.

Definition at line 136 of file EulerCoordinateRotation.H.

◆ R()

virtual const tensor& R ( ) const
inlinevirtual

Return local-to-global transformation tensor.

Implements coordinateRotation.

Definition at line 140 of file EulerCoordinateRotation.H.

◆ Rtr()

virtual const tensor& Rtr ( ) const
inlinevirtual

Return global-to-local transformation tensor.

Implements coordinateRotation.

Definition at line 146 of file EulerCoordinateRotation.H.

◆ e1()

virtual const vector e1 ( ) const
inlinevirtual

Return local Cartesian x-axis in global coordinates.

Implements coordinateRotation.

Definition at line 152 of file EulerCoordinateRotation.H.

References Tensor< Cmpt >::x().

Referenced by EulerCoordinateRotation::write().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ e2()

virtual const vector e2 ( ) const
inlinevirtual

Return local Cartesian y-axis in global coordinates.

Implements coordinateRotation.

Definition at line 158 of file EulerCoordinateRotation.H.

References Tensor< Cmpt >::y().

Referenced by EulerCoordinateRotation::write().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ e3()

virtual const vector e3 ( ) const
inlinevirtual

Return local Cartesian z-axis in global coordinates.

Implements coordinateRotation.

Definition at line 164 of file EulerCoordinateRotation.H.

References EulerCoordinateRotation::invTransform(), EulerCoordinateRotation::Tr(), EulerCoordinateRotation::transform(), EulerCoordinateRotation::transformTensor(), EulerCoordinateRotation::transformVector(), EulerCoordinateRotation::write(), and Tensor< Cmpt >::z().

Referenced by EulerCoordinateRotation::write().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Tr()

const Foam::tensorField & Tr ( ) const
virtual

Return transformation tensor field.

Implements coordinateRotation.

Definition at line 87 of file EulerCoordinateRotation.C.

References NotImplemented, and EulerCoordinateRotation::transformTensor().

Referenced by EulerCoordinateRotation::e3().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ transform() [1/2]

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 EulerCoordinateRotation::invTransform(), and NotImplemented.

Referenced by EulerCoordinateRotation::e3(), and EulerCoordinateRotation::invTransform().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ transform() [2/2]

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

Transform vector using transformation tensor.

Implements coordinateRotation.

Definition at line 52 of file EulerCoordinateRotation.C.

References EulerCoordinateRotation::invTransform().

Here is the call graph for this function:

◆ invTransform() [1/2]

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

Inverse transform vectorField using transformation tensor field.

Implements coordinateRotation.

Definition at line 78 of file EulerCoordinateRotation.C.

References NotImplemented.

Referenced by EulerCoordinateRotation::e3(), and EulerCoordinateRotation::transform().

Here is the caller graph for this function:

◆ invTransform() [2/2]

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

Inverse transform vector using transformation tensor.

Implements coordinateRotation.

Definition at line 59 of file EulerCoordinateRotation.C.

References EulerCoordinateRotation::transform().

Here is the call graph for this function:

◆ transformTensor() [1/3]

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

Transform tensor field using transformation tensorField.

Implements coordinateRotation.

Definition at line 95 of file EulerCoordinateRotation.C.

References NotImplemented.

Referenced by EulerCoordinateRotation::e3(), EulerCoordinateRotation::Tr(), and EulerCoordinateRotation::transformTensor().

Here is the caller graph for this function:

◆ transformTensor() [2/3]

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

Transform tensor using transformation tensorField.

Implements coordinateRotation.

Definition at line 105 of file EulerCoordinateRotation.C.

References EulerCoordinateRotation::transformTensor().

Here is the call graph for this function:

◆ transformTensor() [3/3]

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 114 of file EulerCoordinateRotation.C.

References NotImplemented, and EulerCoordinateRotation::transformVector().

Here is the call graph for this function:

◆ transformVector() [1/2]

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

Transform vectorField using transformation tensorField and return.

symmetrical tensorField

Implements coordinateRotation.

Definition at line 126 of file EulerCoordinateRotation.C.

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

Referenced by EulerCoordinateRotation::e3(), and EulerCoordinateRotation::transformTensor().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ transformVector() [2/2]

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

Transform vector using transformation tensor and return.

symmetrical tensor

Implements coordinateRotation.

Definition at line 142 of file EulerCoordinateRotation.C.

References Foam::cos(), phi, Foam::constant::mathematical::pi(), psi, and Foam::sin().

Here is the call graph for this function:

◆ write()

void write ( Ostream os) const
virtual

Write.

Implements coordinateRotation.

Definition at line 277 of file EulerCoordinateRotation.C.

References EulerCoordinateRotation::e1(), EulerCoordinateRotation::e2(), EulerCoordinateRotation::e3(), token::END_STATEMENT, Foam::nl, and Ostream::writeKeyword().

Referenced by EulerCoordinateRotation::e3().

Here is the call graph for this function:
Here is the caller graph for this function:

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