44 void initialize(
size_t i,
size_t j, std::shared_ptr<UnitCell> unit_cell);
83 template <
typename INT>
85 std::vector<INT> &procs)
const;
107 template <
typename INT>
110 template <
typename INT>
163 std::array<int, 9>
m_ranks{{0, -1, -1, -1, -1, -1, -1, -1, -1}};
double m_offY
Definition Cell.h:153
bool has_neighbor_j() const
True if this cell has a neighbor "below it" (lower j)
Definition Cell.h:56
std::vector< int64_t > min_I_nodes
Definition Cell.h:116
int64_t m_globalNodeIdOffset
Definition Cell.h:128
std::shared_ptr< Ioss::Region > region() const
Provide access to the Ioss::Region in the unit_cell that this cell uses.
Definition Cell.h:50
bool has_neighbor_i() const
True if this cell has a neighbor to its "left" (lower i)
Definition Cell.h:53
size_t added_node_count(enum Mode mode, bool equivalence_nodes) const
Definition Cell.C:124
std::array< int, 9 > m_ranks
Definition Cell.h:163
std::array< int, 9 > categorize_processor_boundary_nodes(int rank) const
Definition Cell.C:174
std::vector< int > categorize_nodes(enum Mode mode) const
Definition Cell.C:365
std::map< std::string, size_t > m_localSurfaceOffset
Definition Cell.h:143
size_t m_j
The j location of this entry in the grid.
Definition Cell.h:126
void populate_node_communication_map(const std::vector< INT > &node_map, std::vector< INT > &nodes, std::vector< INT > &procs) const
Definition Cell.C:298
size_t processor_boundary_node_count() const
Definition Cell.C:250
Cell(const Cell &)=default
std::vector< INT > generate_node_map(Mode mode, bool equivalance_nodes, INT) const
Definition Cell.C:410
void initialize(size_t i, size_t j, std::shared_ptr< UnitCell > unit_cell)
Definition Cell.C:97
void populate_neighbor(Loc location, const std::vector< INT > &map, const Cell &neighbor) const
Definition Cell.C:504
std::map< std::string, size_t > m_globalElementIdOffset
Definition Cell.h:138
size_t m_communicationNodeOffset
Definition Cell.h:133
bool has_neighbor(enum Loc loc) const
Definition Cell.h:60
bool processor_boundary(enum Loc loc) const
Definition Cell.h:67
size_t m_i
The i location of this entry in the grid.
Definition Cell.h:124
double m_offX
Definition Cell.h:148
std::shared_ptr< UnitCell > m_unitCell
The UnitCell that occupies this location in the grid / latice.
Definition Cell.h:157
int64_t m_localNodeIdOffset
Definition Cell.h:129
std::map< std::string, size_t > m_localElementIdOffset
Definition Cell.h:139
int rank(enum Loc loc) const
The mpi rank that this cell, or the neighboring cells, will be on in a parallel run.
Definition Cell.h:94
std::pair< double, double > get_coordinate_range(enum Axis) const
Definition Cell.C:111
size_t m_communicationNodeCount
The number of node/proc pairs that this cell adds to the communication node map.
Definition Cell.h:136
std::vector< int64_t > min_J_nodes
Definition Cell.h:121
std::shared_ptr< UnitCell > unit() const
Provide access to the UnitCell that this cell uses.
Definition Cell.h:47
void set_rank(enum Loc loc, int my_rank)
The mpi rank that this cell will be on in a parallel run.
Definition Cell.h:97