A coordinateRotation defined in the z-x-y Euler convention. More...
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 tensor & | R () const |
Return local-to-global transformation tensor. More... | |
virtual const tensor & | Rtr () 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 tensorField & | Tr () const |
Return transformation tensor field. More... | |
virtual tmp< vectorField > | transform (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< vectorField > | invTransform (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< tensorField > | transformTensor (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< tensorField > | transformTensor (const tensorField &st, const labelList &cellMap) const |
Transform tensor sub-field using transformation tensorField. More... | |
virtual tmp< symmTensorField > | transformVector (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... | |
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); }
Definition at line 66 of file EulerCoordinateRotation.H.
Construct null.
Definition at line 195 of file EulerCoordinateRotation.C.
Referenced by EulerCoordinateRotation::EulerCoordinateRotation().
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.
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().
EulerCoordinateRotation | ( | const dictionary & | dict | ) |
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.
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.
TypeName | ( | "EulerRotation" | ) |
Runtime type information.
|
inlinevirtual |
Reset rotation to an identity rotation.
Implements coordinateRotation.
Definition at line 129 of file EulerCoordinateRotation.H.
References SphericalTensor< Cmpt >::I.
Update the rotation for a list of cells.
Implements coordinateRotation.
Definition at line 136 of file EulerCoordinateRotation.H.
|
inlinevirtual |
Return local-to-global transformation tensor.
Implements coordinateRotation.
Definition at line 142 of file EulerCoordinateRotation.H.
|
inlinevirtual |
Return global-to-local transformation tensor.
Implements coordinateRotation.
Definition at line 148 of file EulerCoordinateRotation.H.
|
inlinevirtual |
Return local Cartesian x-axis in global coordinates.
Implements coordinateRotation.
Definition at line 154 of file EulerCoordinateRotation.H.
References Tensor< Cmpt >::x().
Referenced by EulerCoordinateRotation::write().
|
inlinevirtual |
Return local Cartesian y-axis in global coordinates.
Implements coordinateRotation.
Definition at line 160 of file EulerCoordinateRotation.H.
References Tensor< Cmpt >::y().
Referenced by EulerCoordinateRotation::write().
|
inlinevirtual |
Return local Cartesian z-axis in global coordinates.
Implements coordinateRotation.
Definition at line 166 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().
|
virtual |
Return transformation tensor field.
Implements coordinateRotation.
Definition at line 87 of file EulerCoordinateRotation.C.
References NotImplemented, and EulerCoordinateRotation::transformTensor().
Referenced by EulerCoordinateRotation::e3().
|
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().
|
virtual |
Transform vector using transformation tensor.
Implements coordinateRotation.
Definition at line 52 of file EulerCoordinateRotation.C.
References EulerCoordinateRotation::invTransform().
|
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().
|
virtual |
Inverse transform vector using transformation tensor.
Implements coordinateRotation.
Definition at line 59 of file EulerCoordinateRotation.C.
References EulerCoordinateRotation::transform().
|
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().
|
virtual |
Transform tensor using transformation tensorField.
Implements coordinateRotation.
Definition at line 105 of file EulerCoordinateRotation.C.
References EulerCoordinateRotation::transformTensor().
|
virtual |
Transform tensor sub-field using transformation tensorField.
Implements coordinateRotation.
Definition at line 114 of file EulerCoordinateRotation.C.
References NotImplemented, and EulerCoordinateRotation::transformVector().
|
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().
|
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().
|
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().