Install the MODAL module
[TOC]
Chrono::Modal enables modal analysis and modal reduction on large Chrono systems thanks to iterative shift-and-invert eigenvalue solvers leveraging sparse matrices.
An extended description of the module can be found in the [Chrono::Modal](@ref manual_modal) user manual.
Requirements
To build applications based on this module:
the Spectra library is needed
To run applications based on this module there are no requirements
Building instructions
Download the Spectra library from its GitHub page. You can either download the source code as a zip file, or else clone the git repository.NOTE we need the development version of the Spectra libray, as the only one that includes the Krylov-Schur solver Therefore, use this link: https://github.com/yixuan/spectra/tree/develop
Repeat the instructions for the [full installation](@ref tutorial_install_chrono).
Set
CH_ENABLE_MODULE_MODAL
to 'ON'.Set the
SpectraINCLUDE_DIR
to the path to the include directory in the Spectra install. For example, it could beC:/Packages/spectra/include
.Press 'Configure' again, then 'Generate', and proceed as usual in the installation instructions.
The `develop` branch of Spectra is under development. You might get some warnings during the build process.While we wait that future versions of Spectra will enable complex eigenvalues in the Krylov-Schur solver, a more conventional solver is used for the case of damped complex modal analysis. The more conventional solver is not sparse, so expect more CPU time and memory usage. The usual modal analysis, instead, already uses Krylov-Schur so it can support large problems.
How to use it
Look at the API section of this module for documentation about classes and functions.
Look at the C++ source of demos to learn how to use the functions of this module.
Last updated