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 (const dictionary &)
 Construct from dictionary. More...
 
 EulerCoordinateRotation (const dictionary &, const UList< vector > &points)
 Construct from dictionary and list of points. More...
 
virtual autoPtr< coordinateRotationclone () const
 Construct and return a clone. More...
 
virtual void updatePoints (const UList< vector > &points)
 Update the rotation for a list of points. More...
 
virtual const tensorR () const
 Return local-to-global 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 tmp< vectorFieldtransform (const vectorField &vf) const
 Transform vectorField using transformation tensor field. More...
 
virtual vector transform (const vector &v) const
 Transform vector using transformation tensor. More...
 
virtual tmp< vectorFieldinvTransform (const vectorField &vf) const
 Inverse transform vectorField using transformation tensor field. More...
 
virtual vector invTransform (const vector &v) const
 Inverse transform vector using transformation tensor. More...
 
virtual tmp< tensorFieldtransform (const tensorField &tf) const
 Transform tensor field using transformation tensorField. More...
 
virtual tensor transform (const vector &p, const tensor &t) const
 Transform tensor using transformation tensorField. More...
 
virtual symmTensor transformDiagTensor (const vector &p, const vector &v) const
 Transform diagTensor masquerading as a vector using transformation. More...
 
virtual tmp< symmTensorFieldtransformDiagTensor (const vectorField &vf) const
 Transform diagTensorField masquerading as a vectorField. More...
 
virtual void write (Ostream &) const
 Write. More...
 
- Public Member Functions inherited from coordinateRotation
 TypeName ("coordinateRotation")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, coordinateRotation, dictionary,(const dictionary &dict),(dict))
 
 declareRunTimeSelectionTable (autoPtr, coordinateRotation, points,(const dictionary &dict, const UList< vector > &points),(dict, points))
 
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 UList< vector > &points)
 Select constructed from dictionary and list of points. More...
 
static autoPtr< coordinateRotationNew (const dictionary &dict)
 Select constructed from dictionary. More...
 
- Protected Member Functions inherited from coordinateRotation
symmTensor transformVectorDiagTensor (const tensor &, const vector &) const
 Transform the vector as if it is a diagonal tensor. 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 explicitly specified:
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/2]

Construct from dictionary.

Definition at line 83 of file EulerCoordinateRotation.C.

References VectorSpace< Form, Cmpt, Ncmpts >::component(), dict, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, Foam::unitDegrees, Vector< scalar >::X, Vector< scalar >::Y, and Vector< scalar >::Z.

Referenced by EulerCoordinateRotation::clone().

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

◆ EulerCoordinateRotation() [2/2]

EulerCoordinateRotation ( const dictionary dict,
const UList< vector > &  points 
)

Construct from dictionary and list of points.

Definition at line 111 of file EulerCoordinateRotation.C.

Member Function Documentation

◆ TypeName()

TypeName ( "EulerRotation"  )

Runtime type information.

◆ clone()

virtual autoPtr<coordinateRotation> clone ( ) const
inlinevirtual

Construct and return a clone.

Implements coordinateRotation.

Definition at line 106 of file EulerCoordinateRotation.H.

References EulerCoordinateRotation::EulerCoordinateRotation().

Here is the call graph for this function:

◆ updatePoints()

virtual void updatePoints ( const UList< vector > &  points)
inlinevirtual

Update the rotation for a list of points.

Implements coordinateRotation.

Definition at line 118 of file EulerCoordinateRotation.H.

◆ R()

virtual const tensor& R ( ) const
inlinevirtual

Return local-to-global transformation tensor.

Implements coordinateRotation.

Definition at line 122 of file EulerCoordinateRotation.H.

◆ e1()

virtual const vector e1 ( ) const
inlinevirtual

Return local Cartesian x-axis in global coordinates.

Implements coordinateRotation.

Definition at line 128 of file EulerCoordinateRotation.H.

References Tensor< Cmpt >::x().

Here is the call graph for this function:

◆ e2()

virtual const vector e2 ( ) const
inlinevirtual

Return local Cartesian y-axis in global coordinates.

Implements coordinateRotation.

Definition at line 134 of file EulerCoordinateRotation.H.

References Tensor< Cmpt >::y().

Here is the call graph for this function:

◆ e3()

virtual const vector e3 ( ) const
inlinevirtual

Return local Cartesian z-axis in global coordinates.

Implements coordinateRotation.

Definition at line 140 of file EulerCoordinateRotation.H.

References Tensor< Cmpt >::z().

Here is the call graph for this function:

◆ transform() [1/4]

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

Transform vectorField using transformation tensor field.

Implements coordinateRotation.

Definition at line 135 of file EulerCoordinateRotation.C.

References NotImplemented.

◆ transform() [2/4]

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

Transform vector using transformation tensor.

Implements coordinateRotation.

Definition at line 123 of file EulerCoordinateRotation.C.

◆ invTransform() [1/2]

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

Inverse transform vectorField using transformation tensor field.

Implements coordinateRotation.

Definition at line 145 of file EulerCoordinateRotation.C.

References NotImplemented.

◆ invTransform() [2/2]

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

Inverse transform vector using transformation tensor.

Implements coordinateRotation.

Definition at line 129 of file EulerCoordinateRotation.C.

◆ transform() [3/4]

Foam::tmp< Foam::tensorField > transform ( const tensorField tf) const
virtual

Transform tensor field using transformation tensorField.

Implements coordinateRotation.

Definition at line 155 of file EulerCoordinateRotation.C.

References NotImplemented.

◆ transform() [4/4]

Foam::tensor transform ( const vector p,
const tensor t 
) const
virtual

Transform tensor using transformation tensorField.

Implements coordinateRotation.

Definition at line 165 of file EulerCoordinateRotation.C.

◆ transformDiagTensor() [1/2]

Foam::symmTensor transformDiagTensor ( const vector p,
const vector v 
) const
virtual

Transform diagTensor masquerading as a vector using transformation.

tensor and return symmTensor

Implements coordinateRotation.

Definition at line 192 of file EulerCoordinateRotation.C.

◆ transformDiagTensor() [2/2]

Foam::tmp< Foam::symmTensorField > transformDiagTensor ( const vectorField vf) const
virtual

Transform diagTensorField masquerading as a vectorField.

using transformation tensorField and return symmTensorField

Implements coordinateRotation.

Definition at line 175 of file EulerCoordinateRotation.C.

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

Here is the call graph for this function:

◆ write()

void write ( Ostream os) const
virtual

Write.

Implements coordinateRotation.

Definition at line 202 of file EulerCoordinateRotation.C.

References Foam::writeEntry().

Here is the call graph for this function:

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