Spherical joint for rotation about the x/y/z-axes using Euler-angles in the order y, x, z. More...
Public Member Functions | |
TypeName ("Ryxz") | |
Runtime type information. More... | |
Ryxz (const rigidBodyModel &model) | |
Construct for given model. More... | |
Ryxz (const rigidBodyModel &model, const dictionary &dict) | |
Construct for given model from dictionary. More... | |
virtual autoPtr< joint > | clone () const |
Clone this joint. More... | |
virtual | ~Ryxz () |
Destructor. More... | |
virtual void | jcalc (joint::XSvc &J, const rigidBodyModelState &state) const |
Update the model state for this joint. More... | |
Public Member Functions inherited from joint | |
TypeName ("joint") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, joint, dictionary,(const rigidBodyModel &model, const dictionary &dict),(model, dict)) | |
joint (const rigidBodyModel &model, const label nDoF) | |
Construct joint setting the size of the motion sub-space. More... | |
joint (const joint &)=default | |
Copy constructor. More... | |
virtual | ~joint () |
Destructor. More... | |
label | nDoF () const |
Return the number of degrees of freedom in this joint. More... | |
virtual bool | unitQuaternion () const |
Return true if this joint describes rotation using a quaternion. More... | |
label | index () const |
Return the index of this joint in the model. More... | |
label | qIndex () const |
Return start index for the state variables for this joint. More... | |
const List< spatialVector > & | S () const |
Return the joint motion sub-space. More... | |
virtual void | write (Ostream &) const |
Write. More... | |
void | operator= (const joint &j) |
Assignment. More... | |
quaternion | unitQuaternion (const scalarField &q) const |
Return the unit quaternion for this joint. More... | |
void | unitQuaternion (const quaternion &quat, scalarField &q) const |
Set the unit quaternion for this joint. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from joint | |
static autoPtr< joint > | New (joint *jointPtr) |
Simple selector to return an autoPtr<joint> of the given joint*. More... | |
static autoPtr< joint > | New (const rigidBodyModel &model, const dictionary &dict) |
Select from dictionary. More... | |
Protected Attributes inherited from joint | |
const rigidBodyModel & | model_ |
Reference to the model. More... | |
List< spatialVector > | S_ |
Joint motion sub-space. More... | |
label | index_ |
Index of this joint in the rigidBodyModel. More... | |
label | qIndex_ |
Index of this joints data in the rigidBodyModel state. More... | |
Spherical joint for rotation about the x/y/z-axes using Euler-angles in the order y, x, z.
Featherstone, R. (2008). Rigid body dynamics algorithms. Springer. Chapter 4.
Ryxz | ( | const rigidBodyModel & | model | ) |
Construct for given model.
Definition at line 53 of file Ryxz.C.
References joint::S_.
Referenced by Ryxz::clone().
Ryxz | ( | const rigidBodyModel & | model, |
const dictionary & | dict | ||
) |
|
virtual |
Destructor.
Definition at line 85 of file Ryxz.C.
References Ryxz::jcalc().
TypeName | ( | "Ryxz" | ) |
Runtime type information.
|
virtual |
Clone this joint.
Implements joint.
Definition at line 77 of file Ryxz.C.
References Ryxz::Ryxz().
|
virtual |
Update the model state for this joint.
Implements joint.
Definition at line 92 of file Ryxz.C.
References Field< Type >::block(), joint::XSvc::c, Foam::constant::physicoChemical::c1, Foam::constant::physicoChemical::c2, Foam::cos(), spatialTransform::E(), rigidBodyModelState::q(), rigidBodyModelState::qDot(), joint::qIndex_, spatialTransform::r(), joint::XSvc::S, Foam::sin(), joint::XSvc::v, Vector< Cmpt >::x(), joint::XSvc::X, MatrixSpace< Form, Cmpt, Mrows, Ncols >::xx(), MatrixSpace< Form, Cmpt, Mrows, Ncols >::xy(), Vector< Cmpt >::y(), MatrixSpace< Form, Cmpt, Mrows, Ncols >::yx(), MatrixSpace< Form, Cmpt, Mrows, Ncols >::yy(), Vector< Cmpt >::z(), Foam::Zero, MatrixSpace< Form, Cmpt, Mrows, Ncols >::zx(), and MatrixSpace< Form, Cmpt, Mrows, Ncols >::zz().
Referenced by Ryxz::~Ryxz().