Description
Base interface for elasticity of beam sections of Cosserat type, where xyz force "n" and xyz torque "m" are a 6-dimensional function of generalized strains, "e" traction/shear and "k" curvatures, as: {n,m}=f({e,k}) There are various children classes that implement this function in different ways.
Note that the Timoshenko beam theory can be a sub-case of this.
#include <ChBeamSectionCosserat.h>
Public Member Functions | |
virtual void | ComputeStress (ChVector<> &stress_n, ChVector<> &stress_m, const ChVector<> &strain_e, const ChVector<> &strain_k)=0 |
Compute the generalized cut force and cut torque, given actual deformation and curvature. More... | |
virtual void | ComputeStiffnessMatrix (ChMatrixDynamic<> &K, const ChVector<> &strain_e, const ChVector<> &strain_k) |
Compute the 6x6 tangent material stiffness matrix [Km] = dσ/dε, given actual deformation and curvature (if needed). More... | |
virtual void | SetAsRectangularSection (double width_y, double width_z)=0 |
Shortcut: set parameters at once, given the y and z widths of the beam assumed with rectangular shape. | |
virtual void | SetAsCircularSection (double diameter)=0 |
Shortcut: set parameters at once, given the diameter of the beam assumed with circular shape. | |
Public Attributes | |
ChBeamSectionCosserat * | section |
Member Function Documentation
◆ ComputeStiffnessMatrix()
|
virtual |
Compute the 6x6 tangent material stiffness matrix [Km] = dσ/dε, given actual deformation and curvature (if needed).
This must be overridden by subclasses if an analytical solution is known (preferred for high performance), otherwise the base behaviour here is to compute [Km] by numerical differentiation calling ComputeStress() multiple times.
- Parameters
-
K 6x6 material stiffness matrix values here 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 in chrono::fea::ChElasticityCosseratAdvanced, chrono::fea::ChElasticityCosseratGeneric, and chrono::fea::ChElasticityCosseratSimple.
◆ ComputeStress()
|
pure virtual |
Compute the generalized cut force and cut torque, given actual deformation and curvature.
- 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
Implemented in chrono::fea::ChElasticityCosseratMesh, chrono::fea::ChElasticityCosseratAdvanced, chrono::fea::ChElasticityCosseratGeneric, and chrono::fea::ChElasticityCosseratSimple.
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