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) override
 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) override
 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) override
 Shortcut: set parameters at once, given the y and z widths of the beam assumed with rectangular shape.
 
virtual void SetAsCircularSection (double diameter) override
 Shortcut: set parameters at once, given the diameter of the beam assumed with circular shape.
 

Additional Inherited Members

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

Member Function Documentation

◆ ComputeDampingMatrix()

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

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
R6x6 material stiffness matrix values here
dstrain_ecurrent strain speed (deformation part)
dstrain_kcurrent strain speed (curvature part)

Reimplemented from chrono::fea::ChDampingCosserat.

◆ ComputeStress()

void chrono::fea::ChDampingCosseratLinear::ComputeStress ( ChVector<> &  stress_n,
ChVector<> &  stress_m,
const ChVector<> &  dstrain_e,
const ChVector<> &  dstrain_k 
)
overridevirtual

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_nlocal stress (generalized force), x component = traction along beam
stress_mlocal stress (generalized torque), x component = torsion torque along beam
dstrain_elocal strain speed (deformation); x elongation speed; y,z shear speeds
dstrain_klocal strain speed (curvature); x torsion speed; y,z line curvature speeds

Implements chrono::fea::ChDampingCosserat.


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