IFPACK Development

Ifpack_OverlapFactorObject: Supports functionality common to Ifpack overlap factorization classes. More...
#include <Ifpack_OverlapFactorObject.h>
Public Member Functions  
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.  
Protected Member Functions  
void  SetAllocated (bool Flag) 
void  SetFactored (bool Flag) 
void  SetValuesInitialized (bool Flag) 
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.  
Protected Attributes  
bool  Factored_ 
bool  Allocated_ 
bool  ValuesInitialized_ 
Ifpack_OverlapGraph *  OverlapGraph_ 
Epetra_RowMatrix *  UserMatrix_ 
Ifpack_OverlapFactorObject: Supports functionality common to Ifpack overlap factorization classes.
Definition at line 35 of file Ifpack_OverlapFactorObject.h.
Ifpack_OverlapFactorObject::Ifpack_OverlapFactorObject  (  const Ifpack_OverlapGraph *  OverlapGraph  ) 
Constructor using Ifpack_OverlapGraph.
Creates an object from the overlap graph.
In  OverlapGraph  Graph describing the graph that should be used for the factors. 
Ifpack_OverlapFactorObject::Ifpack_OverlapFactorObject  (  const Epetra_RowMatrix *  UserMatrix  ) 
Constructor using Epetra_RowMatrix.
Creates an Ifpack_Graph object from the user graph implicitly defined by the Epetra_RowMatrix interface.
In  RowMatrix  An object that has implemented the Epetra_RowMatrix interface. 
virtual int Ifpack_OverlapFactorObject::DerivedFactor  (  )  [protected, pure virtual] 
Virtual method that computes the factors as needed by the derived class.
This method is called by Factor() afer some safety checks have been performed.
Implemented in Ifpack_CrsIlut.
virtual int Ifpack_OverlapFactorObject::Factor  (  )  [virtual] 
Compute factors.
This function computes factors using the method DerivedFactor() that is implemented by the derived class. InitValues() must be called before the factorization can proceed.
virtual int Ifpack_OverlapFactorObject::InitValues  (  const Epetra_RowMatrix *  UserMatrix  )  [virtual] 
Initialize values from user matrix A, can be called repeatedly as matrix values change.
Processes matrix values, primarily handling overlap if any has been requested. This method then calls ProcessOverlapMatrix(), a virtual method that must be implemented by any class that derives from this class.
In  UserMatrix  User matrix to be processed. 
virtual int Ifpack_OverlapFactorObject::ProcessOverlapMatrix  (  const Epetra_RowMatrix &  A  )  [protected, pure virtual] 
Virtual method that processes the overlap matrix as needed by the derived class.
This method is called by InitValues() afer the user matrix has been distributed to support overlap (if any overlap is requested). ProcessOverlapMatrix must be implemented by any derived class of Ifpack_OverlapFactorObject.
Implemented in Ifpack_CrsIlut.