core
Shared MPI block decomposition + asynchronous ghost-layer exchange (header-only C++20)
Loading...
Searching...
No Matches
particle_rebalance.hpp File Reference

Go to the source code of this file.

Classes

struct  peclet::core::halo::detail::NonDeduced< T >
 

Namespaces

namespace  peclet
 
namespace  peclet::core
 
namespace  peclet::core::halo
 
namespace  peclet::core::halo::detail
 

Functions

template<int Dim>
std::size_t peclet::core::halo::rebalanceByParticleCount (decomp::BlockDecomposer< Dim > &dec, ParticleMigrator< Dim > &mig, std::vector< typename detail::NonDeduced< Vec< Dim > >::type > &pos, std::vector< char > &payload, std::size_t stride, MPI_Comm comm=MPI_COMM_WORLD, std::vector< double > *weightOut=nullptr)
 Re-decompose dec so each block holds a near-equal particle count, then migrate the particles (positions + opaque fixed-stride payload) to their new owners via mig (which must reference dec).