#include <LOCA_Epetra_AnasaziOperator_Floquet.H>
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::GlobalData > | globalData |
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. |
This class implements the LOCA::AnasaziOperator::AbstractStrategy interface for computing generalized eigenvalues and eigenvectors
of the system
where is the Jacobian matrix and
is the mass matrix. The eigenvalues are computed using a Cayley transformation, i.e. solving
where is the Cayley pole and
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.
Definition at line 85 of file LOCA_Epetra_AnasaziOperator_Floquet.H.
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.
Definition at line 39 of file LOCA_Epetra_AnasaziOperator_Floquet.C.
References globalData, grp, NOX::Abstract::Group::Ok, and xyztInterface.
LOCA::Epetra::AnasaziOperator::Floquet::~Floquet | ( | ) | [virtual] |
Destructor.
Definition at line 77 of file LOCA_Epetra_AnasaziOperator_Floquet.C.
References xyztInterface.
const string & LOCA::Epetra::AnasaziOperator::Floquet::label | ( | ) | const [virtual] |
Return name of this operator.
Implements LOCA::AnasaziOperator::AbstractStrategy.
Definition at line 83 of file LOCA_Epetra_AnasaziOperator_Floquet.C.
References myLabel.
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
for , where
and
.
Implements LOCA::AnasaziOperator::AbstractStrategy.
Definition at line 89 of file LOCA_Epetra_AnasaziOperator_Floquet.C.
References NOX::Abstract::MultiVector::clone(), NOX::Epetra::Vector::getEpetraVector(), globalData, grp, NOX::Abstract::MultiVector::numVectors(), solverParams, and xyztInterface.
Referenced by rayleighQuotient().
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.
Definition at line 146 of file LOCA_Epetra_AnasaziOperator_Floquet.C.
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] |
Compute Rayleigh quotient.
Computes the Rayleigh quotient for the eigenvector
.
Implements LOCA::AnasaziOperator::AbstractStrategy.
Definition at line 153 of file LOCA_Epetra_AnasaziOperator_Floquet.C.
References apply(), NOX::Abstract::Vector::clone(), NOX::Abstract::Vector::createMultiVector(), NOX::DeepCopy, NOX::Abstract::Vector::innerProduct(), NOX::Abstract::Group::Ok, and NOX::ShapeCopy.
Teuchos::RCP<LOCA::GlobalData> LOCA::Epetra::AnasaziOperator::Floquet::globalData [protected] |
string LOCA::Epetra::AnasaziOperator::Floquet::myLabel [protected] |
Name of this operator.
Definition at line 148 of file LOCA_Epetra_AnasaziOperator_Floquet.H.
Referenced by label().
Teuchos::RCP<Teuchos::ParameterList> LOCA::Epetra::AnasaziOperator::Floquet::eigenParams [protected] |
Stores parameters relating to the operator.
Definition at line 151 of file LOCA_Epetra_AnasaziOperator_Floquet.H.
Teuchos::RCP<Teuchos::ParameterList> LOCA::Epetra::AnasaziOperator::Floquet::solverParams [protected] |
Stores linear solver parameters.
Definition at line 154 of file LOCA_Epetra_AnasaziOperator_Floquet.H.
Referenced by apply().
Teuchos::RCP<NOX::Abstract::Group> LOCA::Epetra::AnasaziOperator::Floquet::grp [protected] |
Stores group representing Jacobian and Mass matrix.
Definition at line 157 of file LOCA_Epetra_AnasaziOperator_Floquet.H.
Teuchos::RCP<LOCA::Epetra::Interface::xyzt> LOCA::Epetra::AnasaziOperator::Floquet::xyztInterface [protected] |
Stores interface for space-time periodic formulation.
Definition at line 160 of file LOCA_Epetra_AnasaziOperator_Floquet.H.
Referenced by apply(), Floquet(), and ~Floquet().