#include <LOCA_AnasaziOperator_ShiftInvert.H>
Inheritance diagram for LOCA::AnasaziOperator::ShiftInvert:
Public Member Functions | |
| ShiftInvert (const Teuchos::RefCountPtr< LOCA::GlobalData > &global_data, const Teuchos::RefCountPtr< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RefCountPtr< Teuchos::ParameterList > &eigenParams, const Teuchos::RefCountPtr< Teuchos::ParameterList > &solverParams, const Teuchos::RefCountPtr< LOCA::TimeDependent::AbstractGroup > &grp) | |
| Constructor. | |
| virtual | ~ShiftInvert () |
| 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::RefCountPtr< LOCA::GlobalData > | globalData |
| Global data. | |
| string | myLabel |
| Name of this operator. | |
| Teuchos::RefCountPtr< Teuchos::ParameterList > | eigenParams |
| Stores parameters relating to the operator. | |
| Teuchos::RefCountPtr< Teuchos::ParameterList > | solverParams |
| Stores linear solver parameters. | |
| Teuchos::RefCountPtr< LOCA::TimeDependent::AbstractGroup > | grp |
| Stores group representing Jacobian and Mass matrix. | |
| Teuchos::RefCountPtr< NOX::Abstract::MultiVector > | tmp_r |
| Stores a temporary vector for computing Rayleigh quotients. | |
| Teuchos::RefCountPtr< NOX::Abstract::MultiVector > | tmp_i |
| Stores a temporary vector for computing Rayleigh quotients. | |
| double | shift |
| Stores shift value. | |
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 right-most eigenvalues are computed using shift-invert, i.e. solving
where
is a real scalar. The resulting eigenvalue is
.
The parameters used by this class supplied in the constructor are:
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.
|
||||||||||||||||||||||||
|
Constructor. Argument grp must be of type LOCA::TimeDependent::AbstractGroup. See class description for a list of eigenParams. |
|
||||||||||||
|
Apply the operator. Applies the inverse of the shifted operator, i.e., solves
for Implements LOCA::AnasaziOperator::AbstractStrategy. |
|
||||||||||||||||||||
|
Compute Rayleigh quotient.
Computes the Rayleigh quotient Implements LOCA::AnasaziOperator::AbstractStrategy. |
|
||||||||||||
|
Transform eigenvalue. Transforms the given eigenvalue to the eigenvalue of the Jacobian-mass matrix system by shifting and inverting it. Implements LOCA::AnasaziOperator::AbstractStrategy. |
1.3.9.1