Isorropia::Epetra::Library Class Reference

An implementation of the Partitioner interface that operates on Epetra matrices and linear systems. More...

#include <Isorropia_EpetraLibrary.hpp>

Inheritance diagram for Isorropia::Epetra::Library:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 Library (Teuchos::RCP< const Epetra_CrsGraph > input_graph, int itype=unspecified_input_)
 Library (Teuchos::RCP< const Epetra_CrsGraph > input_graph, Teuchos::RCP< CostDescriber > costs, int itype=unspecified_input_)
 Library (Teuchos::RCP< const Epetra_RowMatrix > input_matrix, int itype=unspecified_input_)
 Library (Teuchos::RCP< const Epetra_RowMatrix > input_matrix, Teuchos::RCP< CostDescriber > costs, int itype=unspecified_input_)
 Library (Teuchos::RCP< const Epetra_MultiVector > input_coords, int itype=unspecified_input_)
 Library (Teuchos::RCP< const Epetra_MultiVector > input_coords, Teuchos::RCP< const Epetra_MultiVector > weights, int itype=unspecified_input_)
virtual ~Library ()
virtual int repartition (Teuchos::ParameterList &paramlist, std::vector< int > &myNewElements, int &exportsSize, std::vector< int > &imports)=0
virtual int color (Teuchos::ParameterList &paramlist, std::vector< int > &colorAssignment)=0
virtual int order (Teuchos::ParameterList &paramlist, std::vector< int > &orderAssignment)=0

Public Attributes

int input_type_
int numPartSizes
int * partGIDs
float * partSizes

Static Public Attributes

static const int hgraph_input_ = 1
 input_type_ == hgraph_input_ This indicates that the matrix or graph represents a hypergraph.
static const int hgraph2d_finegrain_input_ = 2
 input_type_ == hgraph2d_finegrain_input_ This indicates that the matrix or graph represents a hypergraph.
static const int graph_input_ = 3
 input_type_ == graph_input_ This indicates that the square symmetric matrix or graph represents a graph in the sense that row/column IDs are vertices and non-zeroes represent edges.
static const int geometric_input_ = 4
 input_type_ == geometric_input_ This indicates that the Epetra_MultiVector represents geometric coordinates.
static const int unspecified_input_ = 5
 input_type_ == unspecified_input_ This value is the "unset" state for the input_type_ instance variable.

Protected Member Functions

virtual int precompute ()
virtual int postcompute ()=0

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::CostDescribercosts_
Teuchos::RCP< const Epetra_MultiVector > weights_

Detailed Description

An implementation of the Partitioner interface that operates on Epetra matrices and linear systems.


Constructor & Destructor Documentation

Isorropia::Epetra::Library::Library ( Teuchos::RCP< const Epetra_CrsGraph >  input_graph,
int  itype = unspecified_input_ 
)

Isorropia::Epetra::Library::Library ( Teuchos::RCP< const Epetra_CrsGraph >  input_graph,
Teuchos::RCP< CostDescriber costs,
int  itype = unspecified_input_ 
)

Isorropia::Epetra::Library::Library ( Teuchos::RCP< const Epetra_RowMatrix >  input_matrix,
int  itype = unspecified_input_ 
)

Isorropia::Epetra::Library::Library ( Teuchos::RCP< const Epetra_RowMatrix >  input_matrix,
Teuchos::RCP< CostDescriber costs,
int  itype = unspecified_input_ 
)

Isorropia::Epetra::Library::Library ( Teuchos::RCP< const Epetra_MultiVector >  input_coords,
int  itype = unspecified_input_ 
)

Isorropia::Epetra::Library::Library ( Teuchos::RCP< const Epetra_MultiVector >  input_coords,
Teuchos::RCP< const Epetra_MultiVector >  weights,
int  itype = unspecified_input_ 
)

virtual Isorropia::Epetra::Library::~Library (  )  [virtual]


Member Function Documentation

virtual int Isorropia::Epetra::Library::repartition ( Teuchos::ParameterList &  paramlist,
std::vector< int > &  myNewElements,
int &  exportsSize,
std::vector< int > &  imports 
) [pure virtual]

Implemented in Isorropia::Epetra::ZoltanLibClass.

virtual int Isorropia::Epetra::Library::color ( Teuchos::ParameterList &  paramlist,
std::vector< int > &  colorAssignment 
) [pure virtual]

Implemented in Isorropia::Epetra::ZoltanLibClass.

virtual int Isorropia::Epetra::Library::order ( Teuchos::ParameterList &  paramlist,
std::vector< int > &  orderAssignment 
) [pure virtual]

Implemented in Isorropia::Epetra::ZoltanLibClass.

virtual int Isorropia::Epetra::Library::precompute (  )  [protected, virtual]

Reimplemented in Isorropia::Epetra::ZoltanLibClass.

virtual int Isorropia::Epetra::Library::postcompute (  )  [protected, pure virtual]

Implemented in Isorropia::Epetra::ZoltanLibClass.


Member Data Documentation

const int Isorropia::Epetra::Library::hgraph_input_ = 1 [static]

input_type_ == hgraph_input_ This indicates that the matrix or graph represents a hypergraph.

Columns represent hyperedges, and row (vertex) partitioning is to be performed.

const int Isorropia::Epetra::Library::hgraph2d_finegrain_input_ = 2 [static]

input_type_ == hgraph2d_finegrain_input_ This indicates that the matrix or graph represents a hypergraph.

Columns represent hyperedges, and non-zeroes are to be partitioned.

const int Isorropia::Epetra::Library::graph_input_ = 3 [static]

input_type_ == graph_input_ This indicates that the square symmetric matrix or graph represents a graph in the sense that row/column IDs are vertices and non-zeroes represent edges.

The vertices are to be partitioned.

const int Isorropia::Epetra::Library::geometric_input_ = 4 [static]

input_type_ == geometric_input_ This indicates that the Epetra_MultiVector represents geometric coordinates.

The MultiVector should have 1, 2 or 3 vectors, representing 1, 2 or 3 dimensional coordinates. The coordinates are to be partitioned.

const int Isorropia::Epetra::Library::unspecified_input_ = 5 [static]

input_type_ == unspecified_input_ This value is the "unset" state for the input_type_ instance variable.

int Isorropia::Epetra::Library::input_type_

int Isorropia::Epetra::Library::numPartSizes

int* Isorropia::Epetra::Library::partGIDs

float* Isorropia::Epetra::Library::partSizes

Teuchos::RCP<const Epetra_BlockMap> Isorropia::Epetra::Library::input_map_ [protected]

Teuchos::RCP<const Epetra_CrsGraph> Isorropia::Epetra::Library::input_graph_ [protected]

Teuchos::RCP<const Epetra_RowMatrix> Isorropia::Epetra::Library::input_matrix_ [protected]

Teuchos::RCP<const Epetra_MultiVector> Isorropia::Epetra::Library::input_coords_ [protected]

Teuchos::RCP<Isorropia::Epetra::CostDescriber> Isorropia::Epetra::Library::costs_ [protected]

Teuchos::RCP<const Epetra_MultiVector> Isorropia::Epetra::Library::weights_ [protected]


The documentation for this class was generated from the following file: