Public Member Functions | Static Public Member Functions | Protected Member Functions
coordinateRotation Class Referenceabstract

Abstract base class for coordinate rotation. More...

Inheritance diagram for coordinateRotation:
Inheritance graph
[legend]

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 autoPtr< coordinateRotationclone () const =0
 Construct and return a clone. More...
 
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 tensorR () const =0
 Return local-to-global transformation tensor. More...
 
virtual const tensorRtr () 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 tensorFieldTr () const =0
 Return local-to-global transformation tensor. More...
 
virtual bool uniform () const
 Return true if the rotation tensor is uniform. More...
 
virtual tmp< vectorFieldtransform (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< vectorFieldinvTransform (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< tensorFieldtransformTensor (const tensorField &st) const =0
 Transform tensor field using transformation tensorField. More...
 
virtual tmp< tensorFieldtransformTensor (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< symmTensorFieldtransformVector (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< 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

symmTensor transformPrincipal (const tensor &, const vector &) const
 Transform principal. More...
 

Detailed Description

Abstract base class for coordinate rotation.

    coordinateRotation
    {
        type        axesRotation
        e1          (1 0 0);
        e2          (0 1 0);
    }

Types of coordinateRotation: 1) axesRotation 2) STARCDRotation 3) cylindrical 4) EulerCoordinateRotation

Definition at line 68 of file coordinateRotation.H.

Constructor & Destructor Documentation

◆ ~coordinateRotation()

virtual ~coordinateRotation ( )
inlinevirtual

Destructor.

Definition at line 134 of file coordinateRotation.H.

Member Function Documentation

◆ transformPrincipal()

Foam::symmTensor transformPrincipal ( const tensor tt,
const vector st 
) const
protected

Transform principal.

Definition at line 43 of file coordinateRotation.C.

References Vector< Cmpt >::x(), Tensor::xx(), Tensor::xy(), Tensor::xz(), Vector< Cmpt >::y(), Tensor::yx(), Tensor::yy(), Tensor::yz(), Vector< Cmpt >::z(), Tensor::zx(), Tensor::zy(), and Tensor::zz().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "coordinateRotation"  )

Runtime type information.

◆ declareRunTimeSelectionTable() [1/2]

declareRunTimeSelectionTable ( autoPtr  ,
coordinateRotation  ,
objectRegistry  ,
(const dictionary &dict, const objectRegistry &obr)  ,
(dict, obr)   
)

◆ declareRunTimeSelectionTable() [2/2]

declareRunTimeSelectionTable ( autoPtr  ,
coordinateRotation  ,
dictionary  ,
(const dictionary &dict ,
(dict  
)

◆ clone()

virtual autoPtr<coordinateRotation> clone ( ) const
pure virtual

Construct and return a clone.

Implemented in cylindrical, EulerCoordinateRotation, STARCDCoordinateRotation, and axesRotation.

◆ New() [1/2]

Foam::autoPtr< Foam::coordinateRotation > New ( const dictionary dict,
const objectRegistry obr 
)
static

Select constructed from dictionary and objectRegistry.

Definition at line 32 of file coordinateRotationNew.C.

References dict, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, Foam::nl, and Foam::Pout.

Referenced by coordinateSystem::init().

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

◆ New() [2/2]

Foam::autoPtr< Foam::coordinateRotation > New ( const dictionary dict)
static

Select constructed from dictionary.

Definition at line 66 of file coordinateRotationNew.C.

References dict, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, Foam::nl, and Foam::Pout.

Here is the call graph for this function:

◆ clear()

virtual void clear ( )
pure virtual

Reset rotation to an identity rotation.

Implemented in EulerCoordinateRotation, cylindrical, STARCDCoordinateRotation, and axesRotation.

◆ updateCells()

virtual void updateCells ( const polyMesh mesh,
const labelList cells 
)
pure virtual

Update the rotation for a list of cells.

Implemented in cylindrical, EulerCoordinateRotation, STARCDCoordinateRotation, and axesRotation.

◆ R()

virtual const tensor& R ( ) const
pure virtual

Return local-to-global transformation tensor.

Implemented in EulerCoordinateRotation, STARCDCoordinateRotation, cylindrical, and axesRotation.

◆ Rtr()

virtual const tensor& Rtr ( ) const
pure virtual

Return global-to-local transformation tensor.

Implemented in EulerCoordinateRotation, STARCDCoordinateRotation, cylindrical, and axesRotation.

◆ e1()

virtual const vector e1 ( ) const
pure virtual

Return local Cartesian x-axis.

Implemented in EulerCoordinateRotation, STARCDCoordinateRotation, cylindrical, and axesRotation.

◆ e2()

virtual const vector e2 ( ) const
pure virtual

Return local Cartesian y-axis.

Implemented in EulerCoordinateRotation, STARCDCoordinateRotation, cylindrical, and axesRotation.

◆ e3()

virtual const vector e3 ( ) const
pure virtual

Return local Cartesian z-axis.

Implemented in EulerCoordinateRotation, STARCDCoordinateRotation, cylindrical, and axesRotation.

◆ Tr()

virtual const tensorField& Tr ( ) const
pure virtual

Return local-to-global transformation tensor.

Implemented in EulerCoordinateRotation, STARCDCoordinateRotation, cylindrical, and axesRotation.

◆ uniform()

virtual bool uniform ( ) const
inlinevirtual

Return true if the rotation tensor is uniform.

Reimplemented in cylindrical.

Definition at line 169 of file coordinateRotation.H.

◆ transform() [1/2]

virtual tmp<vectorField> transform ( const vectorField st) const
pure virtual

Transform vectorField using transformation tensor field.

Implemented in cylindrical, EulerCoordinateRotation, STARCDCoordinateRotation, and axesRotation.

◆ transform() [2/2]

virtual vector transform ( const vector st) const
pure virtual

Transform vector using transformation tensor.

Implemented in cylindrical, EulerCoordinateRotation, STARCDCoordinateRotation, and axesRotation.

◆ invTransform() [1/2]

virtual tmp<vectorField> invTransform ( const vectorField st) const
pure virtual

Inverse transform vectorField using transformation tensor field.

Implemented in cylindrical, EulerCoordinateRotation, STARCDCoordinateRotation, and axesRotation.

◆ invTransform() [2/2]

virtual vector invTransform ( const vector st) const
pure virtual

Inverse transform vector using transformation tensor.

Implemented in cylindrical, EulerCoordinateRotation, STARCDCoordinateRotation, and axesRotation.

◆ transformTensor() [1/3]

virtual tmp<tensorField> transformTensor ( const tensorField st) const
pure virtual

Transform tensor field using transformation tensorField.

Implemented in cylindrical, EulerCoordinateRotation, STARCDCoordinateRotation, and axesRotation.

◆ transformTensor() [2/3]

virtual tmp<tensorField> transformTensor ( const tensorField st,
const labelList cellMap 
) const
pure virtual

Transform tensor sub-field using transformation tensorField.

Implemented in cylindrical, EulerCoordinateRotation, STARCDCoordinateRotation, and axesRotation.

◆ transformTensor() [3/3]

virtual tensor transformTensor ( const tensor st) const
pure virtual

Transform tensor using transformation tensorField.

Implemented in cylindrical, EulerCoordinateRotation, STARCDCoordinateRotation, and axesRotation.

◆ transformVector() [1/2]

virtual tmp<symmTensorField> transformVector ( const vectorField st) const
pure virtual

Transform vectorField using transformation tensorField and return.

symmetrical tensorField

Implemented in cylindrical, EulerCoordinateRotation, STARCDCoordinateRotation, and axesRotation.

◆ transformVector() [2/2]

virtual symmTensor transformVector ( const vector st) const
pure virtual

Transform vector using transformation tensor and return.

symmetrical tensor

Implemented in cylindrical, EulerCoordinateRotation, STARCDCoordinateRotation, and axesRotation.

◆ write()

virtual void write ( Ostream ) const
pure virtual

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