peclet.voro 1.0.0
Device-native moving-particle Voronoi dynamics
Loading...
Searching...
No Matches
Classes | Namespaces
voronoi_halo.hpp File Reference

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"
Include dependency graph for voronoi_halo.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
 

Detailed Description

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).