diff --git a/bfps/cpp/particles/particles_distr_mpi.hpp b/bfps/cpp/particles/particles_distr_mpi.hpp index bd77162eb42c9589c25705de0deceeb87ee99bd5..85f4f416b89ea2ee38ea62bcbb1ff3bfcd7395ae 100644 --- a/bfps/cpp/particles/particles_distr_mpi.hpp +++ b/bfps/cpp/particles/particles_distr_mpi.hpp @@ -517,6 +517,19 @@ public: return; } + {// TODO remove + partsize_t partOffset = 0; + for(int idxPartition = 0 ; idxPartition < current_partition_size ; ++idxPartition){ + for(partsize_t idx = 0 ; idx < current_my_nb_particles_per_partition[idxPartition] ; ++idx){ + const int partition_level = in_computer.pbc_field_layer((*inout_positions_particles)[(idx+partOffset)*size_particle_positions+IDX_Z], IDX_Z); + assert(partition_level == current_partition_interval.first + idxPartition + || partition_level == (current_partition_interval.first + idxPartition-1+int(field_grid_dim[IDX_Z]))%int(field_grid_dim[IDX_Z]) + || partition_level == (current_partition_interval.first + idxPartition+1)%int(field_grid_dim[IDX_Z])); + } + partOffset += current_my_nb_particles_per_partition[idxPartition]; + } + } + current_offset_particles_for_partition[0] = 0; partsize_t myTotalNbParticles = 0; for(int idxPartition = 0 ; idxPartition < current_partition_size ; ++idxPartition){