|
core
Shared MPI block decomposition + asynchronous ghost-layer exchange (header-only C++20)
|
#include <vector>#include "peclet/core/common/mpi.hpp"#include "peclet/core/common/types.hpp"#include "peclet/core/decomp/block_decomposer.hpp"#include "peclet/core/halo/particle_migrator.hpp"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). | |