40 #ifndef _Isorropia_Epetra_hpp_
41 #define _Isorropia_Epetra_hpp_
44 #include <Teuchos_RCP.hpp>
45 #include <Teuchos_ParameterList.hpp>
50 class Epetra_BlockMap;
53 class Epetra_MultiVector;
54 class Epetra_RowMatrix;
55 class Epetra_CrsGraph;
56 class Epetra_CrsMatrix;
57 class Epetra_LinearProblem;
80 const Teuchos::ParameterList& paramlist);
93 const Teuchos::ParameterList& paramlist);
106 const Teuchos::ParameterList& paramlist);
112 Epetra_LinearProblem *
119 Epetra_LinearProblem *
121 const Teuchos::ParameterList& paramlist);
172 const Epetra_Vector &row_weights);
201 const Teuchos::ParameterList& paramlist);
238 const Teuchos::ParameterList& paramlist);
279 const Epetra_Vector &row_weights);
309 const Teuchos::ParameterList& paramlist);
345 const Teuchos::ParameterList& paramlist);
387 const Epetra_Vector &row_weights);
416 const Teuchos::ParameterList& paramlist);
451 const Teuchos::ParameterList& paramlist);
493 const Epetra_Vector &row_weights);
523 const Teuchos::ParameterList& paramlist);
558 const Teuchos::ParameterList& paramlist);
562 const Teuchos::ParameterList& paramlist);
566 const Epetra_MultiVector &weights,
567 const Teuchos::ParameterList& paramlist);
575 const Epetra_MultiVector &weights);
594 Teuchos::RCP<Epetra_CrsMatrix>
596 const Epetra_Map& target_rowmap,
597 Epetra_Import* importer=0);
616 Teuchos::RCP<Epetra_CrsMatrix>
618 const Epetra_Map& target_rowmap,
619 Epetra_Import* importer=0);
633 Teuchos::RCP<Epetra_CrsGraph>
635 const Epetra_Map& target_rowmap,
636 Epetra_Import* importer=0);
650 Teuchos::RCP<Epetra_MultiVector>
652 const Epetra_BlockMap& target_map,
653 Epetra_Import* importer=0);
667 Teuchos::RCP<Epetra_Vector>
669 const Epetra_Map& target_map,
670 Epetra_Import* importer=0);
672 #ifndef DOXYGEN_SHOULD_SKIP_THIS
678 Epetra_MultiVector* create_row_weights_nnz(
const Epetra_RowMatrix& input_matrix);
684 Epetra_MultiVector* create_row_weights_nnz(
const Epetra_CrsGraph& input_graph);
686 Epetra_MultiVector* create_unit_weights(
const Epetra_MultiVector& input_coords);
714 repartition(
const Epetra_BlockMap& input_map,
715 const Epetra_MultiVector& weights,
716 std::vector<int>& myNewElements,
718 std::vector<int>& imports);
728 void gather_all_proc_global_offsets(
const Epetra_BlockMap& blkmap,
729 std::vector<int>& all_proc_offsets);
740 double compute_imbalance(
int nprocs, std::vector<int> &offsets,
741 double *wgts,
double target);
743 #endif //DOXYGEN_SHOULD_SKIP_THIS
Teuchos::RCP< Epetra_CrsMatrix > redistribute_rows(const Epetra_CrsMatrix &input_matrix, const Epetra_Map &target_rowmap, Epetra_Import *importer=0)
redistribute_rows() is an internal Isorropia function, not part of the API.
__deprecated Teuchos::RCP< Epetra_CrsMatrix > create_balanced_copy(const Epetra_CrsMatrix &input_matrix)
create_target_map() is an internal function used by Isorropia.
Teuchos::RCP< Epetra_MultiVector > redistribute(const Epetra_MultiVector &input, const Epetra_BlockMap &target_map, Epetra_Import *importer=0)
Return a new Epetra_MultiVector object constructed with target_map, and with the contents of 'input' ...
Epetra_MultiVector * createBalancedCopy(const Epetra_MultiVector &input_vector)
createBalancedCopy() creates a copy with a more balanced map.
Definition: Isorropia_EpetraCostDescriber.hpp:128
#define __deprecated
Definition: Isorropia_ConfigDefs.hpp:94
An implementation of the Partitioner interface that operates on Epetra matrices and linear systems...
Definition: Isorropia_EpetraPartitioner.hpp:122