KOKKOS_INLINE_FUNCTION rtype dot(const rtype *a, const rtype *b)
Compute the dot product of two arrays.
Definition common_math.h:32
void plan_halo_exchange(Distribution &dist, const std::vector< int > &halo_owner)
Fill the exchange plan of dist, whose cells are numbered, from the owner of each of its halo cells (c...
Definition distribution.cpp:20
constexpr const char * PARTITION_ZONE
Boundary zone of local faces that border cells of other ranks.
Definition distribution.h:20
void trim_halo_exchange(Distribution &dist, const std::vector< uint8_t > &needed)
Keep in the exchange plan only the halo cells marked in needed (local cells); each neighbor stops sen...
Definition distribution.cpp:52
Local numbering: owned cells first (in global order), then halo layer 1, 2, ... Every local cell keep...
Definition distribution.h:26
std::vector< std::vector< uint32_t > > recv_cells
Definition distribution.h:33
uint32_t n_owned
Definition distribution.h:27
std::vector< uint8_t > layer
Definition distribution.h:30
std::vector< int > neighbors
Definition distribution.h:31
uint8_t halo_layers
Definition distribution.h:28
std::vector< std::vector< uint32_t > > send_cells
Definition distribution.h:32
std::vector< uint64_t > global_cell
Definition distribution.h:29