|
Ifpack2 Templated Preconditioning Package
Version 1.0
|
#include <Ifpack2_OverlappingPartitioner_decl.hpp>

Public Member Functions | |
| 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<<. | |
Implementation of Teuchos::Describable | |
| 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. | |
Protected Attributes | |
| int | NumLocalParts_ |
| Number of local subgraphs. | |
| Teuchos::Array < local_ordinal_type > | Partition_ |
| Teuchos::Array < Teuchos::ArrayRCP < local_ordinal_type > > | Parts_ |
| 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. | |
Create overlapping partitions of a local graph.
| GraphType | Specialization of Tpetra::CrsGraph or Tpetra::RowGraph. |
This class enables the extension of nonoverlapping partitions to an arbitrary amount of overlap. "Overlap" here refers to the overlap among the local parts, and not the overlap among the processes.
Supported parameters are:
local_ordinal_type): the number of local partitions. Default is one (one local partition, which means "do not partition locally").true, print verbosely to stdout. Default is false (print nothing).This class implements common functionality for derived classes like LinearPartitioner. Graphs given as input to any derived class must contain no singletons. Usually, this means that the graph is the graph of a Tpetra::RowMatrix that has been filtered using SingletonFilter.
| Ifpack2::OverlappingPartitioner< GraphType >::OverlappingPartitioner | ( | const Teuchos::RCP< const row_graph_type > & | graph | ) |
Constructor.
| Ifpack2::OverlappingPartitioner< GraphType >::~OverlappingPartitioner | ( | ) | [virtual] |
Destructor.
| int Ifpack2::OverlappingPartitioner< GraphType >::numLocalParts | ( | ) | const [virtual] |
Number of computed local partitions.
This is a (signed) int because negative values are significant. We can't use local_ordinal_type here, because that type may be either signed or unsigned.
Implements Ifpack2::Partitioner< GraphType >.
| int Ifpack2::OverlappingPartitioner< GraphType >::overlappingLevel | ( | ) | const [virtual] |
The number of levels of overlap.
Implements Ifpack2::Partitioner< GraphType >.
| GraphType::local_ordinal_type Ifpack2::OverlappingPartitioner< GraphType >::operator() | ( | const local_ordinal_type | MyRow | ) | const [virtual] |
Local index of the nonoverlapping partition of the given row.
| MyRow | [in] Local index of the row. |
Implements Ifpack2::Partitioner< GraphType >.
| GraphType::local_ordinal_type Ifpack2::OverlappingPartitioner< GraphType >::operator() | ( | const local_ordinal_type | i, |
| const local_ordinal_type | j | ||
| ) | const [virtual] |
Local index of the overlapping partition of the j-th vertex in partition i.
Implements Ifpack2::Partitioner< GraphType >.
| size_t Ifpack2::OverlappingPartitioner< GraphType >::numRowsInPart | ( | const local_ordinal_type | Part | ) | const [virtual] |
the number of rows contained in the given partition.
Implements Ifpack2::Partitioner< GraphType >.
| void Ifpack2::OverlappingPartitioner< GraphType >::rowsInPart | ( | const local_ordinal_type | Part, |
| Teuchos::ArrayRCP< local_ordinal_type > & | List | ||
| ) | const [virtual] |
Fill List with the local indices of the rows in the (overlapping) partition Part.
Implements Ifpack2::Partitioner< GraphType >.
| Teuchos::ArrayView< const typename GraphType::local_ordinal_type > Ifpack2::OverlappingPartitioner< GraphType >::nonOverlappingPartition | ( | ) | const [virtual] |
A view of the local indices of the nonoverlapping partitions of each local row.
Implements Ifpack2::Partitioner< GraphType >.
| void Ifpack2::OverlappingPartitioner< GraphType >::setParameters | ( | Teuchos::ParameterList & | List | ) | [virtual] |
Set 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 Ifpack2::Partitioner< GraphType >.
| virtual void Ifpack2::OverlappingPartitioner< GraphType >::setPartitionParameters | ( | Teuchos::ParameterList & | List | ) | [pure virtual] |
Set 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 Ifpack2::Details::UserPartitioner< GraphType >, and Ifpack2::LinearPartitioner< GraphType >.
| void Ifpack2::OverlappingPartitioner< GraphType >::compute | ( | ) | [virtual] |
Computes the partitions. Returns 0 if successful.
Implements Ifpack2::Partitioner< GraphType >.
| virtual void Ifpack2::OverlappingPartitioner< GraphType >::computePartitions | ( | ) | [pure virtual] |
Computes the partitions. Returns 0 if successful.
Implemented in Ifpack2::Details::UserPartitioner< GraphType >, and Ifpack2::LinearPartitioner< GraphType >.
| void Ifpack2::OverlappingPartitioner< GraphType >::computeOverlappingPartitions | ( | ) | [virtual] |
Computes the partitions. Returns 0 if successful.
| bool Ifpack2::OverlappingPartitioner< GraphType >::isComputed | ( | ) | const [virtual] |
Returns true if partitions have been computed successfully.
Implements Ifpack2::Partitioner< GraphType >.
| std::ostream & Ifpack2::OverlappingPartitioner< GraphType >::print | ( | std::ostream & | os | ) | const [virtual] |
Prints basic information on iostream. This function is used by operator<<.
Implements Ifpack2::Partitioner< GraphType >.
| std::string Ifpack2::OverlappingPartitioner< GraphType >::description | ( | ) | const [virtual] |
Return a simple one-line description of this object.
Reimplemented from Teuchos::Describable.
| void Ifpack2::OverlappingPartitioner< GraphType >::describe | ( | Teuchos::FancyOStream & | out, |
| const Teuchos::EVerbosityLevel | verbLevel = Teuchos::Describable::verbLevel_default |
||
| ) | const [virtual] |
Print the object with some verbosity level to an FancyOStream object.
Reimplemented from Teuchos::Describable.
int Ifpack2::OverlappingPartitioner< GraphType >::NumLocalParts_ [protected] |
Number of local subgraphs.
This is a (signed) int because negative values are significant. We can't use local_ordinal_type here, because that type may be either signed or unsigned.
Teuchos::Array<local_ordinal_type> Ifpack2::OverlappingPartitioner< GraphType >::Partition_ [protected] |
Partition_[i] contains the local index of the nonoverlapping partition to which it belongs.
Teuchos::Array<Teuchos::ArrayRCP<local_ordinal_type> > Ifpack2::OverlappingPartitioner< GraphType >::Parts_ [protected] |
Parts_[i][j] is the local index of the j-th row contained in the (overlapping) partition i.
Teuchos::RCP<const row_graph_type> Ifpack2::OverlappingPartitioner< GraphType >::Graph_ [protected] |
The graph to be partitioned.
int Ifpack2::OverlappingPartitioner< GraphType >::OverlappingLevel_ [protected] |
Level of overlap.
bool Ifpack2::OverlappingPartitioner< GraphType >::IsComputed_ [protected] |
If true, the graph has been successfully partitioned.
bool Ifpack2::OverlappingPartitioner< GraphType >::verbose_ [protected] |
If true, information are reported to stdout.
1.7.6.1