ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
#include <BindAtPointOfCollision.hpp>
Public Member Functions | |
BindAtPointOfCollision (double distance, int bond_centers, int bond_vs, double vs_placement, int part_type_vs) | |
void | initialize (System::System &system) |
auto | cutoff () const |
void | handle_collisions (System::System &system, std::vector< CollisionPair > &local_collision_queue) |
bool | detect_collision (Particle const &p1, Particle const &p2, double const dist_sq) const |
Public Attributes | |
double | distance |
Distance at which particle are bound. | |
double | distance_sq |
Square of distance at which particle are bound. | |
int | bond_centers |
bond type used between centers of colliding particles | |
int | bond_vs |
bond type used between virtual sites | |
double | vs_placement |
Barycenter of the virtual site. | |
int | part_type_vs |
particle type for virtual sites created on collision | |
Definition at line 37 of file core/collision_detection/BindAtPointOfCollision.hpp.
|
inline |
Definition at line 57 of file core/collision_detection/BindAtPointOfCollision.hpp.
|
inline |
Definition at line 65 of file core/collision_detection/BindAtPointOfCollision.hpp.
References distance.
|
inline |
Definition at line 70 of file core/collision_detection/BindAtPointOfCollision.hpp.
References bond_centers, CollisionDetection::detect_collision_common(), and distance_sq.
void CollisionDetection::BindAtPointOfCollision::handle_collisions | ( | System::System & | system, |
std::vector< CollisionPair > & | local_collision_queue | ||
) |
Definition at line 83 of file BindAtPointOfCollision.cpp.
References CollisionDetection::add_bind_centers(), Utils::Mpi::all_compare(), bond_centers, bond_vs, System::System::bonded_ias, Particle::bonds(), System::System::box_geo, System::System::cell_structure, comm_cart, Cells::DATA_PART_BONDS, Cells::DATA_PART_PROPERTIES, CollisionDetection::gather_collision_queue(), System::System::get_min_global_cut(), Particle::id(), Particle::is_ghost(), number_of_partners(), part_type_vs, CollisionDetection::place_vs_and_relate_to_particle(), Particle::pos(), Cells::RESORT_GLOBAL, Particle::set_can_rotate_all_axes(), System::System::update_used_propagations(), and vs_placement.
void CollisionDetection::BindAtPointOfCollision::initialize | ( | System::System & | system | ) |
Definition at line 53 of file BindAtPointOfCollision.cpp.
References bond_vs, System::System::bonded_ias, distance, distance_sq, System::System::nonbonded_ias, number_of_partners(), part_type_vs, and Utils::sqr().
int CollisionDetection::BindAtPointOfCollision::bond_centers |
bond type used between centers of colliding particles
Definition at line 44 of file core/collision_detection/BindAtPointOfCollision.hpp.
Referenced by detect_collision(), and handle_collisions().
int CollisionDetection::BindAtPointOfCollision::bond_vs |
bond type used between virtual sites
Definition at line 46 of file core/collision_detection/BindAtPointOfCollision.hpp.
Referenced by handle_collisions(), and initialize().
double CollisionDetection::BindAtPointOfCollision::distance |
Distance at which particle are bound.
Definition at line 40 of file core/collision_detection/BindAtPointOfCollision.hpp.
Referenced by cutoff(), and initialize().
double CollisionDetection::BindAtPointOfCollision::distance_sq |
Square of distance at which particle are bound.
Definition at line 42 of file core/collision_detection/BindAtPointOfCollision.hpp.
Referenced by detect_collision(), and initialize().
int CollisionDetection::BindAtPointOfCollision::part_type_vs |
particle type for virtual sites created on collision
Definition at line 55 of file core/collision_detection/BindAtPointOfCollision.hpp.
Referenced by handle_collisions(), and initialize().
double CollisionDetection::BindAtPointOfCollision::vs_placement |
Barycenter of the virtual site.
0=on same particle as related to, 1=on collision partner, 0.5=in the middle between the two particles
Definition at line 53 of file core/collision_detection/BindAtPointOfCollision.hpp.
Referenced by handle_collisions().