40 #ifndef _Isorropia_TpetraZoltanLib_hpp_ 41 #define _Isorropia_TpetraZoltanLib_hpp_ 44 #include <Teuchos_RCP.hpp> 45 #include <Teuchos_ParameterList.hpp> 48 #include <zoltan_cpp.h> 50 #ifdef HAVE_ISORROPIA_TPETRA 56 #include <Tpetra_CrsGraph_decl.hpp> 57 #include <Kokkos_DefaultNode.hpp> 63 template <typename Node = ::Tpetra::Map<int, int>::node_type >
64 class ZoltanLibClass :
public Library<Node> {
67 ZoltanLibClass(Teuchos::RCP<const ::Tpetra::CrsGraph<int,int,Node> > input_graph,
int inputType=Library<Node>::unspecified_input_);
68 ZoltanLibClass(Teuchos::RCP<const ::Tpetra::CrsGraph<int,int,Node> > input_graph,
69 Teuchos::RCP<const ::Tpetra::MultiVector<double,int,int,Node> > input_coords,
int inputType=Library<Node>::unspecified_input_);
70 ZoltanLibClass(Teuchos::RCP<const ::Tpetra::CrsGraph<int,int,Node> > input_graph,
71 Teuchos::RCP<CostDescriber<Node> > costs,
int inputType=Library<Node>::unspecified_input_);
72 ZoltanLibClass(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, Teuchos::RCP<const ::Tpetra::MultiVector<double,int,int,Node> > weights,
74 int inputType=Library<Node>::unspecified_input_);
75 ZoltanLibClass(Teuchos::RCP<const ::Tpetra::RowMatrix<double,int,int,Node> > input_matrix,
int inputType=Library<Node>::unspecified_input_);
76 ZoltanLibClass(Teuchos::RCP<const ::Tpetra::RowMatrix<double,int,int,Node> > input_matrix,
77 Teuchos::RCP<const ::Tpetra::MultiVector<double,int,int,Node> > input_coords,
int inputType=Library<Node>::unspecified_input_);
78 ZoltanLibClass(Teuchos::RCP<const ::Tpetra::RowMatrix<double,int,int,Node> > input_matrix,
79 Teuchos::RCP<CostDescriber<Node> > costs,
int inputType=Library<Node>::unspecified_input_);
80 ZoltanLibClass(Teuchos::RCP<const ::Tpetra::RowMatrix<double,int,int,Node> > input_matrix, Teuchos::RCP<CostDescriber<Node> > costs,
81 Teuchos::RCP<const ::Tpetra::MultiVector<double,int,int,Node> > input_coords, Teuchos::RCP<const ::Tpetra::MultiVector<double,int,int,Node> > weights,
82 int inputType=Library<Node>::unspecified_input_);
83 ZoltanLibClass(Teuchos::RCP<const ::Tpetra::MultiVector<double,int,int,Node> > input_coords,
int inputType=Library<Node>::unspecified_input_);
84 ZoltanLibClass(Teuchos::RCP<const ::Tpetra::MultiVector<double,int,int,Node> > input_coords,
85 Teuchos::RCP<const ::Tpetra::MultiVector<double,int,int,Node> > weights,
int inputType=Library<Node>::unspecified_input_);
86 ZoltanLibClass(Teuchos::RCP<const ::Tpetra::Map<int,int,Node> > input_map,
int inputType=Library<Node>::unspecified_input_);
110 repartition(Teuchos::ParameterList& paramlist,
111 std::vector<int>& newPartitions,
113 std::vector<int>& imports);
123 color(Teuchos::ParameterList& paramlist,
124 std::vector<int>& colorAssignment);
134 order(Teuchos::ParameterList& paramlist,
135 std::vector<int>& orderAssignment);
138 virtual int precompute();
139 virtual int postcompute();
141 void preCheckPartition();
143 void setParameterList(Teuchos::ParameterList& zoltanParamList);
146 Teuchos::ParameterList zoltanParamList_;
147 std::string partMethod_;
149 Teuchos::RCP<ZoltanLib::QueryObject<Node> > queryObject_;
157 #endif //HAVE_ISORROPIA_TPETRA Isorropia is the namespace that contains general definitions that apply to all partitioners and that ...
Definition: Isorropia_Epetra.hpp:60