50#ifndef _ZOLTAN2_MODEL_HPP_
51#define _ZOLTAN2_MODEL_HPP_
109template <
typename Adapter>
114#ifndef DOXYGEN_SHOULD_SKIP_THIS
115 typedef typename Adapter::lno_t
lno_t;
116 typedef typename Adapter::gno_t
gno_t;
117 typedef typename Adapter::scalar_t scalar_t;
118 typedef typename Adapter::user_t
user_t;
119 typedef typename Adapter::userCoord_t userCoord_t;
Zoltan2::BasicUserTypes< zscalar_t, zlno_t, zgno_t > user_t
Gathering definitions used in software development.
The base class for all model classes.
virtual size_t getLocalNumObjects() const =0
Return the local number of objects.
virtual global_size_t getGlobalNumObjects() const =0
Return the global number of objects.
map_t::local_ordinal_type lno_t
map_t::global_ordinal_type gno_t
Created by mbenlioglu on Aug 31, 2020.
Tpetra::global_size_t global_size_t
std::bitset< NUM_MODEL_FLAGS > modelFlag_t
ModelType
An identifier for the general type of model.
ModelFlags
Flags are set by a Problem to tell a Model what transformations it may need to do on the user's input...
@ VERTICES_ARE_MATRIX_ROWS
use matrix rows as graph vertices
@ VERTICES_ARE_MESH_ELEMENTS
use mesh elements as vertices
@ BUILD_SUBSET_GRAPH
ignore invalid neighbors
@ GENERATE_CONSECUTIVE_IDS
algorithm requires consecutive ids
@ SYMMETRIZE_INPUT_TRANSPOSE
model must symmetrize input
@ SYMMETRIZE_INPUT_BIPARTITE
model must symmetrize input
@ REMOVE_SELF_EDGES
algorithm requires no self edges
@ VERTICES_ARE_MESH_NODES
use mesh nodes as vertices
@ VERTICES_ARE_MATRIX_COLUMNS
use columns as graph vertices
@ VERTICES_ARE_MATRIX_NONZEROS
use nonzeros as graph vertices
@ BUILD_LOCAL_GRAPH
model represents graph within only one rank