NOX
Development
|
Method for solving the transpose of a linear system by using the transpose of the preconditioner. More...
#include <LOCA_Epetra_TransposeLinearSystem_TransposePreconditioner.H>
Public Member Functions | |
TransposePreconditioner (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< Teuchos::ParameterList > &solverParams, const Teuchos::RCP< NOX::Epetra::LinearSystem > &linsys) | |
Constructor. | |
virtual | ~TransposePreconditioner () |
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. More... | |
virtual bool | createJacobianTranspose () |
Evaluates the Jacobian-transpose based on the solution vector x. More... | |
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. More... | |
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. | |
Public Member Functions inherited from LOCA::Epetra::TransposeLinearSystem::AbstractStrategy | |
AbstractStrategy () | |
Constructor. | |
virtual | ~AbstractStrategy () |
Destructor. | |
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. | |
Teuchos::RCP < NOX::Epetra::Scaling > | scaling_trans |
Scaling object for transpose solve. | |
Method for solving the transpose of a linear system by using the transpose of the preconditioner.
|
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.
|
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.
|
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.