chrono::fea::ChDampingCosseratLinear Class Reference

Description

Simple linear lumped damping of beam sections of Cosserat type, {n,m}=f({e',k'}) where damping is proportional to speed of deformation/curvature via linear constants: n = R_e * e' m = R_k * k'.

#include <ChBeamSectionCosserat.h>

Inheritance diagram for chrono::fea::ChDampingCosseratLinear:
Collaboration diagram for chrono::fea::ChDampingCosseratLinear:

Public Member Functions

virtual void ComputeStress (ChVector<> &stress_n, ChVector<> &stress_m, const ChVector<> &dstrain_e, const ChVector<> &dstrain_k)
 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...
 
ChVector GetDampingCoefficientsRe ()
 
void SetDampingCoefficientsRe (const ChVector<> mR_e)
 
ChVector GetDampingCoefficientsRk ()
 
void SetDampingCoefficientsRk (const ChVector<> mR_k)
 
virtual void SetAsRectangularSection (double width_y, double width_z)
 Shortcut: set parameters at once, given the y and z widths of the beam assumed with rectangular shape. More...
 
virtual void SetAsCircularSection (double diameter)
 Shortcut: set parameters at once, given the diameter of the beam assumed with circular shape. More...
 

Additional Inherited Members

- Public Attributes inherited from chrono::fea::ChDampingCosserat
ChBeamSectionCosseratsection
 

Member Function Documentation

virtual void chrono::fea::ChDampingCosseratLinear::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 from chrono::fea::ChDampingCosserat.

virtual void chrono::fea::ChDampingCosseratLinear::ComputeStress ( ChVector<> &  stress_n,
ChVector<> &  stress_m,
const ChVector<> &  dstrain_e,
const ChVector<> &  dstrain_k 
)
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

Implements chrono::fea::ChDampingCosserat.

virtual void chrono::fea::ChDampingCosseratLinear::SetAsCircularSection ( double  diameter)
virtual

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

Implements chrono::fea::ChDampingCosserat.

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

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

Implements chrono::fea::ChDampingCosserat.