NOX  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | List of all members
LOCA::SaveEigenData::AbstractStrategy Class Referenceabstract

Abstract interface class strategies to save eigenvector/value data. More...

#include <LOCA_SaveEigenData_AbstractStrategy.H>

Inheritance diagram for LOCA::SaveEigenData::AbstractStrategy:
Inheritance graph
[legend]

Public Member Functions

 AbstractStrategy ()
 Constructor.
 
virtual ~AbstractStrategy ()
 Destructor.
 
virtual
NOX::Abstract::Group::ReturnType 
save (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
 Save eigenvalues/eigenvectors. More...
 

Detailed Description

Abstract interface class strategies to save eigenvector/value data.

AbstractStrategy defines an abstract interface for saving eigenvectors and eigenvalues that are computed at each continuation step. This is important because this data is often useful for restarting continuations near bifurcation points and gives the user flexibility in how this data is stored.

The interface currently defines one pure virtual method, save(), to save any eigenvectors or values as specified by the user. Derived classes should implement this method for a particular strategy to save this data, which is usually highly application code dependent. Constructors for derived classes should be of the form:

class Derived : public AbstractStrategy {
public:
Derived(
const Teuchos::RCP<LOCA::GlobalData>& global_data,
...
};

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 list should also specify which and how many eigenvectors/values to save as defined by the strategy.

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.

Member Function Documentation

virtual NOX::Abstract::Group::ReturnType LOCA::SaveEigenData::AbstractStrategy::save ( 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 
)
pure virtual

Save eigenvalues/eigenvectors.

Parameters
evals_r[out] Real eigenvalues
evals_i[out] Imaginary eigenvalues
evecs_r[out] Real eigenvectors
evecs_i[out] Imaginary eigenvectors
Returns
ReturnType code indicating success or failure

Implemented in LOCA::SaveEigenData::DefaultStrategy.


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