67 m_(
dict.lookup<scalar>(
"mass")),
68 c_(
dict.lookup(
"centreOfMass")),
69 Ic_(
dict.lookup(
"inertia"))
76 c_(
vector(-st(1, 5), st(0, 5), -st(0, 4))/m_),
113 return Ioc(m_,
c - c_);
144 is >> rbi.m_ >> rbi.c_ >> rbi.Ic_;
155 os << rbi.m_ <<
nl << rbi.c_ <<
nl << rbi.Ic_ <<
endl;
176 const scalar m12 = rbi1.
m() + rbi2.m();
177 const vector c12 = (rbi1.m()*rbi1.c() + rbi2.m()*rbi2.c())/m12;
183 rbi1.Ic() + rbi1.Icc(c12) + rbi2.Ic() + rbi2.Icc(c12)
200 (rbi.Io() & av) + rbi.m()*(rbi.c() ^ lv),
201 rbi.m()*lv - rbi.m()*(rbi.c() ^ av)
237 return 0.5*(v && (*
this & v));
243 inline void Foam::RBD::rigidBodyInertia::operator+=
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
This class represents the linear and angular inertia of a rigid body by the mass, centre of mass and ...
symmTensor Icc(const vector &c) const
Return the difference between the inertia tensor of the rigid-body.
scalar kineticEnergy(const spatialVector &v)
Return the kinetic energy of the body with the given velocity.
const vector & c() const
Return the centre of mass of the rigid-body.
rigidBodyInertia()
Null constructor, initialises to zero.
symmTensor Io() const
Return the inertia tensor of the rigid-body about the origin.
symmTensor Ioc() const
Return the difference between the inertia tensor of the rigid-body.
scalar m() const
Return the mass of the rigid-body.
const symmTensor & Ic() const
Return the inertia tensor of the rigid-body about the centre of mass.
Templated 3D spatial tensor derived from MatrixSpace used to represent transformations of spatial vec...
Tensor< Cmpt > T() const
Return transpose.
Creates a single block of cells from point coordinates, numbers of cells in each direction and an exp...
A list of keyword definitions, which are a keyword followed by any number of values (e....
rigidBodyInertia transform(const spatialTransform &X, const rigidBodyInertia &I)
Return (^BX_A)^* I ^AX_B.
const dimensionedScalar c
Speed of light in a vacuum.
dimensionedSymmTensor symm(const dimensionedSymmTensor &dt)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
Ostream & endl(Ostream &os)
Add newline and flush stream.
SpatialTensor< scalar > spatialTensor
SpatialTensor of scalars.
static const Identity< scalar > I
bool readScalar(const char *buf, doubleScalar &s)
Read whole of buf as a scalar. Return true if successful.
SpatialVector< scalar > spatialVector
SpatialVector of scalars.
dimensioned< scalar > magSqr(const dimensioned< Type > &)