40 #ifndef _Isorropia_EpetraRedistributor_hpp_ 
   41 #define _Isorropia_EpetraRedistributor_hpp_ 
   45 #include <Teuchos_RCP.hpp> 
   46 #include <Teuchos_ParameterList.hpp> 
   50 class Epetra_BlockMap;
 
   53 class Epetra_MultiVector;
 
   54 class Epetra_CrsGraph;
 
   55 class Epetra_CrsMatrix;
 
   56 class Epetra_RowMatrix;
 
   57 class Epetra_LinearProblem;
 
   58 class Epetra_SrcDistObject;
 
   59 class Epetra_DistObject;
 
   82   Redistributor(Teuchos::RCP<Isorropia::Epetra::Partitioner> partitioner);
 
  122         Epetra_DistObject& target);
 
  140   Teuchos::RCP<Epetra_CrsGraph>
 
  141      redistribute(
const Epetra_CrsGraph& input_graph, 
bool callFillComplete= 
true);
 
  160   void redistribute(
const Epetra_CrsGraph& input_graph, Epetra_CrsGraph * &outputGraphPtr, 
bool callFillComplete= 
true);
 
  178   Teuchos::RCP<Epetra_CrsMatrix>
 
  179      redistribute(
const Epetra_CrsMatrix& input_matrix, 
bool callFillComplete= 
true);
 
  198   void redistribute(
const Epetra_CrsMatrix& inputMatrix, Epetra_CrsMatrix * &outputMatrix, 
bool callFillComplete= 
true);
 
  216   Teuchos::RCP<Epetra_CrsMatrix>
 
  217      redistribute(
const Epetra_RowMatrix& input_matrix, 
bool callFillComplete= 
true);
 
  237      redistribute(
const Epetra_RowMatrix& inputMatrix, Epetra_CrsMatrix * &outputMatrix, 
bool callFillComplete= 
true);
 
  249   Teuchos::RCP<Epetra_Vector>
 
  263   redistribute(
const Epetra_Vector& inputVector, Epetra_Vector * &outputVector);
 
  276   Teuchos::RCP<Epetra_MultiVector>  
 
  292   redistribute(
const Epetra_MultiVector& inputVector, Epetra_MultiVector * &outputVector);
 
  315      redistribute_reverse(
const Epetra_MultiVector& input_vector, Epetra_MultiVector& output_vector);
 
Teuchos::RCP< Epetra_Map > target_map_
Definition: Isorropia_EpetraRedistributor.hpp:328
 
Abstract base class for classes which are constructed with a Partitioner instance, and define methods to redistribute their objects. 
Definition: Isorropia_Redistributor.hpp:52
 
virtual ~Redistributor()
Destructor. 
 
Epetra_Import & get_importer()
Definition: Isorropia_EpetraRedistributor.hpp:317
 
Redistributor(Teuchos::RCP< Isorropia::Epetra::Partitioner > partitioner)
This constructor calls the Isorropia::Epetra::Partitioner::partition method on the partitioner if it ...
 
void create_importer(const Epetra_BlockMap &src_map)
Create an importer object to be used in the redistribution. 
 
Class which is constructed with a Partitioner instance, and provides several methods for redistributi...
Definition: Isorropia_EpetraRedistributor.hpp:72
 
Teuchos::RCP< Epetra_Import > importer_
Definition: Isorropia_EpetraRedistributor.hpp:327
 
void redistribute_reverse(const Epetra_Vector &input_vector, Epetra_Vector &output_vector)
Reverse redistribute an Epetra_Vector. 
 
void redistribute(const Epetra_SrcDistObject &src, Epetra_DistObject &target)
Method to redistribute a Epetra_SrcDistObject into a Epetra_DistObject. 
 
Teuchos::RCP< Isorropia::Epetra::Partitioner > partitioner_
Definition: Isorropia_EpetraRedistributor.hpp:326
 
An implementation of the Partitioner interface that operates on Epetra matrices and linear systems...
Definition: Isorropia_EpetraPartitioner.hpp:122