Zoltan2
|
HyperGraphModel defines the interface required for hyper graph models. More...
#include <Zoltan2_HyperGraphModel.hpp>
Public Member Functions | |
~HyperGraphModel () | |
Destructor. More... | |
HyperGraphModel (const RCP< const MatrixAdapter< user_t, userCoord_t > > &ia, const RCP< const Environment > &env, const RCP< const Comm< int > > &comm, modelFlag_t &modelFlags, CentricView view) | |
Constructor. More... | |
HyperGraphModel (const RCP< const GraphAdapter< user_t, userCoord_t > > &ia, const RCP< const Environment > &env, const RCP< const Comm< int > > &comm, modelFlag_t &modelFlags, CentricView view) | |
HyperGraphModel (const RCP< const MeshAdapter< user_t > > &ia, const RCP< const Environment > &env, const RCP< const Comm< int > > &comm, modelFlag_t &modelflags, CentricView view) | |
HyperGraphModel (const RCP< const VectorAdapter< userCoord_t > > &ia, const RCP< const Environment > &env, const RCP< const Comm< int > > &comm, modelFlag_t &flags, CentricView view) | |
HyperGraphModel (const RCP< const IdentifierAdapter< user_t > > &ia, const RCP< const Environment > &env, const RCP< const Comm< int > > &comm, modelFlag_t &flags, CentricView view) | |
CentricView | getCentricView () const |
Returns the centric view of the hypergraph. More... | |
bool | areVertexIDsUnique () const |
Returns true if the vertices are unique false otherwise. More... | |
size_t | getLocalNumVertices () const |
Returns the number vertices on this process. More... | |
size_t | getLocalNumOwnedVertices () const |
Returns the number vertices on this process that are owned. More... | |
size_t | getGlobalNumVertices () const |
Returns the global number vertices. More... | |
size_t | getLocalNumHyperEdges () const |
Returns the number of hyper edges on this process. These are all hyper edges that have an adjacency to at least one on process vertex. More... | |
size_t | getGlobalNumHyperEdges () const |
Returns the global number hyper edges. More... | |
size_t | getLocalNumPins () const |
Returns the local number of pins. More... | |
int | getNumWeightsPerVertex () const |
Returns the number (0 or greater) of weights per vertex. More... | |
int | getNumWeightsPerHyperEdge () const |
Returns the number (0 or greater) of weights per edge. More... | |
int | getNumWeightesPerPin () const |
Returns the number (0 or greater) of weights per pins. More... | |
int | getCoordinateDim () const |
Returns the dimension (0 to 3) of vertex coordinates. More... | |
size_t | getVertexList (ArrayView< const gno_t > &Ids, ArrayView< input_t > &wgts) const |
Sets pointers to this process' vertex Ids and their weights. More... | |
size_t | getVertexCoords (ArrayView< input_t > &xyz) const |
Sets pointers to this process' vertex coordinates, if available. More... | |
size_t | getOwnedList (ArrayView< bool > &isOwner) const |
Sets pointer to the ownership of this processes vertices. More... | |
void | getVertexMaps (Teuchos::RCP< const map_t > &copiesMap, Teuchos::RCP< const map_t > &onetooneMap) const |
Sets pointers to the vertex map with copies and the vertex map without copies Note: the pointers will not exist if the hypergraph has unique vertices check the areVertexIDsUnique() function before calling this function. More... | |
size_t | getEdgeList (ArrayView< const gno_t > &Ids, ArrayView< input_t > &wgts) const |
Sets pointers to this process' hyperedge Ids and their weights. More... | |
size_t | getPinList (ArrayView< const gno_t > &pinIds, ArrayView< const offset_t > &offsets, ArrayView< input_t > &wgts) const |
Sets pointers to this process' pins global Ids based on the centric view given by getCentricView() More... | |
size_t | getLocalNumObjects () const |
Return the local number of objects. More... | |
size_t | getGlobalNumObjects () const |
Return the global number of objects. More... | |
Public Member Functions inherited from Zoltan2::Model< Adapter > | |
virtual | ~Model () |
Model () | |
HyperGraphModel defines the interface required for hyper graph models.
The constructor of the HyperGraphModel can be a global call, requiring all processes in the application to call it. The rest of the methods should be local methods.
The template parameter is an InputAdapter, which is an object that provides a uniform interface for models to the user's input data.
Definition at line 54 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Destructor.
Definition at line 71 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Constructor.
inputAdapter | a pointer to the user's data |
env | object containing the parameters |
comm | communicator for the problem |
modelFlags | a bit map of Zoltan2::GraphModelFlags |
All processes in the communicator must call the constructor.
Definition at line 84 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Definition at line 91 of file Zoltan2_HyperGraphModel.hpp.
Zoltan2::HyperGraphModel< Adapter >::HyperGraphModel | ( | const RCP< const MeshAdapter< user_t > > & | ia, |
const RCP< const Environment > & | env, | ||
const RCP< const Comm< int > > & | comm, | ||
modelFlag_t & | modelflags, | ||
CentricView | view | ||
) |
Definition at line 335 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Definition at line 102 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Definition at line 109 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Returns the centric view of the hypergraph.
Definition at line 119 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Returns true if the vertices are unique false otherwise.
Definition at line 123 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Returns the number vertices on this process.
Definition at line 127 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Returns the number vertices on this process that are owned.
Definition at line 131 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Returns the global number vertices.
Definition at line 135 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Returns the number of hyper edges on this process. These are all hyper edges that have an adjacency to at least one on process vertex.
Definition at line 141 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Returns the global number hyper edges.
Definition at line 145 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Returns the local number of pins.
Definition at line 149 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Returns the number (0 or greater) of weights per vertex.
Definition at line 153 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Returns the number (0 or greater) of weights per edge.
Definition at line 157 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Returns the number (0 or greater) of weights per pins.
Definition at line 161 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Returns the dimension (0 to 3) of vertex coordinates.
Definition at line 165 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Sets pointers to this process' vertex Ids and their weights.
Ids | will on return point to the list of the global Ids for each vertex on this process. |
wgts | If vertex weights is available, wgts will on return point to a StridedData object of weights. |
Definition at line 174 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Sets pointers to this process' vertex coordinates, if available.
xyz | If vertex coordinate data is available, xyz will on return point to a StridedData object of coordinates. |
Definition at line 189 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Sets pointer to the ownership of this processes vertices.
isOwner | will on return point to the list of ownership for each vertex on this process, true if this process owns the vertex false otherwise. |
Definition at line 202 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Sets pointers to the vertex map with copies and the vertex map without copies Note: the pointers will not exist if the hypergraph has unique vertices check the areVertexIDsUnique() function before calling this function.
copiesMap | on return points to the map of vertices with copies |
onetooneMap | on return points to the map of vertices without copies |
Definition at line 216 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Sets pointers to this process' hyperedge Ids and their weights.
Ids | will on return point to the list of the global Ids for each hyperedge on this process. |
wgts | If hyperedge weights is available, wgts will on return point to a StridedData object of weights. |
Definition at line 230 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Sets pointers to this process' pins global Ids based on the centric view given by getCentricView()
pinIds | This is the list of global neighbor Ids corresponding to the vertices or hyperedges listed in getVertexList/getEdgeList. |
offsets | offsets[i] is the offset into pinIds to the start of neighbors for ith neighbor. |
wgts | If pin weights is available, wgts will on return point to a StridedData object of weights. |
Definition at line 252 of file Zoltan2_HyperGraphModel.hpp.
|
inlinevirtual |
Return the local number of objects.
Return the local number of objects, which may be vertices, matrix rows, identifiers, coordinates, or mesh nodes or elements.
Implements Zoltan2::Model< Adapter >.
Definition at line 267 of file Zoltan2_HyperGraphModel.hpp.
|
inlinevirtual |
Return the global number of objects.
Return the global number of objects, which may be vertices, matrix rows, identifiers, coordinates, or mesh nodes or elements.
Implements Zoltan2::Model< Adapter >.
Definition at line 269 of file Zoltan2_HyperGraphModel.hpp.