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

Method for solving the transpose of a linear system by explicitly forming the transpose of the matrix. More...

#include <LOCA_Epetra_TransposeLinearSystem_ExplicitTranspose.H>

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

List of all members.

Public Member Functions

 ExplicitTranspose (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< Teuchos::ParameterList > &solverParams, const Teuchos::RCP< NOX::Epetra::LinearSystem > &linsys)
 Constructor.
virtual ~ExplicitTranspose ()
 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_trans
 Jacobian tranpose operator.
Teuchos::RCP< Epetra_Operator > prec_trans
 Transpose preconditioner.
Teuchos::RCP
< NOX::Epetra::Scaling
scaling_trans
 Scaling object for transpose solve.
EpetraExt::RowMatrix_Transpose transposer
 Row-matrix transposer.

Detailed Description

Method for solving the transpose of a linear system by explicitly forming the transpose of the matrix.


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.

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.

References Teuchos::rcp().

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