chrono::fea::ChElasticityCosseratAdvancedGenericFPM Class Reference

Description

A Cosserat section which allows to input the material fully-populated stiffness matrix(FPM) of cross-section directly.

#include <ChBeamSectionCosserat.h>

Inheritance diagram for chrono::fea::ChElasticityCosseratAdvancedGenericFPM:
Collaboration diagram for chrono::fea::ChElasticityCosseratAdvancedGenericFPM:

Public Member Functions

 ChElasticityCosseratAdvancedGenericFPM (const ChMatrix66d mKlaw, const double malpha, const double mCy, const double mCz, const double mbeta, const double mSy, const double mSz)
 
virtual void SetStiffnessMatrix (const ChMatrix66d &mKlaw)
 Set the FPM section & material of beam element, giving the stiffness FPM directly.
 
virtual ChMatrix66dGetStiffnessMatrix ()
 Get the stiffness FPM of section & material of beam element.
 
void SetSectionRotation (double ma)
 Set the rotation in [rad] of the Y Z axes for which the YbendingRigidity and ZbendingRigidity values are defined.
 
double GetSectionRotation ()
 Get the rotation in [rad] of the Y Z axes.
 
void SetCentroid (double my, double mz)
 "Elastic reference": set the displacement of the elastic center (or tension center) respect to the reference section coordinate system placed at centerline.
 
double GetCentroidY ()
 
double GetCentroidZ ()
 
void SetShearRotation (double mb)
 Set the rotation in [rad] of the Y Z axes for which the YshearRigidity and ZshearRigidity values are defined.
 
double GetShearRotation ()
 
void SetShearCenter (double my, double mz)
 "Shear reference": set the displacement of the shear center S respect to the reference beam line placed at centerline. More...
 
double GetShearCenterY ()
 
double GetShearCenterZ ()
 
void UpdateStiffnessMatrix ()
 Need to update the material stiffness matrix Klaw after input section rotation and elastic center/shear center offset. More...
 
virtual ChMatrix66dGetTransformMatrix ()
 Get the tranformation matrix of seciton, may be useful for debug.
 
virtual void ComputeStress (ChVector3d &stress_n, ChVector3d &stress_m, const ChVector3d &strain_e, const ChVector3d &strain_k) override
 Compute the generalized cut force and cut torque. More...
 
virtual void ComputeStiffnessMatrix (ChMatrix66d &K, const ChVector3d &strain_e, const ChVector3d &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
 

Constructor & Destructor Documentation

◆ ChElasticityCosseratAdvancedGenericFPM()

chrono::fea::ChElasticityCosseratAdvancedGenericFPM::ChElasticityCosseratAdvancedGenericFPM ( const ChMatrix66d  mKlaw,
const double  malpha,
const double  mCy,
const double  mCz,
const double  mbeta,
const double  mSy,
const double  mSz 
)
inline
Parameters
mKlaw6x6 material fully-populated stiffness matrix(FPM) of cross-section
malpharotation of reference at elastic center, for bending effects [rad]
mCyelastic center y displacement respect to centerline
mCzelastic center z displacement respect to centerline
mbetarotation of reference at shear center, for shear effects [rad]
mSyshear center y displacement respect to centerline
mSzshear center z displacement respect to centerline

Member Function Documentation

◆ ComputeStiffnessMatrix()

void chrono::fea::ChElasticityCosseratAdvancedGenericFPM::ComputeStiffnessMatrix ( ChMatrix66d K,
const ChVector3d strain_e,
const ChVector3d strain_k 
)
overridevirtual

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

Parameters
K6x6 stiffness matrix
strain_elocal strain (deformation part): x= elongation, y and z are shear
strain_klocal strain (curvature part), x= torsion, y and z are line curvatures

Reimplemented from chrono::fea::ChElasticityCosserat.

◆ ComputeStress()

void chrono::fea::ChElasticityCosseratAdvancedGenericFPM::ComputeStress ( ChVector3d stress_n,
ChVector3d stress_m,
const ChVector3d strain_e,
const ChVector3d strain_k 
)
overridevirtual

Compute the generalized cut force and cut torque.

Parameters
stress_nlocal stress (generalized force), x component = traction along beam
stress_mlocal stress (generalized torque), x component = torsion torque along beam
strain_elocal strain (deformation part): x= elongation, y and z are shear
strain_klocal strain (curvature part), x= torsion, y and z are line curvatures

Implements chrono::fea::ChElasticityCosserat.

◆ SetShearCenter()

void chrono::fea::ChElasticityCosseratAdvancedGenericFPM::SetShearCenter ( double  my,
double  mz 
)
inline

"Shear reference": set the displacement of the shear center S respect to the reference beam line placed at centerline.

For shapes like rectangles, rotated rectangles, etc., it corresponds to the elastic center 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.

◆ UpdateStiffnessMatrix()

void chrono::fea::ChElasticityCosseratAdvancedGenericFPM::UpdateStiffnessMatrix ( )

Need to update the material stiffness matrix Klaw after input section rotation and elastic center/shear center offset.

This should be called by end user.


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