Description
Simple linear elasticity model for a Cosserat beam, using basic material properties (zz and yy moments of inertia, area, Young modulus, etc.) The classical Timoshenko beam theory is encompassed in this model, that can be interpreted as a 3D extension of the Timoshenko beam theory.
This can be shared between multiple beams.
#include <ChBeamSectionCosserat.h>
Public Member Functions | |
void | SetIyy (double ma) |
Set the Iyy moment of inertia of the beam (for flexion about y axis). More... | |
double | GetIyy () const |
void | SetIzz (double ma) |
Set the Izz moment of inertia of the beam (for flexion about z axis). More... | |
double | GetIzz () const |
void | SetJ (double ma) |
Set the J torsion constant of the beam (for torsion about x axis) | |
double | GetJ () const |
void | SetKsy (double ma) |
Set the Timoshenko shear coefficient Ks for y shear, usually about 0.8, (for elements that use this, ex. More... | |
double | GetKsy () const |
void | SetKsz (double ma) |
Set the Timoshenko shear coefficient Ks for z shear, usually about 0.8, (for elements that use this, ex. More... | |
double | GetKsz () const |
virtual void | SetAsRectangularSection (double width_y, double width_z) override |
Shortcut: set Area, Ixx, Iyy, Ksy, Ksz and J torsion constant at once, given the y and z widths of the beam assumed with rectangular shape. | |
virtual void | SetAsCircularSection (double diameter) override |
Shortcut: set Area, Ixx, Iyy, Ksy, Ksz and J torsion constant at once, given the diameter of the beam assumed with circular shape. | |
void | SetYoungModulus (double mE) |
Set E, the Young elastic modulus (N/m^2) | |
double | GetYoungModulus () const |
void | SetGshearModulus (double mG) |
Set G, the shear modulus. | |
double | GetGshearModulus () const |
void | SetGwithPoissonRatio (double mpoisson) |
Set G, the shear modulus, given current E and the specified Poisson ratio. | |
void | SetBeamRaleyghDamping (double mr) |
Set the Rayleigh damping ratio r (as in: R = r * K ), to do: also mass-proportional term. | |
double | GetBeamRaleyghDamping () |
virtual void | ComputeStress (ChVector<> &stress_n, ChVector<> &stress_m, const ChVector<> &strain_e, const ChVector<> &strain_k) override |
Compute the generalized cut force and cut torque. More... | |
virtual void | ComputeStiffnessMatrix (ChMatrixDynamic<> &K, const ChVector<> &strain_e, const ChVector<> &strain_k) override |
Compute the 6x6 tangent material stiffness matrix [Km] = dσ/dε. More... | |
Public Attributes | |
double | Iyy |
double | Izz |
double | J |
double | G |
double | E |
double | rdamping |
double | Ks_y |
double | Ks_z |
Public Attributes inherited from chrono::fea::ChElasticityCosserat | |
ChBeamSectionCosserat * | section |
Member Function Documentation
◆ ComputeStiffnessMatrix()
|
overridevirtual |
Compute the 6x6 tangent material stiffness matrix [Km] = dσ/dε.
- Parameters
-
K 6x6 stiffness matrix strain_e local strain (deformation part): x= elongation, y and z are shear strain_k local strain (curvature part), x= torsion, y and z are line curvatures
Reimplemented from chrono::fea::ChElasticityCosserat.
Reimplemented in chrono::fea::ChElasticityCosseratAdvanced.
◆ ComputeStress()
|
overridevirtual |
Compute the generalized cut force and cut torque.
- Parameters
-
stress_n local stress (generalized force), x component = traction along beam stress_m local stress (generalized torque), x component = torsion torque along beam strain_e local strain (deformation part): x= elongation, y and z are shear strain_k local strain (curvature part), x= torsion, y and z are line curvatures
Implements chrono::fea::ChElasticityCosserat.
Reimplemented in chrono::fea::ChElasticityCosseratAdvanced.
◆ SetIyy()
|
inline |
Set the Iyy moment of inertia of the beam (for flexion about y axis).
Note: some textbook calls this Iyy as Iz
◆ SetIzz()
|
inline |
Set the Izz moment of inertia of the beam (for flexion about z axis).
Note: some textbook calls this Izz as Iy
◆ SetKsy()
|
inline |
Set the Timoshenko shear coefficient Ks for y shear, usually about 0.8, (for elements that use this, ex.
the Timoshenko beams, or Reddy's beams)
◆ SetKsz()
|
inline |
Set the Timoshenko shear coefficient Ks for z shear, usually about 0.8, (for elements that use this, ex.
the Timoshenko beams, or Reddy's beams)
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