Description
Inertia properties of a beam of Cosserat type, defined from an uniform density [kg/m^3], and the following geometric information:
- a section area
- Iyy Izz second moments of area The polar moment of area is automatically inferred via perpendicular axis theorem, Ip=Iyy+Izz. The section is assumed aligned to principal axis of the moment of area tensor, ie. Iyz=0, The section is assumed to be centered in the center of mass, The density is constant.
#include <ChBeamSectionCosserat.h>
Public Member Functions | |
ChInertiaCosseratSimple (double density, double Area, double Iyy_area_moment, double Izz_area_moment) | |
virtual void | ComputeInertiaMatrix (ChMatrixNM< double, 6, 6 > &M) override |
Compute the 6x6 sectional inertia matrix, as in {x_momentum,w_momentum}=[Mm]{xvel,wvel} The matrix is computed in the material reference (i.e. More... | |
virtual void | ComputeQuadraticTerms (ChVector<> &mF, ChVector<> &mT, const ChVector<> &mW) override |
Compute the values of inertial torque depending on quadratic velocity terms, per unit length, that is the gyroscopic torque w x [J]w . More... | |
virtual double | GetMassPerUnitLength () override |
Compute mass per unit length, ex.SI units [kg/m] In this case is simply \( \mu = \rho A \), given area in [m^2] and with \( \rho \) density in [kg/m^3]. | |
virtual double | GetInertiaJxxPerUnitLength () |
Compute the Jxx component of the inertia tensor per unit length, i.e. More... | |
virtual double | GetInertiaJyyPerUnitLength () |
Compute the Jyy component of the inertia tensor per unit length, i.e. More... | |
virtual double | GetInertiaJzzPerUnitLength () |
Compute the Jzz component of the inertia tensor per unit length, i.e. More... | |
void | SetDensity (const double md) |
Set the volumetric density, assumed constant in the section. Ex. SI units: [kg/m^3]. | |
double | GetDensity () const |
void | SetArea (const double ma) |
Set the area of section for computing mass properties. Ex. SI units: [m^2]. | |
double | GetArea () const |
void | SetIyy (double mi) |
Set the Iyy second moment of area of the beam (for bending about y in xz plane), defined as \( I_{yy} = \int_\Omega z^2 d\Omega \). More... | |
double | GetIyy () const |
void | SetIzz (double mi) |
Set the Izz second moment of area of the beam (for bending about z in xy plane), defined as \( I_{zz} = \int_\Omega y^2 d\Omega \). More... | |
double | GetIzz () const |
virtual void | SetAsRectangularSection (double width_y, double width_z, double density) |
Shortcut: set Izz, Iyy, Area and density at once, given the y and z widths of the beam assumed with rectangular shape, and volumetric density. More... | |
virtual void | SetAsCircularSection (double diameter, double density) |
Shortcut: set Izz, Iyy, Area and density at once, given the diameter the beam assumed with circular shape, and volumetric density. More... | |
Additional Inherited Members | |
Public Attributes inherited from chrono::fea::ChInertiaCosserat | |
ChBeamSectionCosserat * | section |
Constructor & Destructor Documentation
◆ ChInertiaCosseratSimple()
|
inline |
- Parameters
-
density the density fo the material [kg/m^3], assumed constant Area area of the section, [m^2] Iyy_area_moment second moment of area [m^4] about Y Izz_area_moment second moment of area [m^4] about Z
Member Function Documentation
◆ ComputeInertiaMatrix()
|
overridevirtual |
Compute the 6x6 sectional inertia matrix, as in {x_momentum,w_momentum}=[Mm]{xvel,wvel} The matrix is computed in the material reference (i.e.
it is the sectional mass matrix). In this case it is simply a constant diagonal mass matrix with diagonal {rho*A,rho*A,rho*A, rho*Iyy+Izz, rho*Iyy, rho*Izz}
- Parameters
-
M 6x6 sectional mass matrix values here
Implements chrono::fea::ChInertiaCosserat.
◆ ComputeQuadraticTerms()
|
overridevirtual |
Compute the values of inertial torque depending on quadratic velocity terms, per unit length, that is the gyroscopic torque w x [J]w .
Quadratic force is null as mass is centered. All terms expressed in the material reference, ie. the reference in the centerline of the section.
- Parameters
-
mF centrifugal term (if any) returned here mT gyroscopic term returned here mW current angular velocity of section, in material frame
Implements chrono::fea::ChInertiaCosserat.
◆ GetInertiaJxxPerUnitLength()
|
inlinevirtual |
Compute the Jxx component of the inertia tensor per unit length, i.e.
the part associated with rotation about the beam direction. In this case it is \( J_{xx} = \rho I_p \), where \( I_p = I_{zz} + I_{yy} \) is the polar moment of area.
◆ GetInertiaJyyPerUnitLength()
|
inlinevirtual |
Compute the Jyy component of the inertia tensor per unit length, i.e.
the part associated with rotation of the section on its Y axis. Defined as: \( J_{yy} = \int_\Omega \rho z^2 d\Omega \), with \( \rho \) density in [kg/m^3]. For uniform density it is \( J_{yy} = \rho I_{yy} \), where \( I_{yy} = \int_\Omega z^2 d\Omega \) is the second moment of area.
◆ GetInertiaJzzPerUnitLength()
|
inlinevirtual |
Compute the Jzz component of the inertia tensor per unit length, i.e.
the part associated with rotation of the section on its Z axis. Defined as: \( J_{zz} = \int_\Omega \rho y^2 d\Omega \), with \( \rho \) density in [kg/m^3]. For uniform density it is \( J_{zz} = \rho I_{zz} \), where \( I_{zz} = \int_\Omega y^2 d\Omega \) is the second moment of area.
◆ SetAsCircularSection()
|
virtual |
Shortcut: set Izz, Iyy, Area and density at once, given the diameter the beam assumed with circular shape, and volumetric density.
Assuming centered section.
◆ SetAsRectangularSection()
|
virtual |
Shortcut: set Izz, Iyy, Area and density at once, given the y and z widths of the beam assumed with rectangular shape, and volumetric density.
Assuming centered section.
◆ SetIyy()
|
inline |
Set the Iyy second moment of area of the beam (for bending about y in xz plane), defined as \( I_{yy} = \int_\Omega z^2 d\Omega \).
Note: some textbook calls this Iyy as Iy. Note: it can correspond to the same Iyy that you used for the elasticity, ex. in ChElasticityCosseratSimple. Ex. SI units: [m^4]
◆ SetIzz()
|
inline |
Set the Izz second moment of area of the beam (for bending about z in xy plane), defined as \( I_{zz} = \int_\Omega y^2 d\Omega \).
Note: some textbook calls this Izz as Iz. Note: it can correspond to the same Izz that you used for the elasticity, ex. in ChElasticityCosseratSimple. Ex. SI units: [m^4]
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono/fea/ChBeamSectionCosserat.h
- /builds/uwsbel/chrono/src/chrono/fea/ChBeamSectionCosserat.cpp