43 #ifndef IFPACK2_OVERLAPPINGPARTITIONER_DECL_HPP 
   44 #define IFPACK2_OVERLAPPINGPARTITIONER_DECL_HPP 
   46 #include "Ifpack2_ConfigDefs.hpp" 
   47 #include "Ifpack2_Partitioner.hpp" 
   48 #include "Tpetra_RowGraph.hpp" 
   77 template<
class GraphType>
 
   80   typedef typename GraphType::local_ordinal_type local_ordinal_type;
 
   81   typedef typename GraphType::global_ordinal_type global_ordinal_type;
 
   82   typedef typename GraphType::node_type node_type;
 
   83   typedef Tpetra::RowGraph<local_ordinal_type, global_ordinal_type, node_type> row_graph_type;
 
  104   local_ordinal_type 
operator () (
const local_ordinal_type MyRow) 
const;
 
  108   operator () (
const local_ordinal_type i, 
const local_ordinal_type j) 
const;
 
  148   virtual std::ostream& 
print(std::ostream& os) 
const;
 
  204 #endif // IFPACK2_OVERLAPPINGPARTITIONER_DECL_HPP 
Teuchos::Array< local_ordinal_type > Partition_
Mapping from local row to partition number. 
Definition: Ifpack2_OverlappingPartitioner_decl.hpp:175
 
Teuchos::Array< Teuchos::ArrayRCP< local_ordinal_type > > Parts_
Mapping from partition to all local rows it contains. 
Definition: Ifpack2_OverlappingPartitioner_decl.hpp:181
 
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. ...
Definition: Ifpack2_OverlappingPartitioner_def.hpp:138
 
virtual Teuchos::ArrayView< const local_ordinal_type > nonOverlappingPartition() const 
A view of the local indices of the nonoverlapping partitions of each local row. 
Definition: Ifpack2_OverlappingPartitioner_def.hpp:151
 
OverlappingPartitioner(const Teuchos::RCP< const row_graph_type > &graph)
Constructor. 
Definition: Ifpack2_OverlappingPartitioner_def.hpp:57
 
int OverlappingLevel_
Level of overlap. 
Definition: Ifpack2_OverlappingPartitioner_decl.hpp:187
 
int overlappingLevel() const 
The number of levels of overlap. 
Definition: Ifpack2_OverlappingPartitioner_def.hpp:80
 
int numLocalParts() const 
Number of computed local partitions. 
Definition: Ifpack2_OverlappingPartitioner_def.hpp:73
 
Ifpack2::Partitioner: 
Definition: Ifpack2_Partitioner.hpp:179
 
Teuchos::RCP< const row_graph_type > Graph_
The graph to be partitioned. 
Definition: Ifpack2_OverlappingPartitioner_decl.hpp:184
 
virtual void computeOverlappingPartitions()
Computes the partitions. Returns 0 if successful. 
Definition: Ifpack2_OverlappingPartitioner_def.hpp:243
 
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. 
Definition: Ifpack2_OverlappingPartitioner_def.hpp:466
 
virtual ~OverlappingPartitioner()
Destructor. 
Definition: Ifpack2_OverlappingPartitioner_def.hpp:68
 
virtual bool isComputed() const 
Returns true if partitions have been computed successfully. 
Definition: Ifpack2_OverlappingPartitioner_def.hpp:432
 
int NumLocalParts_
Number of local subgraphs. 
Definition: Ifpack2_OverlappingPartitioner_decl.hpp:168
 
std::string description() const 
Return a simple one-line description of this object. 
Definition: Ifpack2_OverlappingPartitioner_def.hpp:450
 
virtual void computePartitions()=0
Computes the partitions. Returns 0 if successful. 
 
static const EVerbosityLevel verbLevel_default
 
virtual void compute()
Computes the partitions. Returns 0 if successful. 
Definition: Ifpack2_OverlappingPartitioner_def.hpp:191
 
virtual std::ostream & print(std::ostream &os) const 
Prints basic information on iostream. This function is used by operator<<. 
Definition: Ifpack2_OverlappingPartitioner_def.hpp:440
 
local_ordinal_type operator()(const local_ordinal_type MyRow) const 
Local index of the nonoverlapping partition of the given row. 
Definition: Ifpack2_OverlappingPartitioner_def.hpp:89
 
bool verbose_
If true, information are reported to stdout. 
Definition: Ifpack2_OverlappingPartitioner_decl.hpp:193
 
virtual void setParameters(Teuchos::ParameterList &List)
Set all the parameters for the partitioner. 
Definition: Ifpack2_OverlappingPartitioner_def.hpp:160
 
bool maintainSparsity_
If true, only add row to partition (block) if doing so won't add new columns to the column map...
Definition: Ifpack2_OverlappingPartitioner_decl.hpp:199
 
size_t numRowsInPart(const local_ordinal_type Part) const 
the number of rows contained in the given partition. 
Definition: Ifpack2_OverlappingPartitioner_def.hpp:124
 
Create overlapping partitions of a local graph. 
Definition: Ifpack2_OverlappingPartitioner_decl.hpp:78
 
virtual void setPartitionParameters(Teuchos::ParameterList &List)=0
Set all the parameters for the partitioner. 
 
bool IsComputed_
If true, the graph has been successfully partitioned. 
Definition: Ifpack2_OverlappingPartitioner_decl.hpp:190