chrono::modal::ChGeneralizedEigenvalueSolver Class Referenceabstract

## Description

Base interface class for eigensolvers for the undamped constrained generalized problem (-wsquare*M + K)*x = 0 s.t.

Cq*x = 0 Children classes can implement this in different ways, overridding Solve()

#include <ChEigenvalueSolver.h>

Inheritance diagram for chrono::modal::ChGeneralizedEigenvalueSolver:

## Public Member Functions

virtual bool Solve (const ChSparseMatrix &M, const ChSparseMatrix &K, const ChSparseMatrix &Cq, ChMatrixDynamic< std::complex< double >> &V, ChVectorDynamic< std::complex< double >> &eig, ChVectorDynamic< double > &freq, ChEigenvalueSolverSettings settings=0) const =0
Solve the constrained eigenvalue problem (-wsquare*M + K)*x = 0 s.t. More...

## ◆ Solve()

 virtual bool chrono::modal::ChGeneralizedEigenvalueSolver::Solve ( const ChSparseMatrix & M, const ChSparseMatrix & K, const ChSparseMatrix & Cq, ChMatrixDynamic< std::complex< double >> & V, ChVectorDynamic< std::complex< double >> & eig, ChVectorDynamic< double > & freq, ChEigenvalueSolverSettings settings = 0 ) const
pure virtual

Solve the constrained eigenvalue problem (-wsquare*M + K)*x = 0 s.t.

Cq*x = 0 If n_modes=0, return all eigenvalues, otherwise only the first lower n_modes.

Parameters
 M input M matrix, n_v x n_v K input K matrix, n_v x n_v Cq input Cq matrix of constraint jacobians, n_c x n_v V output matrix n x n_v with eigenvectors as columns, will be resized eig output vector with n eigenvalues, will be resized. freq output vector with n frequencies [Hz], as f=w/(2*PI), will be resized. settings optional: settings for the solver, or n. of desired lower eigenvalues. If =0, return all eigenvalues.

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