Description
Utility class for calculating inertia properties of a composite body.
A composite body is a collection of sub-components, each specified through its mass, a centroidal frame, and its inertia tensor (w.r.t. the centroidal frame). New sub-components can be included in the composite body and optionally marked as "voids" (holes), by specifying:
- the mass of the sub-component
- a sub-component centroidal frame, relative to the composite reference frame; the location of this frame represents the sub-component COM location
- the sub-component inertia tensor w.r.t. its centroidal frame
#include <ChCompositeInertia.h>
Public Member Functions | |
double | GetMass () const |
Get the composite mass. | |
const ChVector3d & | GetCOM () const |
Get the location of the COM. | |
ChMatrix33 | GetInertia () const |
Get the inertia tensor w.r.t. More... | |
const ChMatrix33 & | GetInertiaReference () const |
Get the inertia tensor w.r.t. the reference frame. | |
void | AddComponent (const ChFrame<> &frame, double mass, const ChMatrix33<> &inertia, bool is_void=false) |
Include sub-component inertia properties. More... | |
Static Public Member Functions | |
static ChMatrix33 | InertiaShiftMatrix (const ChVector3d &v) |
Utility function for calculating an inertia shift matrix from a given vector. More... | |
Member Function Documentation
◆ AddComponent()
void chrono::utils::CompositeInertia::AddComponent | ( | const ChFrame<> & | frame, |
double | mass, | ||
const ChMatrix33<> & | inertia, | ||
bool | is_void = false |
||
) |
Include sub-component inertia properties.
Update the inertia properties of the composite object with the specified mass and inertia of a sub-component. A sub-component is
- Parameters
-
frame centroidal frame of sub-component (relative to reference frame) mass mass of sub-component inertia sub-component inertia tensor w.r.t. its centroidal frame is_void indicate if sub-component represents a material void
◆ GetInertia()
ChMatrix33 chrono::utils::CompositeInertia::GetInertia | ( | ) | const |
Get the inertia tensor w.r.t.
a centroidal frame. The return 3x3 symmetric matrix represents the inertia tensor with respect to a centroidal frame of the composite, aligned with the axes of the reference frame.
◆ InertiaShiftMatrix()
|
static |
Utility function for calculating an inertia shift matrix from a given vector.
This matrix is used when applying the parallel axis theorem.
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono/utils/ChCompositeInertia.h
- /builds/uwsbel/chrono/src/chrono/utils/ChCompositeInertia.cpp