40 #ifndef _Isorropia_EpetraPartitioner2D_hpp_
41 #define _Isorropia_EpetraPartitioner2D_hpp_
44 #include <Teuchos_RCP.hpp>
45 #include <Teuchos_ParameterList.hpp>
52 class Epetra_BlockMap;
55 class Epetra_MultiVector;
56 class Epetra_CrsGraph;
57 class Epetra_CrsMatrix;
58 class Epetra_RowMatrix;
59 class Epetra_LinearProblem;
95 Partitioner2D(Teuchos::RCP<const Epetra_CrsGraph> input_graph,
96 const Teuchos::ParameterList& paramlist = Teuchos::ParameterList(
"EmptyParameterList"),
97 bool compute_partitioning_now=
true);
123 Partitioner2D(Teuchos::RCP<const Epetra_RowMatrix> input_matrix,
124 const Teuchos::ParameterList& paramlist = Teuchos::ParameterList(
"EmptyParameterList"),
125 bool compute_partitioning_now=
true);
148 void partition(
bool force_repartitioning=
false);
150 virtual void compute(
bool forceRecomputing=
false);
160 int getNZIndx(
int row,
int column)
const;
165 void elemsInPart(
int part,
int* elementList,
int len)
const;
171 Epetra_Map *rangeMap);
int getNZIndx(int row, int column) const
void elemsInPart(int part, int *elementList, int len) const
global element ids to be located in the given partition.
An implementation of the Partitioner interface that operates on Epetra matrices and linear systems...
Definition: Isorropia_EpetraOperator.hpp:72
int createDomainAndRangeMaps(Epetra_Map *domainMap, Epetra_Map *rangeMap)
void partition(bool force_repartitioning=false)
partition is a method that computes a rebalanced partitioning for the data in the object that this cl...
int numElemsInPart(int part) const
Return the number of LOCAL elements in a given part.
Interface (abstract base class) for computing a new 2D partitioning and describing the layout of elem...
Definition: Isorropia_Partitioner2D.hpp:60
An implementation of the Partitioner interface that operates on Epetra matrices and linear systems...
Definition: Isorropia_EpetraPartitioner2D.hpp:70
int createColumnMap(Epetra_Map *colMap)
int createRowMap(Epetra_Map *rowMap)
virtual void compute(bool forceRecomputing=false)
Method which does the work of computing a new partitioning/coloring/ordering, depending on the child ...
virtual ~Partitioner2D()
Destructor.
Partitioner2D(Teuchos::RCP< const Epetra_CrsGraph > input_graph, const Teuchos::ParameterList ¶mlist=Teuchos::ParameterList("EmptyParameterList"), bool compute_partitioning_now=true)
Constructor that accepts an Epetra_CrsGraph object, called by API function create_partitioner().