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.

Private Member Functions

 AnasaziStrategy (const AnasaziStrategy &)
 Private to prohibit copying.
AnasaziStrategyoperator= (const AnasaziStrategy &)
 Private to prohibit copying.


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

Definition at line 96 of file LOCA_Eigensolver_AnasaziStrategy.H.


Member Typedef Documentation

Typedef to simplify templating.

Definition at line 146 of file LOCA_Eigensolver_AnasaziStrategy.H.

Typedef to simplify templating.

Definition at line 149 of file LOCA_Eigensolver_AnasaziStrategy.H.


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.

Definition at line 59 of file LOCA_Eigensolver_AnasaziStrategy.C.

References blksz, eigenParams, globalData, isSymmetric, locaSort, nev, solverParams, and topParams.

LOCA::Eigensolver::AnasaziStrategy::~AnasaziStrategy (  )  [virtual]

Destructor.

Definition at line 104 of file LOCA_Eigensolver_AnasaziStrategy.C.

LOCA::Eigensolver::AnasaziStrategy::AnasaziStrategy ( const AnasaziStrategy  )  [private]

Private to prohibit copying.


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.

Definition at line 109 of file LOCA_Eigensolver_AnasaziStrategy.C.

References blksz, NOX::Abstract::Vector::createMultiVector(), eigenParams, NOX::Abstract::Group::getX(), globalData, isSymmetric, nev, NOX::Abstract::Group::NotConverged, NOX::Abstract::Group::Ok, solverParams, NOX::Utils::StepperIteration, and topParams.

AnasaziStrategy& LOCA::Eigensolver::AnasaziStrategy::operator= ( const AnasaziStrategy  )  [private]

Private to prohibit copying.


Member Data Documentation

Global data.

Definition at line 140 of file LOCA_Eigensolver_AnasaziStrategy.H.

Referenced by AnasaziStrategy(), and computeEigenvalues().

Parsed parameter list.

Definition at line 143 of file LOCA_Eigensolver_AnasaziStrategy.H.

Referenced by AnasaziStrategy(), and computeEigenvalues().

Teuchos::RCP<Teuchos::ParameterList> LOCA::Eigensolver::AnasaziStrategy::eigenParams [protected]

Eigensolver parameter list.

Definition at line 152 of file LOCA_Eigensolver_AnasaziStrategy.H.

Referenced by AnasaziStrategy(), and computeEigenvalues().

Teuchos::RCP<Teuchos::ParameterList> LOCA::Eigensolver::AnasaziStrategy::solverParams [protected]

Linear solver parameter list.

Definition at line 155 of file LOCA_Eigensolver_AnasaziStrategy.H.

Referenced by AnasaziStrategy(), and computeEigenvalues().

The block size.

Definition at line 158 of file LOCA_Eigensolver_AnasaziStrategy.H.

Referenced by AnasaziStrategy(), and computeEigenvalues().

The number of requested eigenvalues.

Definition at line 161 of file LOCA_Eigensolver_AnasaziStrategy.H.

Referenced by AnasaziStrategy(), and computeEigenvalues().

Is problem symmetric.

Definition at line 164 of file LOCA_Eigensolver_AnasaziStrategy.H.

Referenced by AnasaziStrategy(), and computeEigenvalues().

Teuchos::RCP< Anasazi::SortManager<double> > LOCA::Eigensolver::AnasaziStrategy::locaSort [protected]

Sorting manager to handle the sorting of eigenvalues.

Definition at line 167 of file LOCA_Eigensolver_AnasaziStrategy.H.

Referenced by AnasaziStrategy().


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

Generated on Thu Dec 17 11:02:46 2009 for Nonlinear Solver Project by  doxygen 1.5.9