Description
Generic linear elasticity for a Cosserat beam, using a 6x6 matrix [E] from user-input data.
The [E] matrix can be computed from a preprocessing stage using a FEA analysis over a detailed 3D model of a chunk of beam, hence recovering the 6x6 matrix that connects yxz displacements "e" and xyz rotations "k" to the xyz cut-force "n" and xyz cut-torque "m" as in {m,n}=[E]{e,k}. This can be shared between multiple beams.
#include <ChBeamSectionCosserat.h>
Public Member Functions | |
ChMatrixNM< double, 6, 6 > & | Ematrix () |
Access the E matrix, for getting/setting its values. More... | |
virtual void | SetAsRectangularSection (double width_y, double width_z) override |
Shortcut: set E given the y and z widths of the beam assumed with rectangular shape. More... | |
virtual void | SetAsCircularSection (double diameter) override |
Shortcut: set E given the diameter of the beam assumed with circular shape. More... | |
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... | |
Additional Inherited Members | |
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.
◆ 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.
◆ Ematrix()
|
inline |
Access the E matrix, for getting/setting its values.
This is the matrix that defines the linear elastic constitutive model as it maps yxz displacements "e" and xyz rotations "k" to the xyz cut-force "n" and xyz cut-torque "m" as in {m,n}=[E]{e,k}.
◆ SetAsCircularSection()
|
overridevirtual |
Shortcut: set E given the diameter of the beam assumed with circular shape.
Assumes stiffness parameters G=1 and E=1.
Implements chrono::fea::ChElasticityCosserat.
◆ SetAsRectangularSection()
|
overridevirtual |
Shortcut: set E given the y and z widths of the beam assumed with rectangular shape.
Assumes stiffness parameters G=1 and E=1.
Implements chrono::fea::ChElasticityCosserat.
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