NOX  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends
Public Member Functions | Protected Attributes
LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning Class Reference

Method for solving the transpose of a linear system by transposing the preconditioner and switching to left preconditioning. More...

#include <LOCA_Epetra_TransposeLinearSystem_LeftPreconditioning.H>

Inheritance diagram for LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning:
Inheritance graph
[legend]
Collaboration diagram for LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning:
Collaboration graph
[legend]

List of all members.

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 &params, 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::GlobalDataglobalData
 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.

Detailed Description

Method for solving the transpose of a linear system by transposing the preconditioner and switching to left preconditioning.


Member Function Documentation

Applies the inverse of the Jacobian matrix transpose to the given input vector and puts the answer in result.

Computes

\[ v = J^{-T} u, \]

where $J$ is the Jacobian, $u$ is the input vector, and $v$ is the result vector.

The parameter list contains the linear solver options.

Implements LOCA::Epetra::TransposeLinearSystem::AbstractStrategy.

References NOX::Epetra::Vector::getEpetraVector(), and Teuchos::rcp().

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.

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.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends