ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
BondBreakage Namespace Reference

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 partners 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)
 

Typedef Documentation

◆ Action

◆ ActionSet

Definition at line 49 of file bond_breakage.cpp.

◆ BondPartners

using BondBreakage::BondPartners = typedef std::array<std::optional<int>, 2>

Stores one or two bond partners for pair/angle bonds.

Definition at line 35 of file bond_breakage.hpp.

◆ Queue

Record bonds broken during a time step.

Definition at line 65 of file bond_breakage.hpp.

Enumeration Type Documentation

◆ ActionType

Enumerator
NONE 
DELETE_BOND 
REVERT_BIND_AT_POINT_OF_COLLISION 

Definition at line 37 of file bond_breakage.hpp.

Function Documentation

◆ actions_for_breakage()

static ActionSet BondBreakage::actions_for_breakage ( CellStructure const cell_structure,
QueueEntry const e,
BreakageSpec const spec 
)
static

◆ bond_handler()

static bool BondBreakage::bond_handler ( BondBreakage bond_breakage,
Particle p,
std::span< Particle * >  partners,
int  bond_id,
BoxGeometry const box_geo 
)
static

◆ gather_global_queue()

static auto BondBreakage::gather_global_queue ( Queue const local_queue)
static

Gathers combined queue from all mpi ranks.

Definition at line 59 of file bond_breakage.cpp.

References comm_cart, Utils::Mpi::gather_buffer(), and stream.

◆ remove_bond()

static void BondBreakage::remove_bond ( Particle p,
BondView const view 
)
static

Delete specific bond.

Definition at line 142 of file bond_breakage.cpp.

References Particle::bonds(), and stream.

Referenced by BondBreakage::execute::operator()(), BondBreakage::execute::operator()(), and remove_pair_bonds_to().

◆ remove_pair_bonds_to()

static void BondBreakage::remove_pair_bonds_to ( Particle p,
int  other_pid 
)
static

Delete pair bonds to a specific partner.

Definition at line 153 of file bond_breakage.cpp.

References Particle::bonds(), remove_bond(), and stream.

Referenced by BondBreakage::execute::operator()().