Ifpack Package Browser (Single Doxygen Collection) Development
|
Ifpack_CrsIlut: ILUT preconditioner of a given Epetra_RowMatrix. More...
#include <Ifpack_CrsIlut.h>
Public Member Functions | |
Ifpack_CrsIlut (const Ifpack_OverlapGraph *OverlapGraph, double DropTol=1.0E-4, double FillTol=1.0) | |
Constructor using Ifpack_OverlapGraph. | |
Ifpack_CrsIlut (const Epetra_RowMatrix *UserMatrix, double DropTol=1.0E-4, double FillTol=1.0) | |
Constructor using Epetra_RowMatrix. | |
Ifpack_CrsIlut (const Ifpack_CrsIlut &Source) | |
Copy constructor. | |
virtual | ~Ifpack_CrsIlut () |
Ifpack_CrsIlut Destructor. | |
int | SetDropTol (double DropTol) |
Set Drop tolerance value as defined by the ILUT algorithm. | |
int | SetFillTol (double FillTol) |
Set fill tolerance value as defined by the ILUT algorithm. | |
int | SetParameters (const Teuchos::ParameterList ¶meterlist, bool cerr_warning_if_unused=false) |
Set parameters using a Teuchos::ParameterList object. | |
double | DropTol () const |
Set Drop tolerance value as defined by the ILUT algorithm. | |
double | FillTol () const |
Set fill tolerance value as defined by the ILUT algorithm. | |
![]() | |
virtual void | Print (std::ostream &os) const |
virtual int | ReportError (const std::string Message, int ErrorCode) const |
Epetra_Object (int TracebackModeIn=-1, bool set_label=true) | |
Epetra_Object (const char *const Label, int TracebackModeIn=-1) | |
Epetra_Object (const Epetra_Object &Object) | |
virtual | ~Epetra_Object () |
virtual void | SetLabel (const char *const Label) |
virtual const char * | Label () const |
virtual void | Print (std::ostream &os) const |
virtual int | ReportError (const std::string Message, int ErrorCode) const |
Epetra_Object (int TracebackModeIn=-1, bool set_label=true) | |
Epetra_Object (const char *const Label, int TracebackModeIn=-1) | |
Epetra_Object (const Epetra_Object &Object) | |
virtual | ~Epetra_Object () |
virtual void | SetLabel (const char *const Label) |
virtual const char * | Label () const |
![]() | |
void | UpdateFlops (int Flops_in) const |
void | UpdateFlops (long int Flops_in) const |
void | UpdateFlops (long long Flops_in) const |
void | UpdateFlops (double Flops_in) const |
void | UpdateFlops (float Flops_in) const |
Epetra_CompObject & | operator= (const Epetra_CompObject &src) |
Epetra_CompObject () | |
Epetra_CompObject (const Epetra_CompObject &Source) | |
virtual | ~Epetra_CompObject () |
void | SetFlopCounter (const Epetra_Flops &FlopCounter_in) |
void | SetFlopCounter (const Epetra_CompObject &CompObject) |
void | UnsetFlopCounter () |
Epetra_Flops * | GetFlopCounter () const |
void | ResetFlops () const |
double | Flops () const |
void | UpdateFlops (int Flops_in) const |
void | UpdateFlops (long int Flops_in) const |
void | UpdateFlops (long long Flops_in) const |
void | UpdateFlops (double Flops_in) const |
void | UpdateFlops (float Flops_in) const |
Epetra_CompObject & | operator= (const Epetra_CompObject &src) |
Epetra_CompObject () | |
Epetra_CompObject (const Epetra_CompObject &Source) | |
virtual | ~Epetra_CompObject () |
void | SetFlopCounter (const Epetra_Flops &FlopCounter_in) |
void | SetFlopCounter (const Epetra_CompObject &CompObject) |
void | UnsetFlopCounter () |
Epetra_Flops * | GetFlopCounter () const |
void | ResetFlops () const |
double | Flops () const |
![]() | |
Ifpack_OverlapFactorObject (const Ifpack_OverlapGraph *OverlapGraph) | |
Constructor using Ifpack_OverlapGraph. | |
Ifpack_OverlapFactorObject (const Epetra_RowMatrix *UserMatrix) | |
Constructor using Epetra_RowMatrix. | |
Ifpack_OverlapFactorObject (const Ifpack_OverlapFactorObject &Source) | |
Copy constructor. | |
virtual | ~Ifpack_OverlapFactorObject () |
Ifpack_OverlapFactorObject Destructor. | |
virtual int | InitValues (const Epetra_RowMatrix *UserMatrix) |
Initialize values from user matrix A, can be called repeatedly as matrix values change. | |
virtual int | Factor () |
Compute factors. | |
bool | Allocated () const |
If storage has been allocated, this query returns true, otherwise it returns false. | |
bool | ValuesInitialized () const |
If values have been initialized, this query returns true, otherwise it returns false. | |
bool | Factored () const |
If factor is completed, this query returns true, otherwise it returns false. | |
![]() | |
Ifpack_OverlapSolveObject (char *Label, const Epetra_Comm &Comm) | |
Constructor. | |
Ifpack_OverlapSolveObject (const Ifpack_OverlapSolveObject &Source) | |
Copy constructor. | |
virtual | ~Ifpack_OverlapSolveObject () |
Ifpack_OverlapSolveObject Destructor. | |
void | SetOverlapMode (Epetra_CombineMode OverlapMode) |
Generate Ifpack_OverlapGraph object using current settings. | |
int | SetLowerOperator (Epetra_CrsMatrix *L, bool UseLTrans) |
Define the operator to be used for the lower triangle. | |
int | SetDiagonal (Epetra_Vector *D, bool UseDInv) |
Define the vector to be used for the diagonal. | |
int | SetUpperOperator (Epetra_CrsMatrix *U, bool UseUTrans) |
Define the operator to be used for the upper triangle. | |
int | Solve (bool Trans, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
Returns the result of a Ifpack_CrsIlut forward/back solve on a Epetra_MultiVector X in Y (works for Epetra_Vectors also). | |
int | Multiply (bool Trans, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
Returns the result of multiplying U, D and L in that order on an Epetra_MultiVector X in Y. | |
int | Condest (bool Trans, double &ConditionNumberEstimate) const |
Returns the maximum over all the condition number estimate for each local ILU set of factors. | |
Epetra_CombineMode | OverlapMode () const |
Returns the overlap mode used to combine terms that are redundantly computed. | |
int | NumGlobalNonzeros () const |
Returns the number of nonzero entries in the global graph. | |
int | NumMyNonzeros () const |
Returns the number of nonzero entries in the local graph. | |
const Epetra_CrsMatrix & | L () const |
Returns the address of the L factor associated with this factored matrix. | |
const Epetra_Vector & | D () const |
Returns the address of the D factor associated with this factored matrix. | |
const Epetra_CrsMatrix & | U () const |
Returns the address of the L factor associated with this factored matrix. | |
const char * | Label () const |
Returns a character string describing the operator. | |
int | SetUseTranspose (bool UseTranspose) |
If set true, transpose of this operator will be applied. | |
int | Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
Returns the result of a Epetra_Operator applied to a Epetra_MultiVector X in Y. | |
int | ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
Returns the result of a Epetra_Operator inverse applied to an Epetra_MultiVector X in Y. | |
double | NormInf () const |
Returns 0.0 because this class cannot compute Inf-norm. | |
bool | HasNormInf () const |
Returns false because this class cannot compute an Inf-norm. | |
bool | UseTranspose () const |
Returns the current UseTranspose setting. | |
const Epetra_Map & | OperatorDomainMap () const |
Returns the Epetra_Map object associated with the domain of this operator. | |
const Epetra_Map & | OperatorRangeMap () const |
Returns the Epetra_Map object associated with the range of this operator. | |
const Epetra_Comm & | Comm () const |
Returns the Epetra_BlockMap object associated with the range of this matrix operator. | |
![]() | |
virtual | ~Epetra_Operator () |
virtual int | SetUseTranspose (bool UseTranspose)=0 |
virtual int | Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0 |
virtual int | ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0 |
virtual double | NormInf () const=0 |
virtual const char * | Label () const=0 |
virtual bool | UseTranspose () const=0 |
virtual bool | HasNormInf () const=0 |
virtual const Epetra_Comm & | Comm () const=0 |
virtual const Epetra_Map & | OperatorDomainMap () const=0 |
virtual const Epetra_Map & | OperatorRangeMap () const=0 |
virtual | ~Epetra_Operator () |
virtual int | SetUseTranspose (bool UseTranspose)=0 |
virtual int | Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0 |
virtual int | ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0 |
virtual double | NormInf () const=0 |
virtual const char * | Label () const=0 |
virtual bool | UseTranspose () const=0 |
virtual bool | HasNormInf () const=0 |
virtual const Epetra_Comm & | Comm () const=0 |
virtual const Epetra_Map & | OperatorDomainMap () const=0 |
virtual const Epetra_Map & | OperatorRangeMap () const=0 |
Protected Member Functions | |
int | ProcessOverlapMatrix (const Epetra_RowMatrix &A) |
Processes the overlapped user matrix for computing the ILUT preconditioner. | |
int | DerivedFactor () |
Compute ILUT factors L and U: WARNING: THIS ROUTINE IS NOT USER CALLABLE, CALL Factor(). | |
![]() | |
std::string | toString (const int &x) const |
std::string | toString (const long long &x) const |
std::string | toString (const double &x) const |
std::string | toString (const int &x) const |
std::string | toString (const long long &x) const |
std::string | toString (const double &x) const |
![]() | |
virtual int | ProcessOverlapMatrix (const Epetra_RowMatrix &A)=0 |
Virtual method that processes the overlap matrix as needed by the derived class. | |
virtual int | DerivedFactor ()=0 |
Virtual method that computes the factors as needed by the derived class. | |
void | SetAllocated (bool Flag) |
void | SetFactored (bool Flag) |
void | SetValuesInitialized (bool Flag) |
![]() | |
virtual int | SetupXY (bool Trans, const Epetra_MultiVector &Xin, const Epetra_MultiVector &Yin, Epetra_MultiVector *&Xout, Epetra_MultiVector *&Yout) const =0 |
Private Attributes | |
double | DropTol_ |
double | FillTol_ |
Additional Inherited Members | |
![]() | |
static void | SetTracebackMode (int TracebackModeValue) |
static int | GetTracebackMode () |
static std::ostream & | GetTracebackStream () |
static void | SetTracebackMode (int TracebackModeValue) |
static int | GetTracebackMode () |
static std::ostream & | GetTracebackStream () |
![]() | |
static int | TracebackMode |
![]() | |
Epetra_Flops * | FlopCounter_ |
![]() | |
bool | Factored_ |
bool | Allocated_ |
bool | ValuesInitialized_ |
Ifpack_OverlapGraph * | OverlapGraph_ |
Epetra_RowMatrix * | UserMatrix_ |
Ifpack_CrsIlut: ILUT preconditioner of a given Epetra_RowMatrix.
Definition at line 64 of file Ifpack_CrsIlut.h.
Ifpack_CrsIlut::Ifpack_CrsIlut | ( | const Ifpack_OverlapGraph * | OverlapGraph, |
double | DropTol = 1.0E-4 , |
||
double | FillTol = 1.0 |
||
) |
Constructor using Ifpack_OverlapGraph.
Creates an object from the overlap graph.
OverlapGraph | (In) - Graph describing the graph that should be used for the factors. |
DropTol | (In/Default) - Drop tolerance used by ILUT algorithm. |
FillTol | (In/Default) - Fill tolerance used by ILUT algorithm. |
Definition at line 57 of file Ifpack_CrsIlut.cpp.
Ifpack_CrsIlut::Ifpack_CrsIlut | ( | const Epetra_RowMatrix * | UserMatrix, |
double | DropTol = 1.0E-4 , |
||
double | FillTol = 1.0 |
||
) |
Constructor using Epetra_RowMatrix.
Creates an Ifpack_Graph object from the user graph implicitly defined by the Epetra_RowMatrix interface.
RowMatrix | (In) - An object that has implemented the Epetra_RowMatrix interface. |
DropTol | (In/Default) - Drop tolerance used by ILUT algorithm. |
FillTol | (In/Default) - Fill tolerance used by ILUT algorithm. |
Definition at line 68 of file Ifpack_CrsIlut.cpp.
Ifpack_CrsIlut::Ifpack_CrsIlut | ( | const Ifpack_CrsIlut & | Source | ) |
Copy constructor.
Definition at line 79 of file Ifpack_CrsIlut.cpp.
|
virtual |
Ifpack_CrsIlut Destructor.
|
inline |
Set Drop tolerance value as defined by the ILUT algorithm.
Definition at line 100 of file Ifpack_CrsIlut.h.
|
inline |
Set fill tolerance value as defined by the ILUT algorithm.
Definition at line 103 of file Ifpack_CrsIlut.h.
int Ifpack_CrsIlut::SetParameters | ( | const Teuchos::ParameterList & | parameterlist, |
bool | cerr_warning_if_unused = false |
||
) |
Set parameters using a Teuchos::ParameterList object.
Definition at line 90 of file Ifpack_CrsIlut.cpp.
|
inline |
Set Drop tolerance value as defined by the ILUT algorithm.
Definition at line 118 of file Ifpack_CrsIlut.h.
|
inline |
Set fill tolerance value as defined by the ILUT algorithm.
Definition at line 121 of file Ifpack_CrsIlut.h.
|
protectedvirtual |
Processes the overlapped user matrix for computing the ILUT preconditioner.
Implements Ifpack_OverlapFactorObject.
Definition at line 106 of file Ifpack_CrsIlut.cpp.
|
protectedvirtual |
Compute ILUT factors L and U: WARNING: THIS ROUTINE IS NOT USER CALLABLE, CALL Factor().
Implements Ifpack_OverlapFactorObject.
Definition at line 112 of file Ifpack_CrsIlut.cpp.
|
private |
Definition at line 135 of file Ifpack_CrsIlut.h.
|
private |
Definition at line 136 of file Ifpack_CrsIlut.h.