Ifpack2 Templated Preconditioning Package Version 1.0
|
Partition in which the user can define a nonoverlapping partition of the graph in any way they choose. More...
#include <Ifpack2_Details_UserPartitioner_decl.hpp>
Public Member Functions | |
UserPartitioner (const Teuchos::RCP< const row_graph_type > &graph) | |
Constructor. | |
virtual | ~UserPartitioner () |
Destructor. | |
void | setPartitionParameters (Teuchos::ParameterList &List) |
Sets all the parameters for the partitioner. The only valid parameters are: | |
void | computePartitions () |
Compute the partitions. | |
![]() | |
OverlappingPartitioner (const Teuchos::RCP< const row_graph_type > &graph) | |
Constructor. | |
virtual | ~OverlappingPartitioner () |
Destructor. | |
int | numLocalParts () const |
Number of computed local partitions. | |
int | overlappingLevel () const |
The number of levels of overlap. | |
local_ordinal_type | operator() (const local_ordinal_type MyRow) const |
Local index of the nonoverlapping partition of the given row. | |
local_ordinal_type | operator() (const local_ordinal_type i, const local_ordinal_type j) const |
Local index of the overlapping partition of the j-th vertex in partition i. | |
size_t | numRowsInPart (const local_ordinal_type Part) const |
the number of rows contained in the given partition. | |
void | rowsInPart (const local_ordinal_type Part, Teuchos::ArrayRCP< local_ordinal_type > &List) const |
Fill List with the local indices of the rows in the (overlapping) partition Part . | |
virtual Teuchos::ArrayView< const local_ordinal_type > | nonOverlappingPartition () const |
A view of the local indices of the nonoverlapping partitions of each local row. | |
virtual void | setParameters (Teuchos::ParameterList &List) |
Set all the parameters for the partitioner. | |
virtual void | setPartitionParameters (Teuchos::ParameterList &List)=0 |
Set all the parameters for the partitioner. | |
virtual void | compute () |
Computes the partitions. Returns 0 if successful. | |
virtual void | computePartitions ()=0 |
Computes the partitions. Returns 0 if successful. | |
virtual void | computeOverlappingPartitions () |
Computes the partitions. Returns 0 if successful. | |
virtual bool | isComputed () const |
Returns true if partitions have been computed successfully. | |
virtual std::ostream & | print (std::ostream &os) const |
Prints basic information on iostream. This function is used by operator<<. | |
std::string | description () const |
Return a simple one-line description of this object. | |
void | describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const |
Print the object with some verbosity level to an FancyOStream object. | |
![]() | |
virtual | ~Partitioner () |
Destructor. | |
virtual int | numLocalParts () const =0 |
Number of computed local partitions. | |
virtual int | overlappingLevel () const =0 |
The level of overlap. | |
virtual LocalOrdinal | operator() (LocalOrdinal MyRow) const =0 |
The local (nonoverlapping) partition index of the specified local row. | |
virtual LocalOrdinal | operator() (LocalOrdinal i, LocalOrdinal j) const =0 |
The local overlapping partition index of the j-th node in partition i. | |
virtual size_t | numRowsInPart (const LocalOrdinal Part) const =0 |
The number of rows contained in the specified partition. | |
virtual void | rowsInPart (const LocalOrdinal Part, Teuchos::ArrayRCP< LocalOrdinal > &List) const =0 |
Copy into List the rows in the (overlapping) partition Part. | |
virtual Teuchos::ArrayView< const LocalOrdinal > | nonOverlappingPartition () const =0 |
The nonoverlapping partition indices of each local row. | |
virtual void | setParameters (Teuchos::ParameterList &List)=0 |
Set all the parameters for the partitioner. | |
virtual void | compute ()=0 |
Compute the partitions. | |
virtual bool | isComputed () const =0 |
Return true if partitions have been computed successfully. | |
virtual std::ostream & | print (std::ostream &os) const =0 |
Print basic information about the partitioning object. | |
Additional Inherited Members | |
![]() | |
int | NumLocalParts_ |
Number of local subgraphs. | |
Teuchos::Array< local_ordinal_type > | Partition_ |
Mapping from local row to partition number. | |
Teuchos::Array< Teuchos::ArrayRCP< local_ordinal_type > > | Parts_ |
Mapping from partition to all rows it contains. | |
Teuchos::RCP< const row_graph_type > | Graph_ |
The graph to be partitioned. | |
int | OverlappingLevel_ |
Level of overlap. | |
bool | IsComputed_ |
If true , the graph has been successfully partitioned. | |
bool | verbose_ |
If true , information are reported to stdout. | |
bool | maintainSparsity_ |
If true , only add row to partition (block) if doing so won't add new columns to the column map. | |
Partition in which the user can define a nonoverlapping partition of the graph in any way they choose.
See Ifpack2::Details::UserPartitioner::setPartitionParameters for a list of supported parameters.
GraphType | Specialization of Tpetra::CrsGraph or Tpetra::RowGraph. |
Ifpack2::Details::UserPartitioner< GraphType >::UserPartitioner | ( | const Teuchos::RCP< const row_graph_type > & | graph | ) |
Constructor.
|
virtual |
Destructor.
|
virtual |
Sets all the parameters for the partitioner. The only valid parameters are:
You may set only one of these parameters. Setting both will results in a runtime exception.
Implements Ifpack2::OverlappingPartitioner< GraphType >.
|
virtual |
Compute the partitions.
Implements Ifpack2::OverlappingPartitioner< GraphType >.