IFPACK  Development
 All Classes Files Functions Variables Enumerations Friends Pages
Public Member Functions | List of all members
Ifpack_EquationPartitioner Class Reference

Ifpack_EquationPartitioner: A class to decompose an Ifpack_Graph so that each block will contain all the rows for a different equation. More...

#include <Ifpack_EquationPartitioner.h>

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

Public Member Functions

 Ifpack_EquationPartitioner (const Ifpack_Graph *Graph)
 Constructor.
 
virtual ~Ifpack_EquationPartitioner ()
 Destructor.
 
int SetPartitionParameters (Teuchos::ParameterList &List)
 Sets all the parameters for the partitioner.
 
int ComputePartitions ()
 Computes the partitions. Returns 0 if successful.
 
- Public Member Functions inherited from Ifpack_OverlappingPartitioner
 Ifpack_OverlappingPartitioner (const Ifpack_Graph *Graph)
 Constructor.
 
virtual ~Ifpack_OverlappingPartitioner ()
 Destructor.
 
int NumLocalParts () const
 Returns the number of computed local partitions.
 
int OverlappingLevel () const
 Returns the overlapping level.
 
int operator() (int MyRow) const
 Returns the local non-overlapping partition ID of the specified row. More...
 
int operator() (int i, int j) const
 Returns the local overlapping partition ID of the j-th node in partition i.
 
int NumRowsInPart (const int Part) const
 Returns the number of rows contained in specified partition.
 
int RowsInPart (const int Part, int *List) const
 Copies into List the rows in the (overlapping) partition Part.
 
const int * NonOverlappingPartition () const
 Returns a pointer to the integer vector containing the non-overlapping partition ID of each local row.
 
virtual int SetParameters (Teuchos::ParameterList &List)
 Sets all the parameters for the partitioner. More...
 
virtual int Compute ()
 Computes the partitions. Returns 0 if successful.
 
virtual int ComputeOverlappingPartitions ()
 Computes the partitions. Returns 0 if successful.
 
bool IsComputed ()
 Returns true if partitions have been computed successfully.
 
virtual ostream & Print (std::ostream &os) const
 Prints basic information on iostream. This function is used by operator<<.
 
- Public Member Functions inherited from Ifpack_Partitioner
virtual ~Ifpack_Partitioner ()
 Destructor.
 

Additional Inherited Members

- Protected Member Functions inherited from Ifpack_OverlappingPartitioner
int NumMyRows () const
 Returns the number of local rows.
 
int NumMyNonzeros () const
 Returns the number of local nonzero elements.
 
int NumGlobalRows () const
 Returns the number of global rows.
 
long long NumGlobalRows64 () const
 
int MaxNumEntries () const
 Returns the max number of local entries in a row.
 
const Epetra_Comm & Comm () const
 Returns the communicator object of Graph.
 
- Protected Attributes inherited from Ifpack_OverlappingPartitioner
int NumLocalParts_
 Number of local subgraphs.
 
std::vector< int > Partition_
 Partition_[i] contains the ID of non-overlapping part it belongs to.
 
std::vector< std::vector< int > > Parts_
 Parts_[i][j] is the ID of the j-th row contained in the (overlapping)
 
const Ifpack_GraphGraph_
 Reference to the graph to be partitioned.
 
int OverlappingLevel_
 Overlapping level.
 
bool IsComputed_
 If true, the graph has been successfully partitioned.
 
bool verbose_
 If true, information are reported on cout.
 

Detailed Description

Ifpack_EquationPartitioner: A class to decompose an Ifpack_Graph so that each block will contain all the rows for a different equation.

Ifpack_EquationPartitioner enables a decomposition into blocks of equations. Suppose that the input Ifpack_Graph is based on an Epetra_RowMatrix, whose rows represent (U_i,V_i,P_i) for each grid node i. This partitioner will decompose the graph into three subgraphs, each of them containing the rows of U, then V, than P.

The number of equations is set as the number of local partitions.

Note
It is required that NumRows % NumLocalParts() = 0.
Date
Sep-04.

Definition at line 71 of file Ifpack_EquationPartitioner.h.


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