40 #ifndef _Isorropia_EpetraLibrary_hpp_
41 #define _Isorropia_EpetraLibrary_hpp_
44 #include <Teuchos_RCP.hpp>
45 #include <Teuchos_ParameterList.hpp>
51 class Epetra_BlockMap;
54 class Epetra_MultiVector;
55 class Epetra_CrsGraph;
56 class Epetra_CrsMatrix;
57 class Epetra_RowMatrix;
58 class Epetra_LinearProblem;
74 Library(Teuchos::RCP<const Epetra_CrsGraph> input_graph, Teuchos::RCP<const Epetra_MultiVector> input_coords,
76 Library(Teuchos::RCP<const Epetra_CrsGraph> input_graph,
78 Library(Teuchos::RCP<const Epetra_CrsGraph> input_graph, Teuchos::RCP<CostDescriber> costs,
79 Teuchos::RCP<const Epetra_MultiVector> input_coords, Teuchos::RCP<const Epetra_MultiVector> weights,
82 Library(Teuchos::RCP<const Epetra_RowMatrix> input_matrix, Teuchos::RCP<const Epetra_MultiVector> input_coords,
84 Library(Teuchos::RCP<const Epetra_RowMatrix> input_matrix,
86 Library(Teuchos::RCP<const Epetra_RowMatrix> input_matrix, Teuchos::RCP<CostDescriber> costs,
87 Teuchos::RCP<const Epetra_MultiVector> input_coords, Teuchos::RCP<const Epetra_MultiVector> weights,
90 Library(Teuchos::RCP<const Epetra_MultiVector> input_coords,
98 std::vector<int>& myNewElements,
100 std::vector<int>& imports) = 0;
103 color(Teuchos::ParameterList& paramlist,
104 std::vector<int>& colorAssignment) = 0 ;
107 order(Teuchos::ParameterList& paramlist,
108 std::vector<int>& orderAssignment) = 0 ;
192 Teuchos::RCP<Isorropia::Epetra::CostDescriber>
costs_;
float * partSizes
Definition: Isorropia_EpetraLibrary.hpp:184
static const int unspecified_input_
input_type_ == unspecified_input_ This value is the "unset" state for the input_type_ instance variab...
Definition: Isorropia_EpetraLibrary.hpp:178
static const int hgraph_graph_geometric_input_
input_type_ == hgraph_graph_geom_input_ This indicates that the Epetra_MultiVector represents a hyper...
Definition: Isorropia_EpetraLibrary.hpp:164
Teuchos::RCP< const Epetra_MultiVector > input_coords_
Definition: Isorropia_EpetraLibrary.hpp:191
Teuchos::RCP< const Epetra_CrsGraph > input_graph_
Definition: Isorropia_EpetraLibrary.hpp:189
int numPartSizes
Definition: Isorropia_EpetraLibrary.hpp:182
Teuchos::RCP< const Epetra_RowMatrix > input_matrix_
Definition: Isorropia_EpetraLibrary.hpp:190
An implementation of the Partitioner interface that operates on Epetra matrices and linear systems...
Definition: Isorropia_EpetraLibrary.hpp:70
static const int hgraph_input_
input_type_ == hgraph_input_ This indicates that the matrix or graph represents a hypergraph...
Definition: Isorropia_EpetraLibrary.hpp:115
virtual int repartition(Teuchos::ParameterList ¶mlist, std::vector< int > &myNewElements, int &exportsSize, std::vector< int > &imports)=0
static const int hgraph_graph_input_
input_type_ == hgraph_graph_input_ This indicates that the Epetra_MultiVector represents a hypergraph...
Definition: Isorropia_EpetraLibrary.hpp:143
static const int simple_input_
input_type_ == simple_input_ This is used to indicate that a simple partitiong method (block...
Definition: Isorropia_EpetraLibrary.hpp:171
Teuchos::RCP< Isorropia::Epetra::CostDescriber > costs_
Definition: Isorropia_EpetraLibrary.hpp:192
static const int hgraph2d_finegrain_input_
input_type_ == hgraph2d_finegrain_input_ This indicates that the matrix or graph represents a hypergr...
Definition: Isorropia_EpetraLibrary.hpp:121
virtual int order(Teuchos::ParameterList ¶mlist, std::vector< int > &orderAssignment)=0
int * partGIDs
Definition: Isorropia_EpetraLibrary.hpp:183
Library(Teuchos::RCP< const Epetra_CrsGraph > input_graph, int itype=unspecified_input_)
int input_type_
Definition: Isorropia_EpetraLibrary.hpp:180
static const int graph_input_
input_type_ == graph_input_ This indicates that the square symmetric matrix or graph represents a gra...
Definition: Isorropia_EpetraLibrary.hpp:128
static const int hgraph_geometric_input_
input_type_ == hgraph_geom_input_ This indicates that the Epetra_MultiVector represents a hypergraph ...
Definition: Isorropia_EpetraLibrary.hpp:150
Teuchos::RCP< const Epetra_BlockMap > input_map_
Definition: Isorropia_EpetraLibrary.hpp:188
virtual int color(Teuchos::ParameterList ¶mlist, std::vector< int > &colorAssignment)=0
virtual int postcompute()=0
static const int graph_geometric_input_
input_type_ == graph_geom_input_ This indicates that the Epetra_MultiVector represents a hypergraph a...
Definition: Isorropia_EpetraLibrary.hpp:157
Teuchos::RCP< const Epetra_MultiVector > weights_
Definition: Isorropia_EpetraLibrary.hpp:193
static const int geometric_input_
input_type_ == geometric_input_ This indicates that the Epetra_MultiVector represents geometric coord...
Definition: Isorropia_EpetraLibrary.hpp:136