#include <Isorropia_EpetraRedistributor.hpp>
Inheritance diagram for Isorropia::Epetra::Redistributor:
Public Member Functions | |
Redistributor (Teuchos::RCP< Isorropia::Epetra::Partitioner > partitioner) | |
This constructor calls the Isorropia::Epetra::Partitioner::partition method on the partitioner if it has not already been called. | |
virtual | ~Redistributor () |
Destructor. | |
void | redistribute (const Epetra_SrcDistObject &src, Epetra_DistObject &target) |
Method to redistribute a Epetra_SrcDistObject into a Epetra_DistObject. | |
Teuchos::RCP< Epetra_CrsGraph > | redistribute (const Epetra_CrsGraph &input_graph, bool callFillComplete=true) |
Method to accept a Epetra_CrsGraph object, and return a redistributed Epetra_CrsGraph object. | |
Teuchos::RCP< Epetra_CrsMatrix > | redistribute (const Epetra_CrsMatrix &input_matrix, bool callFillComplete=true) |
Method to accept a Epetra_CrsMatrix object, and return a redistributed Epetra_CrsMatrix object. | |
Teuchos::RCP< Epetra_CrsMatrix > | redistribute (const Epetra_RowMatrix &input_matrix, bool callFillComplete=true) |
Method to accept a Epetra_RowMatrix object, and return a redistributed Epetra_CrsMatrix object. | |
Teuchos::RCP< Epetra_Vector > | redistribute (const Epetra_Vector &input_vector) |
Method to accept a Epetra_Vector object, and return a redistributed Epetra_Vector object. | |
Teuchos::RCP< Epetra_MultiVector > | redistribute (const Epetra_MultiVector &input_vector) |
Method to accept a Epetra_MultiVector object, and return a redistributed Epetra_MultiVector object. | |
void | redistribute_reverse (const Epetra_Vector &input_vector, Epetra_Vector &output_vector) |
Reverse redistribute an Epetra_Vector. | |
void | redistribute_reverse (const Epetra_MultiVector &input_vector, Epetra_MultiVector &output_vector) |
Reverse redistribute an Epetra_MultiVector. | |
Private Member Functions | |
void | create_importer (const Epetra_BlockMap &src_map) |
Create an importer object to be used in the redistribution. | |
Private Attributes | |
Teuchos::RCP< Isorropia::Epetra::Partitioner > | partitioner_ |
Teuchos::RCP< Epetra_Import > | importer_ |
Teuchos::RCP< Epetra_Map > | target_map_ |
bool | created_importer_ |
Isorropia::Epetra::Redistributor::Redistributor | ( | Teuchos::RCP< Isorropia::Epetra::Partitioner > | partitioner | ) |
This constructor calls the Isorropia::Epetra::Partitioner::partition method on the partitioner
if it has not already been called.
[in] | partitioner | this input partitioner determines the new partitioning to be created when Isorropia::Epetra::Redistributor::redistribute is called |
virtual Isorropia::Epetra::Redistributor::~Redistributor | ( | ) | [virtual] |
void Isorropia::Epetra::Redistributor::redistribute | ( | const Epetra_SrcDistObject & | src, | |
Epetra_DistObject & | target | |||
) |
Method to redistribute a Epetra_SrcDistObject into a Epetra_DistObject.
The caller is required to have constructed the target object using the correct target map.
Teuchos::RCP<Epetra_CrsGraph> Isorropia::Epetra::Redistributor::redistribute | ( | const Epetra_CrsGraph & | input_graph, | |
bool | callFillComplete = true | |||
) |
Method to accept a Epetra_CrsGraph object, and return a redistributed Epetra_CrsGraph object.
[in] | input_graph | the graph for which we want a new graph that is distributed according to the partitioner with which this Redistributor was created. |
[in] | callFillComplete | The new graph is FillComplete'd if callFillComplete is true . In that case, the range map is set to equal the row map. The domain map will equal the range map, unless the input_graph has different domain and range maps, in which case the range map is preserved. By default callFillComplete is true . |
Teuchos::RCP<Epetra_CrsMatrix> Isorropia::Epetra::Redistributor::redistribute | ( | const Epetra_CrsMatrix & | input_matrix, | |
bool | callFillComplete = true | |||
) |
Method to accept a Epetra_CrsMatrix object, and return a redistributed Epetra_CrsMatrix object.
[in] | input_matrix | the matrix for which we want a new matrix that is distributed according to the partitioner with which this Redistributor was created. |
[in] | callFillComplete | The new matrix is FillComplete'd if callFillComplete is true . In that case, the range map is set to equal the row map. The domain map will equal the range map, unless the input_matrix has different domain and range maps, in which case the range map is preserved. By default callFillComplete is true . |
Teuchos::RCP<Epetra_CrsMatrix> Isorropia::Epetra::Redistributor::redistribute | ( | const Epetra_RowMatrix & | input_matrix, | |
bool | callFillComplete = true | |||
) |
Method to accept a Epetra_RowMatrix object, and return a redistributed Epetra_CrsMatrix object.
[in] | input_matrix | the row matrix for which we want a new matrix that is distributed according to the partitioner with which this Redistributor was created. |
[in] | callFillComplete | The new matrix is FillComplete'd if callFillComplete is true . In that case, the range map is set to equal the row map. The domain map will equal the range map, unless the input_matrix has different domain and range maps, in which case the range map is preserved. By default callFillComplete is true . |
Teuchos::RCP<Epetra_Vector> Isorropia::Epetra::Redistributor::redistribute | ( | const Epetra_Vector & | input_vector | ) |
Method to accept a Epetra_Vector object, and return a redistributed Epetra_Vector object.
[in] | input_vector | the vector for which we want a new vector that is distributed according to the partitioner with which this Redistributor was created. |
Teuchos::RCP<Epetra_MultiVector> Isorropia::Epetra::Redistributor::redistribute | ( | const Epetra_MultiVector & | input_vector | ) |
Method to accept a Epetra_MultiVector object, and return a redistributed Epetra_MultiVector object.
[in] | input_vector | the multi vector for which we want a new multi vector that is distributed according to the partitioner with which this Redistributor was created. |
void Isorropia::Epetra::Redistributor::redistribute_reverse | ( | const Epetra_Vector & | input_vector, | |
Epetra_Vector & | output_vector | |||
) |
Reverse redistribute an Epetra_Vector.
[in] | input_vector | a vector that is distributed according to the partitioner that was used to create this Redistributor |
[out] | output_vector | a copy of the input_vector which has been redistributed according to the reverse of the partitioner that was used to create this Redistributor |
void Isorropia::Epetra::Redistributor::redistribute_reverse | ( | const Epetra_MultiVector & | input_vector, | |
Epetra_MultiVector & | output_vector | |||
) |
Reverse redistribute an Epetra_MultiVector.
[in] | input_vector | a multi vector that is distributed according to the partitioner that was used to create this Redistributor |
[out] | output_vector | a copy of the input_vector which has been redistributed according to the reverse of the partitioner that was used to create this Redistributor |
void Isorropia::Epetra::Redistributor::create_importer | ( | const Epetra_BlockMap & | src_map | ) | [private] |
Create an importer object to be used in the redistribution.
[in] | src_map | the map describing the pattern of the import operation |
Teuchos::RCP<Isorropia::Epetra::Partitioner> Isorropia::Epetra::Redistributor::partitioner_ [private] |
Teuchos::RCP<Epetra_Import> Isorropia::Epetra::Redistributor::importer_ [private] |
Teuchos::RCP<Epetra_Map> Isorropia::Epetra::Redistributor::target_map_ [private] |
bool Isorropia::Epetra::Redistributor::created_importer_ [private] |