Public Member Functions | Private Member Functions | Private Attributes
cylindrical Class Reference

A local coordinate rotation. The cell based rotational field can be created in two ways: More...

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

Public Member Functions

 TypeName ("cylindrical")
 Runtime type information. More...
 
 cylindrical (const dictionary &, const objectRegistry &)
 Construct from dictionary and objectRegistry. More...
 
 cylindrical (const objectRegistry &, const vector &axis, const point &origin)
 Construct from components for all cells. More...
 
 cylindrical (const objectRegistry &, const vector &axis, const point &origin, const List< label > &cells)
 Construct from components for list of cells. More...
 
 cylindrical (const dictionary &)
 Construct from dictionary. More...
 
 cylindrical (const tensorField &)
 Construct from tensor Field. More...
 
 cylindrical (const cylindrical &)
 Construct as copy. More...
 
autoPtr< coordinateRotationclone () const
 Return clone. More...
 
virtual ~cylindrical ()
 Destructor. More...
 
virtual void clear ()
 Reset rotation to an identity rotation. More...
 
virtual void updateCells (const polyMesh &mesh, const labelList &cells)
 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. More...
 
virtual const vector e2 () const
 Return local Cartesian y-axis. More...
 
virtual const vector e3 () const
 Return local Cartesian z-axis. More...
 
virtual const tensorFieldTr () const
 Return local-to-global transformation tensor. More...
 
virtual tmp< vectorFieldtransform (const vectorField &tf) const
 Transform vectorField using transformation tensor field. More...
 
virtual vector transform (const vector &v) const
 Transform vector using transformation tensor. More...
 
virtual vector transform (const vector &v, const label cmptI) const
 Transform vector using transformation tensor for component. 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 vector invTransform (const vector &v, const label cmptI) const
 Inverse transform vector using transformation tensor for component. More...
 
virtual bool uniform () const
 Return if the rotation is uniform. More...
 
virtual tmp< tensorFieldtransformTensor (const tensorField &tf) const
 Transform tensor field using transformation tensorField. More...
 
virtual tensor transformTensor (const tensor &t) const
 Transform tensor using transformation tensorField. More...
 
virtual tmp< tensorFieldtransformTensor (const tensorField &tf, const labelList &cellMap) const
 Transform tensor sub-field using transformation tensorField. More...
 
virtual tmp< symmTensorFieldtransformVector (const vectorField &vf) const
 Transform vectorField using transformation tensorField and return. More...
 
virtual symmTensor transformVector (const vector &v) 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...
 

Private Member Functions

void init (const objectRegistry &obr, const List< label > &cells=List< label >())
 Init transformation tensor field. More...
 

Private Attributes

autoPtr< tensorFieldRptr_
 AutoPtr to transformation tensor. More...
 
point origin_
 Origin of the coordinate system. More...
 
vector e3_
 Rotation axis. 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 local coordinate rotation. The cell based rotational field can be created in two ways:

1) Each rotational tensor is defined with two vectors (dir and e3) where dir = cellC - origin and e3 is the rotation axis. Per each cell an axesRotation type of rotation is created (cylindrical coordinates)

        cylindrical
        {
            type        localAxes;
            e3          (0 0 1);
        }

2) The rotational tensor field is provided at construction

Definition at line 63 of file cylindrical.H.

Constructor & Destructor Documentation

◆ cylindrical() [1/6]

cylindrical ( const dictionary dict,
const objectRegistry obr 
)

Construct from dictionary and objectRegistry.

Definition at line 96 of file cylindrical.C.

References dict.

Referenced by cylindrical::clone().

Here is the caller graph for this function:

◆ cylindrical() [2/6]

cylindrical ( const objectRegistry obr,
const vector axis,
const point origin 
)

Construct from components for all cells.

Definition at line 119 of file cylindrical.C.

◆ cylindrical() [3/6]

cylindrical ( const objectRegistry obr,
const vector axis,
const point origin,
const List< label > &  cells 
)

Construct from components for list of cells.

Definition at line 134 of file cylindrical.C.

References cells.

◆ cylindrical() [4/6]

cylindrical ( const dictionary dict)

Construct from dictionary.

Definition at line 149 of file cylindrical.C.

References Foam::exit(), FatalErrorInFunction, and Foam::FatalIOError.

Here is the call graph for this function:

◆ cylindrical() [5/6]

cylindrical ( const tensorField R)

Construct from tensor Field.

Definition at line 165 of file cylindrical.C.

References cylindrical::R(), and cylindrical::Rptr_.

Here is the call graph for this function:

◆ cylindrical() [6/6]

cylindrical ( const cylindrical r)

Construct as copy.

Definition at line 175 of file cylindrical.C.

◆ ~cylindrical()

virtual ~cylindrical ( )
inlinevirtual

Destructor.

Definition at line 133 of file cylindrical.H.

Member Function Documentation

◆ init()

void init ( const objectRegistry obr,
const List< label > &  cells = List<label>() 
)
private

Init transformation tensor field.

Definition at line 55 of file cylindrical.C.

References cells, forAll, Foam::mag(), mesh, axesRotation::R(), and R.

Here is the call graph for this function:

◆ TypeName()

TypeName ( "cylindrical"  )

Runtime type information.

◆ clone()

autoPtr<coordinateRotation> clone ( ) const
inlinevirtual

Return clone.

Implements coordinateRotation.

Definition at line 126 of file cylindrical.H.

References cylindrical::cylindrical().

Here is the call graph for this function:

◆ clear()

void clear ( )
virtual

Reset rotation to an identity rotation.

Implements coordinateRotation.

Definition at line 186 of file cylindrical.C.

◆ updateCells()

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

Update the rotation for a list of cells.

Implements coordinateRotation.

Definition at line 196 of file cylindrical.C.

References primitiveMesh::cellCentres(), cells, forAll, Foam::mag(), mesh, axesRotation::R(), and R.

Here is the call graph for this function:

◆ R()

virtual const tensor& R ( ) const
inlinevirtual

Return local-to-global transformation tensor.

Implements coordinateRotation.

Definition at line 146 of file cylindrical.H.

References NotImplemented, and Tensor::zero.

Referenced by cylindrical::cylindrical().

Here is the caller graph for this function:

◆ Rtr()

virtual const tensor& Rtr ( ) const
inlinevirtual

Return global-to-local transformation tensor.

Implements coordinateRotation.

Definition at line 153 of file cylindrical.H.

References NotImplemented, and Tensor::zero.

◆ e1()

virtual const vector e1 ( ) const
inlinevirtual

Return local Cartesian x-axis.

Implements coordinateRotation.

Definition at line 160 of file cylindrical.H.

References NotImplemented, and Vector< scalar >::zero.

◆ e2()

virtual const vector e2 ( ) const
inlinevirtual

Return local Cartesian y-axis.

Implements coordinateRotation.

Definition at line 167 of file cylindrical.H.

References NotImplemented, and Vector< scalar >::zero.

◆ e3()

virtual const vector e3 ( ) const
inlinevirtual

Return local Cartesian z-axis.

Implements coordinateRotation.

Definition at line 174 of file cylindrical.H.

References cylindrical::e3_.

◆ Tr()

virtual const tensorField& Tr ( ) const
inlinevirtual

Return local-to-global transformation tensor.

Implements coordinateRotation.

Definition at line 179 of file cylindrical.H.

References cylindrical::Rptr_.

◆ transform() [1/3]

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

Transform vectorField using transformation tensor field.

Implements coordinateRotation.

Definition at line 216 of file cylindrical.C.

References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.

Here is the call graph for this function:

◆ transform() [2/3]

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

Transform vector using transformation tensor.

Implements coordinateRotation.

Definition at line 231 of file cylindrical.C.

References NotImplemented, and Vector< scalar >::zero.

◆ transform() [3/3]

Foam::vector transform ( const vector v,
const label  cmptI 
) const
virtual

Transform vector using transformation tensor for component.

Definition at line 239 of file cylindrical.C.

◆ invTransform() [1/3]

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

Inverse transform vectorField using transformation tensor field.

Implements coordinateRotation.

Definition at line 249 of file cylindrical.C.

References Foam::T().

Here is the call graph for this function:

◆ invTransform() [2/3]

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

Inverse transform vector using transformation tensor.

Implements coordinateRotation.

Definition at line 257 of file cylindrical.C.

References NotImplemented, and Vector< scalar >::zero.

◆ invTransform() [3/3]

Foam::vector invTransform ( const vector v,
const label  cmptI 
) const
virtual

Inverse transform vector using transformation tensor for component.

Definition at line 265 of file cylindrical.C.

References Foam::T().

Here is the call graph for this function:

◆ uniform()

virtual bool uniform ( ) const
inlinevirtual

Return if the rotation is uniform.

Reimplemented from coordinateRotation.

Definition at line 203 of file cylindrical.H.

◆ transformTensor() [1/3]

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

Transform tensor field using transformation tensorField.

Implements coordinateRotation.

Definition at line 275 of file cylindrical.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, Foam::T(), and tf.

Here is the call graph for this function:

◆ transformTensor() [2/3]

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

Transform tensor using transformation tensorField.

Implements coordinateRotation.

Definition at line 290 of file cylindrical.C.

References NotImplemented, and Tensor::zero.

◆ transformTensor() [3/3]

Foam::tmp< Foam::tensorField > transformTensor ( const tensorField tf,
const labelList cellMap 
) const
virtual

Transform tensor sub-field using transformation tensorField.

Implements coordinateRotation.

Definition at line 301 of file cylindrical.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, forAll, R, List::size(), and tf.

Here is the call graph for this function:

◆ transformVector() [1/2]

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

Transform vectorField using transformation tensorField and return.

symmetrical tensorField

Implements coordinateRotation.

Definition at line 328 of file cylindrical.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, fld(), forAll, and R.

Here is the call graph for this function:

◆ transformVector() [2/2]

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

Transform vector using transformation tensor and return.

symmetrical tensor (R & st & R.T())

Implements coordinateRotation.

Definition at line 352 of file cylindrical.C.

References NotImplemented, and SymmTensor< scalar >::zero.

◆ write()

void write ( Ostream os) const
virtual

Write.

Implements coordinateRotation.

Definition at line 361 of file cylindrical.C.

References token::END_STATEMENT, Foam::nl, and Ostream::writeKeyword().

Here is the call graph for this function:

Field Documentation

◆ Rptr_

autoPtr<tensorField> Rptr_
private

AutoPtr to transformation tensor.

Definition at line 70 of file cylindrical.H.

Referenced by cylindrical::cylindrical(), and cylindrical::Tr().

◆ origin_

point origin_
private

Origin of the coordinate system.

Definition at line 73 of file cylindrical.H.

◆ e3_

vector e3_
private

Rotation axis.

Definition at line 76 of file cylindrical.H.

Referenced by cylindrical::e3().


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