40 #ifndef _Isorropia_TpetraLibrary_hpp_ 41 #define _Isorropia_TpetraLibrary_hpp_ 44 #include <Teuchos_RCP.hpp> 45 #include <Teuchos_ParameterList.hpp> 48 #ifdef HAVE_ISORROPIA_TPETRA 62 template <typename Node = ::Tpetra::Map<int,int>::node_type>
66 Library(Teuchos::RCP<const ::Tpetra::CrsGraph<int,int,Node> > input_graph,
int itype = unspecified_input_);
67 Library(Teuchos::RCP<const ::Tpetra::CrsGraph<int,int,Node> > input_graph,
68 Teuchos::RCP<const ::Tpetra::MultiVector<double,int,int,Node> > input_coords,
69 int itype = unspecified_input_);
70 Library(Teuchos::RCP<const ::Tpetra::CrsGraph<int,int,Node> > input_graph,
71 Teuchos::RCP<CostDescriber<Node> > costs,
int itype = unspecified_input_);
72 Library(Teuchos::RCP<const ::Tpetra::CrsGraph<int,int,Node> > input_graph, Teuchos::RCP<CostDescriber<Node> > costs,
73 Teuchos::RCP<const ::Tpetra::MultiVector<double,int,int,Node> > input_coords,
74 Teuchos::RCP<const ::Tpetra::MultiVector<double,int,int,Node> > weights,
75 int itype = unspecified_input_);
76 Library(Teuchos::RCP<const ::Tpetra::RowMatrix<double,int,int,Node> > input_matrix,
int itype = unspecified_input_);
77 Library(Teuchos::RCP<const ::Tpetra::RowMatrix<double,int,int,Node> > input_matrix, Teuchos::RCP<const ::Tpetra::MultiVector<double,int,int,Node> > input_coords,
78 int itype = unspecified_input_);
79 Library(Teuchos::RCP<const ::Tpetra::RowMatrix<double,int,int,Node> > input_matrix,
80 Teuchos::RCP<CostDescriber<Node> > costs,
int itype = unspecified_input_);
81 Library(Teuchos::RCP<const ::Tpetra::RowMatrix<double,int,int,Node> > input_matrix, Teuchos::RCP<CostDescriber<Node> > costs,
82 Teuchos::RCP<const ::Tpetra::MultiVector<double,int,int,Node> > input_coords, Teuchos::RCP<const ::Tpetra::MultiVector<double,int,int,Node> > weights,
83 int itype = unspecified_input_);
84 Library(Teuchos::RCP<const ::Tpetra::MultiVector<double,int,int,Node> > input_coords,
int itype = unspecified_input_);
85 Library(Teuchos::RCP<const ::Tpetra::MultiVector<double,int,int,Node> > input_coords,
86 Teuchos::RCP<const ::Tpetra::MultiVector<double,int,int,Node> > weights,
int itype = unspecified_input_);
87 Library(Teuchos::RCP<const ::Tpetra::Map<int,int,Node> > input_map,
int itype = unspecified_input_);
92 repartition(Teuchos::ParameterList& paramlist,
93 std::vector<int>& myNewElements,
95 std::vector<int>& imports) = 0;
98 color(Teuchos::ParameterList& paramlist,
99 std::vector<int>& colorAssignment) = 0 ;
102 order(Teuchos::ParameterList& paramlist,
103 std::vector<int>& orderAssignment) = 0 ;
110 static const int hgraph_input_ = 1;
116 static const int hgraph2d_finegrain_input_ = 2;
123 static const int graph_input_ = 3;
131 static const int geometric_input_ = 4;
138 static const int hgraph_graph_input_ = 5;
145 static const int hgraph_geometric_input_ = 6;
152 static const int graph_geometric_input_ = 7;
159 static const int hgraph_graph_geometric_input_ = 8;
166 static const int simple_input_ = 9;
173 static const int unspecified_input_ = 10;
183 Teuchos::RCP<const ::Tpetra::Map<int,int,Node> > input_map_;
184 Teuchos::RCP<const ::Tpetra::CrsGraph<int,int,Node> > input_graph_;
185 Teuchos::RCP<const ::Tpetra::RowMatrix<double,int,int,Node> > input_matrix_;
186 Teuchos::RCP<const ::Tpetra::MultiVector<double,int,int,Node> > input_coords_;
187 Teuchos::RCP<Isorropia::Tpetra::CostDescriber<Node> > costs_;
188 Teuchos::RCP<const ::Tpetra::MultiVector<double,int,int,Node> > weights_;
190 virtual int precompute();
192 virtual int postcompute() = 0;
199 #endif //HAVE_ISORROPIA_TPETRA Isorropia is the namespace that contains general definitions that apply to all partitioners and that ...
Definition: Isorropia_Epetra.hpp:60