chrono::fea::ChElasticityCosseratSimple Class Reference

## 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>

Inheritance diagram for chrono::fea::ChElasticityCosseratSimple: [legend]
Collaboration diagram for chrono::fea::ChElasticityCosseratSimple: [legend]

## Public Member Functions

void SetIyy (double ma)
Set the Iyy moment of inertia of the beam (for flexion about y axis) Note: some textbook calls this Iyy as Iz.

double GetIyy () const

void SetIzz (double ma)
Set the Izz moment of inertia of the beam (for flexion about z axis) Note: some textbook calls this Izz as Iy.

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. More...

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. More...

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
ChBeamSectionCosseratsection

## Member Function Documentation

 void chrono::fea::ChElasticityCosseratSimple::ComputeStiffnessMatrix ( ChMatrixDynamic<> & K, const ChVector<> & strain_e, const ChVector<> & strain_k )
overridevirtual

Compute the 6x6 tangent material stiffness matrix [Km] =d/d.

Parameters
 K return the 6x6 stiffness matrix strain_e the local strain (deformation part): x= elongation, y and z are shear strain_k the local strain (curvature part), x= torsion, y and z are line curvatures

Reimplemented from chrono::fea::ChElasticityCosserat.

 void chrono::fea::ChElasticityCosseratSimple::ComputeStress ( ChVector<> & stress_n, ChVector<> & stress_m, const ChVector<> & strain_e, const ChVector<> & strain_k )
overridevirtual

Compute the generalized cut force and cut torque.

Parameters
 stress_n return the local stress (generalized force), x component = traction along beam stress_m return the local stress (generalized torque), x component = torsion torque along beam strain_e the local strain (deformation part): x= elongation, y and z are shear strain_k the local strain (curvature part), x= torsion, y and z are line curvatures

Implements chrono::fea::ChElasticityCosserat.

 void chrono::fea::ChElasticityCosseratSimple::SetAsCircularSection ( double diameter )
overridevirtual

Shortcut: set Area, Ixx, Iyy, Ksy, Ksz and J torsion constant at once, given the diameter of the beam assumed with circular shape.

Implements chrono::fea::ChElasticityCosserat.

 void chrono::fea::ChElasticityCosseratSimple::SetAsRectangularSection ( double width_y, double width_z )
overridevirtual

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.

Implements chrono::fea::ChElasticityCosserat.

 void chrono::fea::ChElasticityCosseratSimple::SetKsy ( double ma )

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)

 void chrono::fea::ChElasticityCosseratSimple::SetKsz ( double ma )

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)