|
NOX
Development
|
Anasazi eigensolver strategy. More...
#include <LOCA_Eigensolver_AnasaziStrategy.H>


Anasazi eigensolver strategy.
This class implements an eigensolver strategy using the generic Trilinos eigensolver package Anasazi. In particular, this strategy uses the Anasazi::BlockKrylovSchur solver. Since Anasazi is a generic solver, this strategy will work with any group implementation. This strategy references the following parameters passed through the eigenParams argument to the constructor (this list is passed directly to the Anasazi::BlockKrylovSchulSolMgr solver manager):
| LOCA::Eigensolver::AnasaziStrategy::AnasaziStrategy | ( | const Teuchos::RCP< LOCA::GlobalData > & | global_data, |
| const Teuchos::RCP< LOCA::Parameter::SublistParser > & | topParams, | ||
| const Teuchos::RCP< Teuchos::ParameterList > & | eigenParams | ||
| ) |
Constructor.
| global_data | [in] Global data object |
| topParams | [in] Parsed top-level parameter list. Used to obtain linear-solver parameters and to instantiate sorting strategy. |
| eigenParams | [in] Eigensolver parameters as described above. solver. |
References blksz, eigenParams, Teuchos::ParameterList::get(), LOCA::Parameter::SublistParser::getSublist(), Teuchos::ParameterList::isParameter(), isSymmetric, nev, Teuchos::rcp(), Teuchos::ParameterList::set(), solverParams, and topParams.
| NOX::Abstract::Group::ReturnType LOCA::Eigensolver::AnasaziStrategy::computeEigenvalues | ( | NOX::Abstract::Group & | group, |
| Teuchos::RCP< std::vector< double > > & | evals_r, | ||
| Teuchos::RCP< std::vector< double > > & | evals_i, | ||
| Teuchos::RCP< NOX::Abstract::MultiVector > & | evecs_r, | ||
| Teuchos::RCP< NOX::Abstract::MultiVector > & | evecs_i | ||
| ) | [virtual] |
Compute eigenvalues/eigenvectors.
The implementation here the sets up and calls the Anasazi BlockKrylovSchur solver for computing eigenvalues.
Implements LOCA::Eigensolver::AbstractStrategy.
References LOCA::AnasaziOperator::AbstractStrategy::beginPostProcessing(), NOX::Abstract::Vector::createMultiVector(), NOX::Abstract::Group::getX(), LOCA::AnasaziOperator::AbstractStrategy::label(), NOX::Abstract::Group::NotConverged, NOX::Abstract::Group::Ok, LOCA::AnasaziOperator::AbstractStrategy::preProcessSeedVector(), LOCA::AnasaziOperator::AbstractStrategy::rayleighQuotient(), Teuchos::rcp(), NOX::Utils::StepperIteration, and LOCA::AnasaziOperator::AbstractStrategy::transformEigenvalue().
1.7.6.1