Drake
Drake C++ Documentation
DampingModel< T > Class Template Reference

Detailed Description

template<typename T>
class drake::multibody::fem::DampingModel< T >

A viscous Rayleigh damping model in which the damping matrix D is a linear combination of mass and stiffness matrices, as, D = αM + βK where α and β are nonnegative.

The damping ratio ζ for a given natural frequency ωₙ of a mode of vibration can be calculated as ζ = (α/ωₙ + βωₙ)/2. Notice the contribution of the stiffness term βK to the damping matrix D causes ζ to be proportional to a mode's natural frequency ωₙ whereas the contribution of the mass term αM to the damping matrix D causes ζ to be inversely proportional to a mode's natural frequency ωₙ. In the context of rigid body motion (ωₙ = 0), only the αM term contributes to the damping matrix D, hence if rigid body motion (or low value of ωₙ) is expected, α should be kept small. One way to determine numerical values for α and β is to somehow obtain reasonable estimates of the range of ωₙ, and then choose numerical values for ζ (e.g 0 ≤ ζ < 0.05). Thereafter calculate the associated numerical values of α and β.

Template Parameters
TThe scalar type, which must be one of the default nonsymbolic scalars.

#include <drake/multibody/fem/damping_model.h>

Public Member Functions

 DampingModel (const T &mass_coeff_alpha, const T &stiffness_coeff_beta)
 Constructs a Rayleigh damping model by storing the mass coefficient α and the stiffness coefficient β that appears in the damping matrix D = αM + βK. More...
 
const T & mass_coeff_alpha () const
 
const T & stiffness_coeff_beta () const
 
Implements CopyConstructible, CopyAssignable, MoveConstructible, MoveAssignable
 DampingModel (const DampingModel &)=default
 
DampingModeloperator= (const DampingModel &)=default
 
 DampingModel (DampingModel &&)=default
 
DampingModeloperator= (DampingModel &&)=default
 

Constructor & Destructor Documentation

◆ DampingModel() [1/3]

DampingModel ( const DampingModel< T > &  )
default

◆ DampingModel() [2/3]

DampingModel ( DampingModel< T > &&  )
default

◆ DampingModel() [3/3]

DampingModel ( const T &  mass_coeff_alpha,
const T &  stiffness_coeff_beta 
)

Constructs a Rayleigh damping model by storing the mass coefficient α and the stiffness coefficient β that appears in the damping matrix D = αM + βK.

Exceptions
std::exceptionif either mass_coeff_alpha or stiffness_coeff_beta is negative.

Member Function Documentation

◆ mass_coeff_alpha()

const T& mass_coeff_alpha ( ) const

◆ operator=() [1/2]

DampingModel& operator= ( DampingModel< T > &&  )
default

◆ operator=() [2/2]

DampingModel& operator= ( const DampingModel< T > &  )
default

◆ stiffness_coeff_beta()

const T& stiffness_coeff_beta ( ) const

The documentation for this class was generated from the following file: