Ifpack Package Browser (Single Doxygen Collection) Development
Public Member Functions | Protected Member Functions | Protected Attributes
Ifpack_OverlappingPartitioner Class Reference

#include <Ifpack_OverlappingPartitioner.h>

Inheritance diagram for Ifpack_OverlappingPartitioner:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 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.
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.
virtual int SetPartitionParameters (Teuchos::ParameterList &List)=0
 Sets all the parameters for the partitioner.
virtual int Compute ()
 Computes the partitions. Returns 0 if successful.
virtual int ComputePartitions ()=0
 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<<.

Protected Member Functions

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 local rows.
int MaxNumEntries () const
 Returns the max number of local entries in a row.
const Epetra_CommComm () const
 Returns the communicator object of Graph.

Protected Attributes

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

Definition at line 68 of file Ifpack_OverlappingPartitioner.h.


Constructor & Destructor Documentation

Ifpack_OverlappingPartitioner::Ifpack_OverlappingPartitioner ( const Ifpack_Graph Graph)

Constructor.

Definition at line 44 of file Ifpack_OverlappingPartitioner.cpp.

Ifpack_OverlappingPartitioner::~Ifpack_OverlappingPartitioner ( ) [virtual]

Destructor.

Definition at line 54 of file Ifpack_OverlappingPartitioner.cpp.


Member Function Documentation

int Ifpack_OverlappingPartitioner::NumLocalParts ( ) const [inline, virtual]

Returns the number of computed local partitions.

Implements Ifpack_Partitioner.

Definition at line 79 of file Ifpack_OverlappingPartitioner.h.

int Ifpack_OverlappingPartitioner::OverlappingLevel ( ) const [inline, virtual]

Returns the overlapping level.

Implements Ifpack_Partitioner.

Definition at line 85 of file Ifpack_OverlappingPartitioner.h.

int Ifpack_OverlappingPartitioner::operator() ( int  MyRow) const [inline, virtual]

Returns the local non-overlapping partition ID of the specified row.

Returns the non-overlapping partition ID of the specified row.

Parameters:
MyRow- (In) local row numbe
Returns:
Local ID of non-overlapping partition for MyRow.

Implements Ifpack_Partitioner.

Definition at line 98 of file Ifpack_OverlappingPartitioner.h.

int Ifpack_OverlappingPartitioner::operator() ( int  i,
int  j 
) const [inline, virtual]

Returns the local overlapping partition ID of the j-th node in partition i.

Implements Ifpack_Partitioner.

Definition at line 107 of file Ifpack_OverlappingPartitioner.h.

int Ifpack_OverlappingPartitioner::NumRowsInPart ( const int  Part) const [inline, virtual]

Returns the number of rows contained in specified partition.

Implements Ifpack_Partitioner.

Definition at line 119 of file Ifpack_OverlappingPartitioner.h.

int Ifpack_OverlappingPartitioner::RowsInPart ( const int  Part,
int *  List 
) const [inline, virtual]

Copies into List the rows in the (overlapping) partition Part.

Implements Ifpack_Partitioner.

Definition at line 124 of file Ifpack_OverlappingPartitioner.h.

const int* Ifpack_OverlappingPartitioner::NonOverlappingPartition ( ) const [inline, virtual]

Returns a pointer to the integer vector containing the non-overlapping partition ID of each local row.

Implements Ifpack_Partitioner.

Definition at line 132 of file Ifpack_OverlappingPartitioner.h.

int Ifpack_OverlappingPartitioner::SetParameters ( Teuchos::ParameterList List) [virtual]

Sets all the parameters for the partitioner.

The supported parameters are:

  • "partitioner: overlap" (int, default = 0).
  • "partitioner: local parts" (int, default = 1).
  • "partitioner: print level" (int, default = 0).

Implements Ifpack_Partitioner.

Definition at line 59 of file Ifpack_OverlappingPartitioner.cpp.

virtual int Ifpack_OverlappingPartitioner::SetPartitionParameters ( Teuchos::ParameterList List) [pure virtual]

Sets all the parameters for the partitioner.

This function is used by derived classes to set their own parameters. These classes should not derive SetParameters(), so that common parameters can be set just once.

Implemented in Ifpack_EquationPartitioner, Ifpack_GreedyPartitioner, Ifpack_LinearPartitioner, Ifpack_METISPartitioner, and Ifpack_UserPartitioner.

int Ifpack_OverlappingPartitioner::Compute ( ) [virtual]

Computes the partitions. Returns 0 if successful.

Implements Ifpack_Partitioner.

Definition at line 84 of file Ifpack_OverlappingPartitioner.cpp.

virtual int Ifpack_OverlappingPartitioner::ComputePartitions ( ) [pure virtual]

Computes the partitions. Returns 0 if successful.

Implemented in Ifpack_EquationPartitioner, Ifpack_GreedyPartitioner, Ifpack_LinearPartitioner, Ifpack_METISPartitioner, and Ifpack_UserPartitioner.

int Ifpack_OverlappingPartitioner::ComputeOverlappingPartitions ( ) [virtual]

Computes the partitions. Returns 0 if successful.

Definition at line 134 of file Ifpack_OverlappingPartitioner.cpp.

bool Ifpack_OverlappingPartitioner::IsComputed ( ) [inline, virtual]

Returns true if partitions have been computed successfully.

Implements Ifpack_Partitioner.

Definition at line 162 of file Ifpack_OverlappingPartitioner.h.

virtual ostream& Ifpack_OverlappingPartitioner::Print ( std::ostream &  os) const [virtual]

Prints basic information on iostream. This function is used by operator<<.

Implements Ifpack_Partitioner.

int Ifpack_OverlappingPartitioner::NumMyRows ( ) const [protected]

Returns the number of local rows.

Definition at line 236 of file Ifpack_OverlappingPartitioner.cpp.

int Ifpack_OverlappingPartitioner::NumMyNonzeros ( ) const [protected]

Returns the number of local nonzero elements.

Definition at line 242 of file Ifpack_OverlappingPartitioner.cpp.

int Ifpack_OverlappingPartitioner::NumGlobalRows ( ) const [protected]

Returns the number of local rows.

Definition at line 248 of file Ifpack_OverlappingPartitioner.cpp.

int Ifpack_OverlappingPartitioner::MaxNumEntries ( ) const [protected]

Returns the max number of local entries in a row.

Definition at line 254 of file Ifpack_OverlappingPartitioner.cpp.

const Epetra_Comm & Ifpack_OverlappingPartitioner::Comm ( ) const [protected]

Returns the communicator object of Graph.

Definition at line 260 of file Ifpack_OverlappingPartitioner.cpp.


Member Data Documentation

Number of local subgraphs.

Definition at line 183 of file Ifpack_OverlappingPartitioner.h.

std::vector<int> Ifpack_OverlappingPartitioner::Partition_ [protected]

Partition_[i] contains the ID of non-overlapping part it belongs to.

Definition at line 185 of file Ifpack_OverlappingPartitioner.h.

std::vector<std::vector<int> > Ifpack_OverlappingPartitioner::Parts_ [protected]

Parts_[i][j] is the ID of the j-th row contained in the (overlapping)

Definition at line 188 of file Ifpack_OverlappingPartitioner.h.

Reference to the graph to be partitioned.

Definition at line 190 of file Ifpack_OverlappingPartitioner.h.

Overlapping level.

Definition at line 192 of file Ifpack_OverlappingPartitioner.h.

If true, the graph has been successfully partitioned.

Definition at line 194 of file Ifpack_OverlappingPartitioner.h.

If true, information are reported on cout.

Definition at line 196 of file Ifpack_OverlappingPartitioner.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines