LOCA::Epetra::AnasaziOperator::Floquet Class Reference

Anasazi operator for computing generalized eigenvalues using Cayley transformations. More...

#include <LOCA_Epetra_AnasaziOperator_Floquet.H>

Inheritance diagram for LOCA::Epetra::AnasaziOperator::Floquet:
Inheritance graph
[legend]
Collaboration diagram for LOCA::Epetra::AnasaziOperator::Floquet:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Floquet (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RCP< Teuchos::ParameterList > &eigenParams, const Teuchos::RCP< Teuchos::ParameterList > &solverParams, const Teuchos::RCP< NOX::Abstract::Group > &grp)
 Constructor.
virtual ~Floquet ()
 Destructor.
virtual const string & label () const
 Return name of this operator.
virtual void apply (const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &output) const
 Apply the operator.
virtual void transformEigenvalue (double &ev_r, double &ev_i) const
 Transform eigenvalue.
virtual
NOX::Abstract::Group::ReturnType 
rayleighQuotient (const NOX::Abstract::Vector &evec_r, const NOX::Abstract::Vector &evec_i, double &rq_r, double &rq_i) const
 Compute Rayleigh quotient.

Protected Attributes

Teuchos::RCP< LOCA::GlobalDataglobalData
 Global data.
string myLabel
 Name of this operator.
Teuchos::RCP
< Teuchos::ParameterList
eigenParams
 Stores parameters relating to the operator.
Teuchos::RCP
< Teuchos::ParameterList
solverParams
 Stores linear solver parameters.
Teuchos::RCP
< NOX::Abstract::Group
grp
 Stores group representing Jacobian and Mass matrix.
Teuchos::RCP
< LOCA::Epetra::Interface::xyzt > 
xyztInterface
 Stores interface for space-time periodic formulation.

Detailed Description

Anasazi operator for computing generalized eigenvalues using Cayley transformations.

This class implements the LOCA::AnasaziOperator::AbstractStrategy interface for computing generalized eigenvalues $\lambda$ and eigenvectors $z$ of the system

\[ J z = \lambda M z *\]

where $J$ is the Jacobian matrix and $M$ is the mass matrix. The eigenvalues are computed using a Cayley transformation, i.e. solving

\[ (J - \sigma M) z = (J - \mu M) r \]

where $\sigma$ is the Cayley pole and $\mu$ is the Cayley zero.

The parameters used by this class supplied in the constructor are:

Also the grp argument to the constructor must be a child of LOCA::TimeDependent::AbstractGroup for the shift-invert operations.


Constructor & Destructor Documentation

LOCA::Epetra::AnasaziOperator::Floquet::Floquet ( const Teuchos::RCP< LOCA::GlobalData > &  global_data,
const Teuchos::RCP< LOCA::Parameter::SublistParser > &  topParams,
const Teuchos::RCP< Teuchos::ParameterList > &  eigenParams,
const Teuchos::RCP< Teuchos::ParameterList > &  solverParams,
const Teuchos::RCP< NOX::Abstract::Group > &  grp 
)

Constructor.

Argument grp must be of type LOCA::TimeDependent::AbstractGroup. See class description for a list of eigenParams.

References globalData, grp, NOX::Abstract::Group::Ok, and xyztInterface.


Member Function Documentation

void LOCA::Epetra::AnasaziOperator::Floquet::apply ( const NOX::Abstract::MultiVector input,
NOX::Abstract::MultiVector output 
) const [virtual]

Apply the operator.

Applies the inverse of the shifted operator, i.e., solves

\[ (J-\omega I)z = M r \]

for $z$, where $r = \mbox{input}$ and $z = \mbox{output}$.

Implements LOCA::AnasaziOperator::AbstractStrategy.

References NOX::Abstract::MultiVector::clone(), Teuchos::RCP< T >::get(), NOX::Epetra::Vector::getEpetraVector(), globalData, grp, NOX::Abstract::MultiVector::numVectors(), solverParams, and xyztInterface.

Referenced by rayleighQuotient().

NOX::Abstract::Group::ReturnType LOCA::Epetra::AnasaziOperator::Floquet::rayleighQuotient ( const NOX::Abstract::Vector evec_r,
const NOX::Abstract::Vector evec_i,
double &  rq_r,
double &  rq_i 
) const [virtual]
void LOCA::Epetra::AnasaziOperator::Floquet::transformEigenvalue ( double &  ev_r,
double &  ev_i 
) const [virtual]

Transform eigenvalue.

Transforms the given eigenvalue to the eigenvalue of the Jacobian-mass matrix system by shifting and inverting it.

Implements LOCA::AnasaziOperator::AbstractStrategy.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends
Generated on Wed Apr 13 09:59:42 2011 for NOX by  doxygen 1.6.3