core 1.5.0
Shared MPI block decomposition, asynchronous ghost-layer exchange, SDF geometry, load balancing (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 >
 Identity alias that blocks template argument deduction through it (C++20 std::type_identity). More...
 

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