#include <Ifpack_OverlappingPartitioner.h>
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_Comm & | Comm () 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_Graph * | Graph_ |
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. |
Ifpack_OverlappingPartitioner::Ifpack_OverlappingPartitioner | ( | const Ifpack_Graph * | Graph | ) |
Constructor.
virtual Ifpack_OverlappingPartitioner::~Ifpack_OverlappingPartitioner | ( | ) | [virtual] |
Destructor.
const Epetra_Comm& Ifpack_OverlappingPartitioner::Comm | ( | ) | const [protected] |
Returns the communicator object of Graph.
virtual int Ifpack_OverlappingPartitioner::Compute | ( | ) | [virtual] |
virtual int Ifpack_OverlappingPartitioner::ComputeOverlappingPartitions | ( | ) | [virtual] |
Computes the partitions. Returns 0 if successful.
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.
bool Ifpack_OverlappingPartitioner::IsComputed | ( | ) | [inline, virtual] |
int Ifpack_OverlappingPartitioner::MaxNumEntries | ( | ) | const [protected] |
Returns the max number of local entries in a row.
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.
int Ifpack_OverlappingPartitioner::NumGlobalRows | ( | ) | const [protected] |
Returns the number of local rows.
int Ifpack_OverlappingPartitioner::NumLocalParts | ( | ) | const [inline, virtual] |
int Ifpack_OverlappingPartitioner::NumMyNonzeros | ( | ) | const [protected] |
Returns the number of local nonzero elements.
int Ifpack_OverlappingPartitioner::NumMyRows | ( | ) | const [protected] |
Returns the number of local rows.
int Ifpack_OverlappingPartitioner::NumRowsInPart | ( | const int | Part | ) | const [inline, virtual] |
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.
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.
MyRow | - (In) local row numbe |
Implements Ifpack_Partitioner.
int Ifpack_OverlappingPartitioner::OverlappingLevel | ( | ) | const [inline, virtual] |
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::RowsInPart | ( | const int | Part, | |
int * | List | |||
) | const [inline, virtual] |
virtual 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.
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.
const Ifpack_Graph* Ifpack_OverlappingPartitioner::Graph_ [protected] |
Reference to the graph to be partitioned.
bool Ifpack_OverlappingPartitioner::IsComputed_ [protected] |
If true
, the graph has been successfully partitioned.
int Ifpack_OverlappingPartitioner::NumLocalParts_ [protected] |
Number of local subgraphs.
int Ifpack_OverlappingPartitioner::OverlappingLevel_ [protected] |
Overlapping level.
std::vector<int> Ifpack_OverlappingPartitioner::Partition_ [protected] |
Partition_[i] contains the ID of non-overlapping part it belongs to.
std::vector<std::vector<int> > Ifpack_OverlappingPartitioner::Parts_ [protected] |
Parts_[i][j] is the ID of the j-th row contained in the (overlapping).
bool Ifpack_OverlappingPartitioner::verbose_ [protected] |
If true
, information are reported on cout.