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 lno_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... | |
![]() | |
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 90 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Destructor.
Definition at line 106 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 119 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Definition at line 126 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 368 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Definition at line 137 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Definition at line 144 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Returns the centric view of the hypergraph.
Definition at line 154 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Returns true if the vertices are unique false otherwise.
Definition at line 158 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Returns the number vertices on this process.
Definition at line 162 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Returns the number vertices on this process that are owned.
Definition at line 166 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Returns the global number vertices.
Definition at line 170 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 176 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Returns the global number hyper edges.
Definition at line 180 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Returns the local number of pins.
Definition at line 184 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Returns the number (0 or greater) of weights per vertex.
Definition at line 188 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Returns the number (0 or greater) of weights per edge.
Definition at line 192 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Returns the number (0 or greater) of weights per pins.
Definition at line 196 of file Zoltan2_HyperGraphModel.hpp.
|
inline |
Returns the dimension (0 to 3) of vertex coordinates.
Definition at line 200 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 209 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 224 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 237 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 251 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 263 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 285 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 300 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 302 of file Zoltan2_HyperGraphModel.hpp.