NOX Development
Loading...
Searching...
No Matches
Public Member Functions | Protected Types | Protected Attributes | List of all members
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]

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.
 
- Public Member Functions inherited from LOCA::Eigensolver::AbstractStrategy
 AbstractStrategy ()
 Constructor.
 
virtual ~AbstractStrategy ()
 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)=0
 Compute eigenvalues/eigenvectors in group group.
 

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::SublistParsertopParams
 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.
 

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

◆ AnasaziStrategy()

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, isSymmetric, nev, solverParams, and topParams.

Member Function Documentation

◆ computeEigenvalues()

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, and NOX::Utils::StepperIteration.


The documentation for this class was generated from the following files: