A coordinateRotation specified using global axes. More...
#include <axesRotation.H>


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. | |
| axes () | |
| Default construct - an identity transform. | |
| axes (const axes &crot) | |
| Copy construct. | |
| axes (const vector &axis1, const vector &axis2, axisOrder order=E3_E1) | |
| Construct from two axes. | |
| axes (const vector &axis) | |
| Construct from a single axis (as e3) using a best-guess for the second axis. | |
| axes (const dictionary &dict) | |
| Construct from dictionary. | |
| autoPtr< coordinateRotation > | clone () const |
| Return clone. | |
| virtual | ~axes ()=default |
| Destructor. | |
| virtual void | clear () |
| Reset specification. | |
| virtual tensor | R () const |
| The rotation tensor calculated from the specified axes and order. | |
| virtual void | write (Ostream &os) const |
| Write information. | |
| virtual void | writeEntry (const word &keyword, Ostream &os) const |
| Write dictionary entry. | |
| Public Member Functions inherited from coordinateRotation | |
| TypeNameNoDebug ("coordinateRotation") | |
| Runtime type information. | |
| declareRunTimeSelectionTable (autoPtr, coordinateRotation, dictionary,(const dictionary &dict),(dict)) | |
| virtual | ~coordinateRotation ()=default |
| Destructor. | |
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. | |
| Static Public Member Functions inherited from coordinateRotation | |
| template<class Derived> | |
| static autoPtr< coordinateRotation > | Clone (const Derived &crot) |
| Clone a coordinate rotation. | |
| static autoPtr< coordinateRotation > | New (const word &modelType, const dictionary &dict) |
| Select construct the specified coordinate rotation type. | |
| static autoPtr< coordinateRotation > | New (const dictionary &dict) |
| Select construct from dictionary (requires the "type" entry). | |
Protected Member Functions | |
| void | read (const dictionary &dict) |
| Read from dictionary. | |
Protected Attributes | |
| vector | axis1_ |
| The primary axis. | |
| vector | axis2_ |
| The secondary axis. | |
| axisOrder | order_ |
| The axis order. | |
Additional Inherited Members | |
| Static Protected Member Functions inherited from coordinateRotation | |
| static vector | findOrthogonal (const vector &axis) |
| Determine best-guess for an orthogonal axis. | |
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 | Reqd | Default |
|---|---|---|---|
type | Type name: axes | yes | |
e1 | local x-axis | partly | |
e2 | local y-axis | partly | |
e3 | local z-axis | partly |
axis and direction. For cylindrical coordinates, the axis would correspond to the z-axis and the direction to the r-axis. Also accepts "axesRotation" (OpenFOAM-v1806) for the type.Definition at line 101 of file axesRotation.H.
| enum axisOrder |
The order/combination of local axes for the axes-rotation definition.
Note that these follow the right-hand rule.
Definition at line 112 of file axesRotation.H.
| axes | ( | ) |
Default construct - an identity transform.
Definition at line 198 of file axesRotation.C.
References axis1_, axis2_, E3_E1, and order_.
Referenced by axes(), axes(), axes(), cylindrical::cylindrical(), cylindrical::cylindrical(), and TypeNameNoDebug().

| axes | ( | const axes & | crot | ) |
Construct from two axes.
Definition at line 216 of file axesRotation.C.
|
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 230 of file axesRotation.C.
References axes(), E3_E1_COMPAT, and Foam::Zero.

|
explicit |
Construct from dictionary.
Definition at line 236 of file axesRotation.C.
References axes(), dict, and read().

|
virtualdefault |
|
protected |
Read from dictionary.
Definition at line 153 of file axesRotation.C.
References axis1_, axis2_, dict, E1_E2, E2_E3, E3_E1, E3_E1_COMPAT, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, and order_.
Referenced by axes().


| TypeNameNoDebug | ( | "axes" | ) |
|
inlinevirtual |
Return clone.
Implements coordinateRotation.
Reimplemented in cylindrical.
Definition at line 191 of file axesRotation.H.
References coordinateRotation::Clone().

|
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 61 of file axesRotation.C.
References Foam::abort(), Tensor< Cmpt >::col(), E1_E2, E2_E3, E3_E1, E3_E1_COMPAT, Foam::endl(), Foam::FatalError, FatalErrorInFunction, coordinateRotation::findOrthogonal(), Foam::mag(), Foam::nl, Vector< Cmpt >::removeCollinear(), and WarningInFunction.
Referenced by R(), and cylindrical::rotation().


|
virtual |
|
virtual |
The rotation tensor calculated from the specified axes and order.
Implements coordinateRotation.
Definition at line 254 of file axesRotation.C.
References axis1_, axis2_, order_, and rotation().

|
virtual |
Write information.
Implements coordinateRotation.
Reimplemented in cylindrical.
Definition at line 262 of file axesRotation.C.
References axis1_, axis2_, E1_E2, E2_E3, E3_E1, E3_E1_COMPAT, order_, and os().

Write dictionary entry.
Implements coordinateRotation.
Reimplemented in cylindrical.
Definition at line 282 of file axesRotation.C.
References axis1_, axis2_, E1_E2, E2_E3, E3_E1, E3_E1_COMPAT, order_, os(), and Foam::type().

|
protected |
The primary axis.
Definition at line 128 of file axesRotation.H.
Referenced by axes(), axes(), axes(), clear(), R(), read(), write(), cylindrical::write(), writeEntry(), and cylindrical::writeEntry().
|
protected |
The secondary axis.
Definition at line 133 of file axesRotation.H.
Referenced by axes(), axes(), axes(), clear(), R(), read(), write(), and writeEntry().
|
protected |
The axis order.
Definition at line 138 of file axesRotation.H.
Referenced by axes(), axes(), axes(), clear(), R(), read(), write(), and writeEntry().