Abstract base class for coordinate rotation. More...
Public Member Functions | |
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 void | clear ()=0 |
Reset rotation to an identity rotation. More... | |
virtual void | updateCells (const polyMesh &mesh, const labelList &cells)=0 |
Update the rotation for a list of cells. More... | |
virtual const tensor & | R () const =0 |
Return local-to-global transformation tensor. More... | |
virtual const tensor & | Rtr () const =0 |
Return global-to-local transformation tensor. More... | |
virtual const vector | e1 () const =0 |
Return local Cartesian x-axis. More... | |
virtual const vector | e2 () const =0 |
Return local Cartesian y-axis. More... | |
virtual const vector | e3 () const =0 |
Return local Cartesian z-axis. More... | |
virtual const tensorField & | Tr () const =0 |
Return local-to-global transformation tensor. More... | |
virtual bool | uniform () const |
Return true if the rotation tensor is uniform. More... | |
virtual tmp< vectorField > | transform (const vectorField &st) const =0 |
Transform vectorField using transformation tensor field. More... | |
virtual vector | transform (const vector &st) const =0 |
Transform vector using transformation tensor. More... | |
virtual tmp< vectorField > | invTransform (const vectorField &st) const =0 |
Inverse transform vectorField using transformation tensor field. More... | |
virtual vector | invTransform (const vector &st) const =0 |
Inverse transform vector using transformation tensor. More... | |
virtual tmp< tensorField > | transformTensor (const tensorField &st) const =0 |
Transform tensor field using transformation tensorField. More... | |
virtual tmp< tensorField > | transformTensor (const tensorField &st, const labelList &cellMap) const =0 |
Transform tensor sub-field using transformation tensorField. More... | |
virtual tensor | transformTensor (const tensor &st) const =0 |
Transform tensor using transformation tensorField. More... | |
virtual tmp< symmTensorField > | transformVector (const vectorField &st) const =0 |
Transform vectorField using transformation tensorField and return. More... | |
virtual symmTensor | transformVector (const vector &st) const =0 |
Transform vector using transformation tensor and return. More... | |
virtual void | write (Ostream &) const =0 |
Write. More... | |
Static Public Member Functions | |
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 | |
symmTensor | transformPrincipal (const tensor &, const vector &) const |
Transform principal. More... | |
Abstract base class for coordinate rotation.
coordinateRotation { type axesRotation e1 (1 0 0); e2 (0 1 0); }
Types of coordinateRotation:
Definition at line 70 of file coordinateRotation.H.
|
inlinevirtual |
Destructor.
Definition at line 131 of file coordinateRotation.H.
References cells, coordinateRotation::clear(), coordinateRotation::e1(), coordinateRotation::e2(), coordinateRotation::e3(), mesh, coordinateRotation::R(), coordinateRotation::Rtr(), coordinateRotation::Tr(), and coordinateRotation::updateCells().
|
protected |
Transform principal.
Definition at line 43 of file coordinateRotation.C.
References Vector< Cmpt >::x(), Tensor< Cmpt >::xx(), Tensor< Cmpt >::xy(), Tensor< Cmpt >::xz(), Vector< Cmpt >::y(), Tensor< Cmpt >::yx(), Tensor< Cmpt >::yy(), Tensor< Cmpt >::yz(), Vector< Cmpt >::z(), Tensor< Cmpt >::zx(), Tensor< Cmpt >::zy(), and Tensor< Cmpt >::zz().
Referenced by axesRotation::transformVector(), and cylindrical::transformVector().
TypeName | ( | "coordinateRotation" | ) |
Runtime type information.
declareRunTimeSelectionTable | ( | autoPtr | , |
coordinateRotation | , | ||
objectRegistry | , | ||
(const dictionary &dict, const objectRegistry &obr) | , | ||
(dict, obr) | |||
) |
declareRunTimeSelectionTable | ( | autoPtr | , |
coordinateRotation | , | ||
dictionary | , | ||
(const dictionary &dict) | , | ||
(dict) | |||
) |
|
static |
Select constructed from dictionary and objectRegistry.
Definition at line 32 of file coordinateRotationNew.C.
References dict, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, dictionary::lookup(), Foam::nl, and Foam::Pout.
Referenced by coordinateSystem::init().
|
static |
Select constructed from dictionary.
Definition at line 65 of file coordinateRotationNew.C.
References dict, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, dictionary::lookup(), Foam::nl, and Foam::Pout.
|
pure virtual |
Reset rotation to an identity rotation.
Implemented in cylindrical, axesRotation, EulerCoordinateRotation, and STARCDCoordinateRotation.
Referenced by coordinateRotation::~coordinateRotation().
Update the rotation for a list of cells.
Implemented in cylindrical, axesRotation, EulerCoordinateRotation, and STARCDCoordinateRotation.
Referenced by coordinateRotation::~coordinateRotation().
|
pure virtual |
Return local-to-global transformation tensor.
Implemented in cylindrical, axesRotation, EulerCoordinateRotation, and STARCDCoordinateRotation.
Referenced by Foam::operator!=(), and coordinateRotation::~coordinateRotation().
|
pure virtual |
Return global-to-local transformation tensor.
Implemented in cylindrical, axesRotation, EulerCoordinateRotation, and STARCDCoordinateRotation.
Referenced by coordinateRotation::~coordinateRotation().
|
pure virtual |
Return local Cartesian x-axis.
Implemented in cylindrical, axesRotation, EulerCoordinateRotation, and STARCDCoordinateRotation.
Referenced by coordinateRotation::~coordinateRotation().
|
pure virtual |
Return local Cartesian y-axis.
Implemented in cylindrical, axesRotation, EulerCoordinateRotation, and STARCDCoordinateRotation.
Referenced by coordinateRotation::~coordinateRotation().
|
pure virtual |
Return local Cartesian z-axis.
Implemented in cylindrical, axesRotation, EulerCoordinateRotation, and STARCDCoordinateRotation.
Referenced by coordinateRotation::~coordinateRotation().
|
pure virtual |
Return local-to-global transformation tensor.
Implemented in cylindrical, axesRotation, EulerCoordinateRotation, and STARCDCoordinateRotation.
Referenced by coordinateRotation::~coordinateRotation().
|
inlinevirtual |
Return true if the rotation tensor is uniform.
Reimplemented in cylindrical.
Definition at line 166 of file coordinateRotation.H.
References coordinateRotation::invTransform(), coordinateRotation::transform(), coordinateRotation::transformTensor(), coordinateRotation::transformVector(), and coordinateRotation::write().
|
pure virtual |
Transform vectorField using transformation tensor field.
Implemented in cylindrical, axesRotation, EulerCoordinateRotation, and STARCDCoordinateRotation.
Referenced by coordinateRotation::uniform().
Transform vector using transformation tensor.
Implemented in cylindrical, axesRotation, EulerCoordinateRotation, and STARCDCoordinateRotation.
|
pure virtual |
Inverse transform vectorField using transformation tensor field.
Implemented in cylindrical, axesRotation, EulerCoordinateRotation, and STARCDCoordinateRotation.
Referenced by coordinateRotation::uniform().
Inverse transform vector using transformation tensor.
Implemented in cylindrical, axesRotation, EulerCoordinateRotation, and STARCDCoordinateRotation.
|
pure virtual |
Transform tensor field using transformation tensorField.
Implemented in cylindrical, axesRotation, EulerCoordinateRotation, and STARCDCoordinateRotation.
Referenced by fixedCoeff::calcTransformModelData(), DarcyForchheimer::calcTransformModelData(), and coordinateRotation::uniform().
|
pure virtual |
Transform tensor sub-field using transformation tensorField.
Implemented in cylindrical, axesRotation, EulerCoordinateRotation, and STARCDCoordinateRotation.
Transform tensor using transformation tensorField.
Implemented in cylindrical, axesRotation, EulerCoordinateRotation, and STARCDCoordinateRotation.
|
pure virtual |
Transform vectorField using transformation tensorField and return.
symmetrical tensorField
Implemented in cylindrical, axesRotation, EulerCoordinateRotation, and STARCDCoordinateRotation.
Referenced by coordinateRotation::uniform().
|
pure virtual |
Transform vector using transformation tensor and return.
symmetrical tensor
Implemented in cylindrical, axesRotation, EulerCoordinateRotation, and STARCDCoordinateRotation.
|
pure virtual |
Write.
Implemented in cylindrical, axesRotation, EulerCoordinateRotation, and STARCDCoordinateRotation.
Referenced by coordinateRotation::uniform().