22#ifdef COLLISION_DETECTION
31#include "system/System.hpp"
45 throw std::domain_error(
"Parameter 'distance' must be > 0");
54 throw std::runtime_error(
"The bond type to be used for binding particle "
55 "centers needs to be a pair bond");
60 System::System &system, std::vector<CollisionPair> &local_collision_queue) {
Data structures for bonded interactions.
int number_of_partners(Bonded_IA_Parameters const &iaparams)
Get the number of bonded partners for the specified bond.
double distance_sq
Square of distance at which particle are bound.
void handle_collisions(System::System &system, std::vector< CollisionPair > &local_collision_queue)
void initialize(System::System &system)
int bond_centers
bond type used between centers of colliding particles
double distance
Distance at which particle are bound.
std::shared_ptr< BondedInteractionsMap > bonded_ias
std::shared_ptr< CellStructure > cell_structure
This file contains the defaults for ESPResSo.
void add_bind_centers(std::vector< CollisionPair > &collision_queue, CellStructure &cell_structure, int bond_centers)
DEVICE_QUALIFIER constexpr T sqr(T x)
Calculates the SQuaRe of x.