This class represents the linear and angular inertia of a rigid body by the mass, centre of mass and moment of inertia tensor about the centre of mass. More...
Public Member Functions | |
rigidBodyInertia () | |
Null constructor, initialises to zero. More... | |
rigidBodyInertia (const scalar m, const vector &c, const symmTensor &Ic) | |
Construct from mass, centre of mass and moment of inertia tensor. More... | |
rigidBodyInertia (const dictionary &dict) | |
Construct from dictionary. More... | |
rigidBodyInertia (const spatialTensor &st) | |
Construct from the components of a spatial tensor. More... | |
rigidBodyInertia (Istream &is) | |
Construct from Istream. More... | |
scalar | m () const |
Return the mass of the rigid-body. More... | |
const vector & | c () const |
Return the centre of mass of the rigid-body. More... | |
const symmTensor & | Ic () const |
Return the inertia tensor of the rigid-body about the centre of mass. More... | |
symmTensor | Ioc () const |
Return the difference between the inertia tensor of the rigid-body. More... | |
symmTensor | Icc (const vector &c) const |
Return the difference between the inertia tensor of the rigid-body. More... | |
symmTensor | Io () const |
Return the inertia tensor of the rigid-body about the origin. More... | |
scalar | kineticEnergy (const spatialVector &v) |
Return the kinetic energy of the body with the given velocity. More... | |
operator spatialTensor () const | |
Conversion to spatial tensor. More... | |
void | operator+= (const rigidBodyInertia &) |
Static Public Member Functions | |
static symmTensor | Ioc (const scalar m, const vector &c) |
Return the difference between the inertia tensor of the rigid-body. More... | |
Friends | |
Istream & | operator>> (Istream &, rigidBodyInertia &) |
Ostream & | operator<< (Ostream &, const rigidBodyInertia &) |
This class represents the linear and angular inertia of a rigid body by the mass, centre of mass and moment of inertia tensor about the centre of mass.
Featherstone, R. (2008). Rigid body dynamics algorithms. Springer.
Definition at line 75 of file rigidBodyInertia.H.
|
inline |
Null constructor, initialises to zero.
Definition at line 44 of file rigidBodyInertiaI.H.
Referenced by cuboid::cuboid(), Foam::RBD::operator+(), sphere::sphere(), and Foam::RBD::transform().
|
inline |
Construct from mass, centre of mass and moment of inertia tensor.
about the centre of mass
Definition at line 53 of file rigidBodyInertiaI.H.
|
inline |
Construct from dictionary.
Definition at line 65 of file rigidBodyInertiaI.H.
|
inlineexplicit |
Construct from the components of a spatial tensor.
Definition at line 73 of file rigidBodyInertiaI.H.
|
inlineexplicit |
Construct from Istream.
Definition at line 81 of file rigidBodyInertiaI.H.
|
inlinestatic |
Return the difference between the inertia tensor of the rigid-body.
about the origin - about the centre of mass for the given mass and centre of mass
Definition at line 33 of file rigidBodyInertiaI.H.
References Foam::I, Foam::magSqr(), and Foam::sqr().
|
inline |
Return the mass of the rigid-body.
Definition at line 91 of file rigidBodyInertiaI.H.
Referenced by cuboid::cuboid(), Foam::RBD::operator &(), Foam::RBD::operator+(), sphere::sphere(), and Foam::RBD::transform().
|
inline |
Return the centre of mass of the rigid-body.
Definition at line 96 of file rigidBodyInertiaI.H.
Referenced by cuboid::cuboid(), Foam::RBD::operator &(), Foam::RBD::operator+(), sphere::sphere(), and Foam::RBD::transform().
|
inline |
Return the inertia tensor of the rigid-body about the centre of mass.
Definition at line 101 of file rigidBodyInertiaI.H.
Referenced by Foam::RBD::operator+(), and Foam::RBD::transform().
|
inline |
Return the difference between the inertia tensor of the rigid-body.
about the origin - about the centre of mass
Definition at line 106 of file rigidBodyInertiaI.H.
Referenced by rigidBodyInertia::Icc(), and rigidBodyInertia::Io().
|
inline |
Return the difference between the inertia tensor of the rigid-body.
about the a new centre of mass - about the current centre of mass
Definition at line 111 of file rigidBodyInertiaI.H.
References rigidBodyInertia::Ioc().
Referenced by Foam::RBD::operator+().
|
inline |
Return the inertia tensor of the rigid-body about the origin.
Definition at line 116 of file rigidBodyInertiaI.H.
References rigidBodyInertia::Ioc().
Referenced by Foam::RBD::operator &(), and rigidBodyInertia::operator spatialTensor().
|
inline |
Return the kinetic energy of the body with the given velocity.
Definition at line 233 of file rigidBodyInertiaI.H.
Referenced by Foam::RBD::transform().
|
inline |
Conversion to spatial tensor.
Definition at line 124 of file rigidBodyInertiaI.H.
References Foam::I, and rigidBodyInertia::Io().
|
inline |
Definition at line 244 of file rigidBodyInertiaI.H.
|
friend |
|
friend |