LifeV
|
Abstract class which defines the interface of an Invertible Linear Operator Algebra. More...
#include <InvertibleOperator.hpp>
Public Member Functions | |
InvertibleOperator () | |
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 =0 |
virtual void | doSetOperator ()=0 |
virtual void | doSetPreconditioner ()=0 |
virtual void | doSetParameterList ()=0 |
Protected Attributes | |
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_Operator > | M_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_Operator > | M_precBoost |
Teuchos::RCP< Epetra_Operator > | M_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_Operator > | M_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... | |
Attribute set methods | |
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) |
Mathematical functions | |
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... | |
Attribute access functions | |
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_Type & | Comm () const |
Returns a pointer to the Epetra_Comm communicator associated with this operator. More... | |
virtual const map_Type & | OperatorDomainMap () const |
Returns the Epetra_Map object associated with the domain of this operator. More... | |
virtual const map_Type & | OperatorRangeMap () const |
Returns the Epetra_Map object associated with the range of this operator. More... | |
Additional Inherited Members | |
Public Types inherited from LinearOperatorAlgebra | |
typedef Epetra_Comm | comm_Type |
typedef std::shared_ptr< comm_Type > | commPtr_Type |
typedef Epetra_Map | map_Type |
typedef std::shared_ptr< map_Type > | mapPtr_Type |
typedef std::shared_ptr< const map_Type > | constMapPtr_Type |
typedef Epetra_Operator | operator_Type |
typedef std::shared_ptr< operator_Type > | operatorPtr_Type |
typedef Epetra_MultiVector | vector_Type |
typedef std::shared_ptr< vector_Type > | vectorPtr_Type |
Abstract class which defines the interface of an Invertible Linear Operator Algebra.
Definition at line 27 of file InvertibleOperator.hpp.
|
virtual |
If set true, transpose of this operator will be applied.
Implements LinearOperatorAlgebra.
Definition at line 15 of file InvertibleOperator.cpp.
void setOperator | ( | const operatorPtr_Type & | _oper | ) |
Definition at line 26 of file InvertibleOperator.cpp.
void setPreconditioner | ( | const operatorPtr_Type & | _prec | ) |
Definition at line 38 of file InvertibleOperator.cpp.
void setParameterList | ( | const Teuchos::ParameterList & | _pList | ) |
Definition at line 50 of file InvertibleOperator.cpp.
|
virtual |
Returns the result of a Epetra_Operator applied to a vector_Type X in Y.
Implements LinearOperatorAlgebra.
Definition at line 56 of file InvertibleOperator.cpp.
|
virtual |
Returns the result of a Epetra_Operator inverse applied to an vector_Type X in Y.
Implements LinearOperatorAlgebra.
Definition at line 65 of file InvertibleOperator.cpp.
|
inline |
Definition at line 56 of file InvertibleOperator.hpp.
|
inline |
Definition at line 58 of file InvertibleOperator.hpp.
|
inlinevirtual |
Returns the infinity norm of the global matrix.
Implements LinearOperatorAlgebra.
Definition at line 61 of file InvertibleOperator.hpp.
|
inlinevirtual |
Returns a character string describing the operator.
Implements LinearOperatorAlgebra.
Definition at line 69 of file InvertibleOperator.hpp.
|
inlinevirtual |
Returns the current UseTranspose setting.
Implements LinearOperatorAlgebra.
Definition at line 72 of file InvertibleOperator.hpp.
|
inlinevirtual |
Returns true if the this object can provide an approximate Inf-norm, false otherwise.
Implements LinearOperatorAlgebra.
Definition at line 75 of file InvertibleOperator.hpp.
|
inlinevirtual |
Returns a pointer to the Epetra_Comm communicator associated with this operator.
Implements LinearOperatorAlgebra.
Definition at line 78 of file InvertibleOperator.hpp.
|
inlinevirtual |
Returns the Epetra_Map object associated with the domain of this operator.
Implements LinearOperatorAlgebra.
Definition at line 81 of file InvertibleOperator.hpp.
|
inlinevirtual |
Returns the Epetra_Map object associated with the range of this operator.
Implements LinearOperatorAlgebra.
Definition at line 84 of file InvertibleOperator.hpp.
|
protectedpure virtual |
Implemented in BelosOperatorAlgebra, and AztecooOperatorAlgebra.
|
protectedpure virtual |
Implemented in BelosOperatorAlgebra, and AztecooOperatorAlgebra.
|
protectedpure virtual |
Implemented in BelosOperatorAlgebra, and AztecooOperatorAlgebra.
|
protectedpure virtual |
Implemented in BelosOperatorAlgebra, and AztecooOperatorAlgebra.
|
protected |
The name of the Operator.
Definition at line 95 of file InvertibleOperator.hpp.
|
protected |
The list of Parameter to feed the linear solver.
Definition at line 97 of file InvertibleOperator.hpp.
|
protected |
The preconditioner operator (the boost copy makes sure that the preconditioner is still alive; see .cpp file for details)
Definition at line 100 of file InvertibleOperator.hpp.
|
protected |
Definition at line 101 of file InvertibleOperator.hpp.
|
protected |
The operator to be solved (the boost copy makes sure that the operator is still alive; see .cpp file for details)
Definition at line 104 of file InvertibleOperator.hpp.
|
protected |
Definition at line 105 of file InvertibleOperator.hpp.
|
protected |
Whenever to use the transpose.
Definition at line 107 of file InvertibleOperator.hpp.
|
mutableprotected |
Number of iterations performed by the solver.
Definition at line 110 of file InvertibleOperator.hpp.
|
mutableprotected |
Time spent to solve the linear system.
Definition at line 113 of file InvertibleOperator.hpp.