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< tensorField > | meshInertia (const polyMesh &mesh) |
static tensor | meshInertia (const polyMesh &mesh, label celli) |
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.
"Fast and Accurate Computation of Polyhedral Mass Properties", Brian Mirtich, Journal of Graphics Tools, Volume 1, Number 2, 1996.
https://people.eecs.berkeley.edu/~jfc/mirtich/massProps.html https://people.eecs.berkeley.edu/~jfc/mirtich/papers/volInt.ps.gz https://people.eecs.berkeley.edu/~jfc/mirtich/code/volumeIntegration.tar
Definition at line 61 of file momentOfInertia.H.
|
static |
Definition at line 28 of file momentOfInertia.C.
References forAll, Foam::I, n, Vector< Cmpt >::x(), Tensor::xx(), Tensor::xy(), Tensor::xz(), Vector< Cmpt >::y(), Tensor::yx(), Tensor::yy(), Tensor::yz(), Vector< Cmpt >::z(), Foam::Zero, Tensor::zx(), Tensor::zy(), and Tensor::zz().
|
static |
Definition at line 185 of file momentOfInertia.C.
References triangle::centre(), forAll, triangle::mag(), reduce(), and Foam::Zero.
|
static |
Definition at line 253 of file momentOfInertia.C.
References forAll, PrimitivePatch< FaceList, PointField >::points(), and triFace().
|
static |
Definition at line 273 of file momentOfInertia.C.
References forAll, PrimitivePatch< FaceList, PointField >::points(), and triFace().
|
static |
Definition at line 294 of file momentOfInertia.C.
References DynamicList::append(), f(), forAll, PrimitivePatch< FaceList, PointField >::points(), List::transfer(), and triFace().
|
static |
Definition at line 328 of file momentOfInertia.C.
References Foam::I.
|
static |
Definition at line 346 of file momentOfInertia.C.
References forAll, mesh, and tmp::ref().
|
static |
Definition at line 364 of file momentOfInertia.C.
References forAll, mesh, and Foam::Zero.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.