MueLu  Version of the Day
MueLu::EpetraOperator Class Reference

Turns a MueLu::Hierarchy into a Epetra_Operator. It allows MueLu to be used as a preconditioner for AztecOO (for instance). More...

#include <MueLu_EpetraOperator.hpp>

Inheritance diagram for MueLu::EpetraOperator:

Public Member Functions

int SetUseTranspose (bool UseTransposeBool)
 

Private Types

typedef double SC
 
typedef int LO
 
typedef int GO
 
typedef KokkosClassic::DefaultNode::DefaultNodeType NO
 
typedef Xpetra::Matrix< SC, LO, GO, NOMatrix
 
typedef MueLu::Hierarchy< SC, LO, GO, NOHierarchy
 
typedef MueLu::Utils< SC, LO, GO, NOUtils
 

Private Attributes

RCP< HierarchyHierarchy_
 

Constructor/Destructor

 EpetraOperator (const RCP< Hierarchy > &H)
 Constructor. More...
 
virtual ~EpetraOperator ()
 Destructor. More...
 

Mathematical functions

int Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
 Returns the result of a Epetra_Operator applied to a Epetra_MultiVector X in Y. More...
 
int ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
 Returns the result of a Epetra_Operator inverse applied to an Epetra_MultiVector X in Y. More...
 
double NormInf () const
 Returns the infinity norm of the global matrix. More...
 

Attribute access functions

const char * Label () const
 Returns a character string describing the operator. More...
 
bool UseTranspose () const
 Returns the current UseTranspose setting. More...
 
bool HasNormInf () const
 Returns true if the this object can provide an approximate Inf-norm, false otherwise. More...
 
const Epetra_Comm & Comm () const
 Returns a pointer to the Epetra_Comm communicator associated with this operator. More...
 
const Epetra_Map & OperatorDomainMap () const
 Returns the Epetra_Map object associated with the domain of this operator. More...
 
const Epetra_Map & OperatorRangeMap () const
 Returns the Epetra_Map object associated with the range of this operator. More...
 

MueLu specific

RCP< HierarchyGetHierarchy () const
 Direct access to the underlying MueLu::Hierarchy. More...
 

Detailed Description

Turns a MueLu::Hierarchy into a Epetra_Operator. It allows MueLu to be used as a preconditioner for AztecOO (for instance).

Definition at line 61 of file MueLu_EpetraOperator.hpp.

Member Typedef Documentation

typedef double MueLu::EpetraOperator::SC
private

Definition at line 62 of file MueLu_EpetraOperator.hpp.

typedef int MueLu::EpetraOperator::LO
private

Definition at line 63 of file MueLu_EpetraOperator.hpp.

typedef int MueLu::EpetraOperator::GO
private

Definition at line 64 of file MueLu_EpetraOperator.hpp.

typedef KokkosClassic::DefaultNode::DefaultNodeType MueLu::EpetraOperator::NO
private

Definition at line 65 of file MueLu_EpetraOperator.hpp.

typedef Xpetra::Matrix<SC,LO,GO,NO> MueLu::EpetraOperator::Matrix
private

Definition at line 67 of file MueLu_EpetraOperator.hpp.

Definition at line 69 of file MueLu_EpetraOperator.hpp.

Constructor & Destructor Documentation

MueLu::EpetraOperator::EpetraOperator ( const RCP< Hierarchy > &  H)
inline

Constructor.

Definition at line 77 of file MueLu_EpetraOperator.hpp.

virtual MueLu::EpetraOperator::~EpetraOperator ( )
inlinevirtual

Destructor.

Definition at line 80 of file MueLu_EpetraOperator.hpp.

Member Function Documentation

int MueLu::EpetraOperator::SetUseTranspose ( bool  UseTransposeBool)
inline

Definition at line 84 of file MueLu_EpetraOperator.hpp.

int MueLu::EpetraOperator::Apply ( const Epetra_MultiVector &  X,
Epetra_MultiVector &  Y 
) const
inline

Returns the result of a Epetra_Operator applied to a Epetra_MultiVector X in Y.

Parameters
InX - A Epetra_MultiVector of dimension NumVectors to multiply with matrix.
OutY -A Epetra_MultiVector of dimension NumVectors containing result.
Returns
Integer error code, set to 0 if successful.

Definition at line 98 of file MueLu_EpetraOperator.hpp.

int MueLu::EpetraOperator::ApplyInverse ( const Epetra_MultiVector &  X,
Epetra_MultiVector &  Y 
) const

Returns the result of a Epetra_Operator inverse applied to an Epetra_MultiVector X in Y.

Parameters
InX - A Epetra_MultiVector of dimension NumVectors to solve for.
OutY -A Epetra_MultiVector of dimension NumVectors containing result.
Returns
Integer error code, set to 0 if successful.
Warning
In order to work with AztecOO, any implementation of this method must support the case where X and Y are the same object.

Definition at line 57 of file MueLu_EpetraOperator.cpp.

double MueLu::EpetraOperator::NormInf ( ) const
inline

Returns the infinity norm of the global matrix.

Definition at line 120 of file MueLu_EpetraOperator.hpp.

const char* MueLu::EpetraOperator::Label ( ) const
inline

Returns a character string describing the operator.

Definition at line 127 of file MueLu_EpetraOperator.hpp.

bool MueLu::EpetraOperator::UseTranspose ( ) const
inline

Returns the current UseTranspose setting.

Definition at line 130 of file MueLu_EpetraOperator.hpp.

bool MueLu::EpetraOperator::HasNormInf ( ) const
inline

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

Definition at line 133 of file MueLu_EpetraOperator.hpp.

const Epetra_Comm & MueLu::EpetraOperator::Comm ( ) const

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

Definition at line 100 of file MueLu_EpetraOperator.cpp.

const Epetra_Map & MueLu::EpetraOperator::OperatorDomainMap ( ) const

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

Definition at line 118 of file MueLu_EpetraOperator.cpp.

const Epetra_Map & MueLu::EpetraOperator::OperatorRangeMap ( ) const

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

Definition at line 129 of file MueLu_EpetraOperator.cpp.

RCP<Hierarchy> MueLu::EpetraOperator::GetHierarchy ( ) const
inline

Direct access to the underlying MueLu::Hierarchy.

Definition at line 150 of file MueLu_EpetraOperator.hpp.

Member Data Documentation

RCP<Hierarchy> MueLu::EpetraOperator::Hierarchy_
private

Definition at line 157 of file MueLu_EpetraOperator.hpp.


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