#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:
as defined above (Default 0.0)
as defined above (Default 0.0) 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().
1.5.9