chrono::fea::ChDampingCosserat Class Referenceabstract

Description

Base interface for structural damping of beam sections of Cosserat type, where xyz force "n" and xyz torque "m" are a 6-dimensional function of generalized strain speeds, "e'" traction/shear speed and "k'" curvature speed, as: {n,m}=f({e',k'}) Children classes implement this function in different ways.

#include <ChBeamSectionCosserat.h>

Inheritance diagram for chrono::fea::ChDampingCosserat:
Collaboration diagram for chrono::fea::ChDampingCosserat:

Public Member Functions

virtual void ComputeStress (ChVector<> &stress_n, ChVector<> &stress_m, const ChVector<> &dstrain_e, const ChVector<> &dstrain_k)=0
 Compute the generalized cut force and cut torque, caused by structural damping, given actual deformation speed and curvature speed. More...
 
virtual void ComputeDampingMatrix (ChMatrixDynamic<> &R, const ChVector<> &dstrain_e, const ChVector<> &dstrain_k)
 Compute the 6x6 tangent material damping matrix, ie the jacobian [Rm]=dstress/dstrainspeed. 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. More...
 
virtual void SetAsCircularSection (double diameter)=0
 Shortcut: set parameters at once, given the diameter of the beam assumed with circular shape. More...
 

Public Attributes

ChBeamSectionCosseratsection
 

Member Function Documentation

virtual void chrono::fea::ChDampingCosserat::ComputeDampingMatrix ( ChMatrixDynamic<> &  R,
const ChVector<> &  dstrain_e,
const ChVector<> &  dstrain_k 
)
virtual

Compute the 6x6 tangent material damping matrix, ie the jacobian [Rm]=dstress/dstrainspeed.

This must be overridden by subclasses if an analytical solution is known (preferred for high performance), otherwise the base behaviour here is to compute [Rm] by numerical differentiation calling ComputeStress() multiple times.

Parameters
Rreturn the 6x6 material stiffness matrix values here
dstrain_ethe current strain speed (deformation part)
dstrain_kthe current strain speed (curvature part)

Reimplemented in chrono::fea::ChDampingCosseratLinear.

virtual void chrono::fea::ChDampingCosserat::ComputeStress ( ChVector<> &  stress_n,
ChVector<> &  stress_m,
const ChVector<> &  dstrain_e,
const ChVector<> &  dstrain_k 
)
pure virtual

Compute the generalized cut force and cut torque, caused by structural damping, given actual deformation speed and curvature speed.

This MUST be implemented by subclasses.

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
dstrain_ethe local strain speed (deformation part): x= elongation speed, y and z are shear speeds
dstrain_kthe local strain speed (curvature part), x= torsion speed, y and z are line curvature speeds

Implemented in chrono::fea::ChDampingCosseratLinear.

virtual void chrono::fea::ChDampingCosserat::SetAsCircularSection ( double  diameter)
pure virtual

Shortcut: set parameters at once, given the diameter of the beam assumed with circular shape.

Implemented in chrono::fea::ChDampingCosseratLinear.

virtual void chrono::fea::ChDampingCosserat::SetAsRectangularSection ( double  width_y,
double  width_z 
)
pure virtual

Shortcut: set parameters at once, given the y and z widths of the beam assumed with rectangular shape.

Implemented in chrono::fea::ChDampingCosseratLinear.