Ifpack2 Templated Preconditioning Package  Version 1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Ifpack2_Details_UserPartitioner_decl.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Ifpack2: Templated Object-Oriented Algebraic Preconditioner Package
4 //
5 // Copyright 2009 NTESS and the Ifpack2 contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef IFPACK2_USER_PARTITIONER_DECL_HPP
11 #define IFPACK2_USER_PARTITIONER_DECL_HPP
12 
21 
22 #include "Ifpack2_ConfigDefs.hpp"
23 #include "Ifpack2_OverlappingPartitioner_decl.hpp"
24 
25 namespace Ifpack2 {
26 namespace Details {
27 
35 template<class GraphType>
36 class UserPartitioner : public OverlappingPartitioner<GraphType> {
37 public:
38  typedef typename GraphType::local_ordinal_type local_ordinal_type;
39  typedef typename GraphType::global_ordinal_type global_ordinal_type;
40  typedef typename GraphType::node_type node_type;
41  typedef Tpetra::RowGraph<local_ordinal_type, global_ordinal_type, node_type>
42  row_graph_type;
43 
46 
48  virtual ~UserPartitioner();
49 
62  // OverlappingPartitioner::Parts_.
66 
68  void computePartitions ();
69 
70 private:
73  bool userProvidedParts_;
75  bool userProvidedMap_;
76 };
77 
78 }// namespace Details
79 }// namespace Ifpack2
80 
81 #endif // IFPACK2_USER_PARTITIONER_DECL_HPP
UserPartitioner(const Teuchos::RCP< const row_graph_type > &graph)
Constructor.
Definition: Ifpack2_Details_UserPartitioner_def.hpp:22
void computePartitions()
Compute the partitions.
Definition: Ifpack2_Details_UserPartitioner_def.hpp:92
Partition in which the user can define a nonoverlapping partition of the graph in any way they choose...
Definition: Ifpack2_Details_UserPartitioner_decl.hpp:36
virtual ~UserPartitioner()
Destructor.
Definition: Ifpack2_Details_UserPartitioner_def.hpp:29
Create overlapping partitions of a local graph.
Definition: Ifpack2_OverlappingPartitioner_decl.hpp:45
void setPartitionParameters(Teuchos::ParameterList &List)
Sets all the parameters for the partitioner. The only valid parameters are:
Definition: Ifpack2_Details_UserPartitioner_def.hpp:34