![]() |
ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
Classes | |
| class | BondBreakage |
| struct | BreakageSpec |
| struct | DeleteAllBonds |
| struct | DeleteAngleBond |
| struct | DeleteBond |
| class | execute |
| struct | QueueEntry |
Typedefs | |
| using | Action = std::variant< DeleteBond, DeleteAngleBond, DeleteAllBonds > |
| using | ActionSet = std::unordered_set< Action > |
| using | BondPartners = std::array< std::optional< int >, 2 > |
| Stores one or two bond parnters for pair/angle bonds. | |
| using | Queue = std::vector< QueueEntry > |
| Record bonds broken during a time step. | |
Enumerations | |
| enum class | ActionType { NONE = 0 , DELETE_BOND = 1 , REVERT_BIND_AT_POINT_OF_COLLISION = 2 } |
Functions | |
| static auto | gather_global_queue (Queue const &local_queue) |
| Gathers combined queue from all mpi ranks. | |
| static ActionSet | actions_for_breakage (CellStructure const &cell_structure, QueueEntry const &e, BreakageSpec const &spec) |
| Constructs the actions to take for a breakage queue entry. | |
| static void | remove_bond (Particle &p, BondView const &view) |
| Delete specific bond. | |
| static void | remove_pair_bonds_to (Particle &p, int other_pid) |
| Delete pair bonds to a specific partner. | |
| static bool | bond_handler (BondBreakage &bond_breakage, Particle &p, std::span< Particle * > partners, int bond_id, BoxGeometry const &box_geo) |
| using BondBreakage::Action = typedef std::variant<DeleteBond, DeleteAngleBond, DeleteAllBonds> |
Definition at line 44 of file bond_breakage.cpp.
| using BondBreakage::ActionSet = typedef std::unordered_set<Action> |
Definition at line 47 of file bond_breakage.cpp.
| using BondBreakage::BondPartners = typedef std::array<std::optional<int>, 2> |
Stores one or two bond parnters for pair/angle bonds.
Definition at line 35 of file bond_breakage.hpp.
| using BondBreakage::Queue = typedef std::vector<QueueEntry> |
Record bonds broken during a time step.
Definition at line 65 of file bond_breakage.hpp.
|
strong |
| Enumerator | |
|---|---|
| NONE | |
| DELETE_BOND | |
| REVERT_BIND_AT_POINT_OF_COLLISION | |
Definition at line 37 of file bond_breakage.hpp.
|
static |
Constructs the actions to take for a breakage queue entry.
Definition at line 67 of file bond_breakage.cpp.
References BondBreakage::BreakageSpec::action_type, BondBreakage::QueueEntry::bond_partners, BondBreakage::QueueEntry::bond_type, DELETE_BOND, CellStructure::get_local_particle(), BondBreakage::QueueEntry::particle_id, REVERT_BIND_AT_POINT_OF_COLLISION, and runtimeErrorMsg.
|
static |
Definition at line 207 of file bond_breakage.cpp.
References BoxGeometry::get_mi_vector(), Particle::id(), and Particle::pos().
Referenced by BondBreakage::BondBreakage::execute_bond_breakage().
|
static |
Gathers combined queue from all mpi ranks.
Definition at line 57 of file bond_breakage.cpp.
References comm_cart, and Utils::Mpi::gather_buffer().
Delete specific bond.
Definition at line 140 of file bond_breakage.cpp.
References Particle::bonds().
Referenced by BondBreakage::execute::operator()(), BondBreakage::execute::operator()(), and remove_pair_bonds_to().
|
static |
Delete pair bonds to a specific partner.
Definition at line 151 of file bond_breakage.cpp.
References Particle::bonds(), and remove_bond().
Referenced by BondBreakage::execute::operator()().