boost::variant< RemovedParticle, ModifiedList > ParticleChange
Change of Particle Address.
A distributed particle decomposition.
virtual Utils::Vector3d max_cutoff() const =0
Maximum supported cutoff.
virtual Cell const * particle_to_cell(Particle const &p) const =0
virtual ~ParticleDecomposition()=default
virtual std::span< Cell *const > local_cells() const =0
Get pointer to local cells.
virtual void resort(bool global_flag, std::vector< ParticleChange > &diff)=0
Resort particles.
virtual Cell * particle_to_cell(Particle const &p)=0
Determine which cell a particle id belongs to.
virtual Utils::Vector3d max_range() const =0
Range in which calculations are performed.
virtual GhostCommunicator const & collect_ghost_force_comm() const =0
Communicator for force reduction.
virtual std::span< Cell *const > ghost_cells() const =0
Get pointer to local cells.
virtual GhostCommunicator const & exchange_ghosts_comm() const =0
Communicator for updating ghosts from the real particles.
virtual std::optional< BoxGeometry > minimum_image_distance() const =0
Return the box geometry needed for distance calculation if minimum image convention should be used ne...
virtual BoxGeometry const & box() const =0
Struct holding all information for one particle.