#include <LOCA_Epetra_TransposeLinearSystem_LeftPreconditioning.H>
Public Member Functions | |
LeftPreconditioning (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< Teuchos::ParameterList > &solverParams, const Teuchos::RCP< NOX::Epetra::LinearSystem > &linsys) | |
Constructor. | |
virtual | ~LeftPreconditioning () |
Destructor. | |
virtual bool | applyJacobianTransposeInverse (Teuchos::ParameterList ¶ms, const NOX::Epetra::Vector &input, NOX::Epetra::Vector &result) |
Applies the inverse of the Jacobian matrix transpose to the given input vector and puts the answer in result. | |
virtual bool | createJacobianTranspose () |
Evaluates the Jacobian-transpose based on the solution vector x. | |
virtual bool | createTransposePreconditioner (const NOX::Epetra::Vector &x, Teuchos::ParameterList &p) |
Explicitly constructs a preconditioner based on the solution vector x and the parameter list p. | |
virtual Teuchos::RCP < Epetra_Operator > | getJacobianTransposeOperator () |
Get Jacobian-transpose operator. | |
virtual Teuchos::RCP < Epetra_Operator > | getTransposePreconditioner () |
Get transpose-preconditioner. | |
virtual void | setJacobianTransposeOperator (const Teuchos::RCP< Epetra_Operator > &new_jac_trans) |
Set Jacobian-transpose operator. | |
virtual void | setTransposePreconditioner (const Teuchos::RCP< Epetra_Operator > &new_prec_trans) |
Set transpose-preconditioner. | |
Protected Attributes | |
Teuchos::RCP< LOCA::GlobalData > | globalData |
Global data object. | |
Teuchos::RCP < NOX::Epetra::LinearSystem > | linsys |
Linear system solver. | |
Teuchos::RCP< Epetra_Operator > | jac |
Jacobian operator. | |
Teuchos::RCP< Epetra_Operator > | prec |
Preconditioner. |
Definition at line 74 of file LOCA_Epetra_TransposeLinearSystem_LeftPreconditioning.H.
LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning::LeftPreconditioning | ( | const Teuchos::RCP< LOCA::GlobalData > & | global_data, | |
const Teuchos::RCP< Teuchos::ParameterList > & | solverParams, | |||
const Teuchos::RCP< NOX::Epetra::LinearSystem > & | linsys | |||
) |
Constructor.
Definition at line 54 of file LOCA_Epetra_TransposeLinearSystem_LeftPreconditioning.C.
References globalData, and linsys.
LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning::~LeftPreconditioning | ( | ) | [virtual] |
bool LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning::applyJacobianTransposeInverse | ( | Teuchos::ParameterList & | params, | |
const NOX::Epetra::Vector & | input, | |||
NOX::Epetra::Vector & | result | |||
) | [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.
Implements LOCA::Epetra::TransposeLinearSystem::AbstractStrategy.
Definition at line 80 of file LOCA_Epetra_TransposeLinearSystem_LeftPreconditioning.C.
References NOX::Epetra::Vector::getEpetraVector(), jac, linsys, and prec.
bool LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning::createJacobianTranspose | ( | ) | [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.
Implements LOCA::Epetra::TransposeLinearSystem::AbstractStrategy.
Definition at line 112 of file LOCA_Epetra_TransposeLinearSystem_LeftPreconditioning.C.
bool LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning::createTransposePreconditioner | ( | const NOX::Epetra::Vector & | x, | |
Teuchos::ParameterList & | p | |||
) | [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.
Implements LOCA::Epetra::TransposeLinearSystem::AbstractStrategy.
Definition at line 123 of file LOCA_Epetra_TransposeLinearSystem_LeftPreconditioning.C.
Teuchos::RCP< Epetra_Operator > LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning::getJacobianTransposeOperator | ( | ) | [virtual] |
Get Jacobian-transpose operator.
Implements LOCA::Epetra::TransposeLinearSystem::AbstractStrategy.
Definition at line 138 of file LOCA_Epetra_TransposeLinearSystem_LeftPreconditioning.C.
References jac.
Teuchos::RCP< Epetra_Operator > LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning::getTransposePreconditioner | ( | ) | [virtual] |
Get transpose-preconditioner.
Implements LOCA::Epetra::TransposeLinearSystem::AbstractStrategy.
Definition at line 145 of file LOCA_Epetra_TransposeLinearSystem_LeftPreconditioning.C.
References prec.
void LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning::setJacobianTransposeOperator | ( | const Teuchos::RCP< Epetra_Operator > & | new_jac_trans | ) | [virtual] |
Set Jacobian-transpose operator.
Implements LOCA::Epetra::TransposeLinearSystem::AbstractStrategy.
Definition at line 152 of file LOCA_Epetra_TransposeLinearSystem_LeftPreconditioning.C.
References jac.
void LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning::setTransposePreconditioner | ( | const Teuchos::RCP< Epetra_Operator > & | new_prec_trans | ) | [virtual] |
Set transpose-preconditioner.
Implements LOCA::Epetra::TransposeLinearSystem::AbstractStrategy.
Definition at line 160 of file LOCA_Epetra_TransposeLinearSystem_LeftPreconditioning.C.
References prec.
Teuchos::RCP<LOCA::GlobalData> LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning::globalData [protected] |
Global data object.
Definition at line 146 of file LOCA_Epetra_TransposeLinearSystem_LeftPreconditioning.H.
Referenced by LeftPreconditioning().
Teuchos::RCP<NOX::Epetra::LinearSystem> LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning::linsys [protected] |
Linear system solver.
Definition at line 149 of file LOCA_Epetra_TransposeLinearSystem_LeftPreconditioning.H.
Referenced by applyJacobianTransposeInverse(), createJacobianTranspose(), createTransposePreconditioner(), and LeftPreconditioning().
Teuchos::RCP<Epetra_Operator> LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning::jac [protected] |
Jacobian operator.
Definition at line 152 of file LOCA_Epetra_TransposeLinearSystem_LeftPreconditioning.H.
Referenced by applyJacobianTransposeInverse(), createJacobianTranspose(), createTransposePreconditioner(), getJacobianTransposeOperator(), and setJacobianTransposeOperator().
Teuchos::RCP<Epetra_Operator> LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning::prec [protected] |
Preconditioner.
Definition at line 155 of file LOCA_Epetra_TransposeLinearSystem_LeftPreconditioning.H.
Referenced by applyJacobianTransposeInverse(), createTransposePreconditioner(), getTransposePreconditioner(), and setTransposePreconditioner().