cuboid Class Reference

Specialisation of rigidBody to construct a cuboid given the mass and lengths of the sides. More...

Inheritance diagram for cuboid:
Collaboration diagram for cuboid:

Public Member Functions

 TypeName ("cuboid")
 Runtime type information. More...
 
 cuboid (const word &name, const scalar m, const vector &c, const vector &L)
 Construct from name, mass, centre of mass and lengths of the sides. More...
 
 cuboid (const word &name, const dictionary &dict)
 Construct from dictionary. More...
 
virtual autoPtr< rigidBodyclone () const
 Return clone of this cuboid. More...
 
virtual ~cuboid ()
 Destructor. More...
 
const vectorL () const
 Return the lengths of the sides of the cuboid. More...
 
virtual tmp< scalarFieldsectionMu0s (const direction axis, const scalarField &distances) const
 Return the zeroth moments of the sections of the body between. More...
 
virtual tmp< vectorFieldsectionMu1s (const direction axis, const scalarField &distances) const
 Return the first moments of the sections of the body between. More...
 
virtual tmp< symmTensorFieldsectionMu2s (const direction axis, const scalarField &distances) const
 Return the second moments of the sections of the body between. More...
 
virtual void write (Ostream &) const
 Write. More...
 
- Public Member Functions inherited from rigidBody
 TypeName ("rigidBody")
 Runtime type information. More...
 
 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. More...
 
 rigidBody (const word &name, const rigidBodyInertia &rbi)
 Construct from with the given rigidBodyInertia. More...
 
 rigidBody (const word &name, const dictionary &dict)
 Construct from dictionary. More...
 
virtual ~rigidBody ()
 Destructor. More...
 
const wordname () const
 Return name. More...
 
virtual bool massless () const
 Return false as this body is not massless. More...
 
void merge (const subBody &)
 Merge a body into this parent body. More...
 
- Public Member Functions inherited from rigidBodyInertia
 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 vectorc () const
 Return the centre of mass of the rigid-body. More...
 
const symmTensorIc () 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 &)
 

Additional Inherited Members

- Static Public Member Functions inherited from rigidBody
static autoPtr< rigidBodyNew (const word &name, const scalar &m, const vector &c, const symmTensor &Ic)
 Select constructed from components. More...
 
static autoPtr< rigidBodyNew (const word &name, const dictionary &dict)
 Select constructed from name and dictionary. More...
 
- 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. More...
 

Detailed Description

Specialisation of rigidBody to construct a cuboid given the mass and lengths of the sides.

Source files

Definition at line 52 of file cuboid.H.

Constructor & Destructor Documentation

◆ cuboid() [1/2]

cuboid ( const word name,
const scalar  m,
const vector c,
const vector L 
)
inline

Construct from name, mass, centre of mass and lengths of the sides.

Definition at line 50 of file cuboidI.H.

Referenced by cuboid::clone().

Here is the caller graph for this function:

◆ cuboid() [2/2]

cuboid ( const word name,
const dictionary dict 
)
inline

Construct from dictionary.

Definition at line 63 of file cuboidI.H.

References rigidBodyInertia::c(), dict, rigidBodyInertia::m(), and rigidBodyInertia::rigidBodyInertia().

Here is the call graph for this function:

◆ ~cuboid()

~cuboid ( )
virtual

Destructor.

Definition at line 52 of file cuboid.C.

Member Function Documentation

◆ TypeName()

TypeName ( "cuboid"  )

Runtime type information.

◆ clone()

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

Return clone of this cuboid.

Reimplemented from rigidBody.

Definition at line 44 of file cuboid.C.

References cuboid::cuboid().

Here is the call graph for this function:

◆ L()

const Foam::vector & L ( ) const
inline

Return the lengths of the sides of the cuboid.

Definition at line 80 of file cuboidI.H.

◆ sectionMu0s()

Foam::tmp< Foam::scalarField > sectionMu0s ( const direction  axis,
const scalarField distances 
) const
virtual

Return the zeroth moments of the sections of the body between.

planes defined by distances along the given axis

Reimplemented from rigidBody.

Definition at line 58 of file cuboid.C.

References Foam::constant::universal::c, Foam::cmptProduct(), forAll, Foam::max(), Foam::min(), tmp< T >::ref(), rho, and List< T >::size().

Here is the call graph for this function:

◆ sectionMu1s()

Foam::tmp< Foam::vectorField > sectionMu1s ( const direction  axis,
const scalarField distances 
) const
virtual

Return the first moments of the sections of the body between.

planes defined by distances along the given axis

Reimplemented from rigidBody.

Definition at line 87 of file cuboid.C.

References Foam::constant::universal::c, Foam::cmptProduct(), forAll, Foam::max(), Foam::min(), tmp< T >::ref(), rho, List< T >::size(), and VectorSpace< Form, Cmpt, Ncmpts >::zero.

Here is the call graph for this function:

◆ sectionMu2s()

Foam::tmp< Foam::symmTensorField > sectionMu2s ( const direction  axis,
const scalarField distances 
) const
virtual

Return the second moments of the sections of the body between.

planes defined by distances along the given axis

Reimplemented from rigidBody.

Definition at line 116 of file cuboid.C.

References Foam::constant::universal::c, Foam::cmptMultiply(), Foam::cmptProduct(), forAll, Foam::max(), Foam::min(), tmp< T >::ref(), rho, List< T >::size(), Vector< Cmpt >::x(), Vector< Cmpt >::y(), Vector< Cmpt >::z(), and VectorSpace< Form, Cmpt, Ncmpts >::zero.

Here is the call graph for this function:

◆ write()

void write ( Ostream os) const
virtual

Write.

Reimplemented from rigidBody.

Definition at line 162 of file cuboid.C.

References Foam::type(), and Foam::writeEntry().

Here is the call graph for this function:

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