PAPRECA hybrid off-lattice kMC/MD simulator  2.0.0 (17 September 2024)
PAPRECA::PredefinedBondForm Class Reference

child class of PAPRECA::PredefinedReaction associated with bond formation events. This is a Predefined template for PAPRECA::BondForm events. More...

#include <event_list.h>

Inheritance diagram for PAPRECA::PredefinedBondForm:
Collaboration diagram for PAPRECA::PredefinedBondForm:

Public Member Functions

 PredefinedBondForm (const int &atom1_type_in, const int &atom2_type_in, const int &bond_type_in, const double &rate_in, const double &bond_dist_sqr_in, const int &delete_atoms_in, const int &lone_candidates_in, const bool &same_mol_in)
 
 PredefinedBondForm (const int &atom1_type_in, const int &atom2_type_in, const int &bond_type_in, const double &rate_in, const double &bond_dist_sqr_in, const int &delete_atoms_in, const int &lone_candidates_in, const bool &same_mol_in, const std::vector< int > &catalyzing_types_in)
 
 ~PredefinedBondForm ()
 
const double & getBondDistSqr () const
 
const bool & isSameMol () const
 
const int & isDeleteAtoms () const
 
const int & isLone () const
 
- Public Member Functions inherited from PAPRECA::PredefinedReaction
 PredefinedReaction (const int &atom1_type_in, const int &atom2_type_in, const int &bond_type_in, const double &rate_in)
 
 PredefinedReaction (const int &atom1_type_in, const int &atom2_type_in, const int &bond_type_in, const double &rate_in, const std::vector< int > &catalyzing_types_in)
 
 ~PredefinedReaction ()
 
const int & getAtom1Type () const
 
const int & getAtom2Type () const
 
const int & getBondType () const
 
const double & getRate () const
 
const std::vector< int > & getCatalyzingTypes () const
 
const bool & isForm () const
 

Protected Attributes

double bond_dist_sqr = 0.0
 if the distance between atom1 and atom2 is less than or equal to bond_dist then the formation event is valid. More...
 
bool same_mol = false
 if true, then bond formation can occur even if the molecule IDs of atom1 and atom2 are the same. More...
 
int delete_atoms = 0
 if delete_atoms=1, then atom1 and atom2 are deleted after the formation event. This variable is "technically boolean" but defined as an int to facilitate the communication of data among MPI processes (MPI_INT is supported by the MPI protocol). More...
 
int lone_candidates = 0
 Lones are atoms without any bonds. If line_candidates=true, then both atom1 and atom2 have to be "lone". Otherwise, the formation event is invalid. More...
 
- Protected Attributes inherited from PAPRECA::PredefinedReaction
int atom1_type = -1
 
int atom2_type = -2
 
int bond_type = -3
 
double rate = 0.0
 
std::vector< int > catalyzing_types
 these types of atoms have to be present in the neighborhood of atom1 or atom2. Otherwise, the reaction event is invalid. If the catalyzing_types vector is empty, the neighborhood of atom1 and atom2 is not scanned for catalyzing types. More...
 
bool is_form = false
 this variable allows us to differentiate between the parent class PAPRECA::PredefinedReaction and the child class PAPRECA::PredefinedBondForm More...
 

Detailed Description

child class of PAPRECA::PredefinedReaction associated with bond formation events. This is a Predefined template for PAPRECA::BondForm events.

Constructor & Destructor Documentation

◆ PredefinedBondForm() [1/2]

PAPRECA::PredefinedBondForm::PredefinedBondForm ( const int &  atom1_type_in,
const int &  atom2_type_in,
const int &  bond_type_in,
const double &  rate_in,
const double &  bond_dist_sqr_in,
const int &  delete_atoms_in,
const int &  lone_candidates_in,
const bool &  same_mol_in 
)

◆ PredefinedBondForm() [2/2]

PAPRECA::PredefinedBondForm::PredefinedBondForm ( const int &  atom1_type_in,
const int &  atom2_type_in,
const int &  bond_type_in,
const double &  rate_in,
const double &  bond_dist_sqr_in,
const int &  delete_atoms_in,
const int &  lone_candidates_in,
const bool &  same_mol_in,
const std::vector< int > &  catalyzing_types_in 
)

◆ ~PredefinedBondForm()

PAPRECA::PredefinedBondForm::~PredefinedBondForm ( )

Member Function Documentation

◆ getBondDistSqr()

const double & PAPRECA::PredefinedBondForm::getBondDistSqr ( ) const

◆ isDeleteAtoms()

const int & PAPRECA::PredefinedBondForm::isDeleteAtoms ( ) const

◆ isLone()

const int & PAPRECA::PredefinedBondForm::isLone ( ) const

◆ isSameMol()

const bool & PAPRECA::PredefinedBondForm::isSameMol ( ) const

Member Data Documentation

◆ bond_dist_sqr

double PAPRECA::PredefinedBondForm::bond_dist_sqr = 0.0
protected

if the distance between atom1 and atom2 is less than or equal to bond_dist then the formation event is valid.

◆ delete_atoms

int PAPRECA::PredefinedBondForm::delete_atoms = 0
protected

if delete_atoms=1, then atom1 and atom2 are deleted after the formation event. This variable is "technically boolean" but defined as an int to facilitate the communication of data among MPI processes (MPI_INT is supported by the MPI protocol).

◆ lone_candidates

int PAPRECA::PredefinedBondForm::lone_candidates = 0
protected

Lones are atoms without any bonds. If line_candidates=true, then both atom1 and atom2 have to be "lone". Otherwise, the formation event is invalid.

◆ same_mol

bool PAPRECA::PredefinedBondForm::same_mol = false
protected

if true, then bond formation can occur even if the molecule IDs of atom1 and atom2 are the same.


The documentation for this class was generated from the following files: