|
peclet.voro 1.0.0
Device-native moving-particle Voronoi dynamics
|
Distributed Voronoi halo over core (migration Phase 6). More...
#include <array>#include <cstddef>#include <vector>#include "peclet/core/common/mpi.hpp"#include "peclet/core/decomp/block_decomposer.hpp"#include "peclet/core/halo/particle_halo_topology.hpp"#include "peclet/core/halo/particle_migrator.hpp"
Go to the source code of this file.
Classes | |
| class | peclet::voro::mpi::VoronoiHalo< Real > |
| struct | peclet::voro::mpi::VoronoiHalo< Real >::Gathered |
| Combined owned+ghost seeds (owned first), with global ids and weights. More... | |
Namespaces | |
| namespace | peclet |
| namespace | peclet::voro |
| namespace | peclet::voro::mpi |
Distributed Voronoi halo over core (migration Phase 6).
A Voronoi/power cell is fully determined by its local neighbourhood, so the distributed tessellation needs ONE ghost exchange and no iteration: decompose the periodic domain into blocks, gather every seed within the security radius of the block, tessellate owned+ghost locally, and keep the owned cells (they are bit-identical to the serial cells, since all their neighbours are present).
This wrapper reuses core for all of that — exactly the infrastructure the dem distributed step uses, and the C++ counterpart of the validated mpi/validate_voronoi.py recipe:
Header-only host driver; requires MPI + core (PECLET_VORO_MPI build).