ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
HybridDecomposition Class Reference

Hybrid decomposition cell system. More...

#include <HybridDecomposition.hpp>

+ Inheritance diagram for HybridDecomposition:
+ Collaboration diagram for HybridDecomposition:

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
 
Cellparticle_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< BoxGeometryminimum_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
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ HybridDecomposition()

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 
)

Member Function Documentation

◆ box()

BoxGeometry const & HybridDecomposition::box ( ) const
inlineoverridevirtual

Implements ParticleDecomposition.

Definition at line 130 of file HybridDecomposition.hpp.

◆ collect_ghost_force_comm()

GhostCommunicator const & HybridDecomposition::collect_ghost_force_comm ( ) const
inlineoverridevirtual

Implements ParticleDecomposition.

Definition at line 99 of file HybridDecomposition.hpp.

◆ count_particles_in_n_square()

std::size_t HybridDecomposition::count_particles_in_n_square ( ) const
inline

Count particles in child N-square decompositions.

Definition at line 138 of file HybridDecomposition.hpp.

References AtomDecomposition::get_local_cells().

◆ count_particles_in_regular()

std::size_t HybridDecomposition::count_particles_in_regular ( ) const
inline

Count particles in child regular decompositions.

Definition at line 133 of file HybridDecomposition.hpp.

References RegularDecomposition::get_local_cells().

◆ exchange_ghosts_comm()

GhostCommunicator const & HybridDecomposition::exchange_ghosts_comm ( ) const
inlineoverridevirtual

Implements ParticleDecomposition.

Definition at line 95 of file HybridDecomposition.hpp.

Referenced by resort().

◆ get_cell_grid()

auto HybridDecomposition::get_cell_grid ( ) const
inline

Definition at line 85 of file HybridDecomposition.hpp.

References RegularDecomposition::cell_grid.

◆ get_cell_size()

auto HybridDecomposition::get_cell_size ( ) const
inline

Definition at line 87 of file HybridDecomposition.hpp.

References RegularDecomposition::cell_size.

◆ get_cutoff_regular()

auto HybridDecomposition::get_cutoff_regular ( ) const
inline

Definition at line 93 of file HybridDecomposition.hpp.

◆ get_n_square_types()

auto HybridDecomposition::get_n_square_types ( ) const
inline

Definition at line 89 of file HybridDecomposition.hpp.

◆ ghost_cells()

std::span< Cell *const > HybridDecomposition::ghost_cells ( ) const
inlineoverridevirtual

Implements ParticleDecomposition.

Definition at line 104 of file HybridDecomposition.hpp.

◆ local_cells()

std::span< Cell *const > HybridDecomposition::local_cells ( ) const
inlineoverridevirtual

Implements ParticleDecomposition.

Definition at line 103 of file HybridDecomposition.hpp.

◆ max_cutoff()

Utils::Vector3d HybridDecomposition::max_cutoff ( ) const
inlineoverridevirtual

Implements ParticleDecomposition.

Definition at line 120 of file HybridDecomposition.hpp.

References AtomDecomposition::max_cutoff().

◆ max_range()

Utils::Vector3d HybridDecomposition::max_range ( ) const
inlineoverridevirtual

Implements ParticleDecomposition.

Definition at line 124 of file HybridDecomposition.hpp.

References AtomDecomposition::max_range().

◆ minimum_image_distance()

std::optional< BoxGeometry > HybridDecomposition::minimum_image_distance ( ) const
inlineoverridevirtual

Implements ParticleDecomposition.

Definition at line 126 of file HybridDecomposition.hpp.

◆ particle_to_cell() [1/2]

Cell const * HybridDecomposition::particle_to_cell ( Particle const &  p) const
inlineoverridevirtual

◆ particle_to_cell() [2/2]

Cell * HybridDecomposition::particle_to_cell ( Particle const &  p)
inlineoverridevirtual

◆ resort()


The documentation for this class was generated from the following files: