chrono::fea::ChElasticityCosseratGeneric Class Reference

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>

Inheritance diagram for chrono::fea::ChElasticityCosseratGeneric:
Collaboration diagram for chrono::fea::ChElasticityCosseratGeneric:

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
ChBeamSectionCosseratsection
 

Member Function Documentation

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

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

Parameters
Kreturn the 6x6 stiffness matrix
strain_ethe local strain (deformation part): x= elongation, y and z are shear
strain_kthe local strain (curvature part), x= torsion, y and z are line curvatures

Reimplemented from chrono::fea::ChElasticityCosserat.

void chrono::fea::ChElasticityCosseratGeneric::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_nreturn the local stress (generalized force), x component = traction along beam
stress_mreturn the local stress (generalized torque), x component = torsion torque along beam
strain_ethe local strain (deformation part): x= elongation, y and z are shear
strain_kthe local strain (curvature part), x= torsion, y and z are line curvatures

Implements chrono::fea::ChElasticityCosserat.

ChMatrixNM<double, 6, 6>& chrono::fea::ChElasticityCosseratGeneric::Ematrix ( )

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

void chrono::fea::ChElasticityCosseratGeneric::SetAsCircularSection ( double  diameter)
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.

void chrono::fea::ChElasticityCosseratGeneric::SetAsRectangularSection ( double  width_y,
double  width_z 
)
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.