Description
Elasticity for a beam section in 3D, along with basic material properties.
It also supports the advanced case of Iyy and Izz axes rotated respect reference, centroid with offset from reference, and shear center with offset from reference. This material can be shared between multiple beams. The linear elasticity is uncoupled between shear terms S and axial terms A as to have this stiffness matrix pattern:
n_x [A A A ] e_x n_y [ S S S ] e_y n_z = [ S S S ] * e_z m_x [ S S S ] k_x m_y [A A A ] k_y m_z [A A A ] k_z
#include <ChBeamSectionCosserat.h>
Public Member Functions | |
void | SetSectionRotation (double ma) |
"Elastic reference": set alpha, the rotation of the section for which the Iyy Izz are defined, respect to the reference section coordinate system. | |
double | GetSectionRotation () |
void | SetCentroid (double my, double mz) |
"Elastic reference": set the displacement of the centroid C (i.e. More... | |
double | GetCentroidY () |
double | GetCentroidZ () |
void | SetShearRotation (double mb) |
"Shear reference": set beta, the rotation of the section for shear decoupling, respect to the reference section coordinate system. More... | |
double | GetShearRotation () |
void | SetShearCenter (double my, double mz) |
"Shear reference": set the displacement of the shear center S respect to the reference beam line. More... | |
double | GetShearCenterY () |
double | GetShearCenterZ () |
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 Member Functions inherited from chrono::fea::ChElasticityCosseratSimple | |
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 () |
Public Attributes | |
double | alpha |
Rotation of Izz Iyy respect to reference section, centered on line x. | |
double | Cy |
Centroid, respect to reference section (elastic center, tension center) | |
double | Cz |
double | beta |
Rotation of shear reference section, centered on line x. | |
double | Sy |
Shear center, respect to reference section. | |
double | Sz |
Public Attributes inherited from chrono::fea::ChElasticityCosseratSimple | |
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::ChElasticityCosseratSimple.
◆ 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
Reimplemented from chrono::fea::ChElasticityCosseratSimple.
◆ SetCentroid()
|
inline |
"Elastic reference": set the displacement of the centroid C (i.e.
the elastic center, or tension center) respect to the reference section coordinate system.
◆ SetShearCenter()
|
inline |
"Shear reference": set the displacement of the shear center S respect to the reference beam line.
For shapes like rectangles, rotated rectangles, etc., it corresponds to the centroid C, but for "L" shaped or "U" shaped beams this is not always true, and the shear center accounts for torsion effects when a shear force is applied.
◆ SetShearRotation()
|
inline |
"Shear reference": set beta, the rotation of the section for shear decoupling, respect to the reference section coordinate system.
Usually it is same as alpha.
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