Description
Base class for modal solvers.
Contrary to eigensolvers, these classes deals directly with Chrono data structures, creating the appropriate setup for running the inner eigensolver. Multiple requests spanning different frequency ranges can be specified.
#include <ChModalSolver.h>
![Inheritance graph](classchrono_1_1modal_1_1_ch_modal_solver__inherit__graph.png)
![Collaboration graph](classchrono_1_1modal_1_1_ch_modal_solver__coll__graph.png)
Public Member Functions | |
ChModalSolver (int n_lower_modes, double base_freq, bool scaleCq, bool verbose) | |
Creates a modal solver. More... | |
ChModalSolver (std::vector< ChFreqSpan > freq_spans, bool scaleCq, bool verbose) | |
Creates a modal solver. More... | |
int | GetNumRequestedModes () const |
Get the total number of requested modes. | |
void | SetClipPositionCoords (bool val) |
Clip the eigenvectors to only the position coordinates. | |
const std::vector< ChFreqSpan > & | GetFrequencySpans () const |
Get the set of frequency spans for which modes are requested. | |
double | GetTimeMatrixAssembly () const |
Get cumulative time for matrix assembly. | |
double | GetTimeEigenSolver () const |
Get cumulative time eigensolver solution. | |
double | GetTimeSolutionPostProcessing () const |
Get cumulative time for post-solver solution postprocessing. | |
Protected Attributes | |
ChTimer | m_timer_matrix_assembly |
timer for matrix assembly | |
ChTimer | m_timer_eigen_solver |
timer for eigensolver solution | |
ChTimer | m_timer_solution_postprocessing |
timer for conversion of eigensolver solution | |
std::vector< ChFreqSpan > | m_freq_spans |
frequency spans for which modes are requested | |
bool | m_clip_position_coords |
store only the part of each eigenvector that refers to the position coordinates More... | |
bool | m_scaleCq = true |
if true, the Cq matrix is scaled to improve conditioning | |
bool | m_verbose = false |
if true, additional information is printed during the solution process | |
Constructor & Destructor Documentation
◆ ChModalSolver() [1/2]
|
inline |
Creates a modal solver.
n_lower_modes number of lowest modes to be found. base_freq frequency around which the modes will be found; higher values can help finding eigenvalues for ill-conditioned problems. scaleCq if true, the Cq matrix is scaled to improve conditioning. verbose if true, additional information is printed during the solution process.
◆ ChModalSolver() [2/2]
|
inline |
Creates a modal solver.
freq_spans pair of number of modes and frequency around which the modes will be found. ill-conditioned problems. scaleCq if true, the Cq matrix is scaled to improve conditioning. verbose if true, additional information is printed during the solution process.
Member Data Documentation
◆ m_clip_position_coords
|
protected |
store only the part of each eigenvector that refers to the position coordinates
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono_modal/ChModalSolver.h
- /builds/uwsbel/chrono/src/chrono_modal/ChModalSolver.cpp