Rayleigh Damping

The RayleighDamping class implements classical Rayleigh damping, which defines the damping matrix as a linear combination of the mass and stiffness matrices.

Mathematical Formulation

The Rayleigh damping matrix is defined as:

\[C = \alpha_M M + \beta_K K + \beta_{KInit} K_{init} + \beta_{KComm} K_{comm}\]

Where:

  • \(C\) is the damping matrix

  • \(M\) is the mass matrix

  • \(K\) is the stiffness matrix

  • \(K_{init}\) is the initial stiffness matrix

  • \(K_{comm}\) is the committed (last converged) stiffness matrix

  • \(\alpha_M\), \(\beta_K\), \(\beta_{KInit}\), \(\beta_{KComm}\) are the proportionality factors

Parameters

  • alphaM: Factor applied to the mass matrix (default: 0.0)

  • betaK: Factor applied to the stiffness matrix (default: 0.0)

  • betaKInit: Factor applied to the initial stiffness matrix (default: 0.0)

  • betaKComm: Factor applied to the committed stiffness matrix (default: 0.0)

Usage

from femora.components.Damping import DampingManager

damping_manager = DampingManager()
rayleigh_damping = damping_manager.create_damping(
    'rayleigh',
    alphaM=0.05,
    betaK=0.001,
    betaKInit=0.0,
    betaKComm=0.0
)

Notes

  • At least one of the proportionality factors must be greater than zero

  • All factors must be between 0 and 1

  • The usage of Rayleigh damping may provide incorrect results when used with non-linear time history analysis using concentrated plasticity models

References