Loading...
Searching...
No Matches
rigidBody Class Reference

#include <rigidBody.H>

Inheritance diagram for rigidBody:
Collaboration diagram for rigidBody:

Public Member Functions

 TypeName ("rigidBody")
 Runtime type information.
 declareRunTimeSelectionTable (autoPtr, rigidBody, dictionary,(const word &name, const dictionary &dict),(name, dict))
 rigidBody (const word &name, const scalar &m, const vector &c, const symmTensor &Ic)
 Construct from mass, centre of mass and moment of inertia tensor.
 rigidBody (const word &name, const rigidBodyInertia &rbi)
 Construct from with the given rigidBodyInertia.
 rigidBody (const word &name, const dictionary &dict)
 Construct from dictionary.
virtual autoPtr< rigidBodyclone () const
 Return clone of this rigidBody.
virtual ~rigidBody ()
 Destructor.
const wordname () const
 Return name.
virtual bool massless () const
 Return false as this body is not massless.
void merge (const subBody &)
 Merge a body into this parent body.
virtual void write (Ostream &) const
 Write.
Public Member Functions inherited from rigidBodyInertia
 rigidBodyInertia ()
 Null constructor, initializes to zero.
 rigidBodyInertia (const scalar m, const vector &c, const symmTensor &Ic)
 Construct from mass, centre of mass and moment of inertia tensor.
 rigidBodyInertia (const dictionary &dict)
 Construct from dictionary.
 rigidBodyInertia (const spatialTensor &st)
 Construct from the components of a spatial tensor.
 rigidBodyInertia (Istream &is)
 Construct from Istream.
scalar m () const
 Return the mass of the rigid-body.
const vectorc () const
 Return the centre of mass of the rigid-body.
const symmTensorIc () const
 Return the inertia tensor of the rigid-body about the centre of mass.
symmTensor Ioc () const
 Return the difference between the inertia tensor of the rigid-body.
symmTensor Icc (const vector &c) const
 Return the difference between the inertia tensor of the rigid-body.
symmTensor Io () const
 Return the inertia tensor of the rigid-body about the origin.
scalar kineticEnergy (const spatialVector &v)
 Return the kinetic energy of the body with the given velocity.
 operator spatialTensor () const
 Conversion to spatial tensor.
void operator+= (const rigidBodyInertia &)

Static Public Member Functions

static autoPtr< rigidBodyNew (const word &name, const scalar &m, const vector &c, const symmTensor &Ic)
 Select constructed from components.
static autoPtr< rigidBodyNew (const word &name, const dictionary &dict)
 Select constructed from name and dictionary.
Static Public Member Functions inherited from rigidBodyInertia
static symmTensor Ioc (const scalar m, const vector &c)
 Return the difference between the inertia tensor of the rigid-body.

Friends

Ostreamoperator<< (Ostream &, const rigidBody &)

Detailed Description

Source files

Definition at line 61 of file rigidBody.H.

Constructor & Destructor Documentation

◆ rigidBody() [1/3]

rigidBody ( const word & name,
const scalar & m,
const vector & c,
const symmTensor & Ic )
inline

Construct from mass, centre of mass and moment of inertia tensor.

about the centre of mass

Definition at line 23 of file rigidBodyI.H.

References rigidBodyInertia::c(), rigidBodyInertia::Ic(), rigidBodyInertia::m(), name(), and rigidBodyInertia::rigidBodyInertia().

Referenced by compositeBody::compositeBody(), cuboid::cuboid(), cuboid::cuboid(), declareRunTimeSelectionTable(), masslessBody::masslessBody(), masslessBody::masslessBody(), masslessBody::masslessBody(), merge(), operator<<, sphere::sphere(), and sphere::sphere().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rigidBody() [2/3]

rigidBody ( const word & name,
const rigidBodyInertia & rbi )
inline

Construct from with the given rigidBodyInertia.

Definition at line 36 of file rigidBodyI.H.

References name(), and rigidBodyInertia::rigidBodyInertia().

Here is the call graph for this function:

◆ rigidBody() [3/3]

rigidBody ( const word & name,
const dictionary & dict )
inline

Construct from dictionary.

Definition at line 47 of file rigidBodyI.H.

References dict, name(), and rigidBodyInertia::rigidBodyInertia().

Here is the call graph for this function:

◆ ~rigidBody()

~rigidBody ( )
virtual

Destructor.

Definition at line 94 of file rigidBody.C.

Member Function Documentation

◆ TypeName()

TypeName ( "rigidBody" )

Runtime type information.

◆ declareRunTimeSelectionTable()

declareRunTimeSelectionTable ( autoPtr ,
rigidBody ,
dictionary ,
(const word &name, const dictionary &dict) ,
(name, dict)  )

◆ clone()

Foam::autoPtr< Foam::RBD::rigidBody > clone ( ) const
virtual

Return clone of this rigidBody.

Reimplemented in compositeBody, cuboid, jointBody, masslessBody, and sphere.

Definition at line 47 of file rigidBody.C.

References autoPtr< T >::New().

Here is the call graph for this function:

◆ New() [1/2]

Foam::autoPtr< Foam::RBD::rigidBody > New ( const word & name,
const scalar & m,
const vector & c,
const symmTensor & Ic )
static

Select constructed from components.

Definition at line 55 of file rigidBody.C.

References rigidBodyInertia::c(), rigidBodyInertia::Ic(), rigidBodyInertia::m(), name(), and autoPtr< T >::New().

Referenced by rigidBodyModel::rigidBodyModel().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ New() [2/2]

Foam::autoPtr< Foam::RBD::rigidBody > New ( const word & name,
const dictionary & dict )
static

Select constructed from name and dictionary.

Definition at line 67 of file rigidBody.C.

References dict, Foam::exit(), Foam::FatalIOError, FatalIOErrorInLookup, and name().

Here is the call graph for this function:

◆ name()

◆ massless()

bool massless ( ) const
virtual

Return false as this body is not massless.

Reimplemented in masslessBody.

Definition at line 100 of file rigidBody.C.

◆ merge()

void merge ( const subBody & subBody)

Merge a body into this parent body.

Definition at line 106 of file rigidBody.C.

References subBody::body(), subBody::masterXT(), name, rigidBody(), and Foam::RBD::transform().

Here is the call graph for this function:

◆ write()

void write ( Ostream & os) const
virtual

Write.

Reimplemented in compositeBody, cuboid, masslessBody, and sphere.

Definition at line 116 of file rigidBody.C.

References rigidBodyInertia::c(), rigidBodyInertia::Ic(), rigidBodyInertia::m(), os(), and Foam::type().

Referenced by Foam::RBD::operator<<().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator<<

Ostream & operator<< ( Ostream & ,
const rigidBody &  )
friend

References rigidBody().


The documentation for this class was generated from the following files: