include/pops/mesh/layout/distribution_mapping.hpp File ReferenceΒΆ

adc_cpp: include/pops/mesh/layout/distribution_mapping.hpp File Reference
adc_cpp 0.3.0
Model-free C++23 core for coupled hyperbolic-elliptic systems on adaptive (AMR) meshes, with MPI and GPU (Kokkos) backends
distribution_mapping.hpp File Reference

DistributionMapping: maps each box (by global index) to its owning MPI rank. More...

#include <utility>
#include <vector>
+ Include dependency graph for distribution_mapping.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  pops::DistributionMapping
 Owning MPI rank of each box, indexed by GLOBAL box index (parallel to a BoxArray). More...
 

Namespaces

namespace  pops
 

Detailed Description

DistributionMapping: maps each box (by global index) to its owning MPI rank.

SEPARATE from BoxArray (AMReX convention): boxes can be redistributed without rebuilding the decomposition. The (nboxes, nranks) ctor yields a round-robin; balanced strategies (Z-order SFC, knapsack) live in parallel/load_balance.hpp and build a DistributionMapping from an explicit rank vector. REPLICATED metadata: every rank knows the full assignment (key to the distributed fill_boundary / parallel_copy paths that enumerate the same jobs on all ranks).