![]() |
LifeV
|
An operator that provides a two level approximation of the inverse of a Epetra_CsrMatrix object.
More...
#include <TwoLevelPreconditioner.hpp>
Inheritance diagram for TwoLevelPreconditioner:
Collaboration diagram for TwoLevelPreconditioner:Public Member Functions | |
| TwoLevelPreconditioner () | |
| virtual | ~TwoLevelPreconditioner () |
Public Member Functions inherited from RowMatrixPreconditioner | |
| RowMatrixPreconditioner () | |
| Empty constructor. More... | |
| virtual | ~RowMatrixPreconditioner () |
| Destructor. More... | |
| int | Compute () |
| Compute the preconditioner. More... | |
| 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... | |
| 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... | |
| 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... | |
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 () |
| Abstract method myCompute implemented by the derived class. More... | |
Additional Inherited Members | |
Public Types inherited from RowMatrixPreconditioner | |
| typedef Epetra_CrsMatrix | rowMatrix_Type |
| typedef std::shared_ptr< rowMatrix_Type > | rowMatrixPtr_Type |
| typedef Teuchos::ParameterList | pList_Type |
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 |
Protected Attributes inherited from RowMatrixPreconditioner | |
| rowMatrixPtr_Type | M_rowMatrix |
| operatorPtr_Type | M_prec |
| pList_Type | M_pList |
An operator that provides a two level approximation of the inverse of a Epetra_CsrMatrix object.
TwoLevelPreconditioner has exactly the same public interface of its base class RowMatrixPreconditioner. Internally this class creates a TwoLevelOperator object. We use the parameterList to inform a TwoLevelPreconditioner object of additional information as the Restriction and Exstension operator. In particular the parameter list provided to an instance of this class should have:
EstensionMatrix which stores the extension operator (pointer to Epetra_CsrMatrix). RestrictionMatrix which stores the restriction operator (pointer to Epetra_CsrMatrix). If not provided the transpose of the extension operator will be used. CoarseLevel which contains all the information to set-up the coarse solver operator of type ApproximateInverseRowMatrix. FineLevel which contains all the information to set-up the fine level smoother of type RowMatrixPreconditioner. Definition at line 44 of file TwoLevelPreconditioner.hpp.
Definition at line 23 of file TwoLevelPreconditioner.cpp.
Here is the caller graph for this function:
|
virtual |
Definition at line 27 of file TwoLevelPreconditioner.cpp.
|
protectedvirtual |
Abstract method myCompute implemented by the derived class.
Implements RowMatrixPreconditioner.
Definition at line 30 of file TwoLevelPreconditioner.cpp.