LifeV
AztecooOperator Class Reference

Abstract class which defines the interface of an Invertible Linear Operator. More...

#include <AztecooOperator.hpp>

+ Inheritance diagram for AztecooOperator:
+ Collaboration diagram for AztecooOperator:

Public Types

typedef AztecOO SolverType
 
typedef std::shared_ptr< SolverTypeSolverType_ptr
 
- Public Types inherited from SolverOperator
enum  SolverOperatorStatusType { undefined, yes, no }
 
- Public Types inherited from LinearOperator
typedef Epetra_Comm comm_Type
 
typedef std::shared_ptr< comm_TypecommPtr_Type
 
typedef Epetra_Map map_Type
 
typedef std::shared_ptr< map_TypemapPtr_Type
 
typedef std::shared_ptr< const map_TypeconstMapPtr_Type
 
typedef Epetra_Operator operator_Type
 
typedef std::shared_ptr< operator_TypeoperatorPtr_Type
 
typedef Epetra_MultiVector vector_Type
 
typedef std::shared_ptr< vector_TypevectorPtr_Type
 

Public Member Functions

 AztecooOperator ()
 
- Public Member Functions inherited from SolverOperator
 SolverOperator (std::shared_ptr< Epetra_Comm > comm=std::shared_ptr< Epetra_Comm >(new Epetra_MpiComm(MPI_COMM_WORLD)))
 
virtual ~SolverOperator ()
 
virtual int SetUseTranspose (bool useTranspose)
 If set true, transpose of this operator will be applied. More...
 
void setOperator (operatorPtr_Type _oper)
 
void setPreconditioner (operatorPtr_Type _prec)
 
void setParameters (const Teuchos::ParameterList &_pList)
 
void setTolerance (const Real &tolerance)
 
void setUsedForPreconditioning (const bool &enable)
 
void resetCumulIterations ()
 
void resetSolver ()
 
virtual int Apply (const vector_Type &X, vector_Type &Y) const
 Returns the result of a Epetra_Operator applied to a vector_Type X in Y. More...
 
virtual int ApplyInverse (const vector_Type &X, vector_Type &Y) const
 Returns the result of a Epetra_Operator inverse applied to an vector_Type X in Y. More...
 
double NormInf () const
 Returns the infinity norm of the global matrix. More...
 
void resetStatus ()
 Reset the status for the state of convergence and loss of accuracy. More...
 
virtual const char * Label () const
 Returns a character string describing the operator. More...
 
virtual bool UseTranspose () const
 Returns the current UseTranspose setting. More...
 
virtual bool HasNormInf () const
 Returns true if the this object can provide an approximate Inf-norm, false otherwise. More...
 
virtual const comm_TypeComm () const
 Returns a pointer to the Epetra_Comm communicator associated with this operator. More...
 
virtual const map_TypeOperatorDomainMap () const
 Returns the Epetra_Map object associated with the domain of this operator. More...
 
virtual const map_TypeOperatorRangeMap () const
 Returns the Epetra_Map object associated with the range of this operator. More...
 
SolverOperatorStatusType isLossOfAccuracyDetected () const
 Returns if a loss of precision has been detected. More...
 
SolverOperatorStatusType hasConverged () const
 Returns if the convergence has been achieved. More...
 
int numIterations () const
 Returns the number of iterations. More...
 
int numCumulIterations () const
 Returns the cumul of iterations. More...
 
- Public Member Functions inherited from LinearOperator
virtual ~LinearOperator ()
 Destructor. More...
 
int apply (const VectorEpetra &X, VectorEpetra &Y) const
 Returns the result of a LinearOperator applied to a VectorEpetra X in Y. More...
 
int applyInverse (const VectorEpetra &X, VectorEpetra &Y)
 Returns the result of a LinearOperator inverse applied to an VectorEpetra X in Y. More...
 

Protected Member Functions

virtual int doApplyInverse (const vector_Type &X, vector_Type &Y) const
 
virtual void doSetOperator ()
 
virtual void doSetPreconditioner ()
 
virtual void doSetParameterList ()
 
virtual void doResetSolver ()
 

Protected Attributes

SolverType_ptr M_linSolver
 
- Protected Attributes inherited from SolverOperator
std::string M_name
 The name of the Operator. More...
 
Teuchos::RCP< Teuchos::ParameterList > M_pList
 The list of Parameter to feed the linear solver. More...
 
operatorPtr_Type M_prec
 The preconditioner operator. More...
 
operatorPtr_Type M_oper
 The operator to be solved. More...
 
bool M_useTranspose
 Whenever to use the transpose. More...
 
SolverOperatorStatusType M_lossOfAccuracy
 Status to see if there is a loss of accuracy. More...
 
SolverOperatorStatusType M_converged
 Status to see if the solver has converged. More...
 
int M_numIterations
 Number of iterations performed by the solver. More...
 
int M_numCumulIterations
 Number of cumulated iterations performed by the solver. More...
 
Real M_tolerance
 Solver tolerance. More...
 
bool M_printSubiterationCount
 Print the number of iteration (used only for preconditioner LinearSolver) More...
 
std::shared_ptr< Epetra_Comm > M_comm
 Communicator. More...
 

Detailed Description

Abstract class which defines the interface of an Invertible Linear Operator.

Definition at line 53 of file AztecooOperator.hpp.

Member Typedef Documentation

◆ SolverType

typedef AztecOO SolverType

Definition at line 56 of file AztecooOperator.hpp.

◆ SolverType_ptr

typedef std::shared_ptr<SolverType> SolverType_ptr

Definition at line 57 of file AztecooOperator.hpp.

Constructor & Destructor Documentation

◆ AztecooOperator()

Definition at line 44 of file AztecooOperator.cpp.

+ Here is the caller graph for this function:

Member Function Documentation

◆ doApplyInverse()

int doApplyInverse ( const vector_Type X,
vector_Type Y 
) const
protectedvirtual

Implements SolverOperator.

Definition at line 52 of file AztecooOperator.cpp.

◆ doSetOperator()

void doSetOperator ( )
protectedvirtual

Implements SolverOperator.

Definition at line 120 of file AztecooOperator.cpp.

◆ doSetPreconditioner()

void doSetPreconditioner ( )
protectedvirtual

Implements SolverOperator.

Definition at line 126 of file AztecooOperator.cpp.

◆ doSetParameterList()

void doSetParameterList ( )
protectedvirtual

Implements SolverOperator.

Definition at line 132 of file AztecooOperator.cpp.

◆ doResetSolver()

void doResetSolver ( )
protectedvirtual

Implements SolverOperator.

Definition at line 138 of file AztecooOperator.cpp.

Field Documentation

◆ M_linSolver

SolverType_ptr M_linSolver
protected

Definition at line 69 of file AztecooOperator.hpp.


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