p2p exchange operation causes assertion failure
For a particular setup, a TurTLE-derived code crashes consistently. Two interacting particles (ghost collision, rod-like particles, actual code is in gitlab.mpcdf.mpg.de:/josea/sedimenting-rods.git), on 512 mpi processes, sometimes lead to TurTLE getting stuck (with NDEBUG) --- or to emit the assertion failure (no NDEBUG):
many_NSVEcylinder_collisions-single-v3.12.1.post2+g2c95949:
/home/arguedas/ttf/titan/installs/py3/include/TurTLE/particles/p2p/p2p_distr_mpi.hpp:547:
void p2p_distr_mpi<partsize_t, real_number>::compute_distr(computer_class&, const partsize_t*, real_number*, std::unique_ptr<real_number []>*, int, partsize_t*)
[with computer_class = p2p_ghost_collisions<double, long long int>;
int size_particle_positions = 6;
int size_particle_rhs = 6;
partsize_t = long long int;
real_number = double]:
Assertion `willsendall[idxproc*nb_processes_involved + idxtest] == willrecvall[idxtest*nb_processes_involved + idxproc]' failed.
This depends on the interaction cutoff, as can be seen from the attached plot.