#include <LOCA_Epetra_TransposeLinearSystem_AbstractStrategy.H>
Public Member Functions | |
AbstractStrategy () | |
Constructor. | |
virtual | ~AbstractStrategy () |
Destructor. | |
virtual bool | applyJacobianTransposeInverse (Teuchos::ParameterList ¶ms, const NOX::Epetra::Vector &input, NOX::Epetra::Vector &result)=0 |
Applies the inverse of the Jacobian matrix transpose to the given input vector and puts the answer in result. | |
virtual bool | createJacobianTranspose ()=0 |
Evaluates the Jacobian-transpose based on the solution vector x. | |
virtual bool | createTransposePreconditioner (const NOX::Epetra::Vector &x, Teuchos::ParameterList &p)=0 |
Explicitly constructs a preconditioner based on the solution vector x and the parameter list p. | |
virtual Teuchos::RCP < Epetra_Operator > | getJacobianTransposeOperator ()=0 |
Get Jacobian-transpose operator. | |
virtual Teuchos::RCP < Epetra_Operator > | getTransposePreconditioner ()=0 |
Get transpose-preconditioner. | |
virtual void | setJacobianTransposeOperator (const Teuchos::RCP< Epetra_Operator > &new_jac_trans)=0 |
Set Jacobian-transpose operator. | |
virtual void | setTransposePreconditioner (const Teuchos::RCP< Epetra_Operator > &new_prec_trans)=0 |
Set transpose-preconditioner. |
Definition at line 66 of file LOCA_Epetra_TransposeLinearSystem_AbstractStrategy.H.
LOCA::Epetra::TransposeLinearSystem::AbstractStrategy::AbstractStrategy | ( | ) | [inline] |
virtual LOCA::Epetra::TransposeLinearSystem::AbstractStrategy::~AbstractStrategy | ( | ) | [inline, virtual] |
virtual bool LOCA::Epetra::TransposeLinearSystem::AbstractStrategy::applyJacobianTransposeInverse | ( | Teuchos::ParameterList & | params, | |
const NOX::Epetra::Vector & | input, | |||
NOX::Epetra::Vector & | result | |||
) | [pure virtual] |
Applies the inverse of the Jacobian matrix transpose to the given input vector and puts the answer in result.
Computes
where is the Jacobian,
is the input vector, and
is the result vector.
The parameter list contains the linear solver options.
Implemented in LOCA::Epetra::TransposeLinearSystem::ExplicitTranspose, LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning, and LOCA::Epetra::TransposeLinearSystem::TransposePreconditioner.
virtual bool LOCA::Epetra::TransposeLinearSystem::AbstractStrategy::createJacobianTranspose | ( | ) | [pure virtual] |
Evaluates the Jacobian-transpose based on the solution vector x.
Note: For flexibility, this method does not compute the original Jacobian matrix. It uses whatever is currently stored in the linear system.
Implemented in LOCA::Epetra::TransposeLinearSystem::ExplicitTranspose, LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning, and LOCA::Epetra::TransposeLinearSystem::TransposePreconditioner.
virtual bool LOCA::Epetra::TransposeLinearSystem::AbstractStrategy::createTransposePreconditioner | ( | const NOX::Epetra::Vector & | x, | |
Teuchos::ParameterList & | p | |||
) | [pure virtual] |
Explicitly constructs a preconditioner based on the solution vector x and the parameter list p.
Note: x
is only needed for user-supplied preconditioners. When using a built-in preconditioner (e.g., Ifpack), x
will note be used.
Implemented in LOCA::Epetra::TransposeLinearSystem::ExplicitTranspose, LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning, and LOCA::Epetra::TransposeLinearSystem::TransposePreconditioner.
virtual Teuchos::RCP<Epetra_Operator> LOCA::Epetra::TransposeLinearSystem::AbstractStrategy::getJacobianTransposeOperator | ( | ) | [pure virtual] |
Get Jacobian-transpose operator.
Implemented in LOCA::Epetra::TransposeLinearSystem::ExplicitTranspose, LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning, and LOCA::Epetra::TransposeLinearSystem::TransposePreconditioner.
virtual Teuchos::RCP<Epetra_Operator> LOCA::Epetra::TransposeLinearSystem::AbstractStrategy::getTransposePreconditioner | ( | ) | [pure virtual] |
Get transpose-preconditioner.
Implemented in LOCA::Epetra::TransposeLinearSystem::ExplicitTranspose, LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning, and LOCA::Epetra::TransposeLinearSystem::TransposePreconditioner.
virtual void LOCA::Epetra::TransposeLinearSystem::AbstractStrategy::setJacobianTransposeOperator | ( | const Teuchos::RCP< Epetra_Operator > & | new_jac_trans | ) | [pure virtual] |
Set Jacobian-transpose operator.
Implemented in LOCA::Epetra::TransposeLinearSystem::ExplicitTranspose, LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning, and LOCA::Epetra::TransposeLinearSystem::TransposePreconditioner.
virtual void LOCA::Epetra::TransposeLinearSystem::AbstractStrategy::setTransposePreconditioner | ( | const Teuchos::RCP< Epetra_Operator > & | new_prec_trans | ) | [pure virtual] |
Set transpose-preconditioner.
Implemented in LOCA::Epetra::TransposeLinearSystem::ExplicitTranspose, LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning, and LOCA::Epetra::TransposeLinearSystem::TransposePreconditioner.