axes Class Reference

A coordinateRotation specified using global axes. More...

Inheritance diagram for axes:
[legend]
Collaboration diagram for axes:
[legend]

Public Types

enum  axisOrder { E1_E2, E2_E3, E3_E1, E3_E1_COMPAT }
 The order/combination of local axes for the axes-rotation definition. More...
 

Public Member Functions

 TypeNameNoDebug ("axes")
 Runtime type information. More...
 
 axes ()
 Default construct - an identity transform. More...
 
 axes (const axes &crot)
 Copy construct. More...
 
 axes (const vector &axis1, const vector &axis2, axisOrder order=E3_E1)
 Construct from two axes. More...
 
 axes (const vector &axis)
 
 axes (const dictionary &dict)
 Construct from dictionary. More...
 
autoPtr< coordinateRotationclone () const
 Return clone. More...
 
virtual ~axes ()=default
 Destructor. More...
 
virtual void clear ()
 Reset specification. More...
 
virtual tensor R () const
 The rotation tensor calculated from the specified axes and order. More...
 
virtual void write (Ostream &os) const
 Write information. More...
 
virtual void writeEntry (const word &keyword, Ostream &os) const
 Write dictionary entry. More...
 
- Public Member Functions inherited from coordinateRotation
 TypeNameNoDebug ("coordinateRotation")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, coordinateRotation, dictionary,(const dictionary &dict),(dict))
 
virtual ~coordinateRotation ()=default
 Destructor. More...
 

Static Public Member Functions

static tensor rotation (const vector &axis1, const vector &axis2, axisOrder order=E3_E1)
 The rotation tensor calculated from two axes and their order. More...
 
- Static Public Member Functions inherited from coordinateRotation
static autoPtr< coordinateRotationNew (const dictionary &dict)
 Select constructed from dictionary. More...
 

Protected Member Functions

void read (const dictionary &dict)
 Read from dictionary. More...
 

Protected Attributes

vector axis1_
 The primary axis. More...
 
vector axis2_
 The secondary axis. More...
 
axisOrder order_
 The axis order. More...
 

Additional Inherited Members

- Static Protected Member Functions inherited from coordinateRotation
static vector findOrthogonal (const vector &axis)
 Determine best-guess for an orthogonal axis. More...
 

Detailed Description

A coordinateRotation specified using global axes.

The rotation is defined by a combination of vectors (e1/e2), (e2/e3) or (e3/e1). Any nonorthogonality is absorbed into the second vector.

rotation
{
    type        axes;
    e1          (1 0 0);
    e2          (0 1 0);
}


Dictionary entries

Property Description Required Default
type type name: axes (previously axesRotation) yes
e1 local x-axis partly
e2 local y-axis partly
e3 local z-axis partly
Note
It is also possible to specify in terms of axis and direction. For cylindrical coordinates, the axis would correspond to the z-axis and the direction to the r-axis.
Source files

Definition at line 104 of file axesRotation.H.

Member Enumeration Documentation

◆ axisOrder

enum axisOrder

The order/combination of local axes for the axes-rotation definition.

Note that these follow the right-hand rule.

Enumerator
E1_E2 

The axis1 (dominant) is local X, axis2 is local Y.

E2_E3 

The axis1 (dominant) is local Y, axis2 is local Z.

E3_E1 

The axis1 (dominant) is local Z, axis2 is local X.

E3_E1_COMPAT 

E3_E1 specified as axis/direction.

Definition at line 112 of file axesRotation.H.

Constructor & Destructor Documentation

◆ axes() [1/5]

axes ( )

Default construct - an identity transform.

Definition at line 203 of file axesRotation.C.

◆ axes() [2/5]

axes ( const axes crot)

Copy construct.

Definition at line 212 of file axesRotation.C.

◆ axes() [3/5]

axes ( const vector axis1,
const vector axis2,
axisOrder  order = E3_E1 
)

Construct from two axes.

Definition at line 222 of file axesRotation.C.

◆ axes() [4/5]

axes ( const vector axis)
explicit

Construct from a single axis (as e3) using a best-guess for the second axis.

The largest component and its sign are used when guessing an appropriate orientation (direction).

Definition at line 235 of file axesRotation.C.

◆ axes() [5/5]

axes ( const dictionary dict)
explicit

Construct from dictionary.

Definition at line 241 of file axesRotation.C.

References dict, and axes::read().

Here is the call graph for this function:

◆ ~axes()

virtual ~axes ( )
virtualdefault

Destructor.

Member Function Documentation

◆ read()

void read ( const dictionary dict)
protected

Read from dictionary.

Definition at line 158 of file axesRotation.C.

References axes::axis1_, axes::axis2_, dict, axes::E1_E2, axes::E2_E3, axes::E3_E1, axes::E3_E1_COMPAT, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, and axes::order_.

Referenced by axes::axes().

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

◆ TypeNameNoDebug()

TypeNameNoDebug ( "axes"  )

Runtime type information.

◆ clone()

autoPtr<coordinateRotation> clone ( ) const
inlinevirtual

Return clone.

Implements coordinateRotation.

Reimplemented in cylindrical.

Definition at line 168 of file axesRotation.H.

◆ rotation()

Foam::tensor rotation ( const vector axis1,
const vector axis2,
axisOrder  order = E3_E1 
)
static

The rotation tensor calculated from two axes and their order.

The input axes will be normalised. If axis2 is zero, an axis orthogonal to axis1 will be guessed. The largest component and its sign are used when guessing an appropriate orientation (direction).

Definition at line 65 of file axesRotation.C.

References Foam::abort(), Tensor< Cmpt >::col(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, Foam::mag(), Foam::nl, and WarningInFunction.

Referenced by axes::R().

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

◆ clear()

void clear ( )
virtual

Reset specification.

Implements coordinateRotation.

Definition at line 251 of file axesRotation.C.

◆ R()

Foam::tensor R ( ) const
virtual

The rotation tensor calculated from the specified axes and order.

Implements coordinateRotation.

Definition at line 259 of file axesRotation.C.

References axes::rotation().

Here is the call graph for this function:

◆ write()

void write ( Ostream os) const
virtual

Write information.

Implements coordinateRotation.

Reimplemented in cylindrical.

Definition at line 267 of file axesRotation.C.

References os().

Here is the call graph for this function:

◆ writeEntry()

void writeEntry ( const word keyword,
Ostream os 
) const
virtual

Write dictionary entry.

Implements coordinateRotation.

Reimplemented in cylindrical.

Definition at line 288 of file axesRotation.C.

References os(), and Foam::type().

Here is the call graph for this function:

Member Data Documentation

◆ axis1_

vector axis1_
protected

The primary axis.

Definition at line 126 of file axesRotation.H.

Referenced by axes::read().

◆ axis2_

vector axis2_
protected

The secondary axis.

Definition at line 129 of file axesRotation.H.

Referenced by axes::read().

◆ order_

axisOrder order_
protected

The axis order.

Definition at line 132 of file axesRotation.H.

Referenced by axes::read().


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