|
NOX
Development
|
Abstract interface class for Eigensolver strategies. More...
#include <LOCA_Eigensolver_AbstractStrategy.H>

Public Member Functions | |
| 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. More... | |
Abstract interface class for Eigensolver strategies.
AbstractStrategy defines an abstract interface for eigensolver strategies. It is used by LOCA::Stepper to compute eigenvalues of the steady-state solution after each continuation step.
The interface currently defines one pure virtual method, computeEigenvalues(), to compute the eigenvalues. Derived classes should implement this method for a particular eigensolver strategy. Constructors for derived classes should be of the form:
where global_data is the LOCA global data object, topParams is the parsed top-level parameter list, and eigenParams is a parameter list of eigensolver parameters.
This class and its children follow the Strategy pattern as defined in Erich Gamma, et al. "Design Patterns: Elements of Reusable Object-Oriented Software." Addison Wesley, Boston, MA, 1995.
|
pure virtual |
Compute eigenvalues/eigenvectors in group group.
| group | [in] NOX Group to compute eigenvalues of |
| evals_r | [out] Real eigenvalues |
| evals_i | [out] Imaginary eigenvalues |
| evecs_r | [out] Real eigenvectors |
| evecs_i | [out] Imaginary eigenvectors |
Implemented in LOCA::Eigensolver::AnasaziStrategy, LOCA::Eigensolver::DefaultStrategy, and LOCA::Eigensolver::DGGEVStrategy.
1.8.5