NOX Development
Public Member Functions | Protected Types | Protected Attributes
LOCA::Eigensolver::AnasaziStrategy Class Reference

Anasazi eigensolver strategy. More...

#include <LOCA_Eigensolver_AnasaziStrategy.H>

Inheritance diagram for LOCA::Eigensolver::AnasaziStrategy:
Inheritance graph
[legend]
Collaboration diagram for LOCA::Eigensolver::AnasaziStrategy:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 AnasaziStrategy (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RCP< Teuchos::ParameterList > &eigenParams)
 Constructor.
virtual ~AnasaziStrategy ()
 Destructor.
virtual
NOX::Abstract::Group::ReturnType 
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)
 Compute eigenvalues/eigenvectors.

Protected Types

typedef NOX::Abstract::MultiVector MV
 Typedef to simplify templating.
typedef
LOCA::AnasaziOperator::AbstractStrategy 
OP
 Typedef to simplify templating.

Protected Attributes

Teuchos::RCP< LOCA::GlobalDataglobalData
 Global data.
Teuchos::RCP
< LOCA::Parameter::SublistParser
topParams
 Parsed parameter list.
Teuchos::RCP
< Teuchos::ParameterList
eigenParams
 Eigensolver parameter list.
Teuchos::RCP
< Teuchos::ParameterList
solverParams
 Linear solver parameter list.
int blksz
 The block size.
int nev
 The number of requested eigenvalues.
bool isSymmetric
 Is problem symmetric.
Teuchos::RCP
< Anasazi::SortManager< double > > 
locaSort
 Sorting manager to handle the sorting of eigenvalues.

Detailed Description

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):


Constructor & Destructor Documentation

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.

Parameters:
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::RCP< T >::get(), globalData, isSymmetric, locaSort, nev, Teuchos::rcp(), solverParams, and topParams.


Member Function Documentation

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 NOX::Abstract::Vector::createMultiVector(), NOX::Abstract::Group::getX(), NOX::Abstract::Group::NotConverged, NOX::Abstract::Group::Ok, Teuchos::rcp(), and NOX::Utils::StepperIteration.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends