A coordinateRotation specified using global axes. More...
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< coordinateRotation > | clone () 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... | |
![]() | |
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 autoPtr< coordinateRotation > | New (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 vector | findOrthogonal (const vector &axis) |
Determine best-guess for an orthogonal axis. More... | |
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 |
axis
and direction
. For cylindrical coordinates, the axis
would correspond to the z-axis and the direction
to the r-axis.Definition at line 104 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 203 of file axesRotation.C.
Copy construct.
Definition at line 212 of file axesRotation.C.
Construct from two axes.
Definition at line 222 of file axesRotation.C.
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.
|
explicit |
Construct from dictionary.
Definition at line 241 of file axesRotation.C.
References dict, and axes::read().
|
virtualdefault |
Destructor.
|
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().
TypeNameNoDebug | ( | "axes" | ) |
Runtime type information.
|
inlinevirtual |
Return clone.
Implements coordinateRotation.
Reimplemented in cylindrical.
Definition at line 168 of file axesRotation.H.
|
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().
|
virtual |
|
virtual |
The rotation tensor calculated from the specified axes and order.
Implements coordinateRotation.
Definition at line 259 of file axesRotation.C.
References axes::rotation().
|
virtual |
Write information.
Implements coordinateRotation.
Reimplemented in cylindrical.
Definition at line 267 of file axesRotation.C.
References os().
Write dictionary entry.
Implements coordinateRotation.
Reimplemented in cylindrical.
Definition at line 288 of file axesRotation.C.
References os(), and Foam::type().
|
protected |
|
protected |
|
protected |