99#ifdef COLLISION_DETECTION
121 double const dist2) {
155#ifdef COLLISION_DETECTION
bool pair_bond_exists_on(BondList const &bonds, int partner_id, int bond_id)
Check if there is a specific bond in a bond list.
int part_type_after_glueing
Particle type to which the newly glued particle is converted.
void initialize()
Validates parameters and creates particle types if needed.
int part_type_to_be_glued
For mode "glue to surface": The particle type being glued.
double vs_placement
Placement of virtual sites for MODE_VS.
int bond_centers
bond type used between centers of colliding particles
CollisionModeType mode
collision protocol
int three_particle_angle_resolution
Number of angle bonds to use (angular resolution) different angle bonds with different equilibrium an...
int part_type_to_attach_vs_to
For mode "glue to surface": The particle type to which the virtual site is attached.
double dist_glued_part_to_vs
For mode "glue to surface": The distance from the particle which is to be glued to the new virtual si...
int bond_three_particles
First bond type (for zero degrees) used for the three-particle bond (angle potential)
double distance
distance at which particles are bound
int bond_vs
bond type used between virtual sites
int vs_particle_type
particle type for virtual sites created on collision
bool glue_to_surface_criterion(Particle const &p1, Particle const &p2)
Check additional criteria for the glue_to_surface collision mode.
void prepare_local_collision_queue()
CollisionModeType
Protocols for collision handling.
@ BIND_CENTERS
Create bond between centers of colliding particles.
@ GLUE_TO_SURF
Glue a particle to a specific spot on another particle.
@ OFF
Deactivate collision detection.
@ BIND_THREE_PARTICLES
Three particle binding mode.
@ BIND_VS
Create a bond between the centers of the colliding particles, plus two virtual sites at the point of ...
double collision_detection_cutoff()
void queue_collision(int part1, int part2)
Add the collision between the given particle ids to the collision queue.
void detect_collision(Particle const &p1, Particle const &p2, double const dist2)
Detect (and queue) a collision between the given particles.
void handle_collisions(CellStructure &cell_structure)
Handle the collisions recorded in the queue.
Collision_parameters collision_params
Parameters for collision detection.
This file contains the defaults for ESPResSo.
Describes a cell structure / cell system.
Struct holding all information for one particle.
auto const & type() const
auto const & bonds() const