ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
Hybrid decomposition cell system. More...
#include <HybridDecomposition.hpp>
Public Member Functions | |
HybridDecomposition (boost::mpi::communicator comm, double cutoff_regular, double skin, std::function< bool()> get_ghost_flags, BoxGeometry const &box_geo, LocalBox const &local_box, std::set< int > n_square_types) | |
auto | get_cell_grid () const |
auto | get_cell_size () const |
auto | get_n_square_types () const |
void | resort (bool global, std::vector< ParticleChange > &diff) override |
auto | get_cutoff_regular () const |
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 |
Cell * | particle_to_cell (Particle const &p) override |
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 |
std::size_t | count_particles_in_regular () const |
Count particles in child regular decompositions. | |
std::size_t | count_particles_in_n_square () const |
Count particles in child N-square decompositions. | |
Public Member Functions inherited from ParticleDecomposition | |
virtual | ~ParticleDecomposition ()=default |
Hybrid decomposition cell system.
Store particles with short-range interactions in a RegularDecomposition cell system and particles with long-range interactions in a AtomDecomposition (N-square) cell system. All regular cells are coupled to the N-square cells.
Definition at line 56 of file HybridDecomposition.hpp.
HybridDecomposition::HybridDecomposition | ( | boost::mpi::communicator | comm, |
double | cutoff_regular, | ||
double | skin, | ||
std::function< bool()> | get_ghost_flags, | ||
BoxGeometry const & | box_geo, | ||
LocalBox const & | local_box, | ||
std::set< int > | n_square_types | ||
) |
Definition at line 44 of file HybridDecomposition.cpp.
References AtomDecomposition::collect_ghost_force_comm(), RegularDecomposition::collect_ghost_force_comm(), GhostCommunicator::communications, AtomDecomposition::exchange_ghosts_comm(), RegularDecomposition::exchange_ghosts_comm(), AtomDecomposition::get_ghost_cells(), RegularDecomposition::get_ghost_cells(), AtomDecomposition::get_local_cells(), RegularDecomposition::get_local_cells(), and RegularDecomposition::local_cells().
|
inlineoverridevirtual |
Implements ParticleDecomposition.
Definition at line 130 of file HybridDecomposition.hpp.
|
inlineoverridevirtual |
Implements ParticleDecomposition.
Definition at line 99 of file HybridDecomposition.hpp.
|
inline |
Count particles in child N-square decompositions.
Definition at line 138 of file HybridDecomposition.hpp.
References AtomDecomposition::get_local_cells().
|
inline |
Count particles in child regular decompositions.
Definition at line 133 of file HybridDecomposition.hpp.
References RegularDecomposition::get_local_cells().
|
inlineoverridevirtual |
Implements ParticleDecomposition.
Definition at line 95 of file HybridDecomposition.hpp.
Referenced by resort().
|
inline |
Definition at line 85 of file HybridDecomposition.hpp.
References RegularDecomposition::cell_grid.
|
inline |
Definition at line 87 of file HybridDecomposition.hpp.
References RegularDecomposition::cell_size.
|
inline |
Definition at line 93 of file HybridDecomposition.hpp.
|
inline |
Definition at line 89 of file HybridDecomposition.hpp.
|
inlineoverridevirtual |
Implements ParticleDecomposition.
Definition at line 104 of file HybridDecomposition.hpp.
|
inlineoverridevirtual |
Implements ParticleDecomposition.
Definition at line 103 of file HybridDecomposition.hpp.
|
inlineoverridevirtual |
Implements ParticleDecomposition.
Definition at line 120 of file HybridDecomposition.hpp.
References AtomDecomposition::max_cutoff().
|
inlineoverridevirtual |
Implements ParticleDecomposition.
Definition at line 124 of file HybridDecomposition.hpp.
References AtomDecomposition::max_range().
|
inlineoverridevirtual |
Implements ParticleDecomposition.
Definition at line 126 of file HybridDecomposition.hpp.
|
inlineoverridevirtual |
Implements ParticleDecomposition.
Definition at line 113 of file HybridDecomposition.hpp.
References AtomDecomposition::particle_to_cell(), RegularDecomposition::particle_to_cell(), and Particle::type().
Implements ParticleDecomposition.
Definition at line 106 of file HybridDecomposition.hpp.
References AtomDecomposition::particle_to_cell(), RegularDecomposition::particle_to_cell(), and Particle::type().
Referenced by resort().
|
overridevirtual |
Implements ParticleDecomposition.
Definition at line 99 of file HybridDecomposition.cpp.
References exchange_ghosts_comm(), AtomDecomposition::get_local_cells(), RegularDecomposition::get_local_cells(), ghost_communicator(), GHOSTTRANS_PARTNUM, RemovedParticle::id, AtomDecomposition::local_cells(), RegularDecomposition::local_cells(), map_data_parts(), particle_to_cell(), RegularDecomposition::resort(), and AtomDecomposition::resort().