92 auto const &box_geo = *
system.box_geo;
93 auto &cell_structure = *
system.cell_structure;
109 auto const d_min = box_geo.get_mi_vector(
p2.pos(),
p1_pos).norm();
130 boost::mpi::all_reduce(m_comm, (
p1_ptr !=
nullptr) ? m_comm.rank() : -1,
131 boost::mpi::maximum<int>());
136 auto const p2_ptr = cell_structure.get_local_particle(
p2_id);
144 return boost::mpi::all_reduce(m_comm,
local_touched, std::logical_or<>());
169 if (
auto const p2_ptr = cell_structure.get_local_particle(
p2_id)) {
176 if (m_comm.rank() != 0) {
179 }
else if (m_comm.rank() == 0) {
std::optional< std::vector< int > > get_short_range_neighbors(System::System const &system, int const pid, double const distance)
Get ids of particles that are within a certain distance of another particle.
std::vector< int > get_particle_ids_parallel()
Particles creation and deletion.
Struct holding all information for one particle.