ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
#include <GlueToSurface.hpp>
Public Member Functions | |
GlueToSurface (double distance, int bond_centers, int bond_vs, int part_type_vs, double dist_glued_part_to_vs, int part_type_to_be_glued, int part_type_to_attach_vs_to, int part_type_after_glueing) | |
void | initialize (System::System &system) |
auto | cutoff () const |
bool | glue_to_surface_criterion (Particle const &p1, Particle const &p2) const |
Check additional criteria for the glue_to_surface collision mode. | |
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 | |
int | part_type_vs |
particle type for virtual sites created on collision | |
double | dist_glued_part_to_vs |
Distance from the particle which is to be glued to the new virtual site. | |
int | part_type_to_be_glued |
The particle type being glued (the small particle) | |
int | part_type_to_attach_vs_to |
The particle type to which virtuals site are attached (the large particle) | |
int | part_type_after_glueing |
Particle type to which the newly glued particle is converted. | |
Definition at line 37 of file core/collision_detection/GlueToSurface.hpp.
|
inline |
Definition at line 58 of file core/collision_detection/GlueToSurface.hpp.
|
inline |
Definition at line 72 of file core/collision_detection/GlueToSurface.hpp.
References distance.
|
inline |
Definition at line 85 of file core/collision_detection/GlueToSurface.hpp.
References bond_centers, CollisionDetection::detect_collision_common(), distance_sq, and glue_to_surface_criterion().
|
inline |
Check additional criteria for the glue_to_surface collision mode.
Definition at line 75 of file core/collision_detection/GlueToSurface.hpp.
References part_type_to_attach_vs_to, part_type_to_be_glued, and Particle::type().
Referenced by detect_collision().
void CollisionDetection::GlueToSurface::handle_collisions | ( | System::System & | system, |
std::vector< CollisionPair > & | local_collision_queue | ||
) |
Definition at line 86 of file GlueToSurface.cpp.
References Utils::Mpi::all_compare(), bond_centers, bond_vs, Particle::bonds(), System::System::box_geo, System::System::cell_structure, comm_cart, Cells::DATA_PART_BONDS, Cells::DATA_PART_PROPERTIES, dist_glued_part_to_vs, CollisionDetection::gather_collision_queue(), System::System::get_min_global_cut(), CollisionDetection::get_part(), Particle::is_ghost(), part_type_after_glueing, part_type_to_attach_vs_to, part_type_to_be_glued, part_type_vs, CollisionDetection::place_vs_and_relate_to_particle(), Particle::pos(), Cells::RESORT_GLOBAL, Particle::type(), and System::System::update_used_propagations().
void CollisionDetection::GlueToSurface::initialize | ( | System::System & | system | ) |
Definition at line 53 of file GlueToSurface.cpp.
References distance, distance_sq, System::System::nonbonded_ias, part_type_after_glueing, part_type_to_attach_vs_to, part_type_to_be_glued, part_type_vs, and Utils::sqr().
int CollisionDetection::GlueToSurface::bond_centers |
bond type used between centers of colliding particles
Definition at line 44 of file core/collision_detection/GlueToSurface.hpp.
Referenced by detect_collision(), and handle_collisions().
int CollisionDetection::GlueToSurface::bond_vs |
bond type used between virtual sites
Definition at line 46 of file core/collision_detection/GlueToSurface.hpp.
Referenced by handle_collisions().
double CollisionDetection::GlueToSurface::dist_glued_part_to_vs |
Distance from the particle which is to be glued to the new virtual site.
Definition at line 50 of file core/collision_detection/GlueToSurface.hpp.
Referenced by handle_collisions().
double CollisionDetection::GlueToSurface::distance |
Distance at which particle are bound.
Definition at line 40 of file core/collision_detection/GlueToSurface.hpp.
Referenced by cutoff(), and initialize().
double CollisionDetection::GlueToSurface::distance_sq |
Square of distance at which particle are bound.
Definition at line 42 of file core/collision_detection/GlueToSurface.hpp.
Referenced by detect_collision(), and initialize().
int CollisionDetection::GlueToSurface::part_type_after_glueing |
Particle type to which the newly glued particle is converted.
Definition at line 56 of file core/collision_detection/GlueToSurface.hpp.
Referenced by handle_collisions(), and initialize().
int CollisionDetection::GlueToSurface::part_type_to_attach_vs_to |
The particle type to which virtuals site are attached (the large particle)
Definition at line 54 of file core/collision_detection/GlueToSurface.hpp.
Referenced by glue_to_surface_criterion(), handle_collisions(), and initialize().
int CollisionDetection::GlueToSurface::part_type_to_be_glued |
The particle type being glued (the small particle)
Definition at line 52 of file core/collision_detection/GlueToSurface.hpp.
Referenced by glue_to_surface_criterion(), handle_collisions(), and initialize().
int CollisionDetection::GlueToSurface::part_type_vs |
particle type for virtual sites created on collision
Definition at line 48 of file core/collision_detection/GlueToSurface.hpp.
Referenced by handle_collisions(), and initialize().