|
Isorropia: Partitioning, Load Balancing and more
|
An implementation of the Colorer interface that operates on Epetra matrices and linear systems. More...
#include <Isorropia_EpetraColorer.hpp>


Public Member Functions | |
| Colorer (Teuchos::RCP< const Epetra_CrsGraph > input_graph, const Teuchos::ParameterList ¶mlist=Teuchos::ParameterList("EmptyParameterList"), bool compute_now=true) | |
| Constructor. | |
| Colorer (const Epetra_CrsGraph *input_graph, const Teuchos::ParameterList ¶mlist=Teuchos::ParameterList("EmptyParameterList"), bool compute_now=true) | |
| Constructor. | |
| Colorer (Teuchos::RCP< const Epetra_RowMatrix > input_matrix, const Teuchos::ParameterList ¶mlist=Teuchos::ParameterList("EmptyParameterList"), bool compute_now=true) | |
| Constructor. | |
| Colorer (const Epetra_RowMatrix *input_matrix, const Teuchos::ParameterList ¶mlist=Teuchos::ParameterList("EmptyParameterList"), bool compute_now=true) | |
| Constructor. | |
| ~Colorer () | |
| Destructor. | |
| void | color (bool force_coloring=false) |
| Compute the coloring if it has not already been computed, same effect as Isorropia::Epetra::Colorer::compute. | |
| void | compute (bool force_compute=false) |
| Compute the coloring if it has not already been computed, same effect as Isorropia::Epetra::Colorer::color. | |
| __deprecated Teuchos::RCP < Epetra_MapColoring > | generateMapColoring () |
Generate an Epetra_MapColoring object. | |
| Teuchos::RCP< Epetra_MapColoring > | generateRowMapColoring () |
Generate an Epetra_MapColoring object corresponding of rows color. | |
| Teuchos::RCP< Epetra_MapColoring > | generateColMapColoring () |
Generate an Epetra_MapColoring object corresponding of columns color. | |
| virtual int | numColors () const |
| Method which returns the number (global) of colors used. | |
| virtual int | numElemsWithColor (int color) const |
| Return the number of local elements of a given color. | |
| virtual void | elemsWithColor (int color, int *elementList, int len) const |
| Fill user-allocated list (of length len) with the local element ids for LOCAL elements of the given color. | |
| virtual int | extractColorsView (int &size, const int *&array) const |
| Give access of the color assignments array that is owned by the current processor. | |
| virtual int | extractColorsCopy (int len, int &size, int *array) const |
| Copy a part of the color assignments array. | |
| virtual void | setParameters (const Teuchos::ParameterList ¶mlist)=0 |
| Set parameters for the Operator instance. | |
| void | setParameters (const Teuchos::ParameterList ¶mlist) |
| setParameters() is an internal method which handles the parameters from a Teuchos::ParameterList object. | |
| Teuchos::RCP < Isorropia::Epetra::CostDescriber > & | getCosts () |
| Get the cost object. | |
| bool | alreadyComputed () const |
| Query whether compute_operation() has already been called. | |
| int | numProperties () const |
| Return the number of different values used for "properties". | |
| int | numLocalProperties () const |
| Return the number of different values used for "properties" for this process only. | |
| virtual const int & | operator[] (int myElem) const |
| Return the new partition ID for a given element that resided locally in the old operation. | |
| virtual int | numElemsWithProperty (int property) const |
| Return the number of elements in a given partition. | |
| virtual void | elemsWithProperty (int property, int *elementList, int len) const |
| Fill user-allocated list (of length len) with the global element ids to be located in the given partition. | |
| virtual int | extractPropertiesCopy (int len, int &size, int *array) const |
| Copy a part of the property array. | |
| virtual int | extractPropertiesView (int &size, const int *&array) const |
| Give access of the property array that is owned by the current processor. | |
| virtual bool | alreadyComputed () const =0 |
| Query whether the computation has already been called. | |
| virtual int | numProperties () const =0 |
| Return the number of different values used for "properties". | |
| virtual int | numLocalProperties () const =0 |
| Return the number of different values used for "properties" for this process only. | |
| virtual const int & | operator[] (int myElem) const =0 |
| Return the "property" for a given element that resided locally. | |
| virtual int | numElemsWithProperty (int property) const =0 |
| Return the number of LOCAL elements with the given property. | |
| virtual void | elemsWithProperty (int property, int *elementList, int len) const =0 |
| Fill user-allocated list (of length len) with the local element ids of the LOCAL elements with the given property. | |
| virtual int | extractPropertiesView (int &size, const int *&array) const =0 |
| Give access of the property array that is owned by the current processor. | |
| virtual int | extractPropertiesCopy (int len, int &size, int *array) const =0 |
| Copy a part of the property array. | |
Protected Member Functions | |
| void | computeNumberOfProperties () |
Protected Attributes | |
| Teuchos::RCP< const Epetra_BlockMap > | input_map_ |
| Teuchos::RCP< const Epetra_CrsGraph > | input_graph_ |
| Teuchos::RCP< const Epetra_RowMatrix > | input_matrix_ |
| Teuchos::RCP< const Epetra_MultiVector > | input_coords_ |
| Teuchos::RCP < Isorropia::Epetra::CostDescriber > | costs_ |
| Teuchos::RCP< const Epetra_MultiVector > | weights_ |
| Teuchos::ParameterList | paramlist_ |
| int | exportsSize_ |
| std::vector< int > | imports_ |
| std::vector< int > | properties_ |
| bool | operation_already_computed_ |
| int | global_num_vertex_weights_ |
| int | global_num_graph_edge_weights_ |
| int | global_num_hg_edge_weights_ |
| Teuchos::RCP< Library > | lib_ |
| int | base_ |
Private Attributes | |
| Teuchos::RCP< const Epetra_BlockMap > | colmap_ |
| Isorropia::Epetra::Colorer::~Colorer | ( | ) | [inline, virtual] |
Destructor.
Reimplemented from Isorropia::Colorer.
| __deprecated Teuchos::RCP<Epetra_MapColoring> Isorropia::Epetra::Colorer::generateMapColoring | ( | ) | [inline] |
Generate an Epetra_MapColoring object.
Provide access on the coloring thru the EpetraEXT color class Epetra_MapColoring. This methods requires EpetraEXT support.
| virtual int Isorropia::Colorer::numColors | ( | ) | const [inline, virtual, inherited] |
Method which returns the number (global) of colors used.
| virtual int Isorropia::Colorer::numElemsWithColor | ( | int | color | ) | const [inline, virtual, inherited] |
Return the number of local elements of a given color.
| color | The wanted color. |
| virtual void Isorropia::Colorer::elemsWithColor | ( | int | color, |
| int * | elementList, | ||
| int | len | ||
| ) | const [inline, virtual, inherited] |
Fill user-allocated list (of length len) with the local element ids for LOCAL elements of the given color.
| color | the wanted color |
| elementList | an array to receive local elements of the given color |
| len | the number of elements wanted |
| virtual int Isorropia::Colorer::extractColorsView | ( | int & | size, |
| const int *& | array | ||
| ) | const [inline, virtual, inherited] |
Give access of the color assignments array that is owned by the current processor.
| [out] | size | Number of elements in the array. |
| [out] | array | Pointer to the color assignements array inside the object. |
| virtual int Isorropia::Colorer::extractColorsCopy | ( | int | len, |
| int & | size, | ||
| int * | array | ||
| ) | const [inline, virtual, inherited] |
Copy a part of the color assignments array.
| [in] | len | of the array given by the user. |
| [out] | size | Number of elements in the array. |
| [out] | array | Array of color assignments. Allocated by the user with a size of at least len elements. |
| virtual void Isorropia::Operator::setParameters | ( | const Teuchos::ParameterList & | paramlist | ) | [pure virtual, inherited] |
Set parameters for the Operator instance.
The contents of the input paramlist object are copied into an internal ParameterList attribute. Instances of this interface should not retain a reference to the input ParameterList after this method returns.
| [in] | paramlist | List of parameters that the user wants to use. |
Implemented in Isorropia::Epetra::Operator.
| virtual bool Isorropia::Operator::alreadyComputed | ( | ) | const [pure virtual, inherited] |
Query whether the computation has already been called.
True if the computation has already been done, False otherwise. Implemented in Isorropia::Epetra::Operator.
| virtual int Isorropia::Operator::numProperties | ( | ) | const [pure virtual, inherited] |
Return the number of different values used for "properties".
For example, the number of colors or the number of parts used for the overall graph/matrix.
Implemented in Isorropia::Epetra::Operator.
| virtual int Isorropia::Operator::numLocalProperties | ( | ) | const [pure virtual, inherited] |
Return the number of different values used for "properties" for this process only.
Implemented in Isorropia::Epetra::Operator.
| virtual const int& Isorropia::Operator::operator[] | ( | int | myElem | ) | const [pure virtual, inherited] |
Return the "property" for a given element that resided locally.
| [in] | myElem | the local ID of the element we want to know the property. |
Implemented in Isorropia::Epetra::Operator.
| virtual int Isorropia::Operator::numElemsWithProperty | ( | int | property | ) | const [pure virtual, inherited] |
Return the number of LOCAL elements with the given property.
| [in] | property | Value of the property to consider. |
Implemented in Isorropia::Epetra::Operator.
| virtual void Isorropia::Operator::elemsWithProperty | ( | int | property, |
| int * | elementList, | ||
| int | len | ||
| ) | const [pure virtual, inherited] |
Fill user-allocated list (of length len) with the local element ids of the LOCAL elements with the given property.
| [in] | property | Value of the property to consider. |
| [out] | elementList | User allocated array (of size at least len) of local ID that have the asked property. |
| [in] | len | Maximum lenght for the array. If len is greater than the result of numElemsWithProperty() for property, only the first and relevant elements are filled. |
Implemented in Isorropia::Epetra::Operator.
| virtual int Isorropia::Operator::extractPropertiesView | ( | int & | size, |
| const int *& | array | ||
| ) | const [pure virtual, inherited] |
Give access of the property array that is owned by the current processor.
| [out] | size | Number of elements in the array. |
| [out] | array | Pointer to the the properties array inside the object. |
Implemented in Isorropia::Epetra::Operator.
| virtual int Isorropia::Operator::extractPropertiesCopy | ( | int | len, |
| int & | size, | ||
| int * | array | ||
| ) | const [pure virtual, inherited] |
Copy a part of the property array.
| [in] | len | of the array given by the user. |
| [out] | size | Number of elements in the array. |
| [out] | array | Array of properties. Allocated by the user with a size of at least len elements. |
Implemented in Isorropia::Epetra::Operator.
| void Isorropia::Epetra::Operator::setParameters | ( | const Teuchos::ParameterList & | paramlist | ) | [virtual, inherited] |
setParameters() is an internal method which handles the parameters from a Teuchos::ParameterList object.
Implements Isorropia::Operator.
| Teuchos::RCP<Isorropia::Epetra::CostDescriber>& Isorropia::Epetra::Operator::getCosts | ( | ) | [inline, inherited] |
Get the cost object.
| bool Isorropia::Epetra::Operator::alreadyComputed | ( | ) | const [inline, virtual, inherited] |
Query whether compute_operation() has already been called.
Implements Isorropia::Operator.
| int Isorropia::Epetra::Operator::numProperties | ( | ) | const [inline, virtual, inherited] |
Return the number of different values used for "properties".
For example, the number of colors or the number of parts used for the overall graph/matrix.
Implements Isorropia::Operator.
| int Isorropia::Epetra::Operator::numLocalProperties | ( | ) | const [inline, virtual, inherited] |
Return the number of different values used for "properties" for this process only.
Implements Isorropia::Operator.
| virtual const int& Isorropia::Epetra::Operator::operator[] | ( | int | myElem | ) | const [virtual, inherited] |
Return the new partition ID for a given element that resided locally in the old operation.
Implements Isorropia::Operator.
| virtual int Isorropia::Epetra::Operator::numElemsWithProperty | ( | int | property | ) | const [virtual, inherited] |
Return the number of elements in a given partition.
Implements Isorropia::Operator.
| virtual void Isorropia::Epetra::Operator::elemsWithProperty | ( | int | property, |
| int * | elementList, | ||
| int | len | ||
| ) | const [virtual, inherited] |
Fill user-allocated list (of length len) with the global element ids to be located in the given partition.
Implements Isorropia::Operator.
| virtual int Isorropia::Epetra::Operator::extractPropertiesCopy | ( | int | len, |
| int & | size, | ||
| int * | array | ||
| ) | const [virtual, inherited] |
Copy a part of the property array.
| [in] | len | of the array given by the user. |
| [out] | size | Number of elements in the array. |
| [out] | array | Array of properties. Allocated by the user with a size of at least len elements. |
Implements Isorropia::Operator.
| virtual int Isorropia::Epetra::Operator::extractPropertiesView | ( | int & | size, |
| const int *& | array | ||
| ) | const [virtual, inherited] |
Give access of the property array that is owned by the current processor.
| [out] | size | Number of elements in the array. |
| [out] | array | Pointer to the the properties array inside the object. |
Implements Isorropia::Operator.
| void Isorropia::Epetra::Operator::computeNumberOfProperties | ( | ) | [protected, inherited] |
Teuchos::RCP<const Epetra_BlockMap> Isorropia::Epetra::Colorer::colmap_ [private] |
Teuchos::RCP<const Epetra_BlockMap> Isorropia::Epetra::Operator::input_map_ [protected, inherited] |
Teuchos::RCP<const Epetra_CrsGraph> Isorropia::Epetra::Operator::input_graph_ [protected, inherited] |
Teuchos::RCP<const Epetra_RowMatrix> Isorropia::Epetra::Operator::input_matrix_ [protected, inherited] |
Teuchos::RCP<const Epetra_MultiVector> Isorropia::Epetra::Operator::input_coords_ [protected, inherited] |
Teuchos::RCP<Isorropia::Epetra::CostDescriber> Isorropia::Epetra::Operator::costs_ [protected, inherited] |
Teuchos::RCP<const Epetra_MultiVector> Isorropia::Epetra::Operator::weights_ [protected, inherited] |
Teuchos::ParameterList Isorropia::Epetra::Operator::paramlist_ [protected, inherited] |
int Isorropia::Epetra::Operator::exportsSize_ [protected, inherited] |
std::vector<int> Isorropia::Epetra::Operator::imports_ [protected, inherited] |
std::vector<int> Isorropia::Epetra::Operator::properties_ [protected, inherited] |
bool Isorropia::Epetra::Operator::operation_already_computed_ [protected, inherited] |
int Isorropia::Epetra::Operator::global_num_vertex_weights_ [protected, inherited] |
int Isorropia::Epetra::Operator::global_num_graph_edge_weights_ [protected, inherited] |
int Isorropia::Epetra::Operator::global_num_hg_edge_weights_ [protected, inherited] |
Teuchos::RCP<Library> Isorropia::Epetra::Operator::lib_ [protected, inherited] |
int Isorropia::Epetra::Operator::base_ [protected, inherited] |