LifeV
AztecooOperatorAlgebra Class Reference

InvertibleOperator interface to AztecOO in Trilinos. AztecooOperator will use the matrix-free Krylov methods in Trilinos, therefore both the operator and the preconditioner must be given in the form of LinearOperator. More...

#include <AztecooOperatorAlgebra.hpp>

+ Inheritance diagram for AztecooOperatorAlgebra:
+ Collaboration diagram for AztecooOperatorAlgebra:

Public Types

typedef AztecOO SolverType
 
typedef boost::shared_ptr< SolverTypeSolverType_ptr
 
- Public Types inherited from LinearOperatorAlgebra
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

 AztecooOperatorAlgebra ()
 
int numberOfIterations ()
 
- Public Member Functions inherited from InvertibleOperator
 InvertibleOperator ()
 
virtual int SetUseTranspose (bool useTranspose)
 If set true, transpose of this operator will be applied. More...
 
void setOperator (const operatorPtr_Type &_oper)
 
void setPreconditioner (const operatorPtr_Type &_prec)
 
void setParameterList (const Teuchos::ParameterList &_pList)
 
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...
 
int NumIter () const
 
double TimeSolver () const
 
double NormInf () const
 Returns the infinity norm of the global matrix. 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...
 
- Public Member Functions inherited from LinearOperatorAlgebra
virtual ~LinearOperatorAlgebra ()
 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 ()
 

Protected Attributes

SolverType_ptr M_linSolver
 
- Protected Attributes inherited from InvertibleOperator
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...
 
Teuchos::RCP< Epetra_OperatorM_prec
 The preconditioner operator (the boost copy makes sure that the preconditioner is still alive; see .cpp file for details) More...
 
std::shared_ptr< Epetra_OperatorM_precBoost
 
Teuchos::RCP< Epetra_OperatorM_oper
 The operator to be solved (the boost copy makes sure that the operator is still alive; see .cpp file for details) More...
 
std::shared_ptr< Epetra_OperatorM_operBoost
 
bool M_useTranspose
 Whenever to use the transpose. More...
 
int M_numIterations
 Number of iterations performed by the solver. More...
 
double M_solutionTime
 Time spent to solve the linear system. More...
 

Detailed Description

InvertibleOperator interface to AztecOO in Trilinos. AztecooOperator will use the matrix-free Krylov methods in Trilinos, therefore both the operator and the preconditioner must be given in the form of LinearOperator.

For a description of the class functionality, please refer to the parent class InvertibleOperator.

Definition at line 39 of file AztecooOperatorAlgebra.hpp.

Member Typedef Documentation

◆ SolverType

typedef AztecOO SolverType

Definition at line 42 of file AztecooOperatorAlgebra.hpp.

◆ SolverType_ptr

typedef boost::shared_ptr<SolverType> SolverType_ptr

Definition at line 43 of file AztecooOperatorAlgebra.hpp.

Constructor & Destructor Documentation

◆ AztecooOperatorAlgebra()

Definition at line 9 of file AztecooOperatorAlgebra.cpp.

+ Here is the caller graph for this function:

Member Function Documentation

◆ numberOfIterations()

int numberOfIterations ( )
inline

Definition at line 47 of file AztecooOperatorAlgebra.hpp.

◆ doApplyInverse()

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

Implements InvertibleOperator.

Definition at line 16 of file AztecooOperatorAlgebra.cpp.

◆ doSetOperator()

virtual void doSetOperator ( )
inlineprotectedvirtual

Implements InvertibleOperator.

Definition at line 55 of file AztecooOperatorAlgebra.hpp.

◆ doSetPreconditioner()

virtual void doSetPreconditioner ( )
inlineprotectedvirtual

Implements InvertibleOperator.

Definition at line 56 of file AztecooOperatorAlgebra.hpp.

◆ doSetParameterList()

virtual void doSetParameterList ( )
inlineprotectedvirtual

Implements InvertibleOperator.

Definition at line 57 of file AztecooOperatorAlgebra.hpp.

Field Documentation

◆ M_linSolver

SolverType_ptr M_linSolver
protected

Definition at line 57 of file AztecooOperatorAlgebra.hpp.


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