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 = boost::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.
 

Typedef Documentation

◆ Action

Definition at line 44 of file bond_breakage.cpp.

◆ ActionSet

using BondBreakage::ActionSet = typedef std::unordered_set<Action>

Definition at line 47 of file bond_breakage.cpp.

◆ BondPartners

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.

◆ Queue

using BondBreakage::Queue = typedef std::vector<QueueEntry>

Record bonds broken during a time step.

Definition at line 65 of file bond_breakage.hpp.

Enumeration Type Documentation

◆ ActionType

enum class BondBreakage::ActionType
strong
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

◆ gather_global_queue()

static auto BondBreakage::gather_global_queue ( Queue const &  local_queue)
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().

◆ remove_bond()

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

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().

◆ 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 151 of file bond_breakage.cpp.

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

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