Ifpack Package Browser (Single Doxygen Collection)  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Private Attributes | List of all members
Ifpack_CrsIlut Class Reference

Ifpack_CrsIlut: ILUT preconditioner of a given Epetra_RowMatrix. More...

#include <Ifpack_CrsIlut.h>

Inheritance diagram for Ifpack_CrsIlut:
Inheritance graph
[legend]

Private Attributes

double DropTol_
 
double FillTol_
 
 Ifpack_CrsIlut (const Ifpack_OverlapGraph *OverlapGraph, double DropTol=1.0E-4, double FillTol=1.0)
 Constructor using Ifpack_OverlapGraph. More...
 
 Ifpack_CrsIlut (const Epetra_RowMatrix *UserMatrix, double DropTol=1.0E-4, double FillTol=1.0)
 Constructor using Epetra_RowMatrix. More...
 
 Ifpack_CrsIlut (const Ifpack_CrsIlut &Source)
 Copy constructor. More...
 
virtual ~Ifpack_CrsIlut ()
 Ifpack_CrsIlut Destructor. More...
 
int SetDropTol (double DropTol)
 Set Drop tolerance value as defined by the ILUT algorithm. More...
 
int SetFillTol (double FillTol)
 Set fill tolerance value as defined by the ILUT algorithm. More...
 
int SetParameters (const Teuchos::ParameterList &parameterlist, bool cerr_warning_if_unused=false)
 Set parameters using a Teuchos::ParameterList object. More...
 
double DropTol () const
 Set Drop tolerance value as defined by the ILUT algorithm. More...
 
double FillTol () const
 Set fill tolerance value as defined by the ILUT algorithm. More...
 
int ProcessOverlapMatrix (const Epetra_RowMatrix &A)
 Processes the overlapped user matrix for computing the ILUT preconditioner. More...
 
int DerivedFactor ()
 Compute ILUT factors L and U: WARNING: THIS ROUTINE IS NOT USER CALLABLE, CALL Factor(). More...
 

Additional Inherited Members

- Public Member Functions inherited from Ifpack_OverlapFactorObject
 Ifpack_OverlapFactorObject (const Ifpack_OverlapGraph *OverlapGraph)
 Constructor using Ifpack_OverlapGraph. More...
 
 Ifpack_OverlapFactorObject (const Epetra_RowMatrix *UserMatrix)
 Constructor using Epetra_RowMatrix. More...
 
 Ifpack_OverlapFactorObject (const Ifpack_OverlapFactorObject &Source)
 Copy constructor. More...
 
virtual ~Ifpack_OverlapFactorObject ()
 Ifpack_OverlapFactorObject Destructor. More...
 
virtual int InitValues (const Epetra_RowMatrix *UserMatrix)
 Initialize values from user matrix A, can be called repeatedly as matrix values change. More...
 
virtual int Factor ()
 Compute factors. More...
 
bool Allocated () const
 If storage has been allocated, this query returns true, otherwise it returns false. More...
 
bool ValuesInitialized () const
 If values have been initialized, this query returns true, otherwise it returns false. More...
 
bool Factored () const
 If factor is completed, this query returns true, otherwise it returns false. More...
 
- Public Member Functions inherited from Ifpack_OverlapSolveObject
 Ifpack_OverlapSolveObject (char *Label, const Epetra_Comm &Comm)
 Constructor. More...
 
 Ifpack_OverlapSolveObject (const Ifpack_OverlapSolveObject &Source)
 Copy constructor. More...
 
virtual ~Ifpack_OverlapSolveObject ()
 Ifpack_OverlapSolveObject Destructor. More...
 
void SetOverlapMode (Epetra_CombineMode OverlapMode)
 Generate Ifpack_OverlapGraph object using current settings. More...
 
int SetLowerOperator (Epetra_CrsMatrix *L, bool UseLTrans)
 Define the operator to be used for the lower triangle. More...
 
int SetDiagonal (Epetra_Vector *D, bool UseDInv)
 Define the vector to be used for the diagonal. More...
 
int SetUpperOperator (Epetra_CrsMatrix *U, bool UseUTrans)
 Define the operator to be used for the upper triangle. More...
 
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). More...
 
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. More...
 
int Condest (bool Trans, double &ConditionNumberEstimate) const
 Returns the maximum over all the condition number estimate for each local ILU set of factors. More...
 
Epetra_CombineMode OverlapMode () const
 Returns the overlap mode used to combine terms that are redundantly computed. More...
 
int NumGlobalNonzeros () const
 Returns the number of nonzero entries in the global graph. More...
 
int NumMyNonzeros () const
 Returns the number of nonzero entries in the local graph. More...
 
const Epetra_CrsMatrixL () const
 Returns the address of the L factor associated with this factored matrix. More...
 
const Epetra_VectorD () const
 Returns the address of the D factor associated with this factored matrix. More...
 
const Epetra_CrsMatrixU () const
 Returns the address of the L factor associated with this factored matrix. More...
 
const char * Label () const
 Returns a character string describing the operator. More...
 
int SetUseTranspose (bool UseTranspose)
 If set true, transpose of this operator will be applied. More...
 
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. More...
 
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. More...
 
double NormInf () const
 Returns 0.0 because this class cannot compute Inf-norm. More...
 
bool HasNormInf () const
 Returns false because this class cannot compute an Inf-norm. More...
 
bool UseTranspose () const
 Returns the current UseTranspose setting. More...
 
const Epetra_MapOperatorDomainMap () const
 Returns the Epetra_Map object associated with the domain of this operator. More...
 
const Epetra_MapOperatorRangeMap () const
 Returns the Epetra_Map object associated with the range of this operator. More...
 
const Epetra_CommComm () const
 Returns the Epetra_BlockMap object associated with the range of this matrix operator. More...
 
- Protected Member Functions inherited from Ifpack_OverlapFactorObject
void SetAllocated (bool Flag)
 
void SetFactored (bool Flag)
 
void SetValuesInitialized (bool Flag)
 
- Protected Member Functions inherited from Ifpack_OverlapSolveObject
virtual int SetupXY (bool Trans, const Epetra_MultiVector &Xin, const Epetra_MultiVector &Yin, Epetra_MultiVector *&Xout, Epetra_MultiVector *&Yout) const =0
 
- Protected Attributes inherited from Ifpack_OverlapFactorObject
bool Factored_
 
bool Allocated_
 
bool ValuesInitialized_
 
Ifpack_OverlapGraphOverlapGraph_
 
Epetra_RowMatrixUserMatrix_
 

Detailed Description

Ifpack_CrsIlut: ILUT preconditioner of a given Epetra_RowMatrix.

Definition at line 64 of file Ifpack_CrsIlut.h.

Constructor & Destructor Documentation

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.

Parameters
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.

Parameters
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::~Ifpack_CrsIlut ( )
virtual

Ifpack_CrsIlut Destructor.

Member Function Documentation

int Ifpack_CrsIlut::SetDropTol ( double  DropTol)
inline

Set Drop tolerance value as defined by the ILUT algorithm.

Definition at line 100 of file Ifpack_CrsIlut.h.

int Ifpack_CrsIlut::SetFillTol ( double  FillTol)
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.

double Ifpack_CrsIlut::DropTol ( ) const
inline

Set Drop tolerance value as defined by the ILUT algorithm.

Definition at line 118 of file Ifpack_CrsIlut.h.

double Ifpack_CrsIlut::FillTol ( ) const
inline

Set fill tolerance value as defined by the ILUT algorithm.

Definition at line 121 of file Ifpack_CrsIlut.h.

int Ifpack_CrsIlut::ProcessOverlapMatrix ( const Epetra_RowMatrix A)
protectedvirtual

Processes the overlapped user matrix for computing the ILUT preconditioner.

Implements Ifpack_OverlapFactorObject.

Definition at line 106 of file Ifpack_CrsIlut.cpp.

int Ifpack_CrsIlut::DerivedFactor ( )
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.

Member Data Documentation

double Ifpack_CrsIlut::DropTol_
private

Definition at line 135 of file Ifpack_CrsIlut.h.

double Ifpack_CrsIlut::FillTol_
private

Definition at line 136 of file Ifpack_CrsIlut.h.


The documentation for this class was generated from the following files: