An implementation of the LevelScheduler interface that operates on and Epetra_CrsGraph, representing the non-zeros in a matrix.
More...
#include <Isorropia_EpetraLevelScheduler.hpp>
|
| | LevelScheduler (Teuchos::RCP< const Epetra_CrsGraph > input_graph, const Teuchos::ParameterList ¶mlist=Teuchos::ParameterList("EmptyParameterList"), bool compute_now=true) |
| | Constructor.
|
| | ~LevelScheduler () |
| | Destructor.
|
| void | schedule (bool force_scheduling=false) |
| | Compute the scheduling if it has not already been computed, same effect as Isorropia::Epetra::LevelScheduler::compute.
|
| void | compute (bool force_compute=false) |
| | Compute the scheduling if it has not already been computed, same effect as Isorropia::Epetra::LevelScheduler::schedule.
|
| virtual int | numLevels () const |
| | Method which returns the number of levels.
|
| virtual int | numElemsWithLevel (int level) const |
| | Return the number of elements in a given level.
|
| virtual void | elemsWithLevel (int level, int *elementList, int len) const |
| | Fill user-allocated list (of length len) with the local ID for each element in the given level.
|
| 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.
|
|
| void | paramsToUpper (Teuchos::ParameterList &, int &changed, bool rmUnderscore=true) |
| void | stringToUpper (std::string &s, int &changed, bool rmUnderscore=false) |
An implementation of the LevelScheduler interface that operates on and Epetra_CrsGraph, representing the non-zeros in a matrix.
The elements to be partitioned into levels are matrix rows. Assumption is that matrix is lower triangular or upper triangular.
◆ LevelScheduler()
| Isorropia::Epetra::LevelScheduler::LevelScheduler |
( |
Teuchos::RCP< const Epetra_CrsGraph > | input_graph, |
|
|
const Teuchos::ParameterList & | paramlist = Teuchos::ParameterList("EmptyParameterList"), |
|
|
bool | compute_now = true ) |
Constructor.
- Parameters
-
| input_graph | (in) the graph representing the non-zeros of the matrix |
| paramlist | (in) list of parameters |
| compute_now | (in) if true, the scheduling is computed in the constructor, otherwise call Isorropia::Epetra::LevelScheduler::schedule when you want to compute the scheduling, defaults to false |
◆ ~LevelScheduler()
| Isorropia::Epetra::LevelScheduler::~LevelScheduler |
( |
| ) |
|
|
virtual |
◆ schedule()
| void Isorropia::Epetra::LevelScheduler::schedule |
( |
bool | force_scheduling = false | ) |
|
|
virtual |
◆ compute()
| void Isorropia::Epetra::LevelScheduler::compute |
( |
bool | force_compute = false | ) |
|
|
inlinevirtual |
◆ numLevels()
| virtual int Isorropia::LevelScheduler::numLevels |
( |
| ) |
const |
|
inlinevirtualinherited |
◆ numElemsWithLevel()
| virtual int Isorropia::LevelScheduler::numElemsWithLevel |
( |
int | level | ) |
const |
|
inlinevirtualinherited |
◆ elemsWithLevel()
| virtual void Isorropia::LevelScheduler::elemsWithLevel |
( |
int | level, |
|
|
int * | elementList, |
|
|
int | len ) const |
|
inlinevirtualinherited |
Fill user-allocated list (of length len) with the local ID for each element in the given level.
- Parameters
-
| level | the wanted level |
| elementList | an array to receive local elements of the given level |
| len | the number of elements wanted |
- See also
- Isorropia::Operator::elemsWithProperty()
◆ setParameters()
| void Isorropia::Epetra::Operator::setParameters |
( |
const Teuchos::ParameterList & | paramlist | ) |
|
|
virtualinherited |
◆ getCosts()
◆ alreadyComputed()
| bool Isorropia::Epetra::Operator::alreadyComputed |
( |
| ) |
const |
|
inlinevirtualinherited |
◆ numProperties()
| int Isorropia::Epetra::Operator::numProperties |
( |
| ) |
const |
|
inlinevirtualinherited |
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.
- Returns
- Global number of values for properties
Implements Isorropia::Operator.
◆ numLocalProperties()
| int Isorropia::Epetra::Operator::numLocalProperties |
( |
| ) |
const |
|
inlinevirtualinherited |
Return the number of different values used for "properties" for this process only.
- Returns
- Local number of values for properties
Implements Isorropia::Operator.
◆ operator[]()
| virtual const int & Isorropia::Epetra::Operator::operator[] |
( |
int | myElem | ) |
const |
|
virtualinherited |
Return the new partition ID for a given element that resided locally in the old operation.
Implements Isorropia::Operator.
◆ numElemsWithProperty()
| virtual int Isorropia::Epetra::Operator::numElemsWithProperty |
( |
int | property | ) |
const |
|
virtualinherited |
◆ elemsWithProperty()
| virtual void Isorropia::Epetra::Operator::elemsWithProperty |
( |
int | property, |
|
|
int * | elementList, |
|
|
int | len ) const |
|
virtualinherited |
Fill user-allocated list (of length len) with the global element ids to be located in the given partition.
Implements Isorropia::Operator.
◆ extractPropertiesCopy()
| virtual int Isorropia::Epetra::Operator::extractPropertiesCopy |
( |
int | len, |
|
|
int & | size, |
|
|
int * | array ) const |
|
virtualinherited |
◆ extractPropertiesView()
| virtual int Isorropia::Epetra::Operator::extractPropertiesView |
( |
int & | size, |
|
|
const int *& | array ) const |
|
virtualinherited |
◆ paramsToUpper()
| void Isorropia::Epetra::Operator::paramsToUpper |
( |
Teuchos::ParameterList & | , |
|
|
int & | changed, |
|
|
bool | rmUnderscore = true ) |
|
privateinherited |
◆ stringToUpper()
| void Isorropia::Epetra::Operator::stringToUpper |
( |
std::string & | s, |
|
|
int & | changed, |
|
|
bool | rmUnderscore = false ) |
|
privateinherited |
◆ computeNumberOfProperties()
| void Isorropia::Epetra::Operator::computeNumberOfProperties |
( |
| ) |
|
|
protectedinherited |
◆ numberOfProperties_
| int Isorropia::Epetra::Operator::numberOfProperties_ |
|
privateinherited |
◆ localNumberOfProperties_
| int Isorropia::Epetra::Operator::localNumberOfProperties_ |
|
privateinherited |
◆ numberElemsByProperties_
| std::vector<int> Isorropia::Epetra::Operator::numberElemsByProperties_ |
|
privateinherited |
◆ input_map_
| Teuchos::RCP<const Epetra_BlockMap> Isorropia::Epetra::Operator::input_map_ |
|
protectedinherited |
◆ input_graph_
| Teuchos::RCP<const Epetra_CrsGraph> Isorropia::Epetra::Operator::input_graph_ |
|
protectedinherited |
◆ input_matrix_
| Teuchos::RCP<const Epetra_RowMatrix> Isorropia::Epetra::Operator::input_matrix_ |
|
protectedinherited |
◆ input_coords_
| Teuchos::RCP<const Epetra_MultiVector> Isorropia::Epetra::Operator::input_coords_ |
|
protectedinherited |
◆ costs_
◆ weights_
| Teuchos::RCP<const Epetra_MultiVector> Isorropia::Epetra::Operator::weights_ |
|
protectedinherited |
◆ paramlist_
| Teuchos::ParameterList Isorropia::Epetra::Operator::paramlist_ |
|
protectedinherited |
◆ exportsSize_
| int Isorropia::Epetra::Operator::exportsSize_ |
|
protectedinherited |
◆ imports_
| std::vector<int> Isorropia::Epetra::Operator::imports_ |
|
protectedinherited |
◆ properties_
| std::vector<int> Isorropia::Epetra::Operator::properties_ |
|
protectedinherited |
◆ operation_already_computed_
| bool Isorropia::Epetra::Operator::operation_already_computed_ |
|
protectedinherited |
◆ global_num_vertex_weights_
| int Isorropia::Epetra::Operator::global_num_vertex_weights_ |
|
protectedinherited |
◆ global_num_graph_edge_weights_
| int Isorropia::Epetra::Operator::global_num_graph_edge_weights_ |
|
protectedinherited |
◆ global_num_hg_edge_weights_
| int Isorropia::Epetra::Operator::global_num_hg_edge_weights_ |
|
protectedinherited |
◆ lib_
| Teuchos::RCP<Library> Isorropia::Epetra::Operator::lib_ |
|
protectedinherited |
◆ base_
| int Isorropia::Epetra::Operator::base_ |
|
protectedinherited |
The documentation for this class was generated from the following file: