chrono::modal::ChEigenvalueSolverSettings Class Reference

Description

Class for passing basic settings to the Solve() function of the various solvers.

#include <ChEigenvalueSolver.h>

Public Member Functions

 ChEigenvalueSolverSettings (int m_nmodes, int max_iters=500, double mtolerance=1e-10, bool mverbose=false, std::complex< double > msigma=1e-5, bool scaleCq=true)
 

Public Attributes

int n_modes = 10
 
double tolerance = 1e-10
 tolerance for the iterative solver.
 
std::complex< double > sigma = 1e-5
 for shift&invert. More...
 
int max_iterations = 500
 upper limit for the number of iterations. If too low might not converge.
 
bool verbose = false
 turn to true to see some diagnostic.
 
bool scaleCq = true
 

Constructor & Destructor Documentation

◆ ChEigenvalueSolverSettings()

chrono::modal::ChEigenvalueSolverSettings::ChEigenvalueSolverSettings ( int  m_nmodes,
int  max_iters = 500,
double  mtolerance = 1e-10,
bool  mverbose = false,
std::complex< double >  msigma = 1e-5,
bool  scaleCq = true 
)
inline
Parameters
m_nmodesnumber of desired lower eigenvalues. If =0, return all eigenvalues.
max_itersupper limit for the number of iterations. If too low might not converge.
mtolerancetolerance for the iterative solver.
mverboseturn to true to see some diagnostic.
msigmafor shift&invert. Too small gives ill conditioning (no convergence). Too large misses rigid body modes.
scaleCqapply scaling to the Cq matrix to improve conditioning

Member Data Documentation

◆ sigma

std::complex<double> chrono::modal::ChEigenvalueSolverSettings::sigma = 1e-5

for shift&invert.

Too small gives ill conditioning (no convergence). Too large misses rigid body modes.


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