The open source CFD toolbox
momentOfInertia Class Reference

Calculates the inertia tensor and principal axes and moments of a polyhedra/cells/triSurfaces. Inertia can either be of the solid body or of a thin shell. More...

Static Public Member Functions

static void massPropertiesSolid (const pointField &pts, const triFaceList &triFaces, scalar density, scalar &mass, vector &cM, tensor &J)

static void massPropertiesShell (const pointField &pts, const triFaceList &triFaces, scalar density, scalar &mass, vector &cM, tensor &J, bool doReduce=false)

static void massPropertiesSolid (const triSurface &surf, scalar density, scalar &mass, vector &cM, tensor &J)

static void massPropertiesShell (const triSurface &surf, scalar density, scalar &mass, vector &cM, tensor &J, bool doReduce=false)

static void massPropertiesPatch (const polyPatch &pp, scalar density, scalar &mass, vector &cM, tensor &J, bool doReduce=false)

static tensor applyParallelAxisTheorem (scalar mass, const vector &cM, const tensor &J, const vector &refPt)

static tmp< tensorFieldmeshInertia (const polyMesh &mesh)

static tensor meshInertia (const polyMesh &mesh, label celli)

Detailed Description

Calculates the inertia tensor and principal axes and moments of a polyhedra/cells/triSurfaces. Inertia can either be of the solid body or of a thin shell.

References:

    "Fast and Accurate Computation of Polyhedral Mass Properties",
Brian Mirtich,
Journal of Graphics Tools, Volume 1, Number 2, 1996.

Source files

Definition at line 65 of file momentOfInertia.H.

◆ massPropertiesSolid() [1/2]

 void massPropertiesSolid ( const pointField & pts, const triFaceList & triFaces, scalar density, scalar & mass, vector & cM, tensor & J )
static

Definition at line 35 of file momentOfInertia.C.

Here is the call graph for this function:

◆ massPropertiesShell() [1/2]

 void massPropertiesShell ( const pointField & pts, const triFaceList & triFaces, scalar density, scalar & mass, vector & cM, tensor & J, bool doReduce = false )
static

Definition at line 192 of file momentOfInertia.C.

Here is the call graph for this function:

◆ massPropertiesSolid() [2/2]

 void massPropertiesSolid ( const triSurface & surf, scalar density, scalar & mass, vector & cM, tensor & J )
static

Definition at line 260 of file momentOfInertia.C.

References forAll, PrimitivePatch< FaceList, PointField >::points(), and triFace().

Here is the call graph for this function:

◆ massPropertiesShell() [2/2]

 void massPropertiesShell ( const triSurface & surf, scalar density, scalar & mass, vector & cM, tensor & J, bool doReduce = false )
static

Definition at line 280 of file momentOfInertia.C.

References forAll, PrimitivePatch< FaceList, PointField >::points(), and triFace().

Here is the call graph for this function:

◆ massPropertiesPatch()

 void massPropertiesPatch ( const polyPatch & pp, scalar density, scalar & mass, vector & cM, tensor & J, bool doReduce = false )
static

Definition at line 301 of file momentOfInertia.C.

Here is the call graph for this function:

◆ applyParallelAxisTheorem()

 Foam::tensor applyParallelAxisTheorem ( scalar mass, const vector & cM, const tensor & J, const vector & refPt )
static

Definition at line 335 of file momentOfInertia.C.

References Foam::I.

◆ meshInertia() [1/2]

 Foam::tmp< Foam::tensorField > meshInertia ( const polyMesh & mesh )
static

Definition at line 353 of file momentOfInertia.C.

References forAll, mesh, and tmp< T >::ref().

Here is the call graph for this function:

◆ meshInertia() [2/2]

 Foam::tensor meshInertia ( const polyMesh & mesh, label celli )
static

Definition at line 371 of file momentOfInertia.C.

References forAll, mesh, and Foam::Zero.

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