chrono::modal::ChModalDampingFactorAssembly Class Reference


Class for setting the damping via N damping factors z_i for all the modes of the subassembly, where assembly n.modes = (boundary coords+internal modes) R^ = V'^-1 * Dd * V^-1 with Dd=diag { 2 z_1 w_1, 2 z_2 w_2, ..., 2 z_i w_i }, and V = eigenvectors of (M^, K^).

Note there can be more z_i than in the case of ChModalDampingFactorRmm, ex. if one has 2 dynamic modes and 6 static modes, here you can have 8 z_i.

#include <ChModalDamping.h>

Inheritance diagram for chrono::modal::ChModalDampingFactorAssembly:
Collaboration diagram for chrono::modal::ChModalDampingFactorAssembly:

Public Member Functions

 ChModalDampingFactorAssembly (const ChVectorDynamic<> &factors)
 Construct from the z_i in coefficients in Rmm=diag { 2 z_1 w_1, 2 z_2 w_2, ..., 2 z_i w_i } for modes, and from alpha-beta Rayleight coefficients for boundary nodes.
virtual void ComputeR (ChModalAssembly &assembly, const ChMatrixDynamic<> &modal_M, const ChMatrixDynamic<> &modal_K, const ChMatrixDynamic<> &Psi, ChMatrixDynamic<> &modal_R) const

Public Attributes

ChVectorDynamic damping_factors

Member Function Documentation

◆ ComputeR()

void chrono::modal::ChModalDampingFactorAssembly::ComputeR ( ChModalAssembly assembly,
const ChMatrixDynamic<> &  modal_M,
const ChMatrixDynamic<> &  modal_K,
const ChMatrixDynamic<> &  Psi,
ChMatrixDynamic<> &  modal_R 
) const

NOTE: when using ChUnsymGenEigenvalueSolverNullspaceDirect the V eigenvectors are normalized in the complex sense,

Implements chrono::modal::ChModalDamping.

The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono_modal/ChModalDamping.h
  • /builds/uwsbel/chrono/src/chrono_modal/ChModalDamping.cpp