NOX Development
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
LOCA::Epetra::LeftPreconditionedOp Class Reference

An Epetra operator for implementing the operator $P = M^{-1}J$. More...

#include <LOCA_Epetra_LeftPreconditionedOp.H>

Inheritance diagram for LOCA::Epetra::LeftPreconditionedOp:
Inheritance graph
[legend]
Collaboration diagram for LOCA::Epetra::LeftPreconditionedOp:
Collaboration graph
[legend]

Public Member Functions

 LeftPreconditionedOp (const Teuchos::RCP< Epetra_Operator > &jacOperator, const Teuchos::RCP< Epetra_Operator > &precOperator)
 Constructor.
 
virtual ~LeftPreconditionedOp ()
 Destructor.
 
virtual int SetUseTranspose (bool UseTranspose)
 Set to true if the transpose of the operator is requested.
 
virtual int Apply (const Epetra_MultiVector &Input, Epetra_MultiVector &Result) const
 Returns the result of a Epetra_Operator applied to a Epetra_MultiVector Input in Result as described above.
 
virtual int ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
 Returns the result of the inverse of the operator applied to a Epetra_MultiVector Input in Result as described above.
 
virtual double NormInf () const
 Returns an approximate infinity norm of the operator matrix.
 
virtual const char * Label () const
 Returns a character std::string describing the operator.
 
virtual bool UseTranspose () const
 Returns the current UseTranspose setting.
 
virtual bool HasNormInf () const
 Returns true if the this object can provide an approximate Inf-norm, false otherwise.
 
virtual const Epetra_CommComm () const
 Returns a reference to the Epetra_Comm communicator associated with this operator.
 
virtual const Epetra_MapOperatorDomainMap () const
 Returns the Epetra_Map object associated with the domain of this matrix operator.
 
virtual const Epetra_MapOperatorRangeMap () const
 Returns the Epetra_Map object associated with the range of this matrix operator.
 
virtual int SetUseTranspose (bool UseTranspose)=0
 
virtual int Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0
 
virtual int ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0
 
virtual double NormInf () const=0
 
virtual const char * Label () const=0
 
virtual bool UseTranspose () const=0
 
virtual bool HasNormInf () const=0
 
virtual const Epetra_CommComm () const=0
 
virtual const Epetra_MapOperatorDomainMap () const=0
 
virtual const Epetra_MapOperatorRangeMap () const=0
 
virtual int SetUseTranspose (bool UseTranspose)=0
 
virtual int Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0
 
virtual int ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0
 
virtual double NormInf () const=0
 
virtual const char * Label () const=0
 
virtual bool UseTranspose () const=0
 
virtual bool HasNormInf () const=0
 
virtual const Epetra_CommComm () const=0
 
virtual const Epetra_MapOperatorDomainMap () const=0
 
virtual const Epetra_MapOperatorRangeMap () const=0
 

Protected Attributes

std::string label
 Label for operator.
 
Teuchos::RCP< Epetra_OperatorJ
 Stores operator representing J.
 
Teuchos::RCP< Epetra_OperatorM
 Stores operator representing M.
 
bool useTranspose
 Flag indicating whether to use the transpose.
 

Detailed Description

An Epetra operator for implementing the operator $P = M^{-1}J$.

This class implements the Epetra_Operator interface for $P = M^{-1}J$ where $J$ and $M$ are Epetra_Operator's.

Constructor & Destructor Documentation

◆ LeftPreconditionedOp()

LOCA::Epetra::LeftPreconditionedOp::LeftPreconditionedOp ( const Teuchos::RCP< Epetra_Operator > &  jacOperator,
const Teuchos::RCP< Epetra_Operator > &  precOperator 
)

Constructor.

Parameters
jacOperator[in] Jacobian operator J
precOperator[in] Preconditioner operator M

Member Function Documentation

◆ Apply()

int LOCA::Epetra::LeftPreconditionedOp::Apply ( const Epetra_MultiVector Input,
Epetra_MultiVector Result 
) const
virtual

Returns the result of a Epetra_Operator applied to a Epetra_MultiVector Input in Result as described above.

Implements Epetra_Operator.

◆ ApplyInverse()

int LOCA::Epetra::LeftPreconditionedOp::ApplyInverse ( const Epetra_MultiVector X,
Epetra_MultiVector Y 
) const
virtual

Returns the result of the inverse of the operator applied to a Epetra_MultiVector Input in Result as described above.

Implements Epetra_Operator.

◆ Comm()

const Epetra_Comm & LOCA::Epetra::LeftPreconditionedOp::Comm ( ) const
virtual

Returns a reference to the Epetra_Comm communicator associated with this operator.

Implements Epetra_Operator.

◆ HasNormInf()

bool LOCA::Epetra::LeftPreconditionedOp::HasNormInf ( ) const
virtual

Returns true if the this object can provide an approximate Inf-norm, false otherwise.

Implements Epetra_Operator.

◆ Label()

const char * LOCA::Epetra::LeftPreconditionedOp::Label ( ) const
virtual

Returns a character std::string describing the operator.

Implements Epetra_Operator.

◆ NormInf()

double LOCA::Epetra::LeftPreconditionedOp::NormInf ( ) const
virtual

Returns an approximate infinity norm of the operator matrix.

This is defined only if NormInf() of the underlying operators $J$ and $M$ is defined and is given by $\|J\|_\infty+\|M\|_\infty$.

Implements Epetra_Operator.

◆ OperatorDomainMap()

const Epetra_Map & LOCA::Epetra::LeftPreconditionedOp::OperatorDomainMap ( ) const
virtual

Returns the Epetra_Map object associated with the domain of this matrix operator.

Implements Epetra_Operator.

◆ OperatorRangeMap()

const Epetra_Map & LOCA::Epetra::LeftPreconditionedOp::OperatorRangeMap ( ) const
virtual

Returns the Epetra_Map object associated with the range of this matrix operator.

Implements Epetra_Operator.

◆ SetUseTranspose()

int LOCA::Epetra::LeftPreconditionedOp::SetUseTranspose ( bool  UseTranspose)
virtual

Set to true if the transpose of the operator is requested.

Implements Epetra_Operator.

◆ UseTranspose()

bool LOCA::Epetra::LeftPreconditionedOp::UseTranspose ( ) const
virtual

Returns the current UseTranspose setting.

Implements Epetra_Operator.


The documentation for this class was generated from the following files: