|
Mallard 0.8.0
Unstructured, GPU accelerated, high-order finite volume CFD solver
Mallard website |
A rank's share of a distributed mesh: owned cells, halo layers and the halo exchange plan. More...
#include <cstdint>#include <vector>Go to the source code of this file.
Classes | |
| struct | Distribution |
| Local numbering: owned cells first (in global order), then halo layer 1, 2, ... Every local cell keeps its global id. More... | |
Functions | |
| 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 (collective): each rank asks the owners for its halo cells, and the requests it receives become its send lists. | |
| 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 sending the others. Collective. | |
Variables | |
| constexpr const char * | PARTITION_ZONE = "__partition__" |
| Boundary zone of local faces that border cells of other ranks. | |
A rank's share of a distributed mesh: owned cells, halo layers and the halo exchange plan.
| 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 (collective): each rank asks the owners for its halo cells, and the requests it receives become its send lists.
| 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 sending the others. Collective.