28 #include <unordered_map>
46 typedef std::unordered_map< LAMMPS_NS::tagint , BOND_VECTOR >
ATOM2BONDS_MAP;
66 Bond(
const LAMMPS_NS::tagint &bond_atom_in ,
const int &bond_type_in ,
const bool &head_parent_atom_in );
Custom bond class (not to be confused with a LAMMPS bond).
Definition: bond.h:48
bool head_parent_atom
Definition: bond.h:61
void assignBondAtom(const LAMMPS_NS::tagint &bond_atom_in)
Definition: bond.cpp:37
void assignBondType(const int &bond_type_in)
Definition: bond.cpp:38
static void addBond2BondVector(int &bond_type, LAMMPS_NS::tagint &parent_atomID, LAMMPS_NS::tagint &bond_atomID, const bool &head_atom_parent, ATOM2BONDS_MAP &atomID2bonds)
Definition: bond.cpp:52
static void fillAtomID2BondsContainer(ATOM2BONDS_MAP &atomID2bonds, LAMMPS_NS::tagint *bonds_list, const LAMMPS_NS::bigint &bonds_num)
Definition: bond.cpp:75
const int & getBondType() const
Definition: bond.cpp:35
static void initAtomID2BondsMap(LAMMPS_NS::LAMMPS *lmp, const int &proc_id, ATOM2BONDS_MAP &atomID2bonds)
Definition: bond.cpp:94
LAMMPS_NS::tagint bond_atom
Definition: bond.h:59
const LAMMPS_NS::tagint & getBondAtom() const
Definition: bond.cpp:34
Bond()
Definition: bond.cpp:29
static const bool atomIDIsMapped(LAMMPS_NS::tagint &parent_atomID, ATOM2BONDS_MAP &atomID2bonds)
Definition: bond.cpp:41
bool parentAtomIsHead() const
For each bond in the system a tail and a head atom are (randomly) defined. This prevents the discover...
Definition: bond.cpp:36
static void recursiveCollectBondedAtoms(LAMMPS_NS::tagint &atom_id, std::vector< LAMMPS_NS::tagint > &delids_local, TAGINT_SET &delids_set, ATOM2BONDS_MAP &atomID2bonds)
Definition: bond.cpp:121
static bool atomHasBonds(const LAMMPS_NS::tagint &iatom_id, ATOM2BONDS_MAP &atomID2bonds)
Definition: bond.cpp:115
~Bond()
Definition: bond.cpp:31
int bond_type
Definition: bond.h:60
Declarations for LAMMPS wrapper functions.
std::unordered_map< LAMMPS_NS::tagint, BOND_VECTOR > ATOM2BONDS_MAP
maps atom IDs to their associated PAPRECA::BOND_VECTOR to allow easy access of bonds and bond types.
Definition: bond.h:46
std::vector< Bond > BOND_VECTOR
Definition: bond.h:44
std::unordered_set< LAMMPS_NS::tagint > TAGINT_SET
Definition: utilities.h:185