LifeV
|
Abstract class to construct preconditioners from a matrix in Epetra_CsrFormat. More...
#include <RowMatrixPreconditioner.hpp>
Public Member Functions | |
RowMatrixPreconditioner () | |
Empty constructor. More... | |
virtual | ~RowMatrixPreconditioner () |
Destructor. More... | |
int | Compute () |
Compute the preconditioner. 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 | myCompute ()=0 |
Abstract method myCompute implemented by the derived class. More... | |
Protected Attributes | |
rowMatrixPtr_Type | M_rowMatrix |
operatorPtr_Type | M_prec |
pList_Type | M_pList |
typedef Epetra_CrsMatrix | rowMatrix_Type |
typedef std::shared_ptr< rowMatrix_Type > | rowMatrixPtr_Type |
typedef Teuchos::ParameterList | pList_Type |
Attribute set methods | |
void | SetRowMatrix (const rowMatrixPtr_Type &rowMatrix) |
Set the row matrix. More... | |
void | SetParameterList (const pList_Type pList) |
Set the list of paramenters. More... | |
virtual int | SetUseTranspose (bool UseTranspose) |
Transposition. More... | |
Mathematical functions | |
virtual int | Apply (const vector_Type &X, vector_Type &Y) const |
Returns the result of a raw_operator applied to a raw_vector X in Y. More... | |
virtual int | ApplyInverse (const vector_Type &X, vector_Type &Y) const |
Returns the result of a raw_operator inverse applied to an raw_vector X in Y. More... | |
virtual 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 raw_map object associated with the domain of this operator. More... | |
virtual const map_Type & | OperatorRangeMap () const |
Returns the raw_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 to construct preconditioners from a matrix in Epetra_CsrFormat.
This class implementents all public methods of the parent class LinearOperator
, and additionally introduce the following public methods"
SetRowMatrix
to specify the matrix in Epetra_CsrMatrix format SetParameterList
to specify the list of parameter to be used in the preconditioner Compute
do all the operator to compute the preconditioner. This method assert that the parameter are set correctly and then it calls the protected abstract method myCompute. Concrete instances of the RowMatrixPreconditioner
class should implement the protected method myCompute
.
Definition at line 45 of file RowMatrixPreconditioner.hpp.
typedef Epetra_CrsMatrix rowMatrix_Type |
Definition at line 51 of file RowMatrixPreconditioner.hpp.
typedef std::shared_ptr<rowMatrix_Type> rowMatrixPtr_Type |
Definition at line 52 of file RowMatrixPreconditioner.hpp.
typedef Teuchos::ParameterList pList_Type |
Definition at line 53 of file RowMatrixPreconditioner.hpp.
|
inline |
Empty constructor.
Definition at line 57 of file RowMatrixPreconditioner.hpp.
|
inlinevirtual |
Destructor.
Definition at line 61 of file RowMatrixPreconditioner.hpp.
|
inline |
Set the row matrix.
Definition at line 66 of file RowMatrixPreconditioner.hpp.
|
inline |
Set the list of paramenters.
Definition at line 73 of file RowMatrixPreconditioner.hpp.
|
inlinevirtual |
Transposition.
Implements LinearOperatorAlgebra.
Definition at line 79 of file RowMatrixPreconditioner.hpp.
|
inline |
Compute the preconditioner.
Derived classes should implement the protected method myCompute called by this function.
Definition at line 90 of file RowMatrixPreconditioner.hpp.
|
inlinevirtual |
Returns the result of a raw_operator applied to a raw_vector X in Y.
In | X - A raw_vector of dimension NumVectors to multiply with matrix. |
Out | Y -A raw_vector of dimension NumVectors containing result. |
Implements LinearOperatorAlgebra.
Definition at line 98 of file RowMatrixPreconditioner.hpp.
|
inlinevirtual |
Returns the result of a raw_operator inverse applied to an raw_vector X in Y.
In | X - A raw_vector of dimension NumVectors to solve for. |
Out | Y -A raw_vector of dimension NumVectors containing result. |
Implements LinearOperatorAlgebra.
Definition at line 103 of file RowMatrixPreconditioner.hpp.
|
inlinevirtual |
Returns the infinity norm of the global matrix.
Implements LinearOperatorAlgebra.
Definition at line 108 of file RowMatrixPreconditioner.hpp.
|
inlinevirtual |
Returns a character string describing the operator.
Implements LinearOperatorAlgebra.
Definition at line 118 of file RowMatrixPreconditioner.hpp.
|
inlinevirtual |
Returns the current UseTranspose setting.
Implements LinearOperatorAlgebra.
Definition at line 124 of file RowMatrixPreconditioner.hpp.
|
inlinevirtual |
Returns true if the this object can provide an approximate Inf-norm, false otherwise.
Implements LinearOperatorAlgebra.
Definition at line 130 of file RowMatrixPreconditioner.hpp.
|
inlinevirtual |
Returns a pointer to the Epetra_Comm communicator associated with this operator.
Implements LinearOperatorAlgebra.
Definition at line 136 of file RowMatrixPreconditioner.hpp.
|
inlinevirtual |
Returns the raw_map object associated with the domain of this operator.
Implements LinearOperatorAlgebra.
Definition at line 142 of file RowMatrixPreconditioner.hpp.
|
inlinevirtual |
Returns the raw_map object associated with the range of this operator.
Implements LinearOperatorAlgebra.
Definition at line 148 of file RowMatrixPreconditioner.hpp.
|
protectedpure virtual |
Abstract method myCompute implemented by the derived class.
Implemented in TwoLevelPreconditioner, IfpackPreconditioner, and MLPreconditioner.
|
protected |
Definition at line 158 of file RowMatrixPreconditioner.hpp.
|
protected |
Definition at line 159 of file RowMatrixPreconditioner.hpp.
|
protected |
Definition at line 160 of file RowMatrixPreconditioner.hpp.