ML
Version of the Day
|
MatrixFreePreconditioner: a class to define preconditioners for Epetra_Operator's. More...
#include <ml_MatrixFreePreconditioner.h>
Public Member Functions | |
MatrixFreePreconditioner (const Epetra_Operator &Operator, const Epetra_CrsGraph &Graph, Epetra_MultiVector &NullSpace, const Epetra_Vector &PointDiagonal, Teuchos::ParameterList &List) | |
Constructor. | |
virtual | ~MatrixFreePreconditioner () |
destructor | |
int | SetUseTranspose (bool UseTranspose) |
Sets the use of the transpose of the operator (NOT SUPPORTED). | |
int | Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
Applies the operator to a std::vector (NOT SUPPORTED). | |
int | ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
Applies the preconditioner to std::vector X , returns the result in Y . | |
double | NormInf () const |
Returns the infinite norm of the operator (NOT SUPPORTED). | |
const char * | Label () const |
Returns the label of this operator. | |
bool | UseTranspose () const |
Returns true if the tranpose of the operator is considerd (NOT SUPPORTED). | |
bool | HasNormInf () const |
Returns false . | |
const Epetra_Comm & | Comm () const |
Returns a reference to the communicator object. | |
const Epetra_Map & | OperatorDomainMap () const |
Returns the domain map of the operator. | |
const Epetra_Map & | OperatorRangeMap () const |
Returns the range map of the operator. | |
const Epetra_RowMatrix & | C () const |
Returns the coarser-level operator as an Epetra_RowMatrix. | |
const MultiLevelPreconditioner & | MLP () const |
const Epetra_CrsMatrix & | R () const |
Returns the restriction operator as an Epetra_CrsMatrix. | |
ML_Comm * | Comm_ML () |
Returns the ML communicator of this object. | |
int | MyPID () const |
Returns the PID of the calling processor. | |
int | NumProc () const |
Returns the number of processors in the communicator. | |
bool | IsComputed () const |
Returns true if the preconditioner has been successfully computed. | |
double | TotalCPUTime () const |
Returns the total CPU time spent in this class. | |
bool | CheckSPD (const Epetra_Operator &Op, const bool UseApply=true, const int NumChecks=1, const int NumVectors=1) const |
int | Coarsen (ML_Operator *A, ML_Aggregate **aggr, ML_Operator **P, ML_Operator **R, ML_Operator **C, int NumPDEEqns=1, int NullSpaceDim=1, double *NullSpace=NULL) |
Performs coarsening for a given operator A . | |
int | GetBlockDiagonal (const Epetra_CrsGraph &Graph, std::string DiagonalColoringType) |
Probes for the block diagonal of the given operator. | |
MatrixFreePreconditioner: a class to define preconditioners for Epetra_Operator's.
This file requires ML to be configured with the following options:
–enable-epetra
–enable-epetraext
–enable-teuchos
The following options are suggested:
–enable-amesos
–enable-ifpack
This class does not support Maxwell problems. It has been tested on symmetric problems; however it can in principle be used with non-symmetric problems as well.