![]() |
ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
Atom decomposition cell system. More...
#include <AtomDecomposition.hpp>
Inheritance diagram for AtomDecomposition:
Collaboration diagram for AtomDecomposition:Public Member Functions | |
| AtomDecomposition (BoxGeometry const &m_box) | |
| AtomDecomposition (boost::mpi::communicator comm, BoxGeometry const &box_geo) | |
| void | resort (bool global_flag, std::vector< ParticleChange > &diff) override |
| GhostCommunicator const & | exchange_ghosts_comm () const override |
| GhostCommunicator const & | collect_ghost_force_comm () const override |
| std::span< Cell *const > | local_cells () const override |
| std::span< Cell *const > | ghost_cells () const override |
| auto const & | get_local_cells () const |
| auto const & | get_ghost_cells () const |
| Cell * | particle_to_cell (Particle const &p) override |
| Determine which cell a particle id belongs to. | |
| Cell const * | particle_to_cell (Particle const &p) const override |
| Utils::Vector3d | max_cutoff () const override |
| Utils::Vector3d | max_range () const override |
| std::optional< BoxGeometry > | minimum_image_distance () const override |
| BoxGeometry const & | box () const override |
Public Member Functions inherited from ParticleDecomposition | |
| virtual | ~ParticleDecomposition ()=default |
Atom decomposition cell system.
This implements a distributed particle storage by just evenly distributing the particles over all part-taking nodes. Pairs are found by just considering all pairs independent of logical or physical location, it has therefore quadratic time complexity in the number of particles.
For a more detailed discussion please see [36].
Definition at line 53 of file AtomDecomposition.hpp.
| AtomDecomposition::AtomDecomposition | ( | BoxGeometry const & | m_box | ) |
Definition at line 147 of file AtomDecomposition.cpp.
| AtomDecomposition::AtomDecomposition | ( | boost::mpi::communicator | comm, |
| BoxGeometry const & | box_geo | ||
| ) |
Definition at line 150 of file AtomDecomposition.cpp.
|
inlineoverridevirtual |
Implements ParticleDecomposition.
Definition at line 109 of file AtomDecomposition.hpp.
|
inlineoverridevirtual |
Implements ParticleDecomposition.
Definition at line 74 of file AtomDecomposition.hpp.
Referenced by HybridDecomposition::HybridDecomposition().
|
inlineoverridevirtual |
Implements ParticleDecomposition.
Definition at line 71 of file AtomDecomposition.hpp.
Referenced by HybridDecomposition::HybridDecomposition().
|
inline |
Definition at line 83 of file AtomDecomposition.hpp.
Referenced by HybridDecomposition::HybridDecomposition().
|
inline |
Definition at line 82 of file AtomDecomposition.hpp.
Referenced by HybridDecomposition::count_particles_in_n_square(), HybridDecomposition::HybridDecomposition(), and HybridDecomposition::resort().
|
inlineoverridevirtual |
Implements ParticleDecomposition.
Definition at line 79 of file AtomDecomposition.hpp.
|
inlineoverridevirtual |
Implements ParticleDecomposition.
Definition at line 78 of file AtomDecomposition.hpp.
Referenced by HybridDecomposition::resort().
|
overridevirtual |
Implements ParticleDecomposition.
Definition at line 161 of file AtomDecomposition.cpp.
References Utils::Vector< T, N >::broadcast().
Referenced by HybridDecomposition::max_cutoff(), and max_range().
|
overridevirtual |
Implements ParticleDecomposition.
Definition at line 165 of file AtomDecomposition.cpp.
References max_cutoff().
Referenced by HybridDecomposition::max_range().
|
inlineoverridevirtual |
Implements ParticleDecomposition.
Definition at line 105 of file AtomDecomposition.hpp.
Implements ParticleDecomposition.
Definition at line 96 of file AtomDecomposition.hpp.
References Particle::id().
Determine which cell a particle id belongs to.
Since there is only one local cell this is trivial.
| p | Particle to find cell for. |
Implements ParticleDecomposition.
Definition at line 93 of file AtomDecomposition.hpp.
References Particle::id().
Referenced by HybridDecomposition::particle_to_cell(), and HybridDecomposition::particle_to_cell().
|
overridevirtual |
Implements ParticleDecomposition.
Definition at line 106 of file AtomDecomposition.cpp.
References BoxGeometry::fold_position(), RemovedParticle::id, and Cell::particles().
Referenced by HybridDecomposition::resort().