IFPACK  Development
 All Classes Namespaces Files Functions Variables Enumerations Friends Pages
Protected Member Functions | Protected Attributes | List of all members
Ifpack_OverlapFactorObject Class Referenceabstract

Ifpack_OverlapFactorObject: Supports functionality common to Ifpack overlap factorization classes. More...

#include <Ifpack_OverlapFactorObject.h>

Inheritance diagram for Ifpack_OverlapFactorObject:
Inheritance graph
[legend]
Collaboration diagram for Ifpack_OverlapFactorObject:
Collaboration graph
[legend]

Public Member Functions

 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.
 
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. More...
 
virtual int Factor ()
 Compute factors. More...
 
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. More...
 
virtual int DerivedFactor ()=0
 Virtual method that computes the factors as needed by the derived class. More...
 

Protected Attributes

bool Factored_
 
bool Allocated_
 
bool ValuesInitialized_
 
Ifpack_OverlapGraphOverlapGraph_
 
Epetra_RowMatrixUserMatrix_
 

Detailed Description

Ifpack_OverlapFactorObject: Supports functionality common to Ifpack overlap factorization classes.

Definition at line 54 of file Ifpack_OverlapFactorObject.h.

Constructor & Destructor Documentation

Ifpack_OverlapFactorObject::Ifpack_OverlapFactorObject ( const Ifpack_OverlapGraph OverlapGraph)

Constructor using Ifpack_OverlapGraph.

Creates an object from the overlap graph.

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

Parameters
InRowMatrix - An object that has implemented the Epetra_RowMatrix interface.

Member Function Documentation

virtual int Ifpack_OverlapFactorObject::DerivedFactor ( )
protectedpure 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.

Parameters
InUserMatrix - User matrix to be processed.
virtual int Ifpack_OverlapFactorObject::ProcessOverlapMatrix ( const Epetra_RowMatrix A)
protectedpure 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.


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