43#ifndef IFPACK2_PARTITIONER_HPP
44#define IFPACK2_PARTITIONER_HPP
46#include "Ifpack2_ConfigDefs.hpp"
47#include "Teuchos_ParameterList.hpp"
48#include "Teuchos_ArrayRCP.hpp"
178template <
class GraphType>
181 typedef typename GraphType::local_ordinal_type LocalOrdinal;
182 typedef typename GraphType::global_ordinal_type GlobalOrdinal;
183 typedef typename GraphType::node_type Node;
201 virtual LocalOrdinal
operator() (LocalOrdinal MyRow)
const = 0;
204 virtual LocalOrdinal
operator() (LocalOrdinal i, LocalOrdinal j)
const = 0;
212 Teuchos::ArrayRCP<LocalOrdinal>& List)
const = 0;
215 virtual Teuchos::ArrayView<const LocalOrdinal>
228 virtual std::ostream&
print (std::ostream& os)
const = 0;
233template <
class GraphType>
235operator<< (std::ostream& os,
238 return obj.
print (os);
Ifpack2::Partitioner:
Definition: Ifpack2_Partitioner.hpp:179
virtual LocalOrdinal operator()(LocalOrdinal MyRow) const =0
The local (nonoverlapping) partition index of the specified local row.
virtual int numLocalParts() const =0
Number of computed local partitions.
virtual Teuchos::ArrayView< const LocalOrdinal > nonOverlappingPartition() const =0
The nonoverlapping partition indices of each local row.
virtual ~Partitioner()
Destructor.
Definition: Ifpack2_Partitioner.hpp:186
virtual bool isComputed() const =0
Return true if partitions have been computed successfully.
virtual void compute()=0
Compute the partitions.
virtual void rowsInPart(const LocalOrdinal Part, Teuchos::ArrayRCP< LocalOrdinal > &List) const =0
Copy into List the rows in the (overlapping) partition Part.
virtual std::ostream & print(std::ostream &os) const =0
Print basic information about the partitioning object.
virtual void setParameters(Teuchos::ParameterList &List)=0
Set all the parameters for the partitioner.
virtual size_t numRowsInPart(const LocalOrdinal Part) const =0
The number of rows contained in the specified partition.
virtual int overlappingLevel() const =0
The level of overlap.
Preconditioners and smoothers for Tpetra sparse matrices.
Definition: Ifpack2_AdditiveSchwarz_decl.hpp:74