ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
collision.hpp File Reference
#include "config/config.hpp"
#include "cell_system/CellStructure.hpp"
#include "BondList.hpp"
#include "Particle.hpp"
+ Include dependency graph for collision.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Collision_parameters
 

Enumerations

enum class  CollisionModeType : int {
  OFF = 0 , BIND_CENTERS = 1 , BIND_VS = 2 , GLUE_TO_SURF = 3 ,
  BIND_THREE_PARTICLES = 4
}
 Protocols for collision handling. More...
 

Functions

void prepare_local_collision_queue ()
 
void handle_collisions (CellStructure &cell_structure)
 Handle the collisions recorded in the queue.
 
void queue_collision (int part1, int part2)
 Add the collision between the given particle ids to the collision queue.
 
bool glue_to_surface_criterion (Particle const &p1, Particle const &p2)
 Check additional criteria for the glue_to_surface collision mode.
 
void detect_collision (Particle const &p1, Particle const &p2, double const dist2)
 Detect (and queue) a collision between the given particles.
 
double collision_detection_cutoff ()
 

Variables

Collision_parameters collision_params
 Parameters for collision detection.
 

Enumeration Type Documentation

◆ CollisionModeType

enum class CollisionModeType : int
strong

Protocols for collision handling.

Enumerator
OFF 

Deactivate collision detection.

BIND_CENTERS 

Create bond between centers of colliding particles.

BIND_VS 

Create a bond between the centers of the colliding particles, plus two virtual sites at the point of collision and bind them together.

This prevents the particles from sliding against each other. Requires VIRTUAL_SITES_RELATIVE.

GLUE_TO_SURF 

Glue a particle to a specific spot on another particle.

BIND_THREE_PARTICLES 

Three particle binding mode.

Definition at line 30 of file collision.hpp.

Function Documentation

◆ collision_detection_cutoff()

double collision_detection_cutoff ( )
inline

◆ detect_collision()

void detect_collision ( Particle const &  p1,
Particle const &  p2,
double const  dist2 
)
inline

◆ glue_to_surface_criterion()

bool glue_to_surface_criterion ( Particle const &  p1,
Particle const &  p2 
)
inline

Check additional criteria for the glue_to_surface collision mode.

Definition at line 112 of file collision.hpp.

References collision_params, Collision_parameters::part_type_to_attach_vs_to, Collision_parameters::part_type_to_be_glued, and Particle::type().

Referenced by detect_collision().

◆ handle_collisions()

◆ prepare_local_collision_queue()

void prepare_local_collision_queue ( )

Definition at line 234 of file collision.cpp.

References local_collision_queue.

Referenced by System::System::calculate_forces().

◆ queue_collision()

void queue_collision ( int  part1,
int  part2 
)

Add the collision between the given particle ids to the collision queue.

Definition at line 236 of file collision.cpp.

References local_collision_queue.

Referenced by detect_collision().

Variable Documentation

◆ collision_params