ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
This file contains everything related to the global cell structure / cell system. More...
#include "cell_system/Cell.hpp"
#include "cell_system/CellStructure.hpp"
#include "cell_system/CellStructureType.hpp"
#include "BoxGeometry.hpp"
#include "Particle.hpp"
#include "system/System.hpp"
#include <utils/Vector.hpp>
#include <optional>
#include <utility>
#include <vector>
Go to the source code of this file.
Classes | |
struct | NeighborPIDs |
class | PairInfo |
Namespaces | |
namespace | boost |
namespace | boost::serialization |
Functions | |
std::vector< std::pair< int, int > > | get_pairs (System::System const &system, double distance) |
Get pairs closer than distance from the cells. | |
std::vector< std::pair< int, int > > | get_pairs_of_types (System::System const &system, double distance, std::vector< int > const &types) |
Get pairs closer than distance if both their types are in types . | |
std::optional< std::vector< int > > | get_short_range_neighbors (System::System const &system, int pid, double distance) |
Get ids of particles that are within a certain distance of another particle. | |
template<class Archive > | |
void | boost::serialization::serialize (Archive &ar, NeighborPIDs &n, unsigned int const) |
std::vector< NeighborPIDs > | get_neighbor_pids (System::System const &system) |
Returns pairs of particle ids and neighbor particle id lists. | |
template<class Archive > | |
void | boost::serialization::serialize (Archive &ar, PairInfo &p, unsigned int const) |
std::vector< PairInfo > | non_bonded_loop_trace (System::System const &system, int rank) |
Returns pairs of particle ids, positions and distance as seen by the non-bonded loop. | |
This file contains everything related to the global cell structure / cell system.
The cell system (CellStructure) describes how particles are distributed on the cells and how particles of different cells (regardless if they reside on the same or different nodes) interact with each other. The following cell systems are implemented:
n_square_types
(see HybridDecomposition.hpp). By default, particles will be distributed using the regular decomposition. For particles of the types defined as n_square_types
the N-square method is used. This is suitable for systems containing lots of small particles with short-range interactions mixed with a few large particles with long-range interactions. There, the large particles should be treated using N-square. Definition in file cells.hpp.
std::vector< NeighborPIDs > get_neighbor_pids | ( | System::System const & | system | ) |
Returns pairs of particle ids and neighbor particle id lists.
Definition at line 189 of file cells.cpp.
References System::System::cell_structure, get_interacting_neighbors(), and Particle::id().
Referenced by ScriptInterface::Analysis::Analysis::do_call_method().
std::vector< std::pair< int, int > > get_pairs | ( | System::System const & | system, |
double | distance | ||
) |
Get pairs closer than distance
from the cells.
Pairs are sorted so that first.id < second.id
Definition at line 159 of file cells.cpp.
References get_pairs_filtered().
Referenced by ScriptInterface::CellSystem::CellSystem::do_call_method().
std::vector< std::pair< int, int > > get_pairs_of_types | ( | System::System const & | system, |
double | distance, | ||
std::vector< int > const & | types | ||
) |
Get pairs closer than distance
if both their types are in types
.
Pairs are sorted so that first.id < second.id
Definition at line 167 of file cells.cpp.
References get_pairs_filtered().
Referenced by ScriptInterface::CellSystem::CellSystem::do_call_method().
std::optional< std::vector< int > > get_short_range_neighbors | ( | System::System const & | system, |
int | pid, | ||
double | distance | ||
) |
Get ids of particles that are within a certain distance of another particle.
Definition at line 119 of file cells.cpp.
References System::System::cell_structure, and Utils::sqr().
std::vector< PairInfo > non_bonded_loop_trace | ( | System::System const & | system, |
int | rank | ||
) |
Returns pairs of particle ids, positions and distance as seen by the non-bonded loop.
Definition at line 177 of file cells.cpp.
References System::System::cell_structure.