62             Event( 
const double &rate_in , 
const std::string &type_in );
 
   69             void setRate( 
const double &rate_in );
 
   70             const std::string &
getType( ) 
const;
 
   73             static void fillRatesArr( 
double *event_rates , 
const std::vector< Event* > &events );
 
   74             static void fillRatesVec( std::vector< double > &event_rates , 
const std::vector< Event* > &events );
 
   75             static std::vector< double > 
getRatesVec( 
const std::vector< Event* > &events ); 
 
   76             static double getSumOfRates( 
const std::vector< Event* > &events ); 
 
   93             Reaction( 
const double &rate_in , 
const LAMMPS_NS::tagint &atom1id_in , 
const LAMMPS_NS::tagint &atom2id_in , 
const int &bond_type_in );
 
  100             void initialize( 
const LAMMPS_NS::tagint &atom1id_in , 
const LAMMPS_NS::tagint &atom2id_in , 
const int &bond_type_in , 
const double &rate_in);
 
  102             void assignAtom1( 
const LAMMPS_NS::tagint &atom1id_in );
 
  103             void assignAtom2( 
const LAMMPS_NS::tagint &atom2id_in );
 
  121             BondBreak( 
const double &rate_in , 
const LAMMPS_NS::tagint &atom1id_in , 
const LAMMPS_NS::tagint &atom2id_in , 
const int &bond_type_in , 
PredefinedReaction *break_teamplate_in );
 
  141             BondForm( 
const double &rate_in , 
const LAMMPS_NS::tagint &atom1id_in , 
const LAMMPS_NS::tagint &atom2id_in , 
const int &bond_type_in , 
PredefinedBondForm *form_template_in );
 
  162             Deposition( 
const double &rate_in , 
const double site_pos_in[3] , 
const double rot_pos_in[3] , 
const double &rot_theta_in , 
const int &mol_id_in , 
const std::string &mol_name_in , 
PredefinedDeposition *depo_template_in );
 
  194             Diffusion( 
const double &rate_in , 
const double vacancy_pos_in[3] , 
const LAMMPS_NS::tagint &parent_id_in , 
const int &parent_type_in , 
const int &is_displacive_in , 
const int &diffused_type_in , 
PredefinedDiffusionHop *diff_template_in );
 
child of PAPRECA::Reaction dedicated to bond-breaking events.
Definition: event.h:114
 
PredefinedReaction * getBreakTemplate()
Definition: event.cpp:183
 
BondBreak(const double &rate_in, const LAMMPS_NS::tagint &atom1id_in, const LAMMPS_NS::tagint &atom2id_in, const int &bond_type_in, PredefinedReaction *break_teamplate_in)
Definition: event.cpp:177
 
~BondBreak()
Definition: event.cpp:180
 
PredefinedReaction * break_template
Definition: event.h:129
 
Child of PAPRECA::Event dedicated to monoatomic or molecular adsorption.
Definition: event.h:154
 
std::string mol_name
Definition: event.h:179
 
double rot_theta
Definition: event.h:177
 
double * getSitePos()
Definition: event.cpp:215
 
const double & getRotTheta() const
Definition: event.cpp:217
 
double * getRotPos()
Definition: event.cpp:216
 
Deposition(const double &rate_in, const double site_pos_in[3], const double rot_pos_in[3], const double &rot_theta_in, const int &mol_id_in, const std::string &mol_name_in, PredefinedDeposition *depo_template_in)
Definition: event.cpp:208
 
double rot_pos[3]
Definition: event.h:176
 
double site_pos[3]
Definition: event.h:175
 
const int & getMolId() const
Definition: event.cpp:218
 
PredefinedDeposition * depo_template
Definition: event.h:183
 
~Deposition()
Definition: event.cpp:212
 
PredefinedDeposition * getDepoTemplate()
Definition: event.cpp:220
 
int mol_id
Definition: event.h:178
 
const std::string & getMolName() const
Definition: event.cpp:219
 
child of PAPRECA::Event class dedicated to diffusion events.
Definition: event.h:187
 
PredefinedDiffusionHop * diff_template
Definition: event.h:214
 
const LAMMPS_NS::tagint & getParentId() const
Definition: event.cpp:235
 
int diffused_type
Definition: event.h:211
 
int parent_type
Definition: event.h:209
 
LAMMPS_NS::tagint parent_id
Definition: event.h:208
 
double vacancy_pos[3]
Definition: event.h:206
 
int is_displacive
Displacive diffusion events "displace" the parent atom. This is defined as an integer (and not as boo...
Definition: event.h:210
 
const int & getParentType() const
Definition: event.cpp:236
 
Diffusion(const double &rate_in, const double vacancy_pos_in[3], const LAMMPS_NS::tagint &parent_id_in, const int &parent_type_in, const int &is_displacive_in, const int &diffused_type_in, PredefinedDiffusionHop *diff_template_in)
Definition: event.cpp:228
 
~Diffusion()
Definition: event.cpp:231
 
double * getVacancyPos()
Definition: event.cpp:234
 
PredefinedDiffusionHop * getDiffTemplate()
Definition: event.cpp:239
 
const int & getDiffusedType() const
Definition: event.cpp:238
 
int isDisplacive()
Definition: event.cpp:237
 
Parent class for PAPRECA events.
Definition: event.h:46
 
static void fillRatesArr(double *event_rates, const std::vector< Event * > &events)
Definition: event.cpp:43
 
static std::vector< double > getRatesVec(const std::vector< Event * > &events)
Definition: event.cpp:74
 
void assignType(const std::string &type_in)
Definition: event.cpp:37
 
void setRate(const double &rate_in)
Definition: event.cpp:39
 
static void deleteAndClearLocalEvents(LAMMPS_NS::LAMMPS *lmp, std::vector< Event * > &events_local)
Definition: event.cpp:99
 
std::string type
Definition: event.h:81
 
double rate
Definition: event.h:80
 
const std::string & getType() const
Definition: event.cpp:40
 
const double & getRate() const
Definition: event.cpp:38
 
virtual ~Event()
Definition: event.cpp:33
 
Event()
Definition: event.cpp:31
 
static double getSumOfRates(const std::vector< Event * > &events)
Definition: event.cpp:93
 
void assignRate(const double &rate_in)
Definition: event.cpp:36
 
static void fillRatesVec(std::vector< double > &event_rates, const std::vector< Event * > &events)
Definition: event.cpp:59
 
child of PAPRECA::Event dedicated to monoatomic desorption events (i.e., where a single atom is eject...
Definition: event.h:219
 
PredefinedMonoatomicDesorption * getMonoDesTemplate()
Definition: event.cpp:250
 
const LAMMPS_NS::tagint & getParentId() const
Definition: event.cpp:248
 
const int & getParentType() const
Definition: event.cpp:249
 
LAMMPS_NS::tagint parent_id
Definition: event.h:235
 
~MonoatomicDesorption()
Definition: event.cpp:245
 
int parent_type
Definition: event.h:236
 
MonoatomicDesorption(const double &rate_in, const LAMMPS_NS::tagint &parent_id_in, const int &parent_type_in, PredefinedMonoatomicDesorption *des_template_in)
Definition: event.cpp:244
 
PredefinedMonoatomicDesorption * monodes_template
Definition: event.h:239
 
class associated with deposition events. This is a Predefined template for PAPRECA::Deposition events...
Definition: event_list.h:153
 
class associated with diffusion events. This is a Predefined template for PAPRECA::DiffusionHop event...
Definition: event_list.h:120
 
associated with monoatomic desorption events. This is a Predefined template for PAPRECA::MonoatomicDe...
Definition: event_list.h:205
 
class associated with reaction events. This is a Predefined template for PAPRECA::BondBreak and PAPRE...
Definition: event_list.h:55
 
Child of PAPRECA:Event and parent of PAPRECA::BondBreak and PAPRECA::BondForm classes.
Definition: event.h:86
 
void assignBondType(const int &bond_type_ind)
Definition: event.cpp:148
 
int bond_type
Definition: event.h:109
 
LAMMPS_NS::tagint atom1id
Definition: event.h:108
 
const int & getBondType() const
Definition: event.cpp:145
 
Reaction(const double &rate_in, const LAMMPS_NS::tagint &atom1id_in, const LAMMPS_NS::tagint &atom2id_in, const int &bond_type_in)
Definition: event.cpp:139
 
void assignAtom1(const LAMMPS_NS::tagint &atom1id_in)
Definition: event.cpp:146
 
void initialize(const LAMMPS_NS::tagint &atom1id_in, const LAMMPS_NS::tagint &atom2id_in, const int &bond_type_in, const double &rate_in)
Definition: event.cpp:150
 
void assignAtom2(const LAMMPS_NS::tagint &atom2id_in)
Definition: event.cpp:147
 
void resetEvent()
Definition: event.cpp:161
 
LAMMPS_NS::tagint atom2id
Definition: event.h:108
 
~Reaction()
Definition: event.cpp:140
 
const LAMMPS_NS::tagint & getAtom1ID() const
Definition: event.cpp:143
 
const LAMMPS_NS::tagint & getAtom2ID() const
Definition: event.cpp:144
 
Declarations of PredefinedEvent classes.
 
Declarations for LAMMPS wrapper functions.
 
Utility functions (e.g., for arrays, strings etc.) and typedefs used in papreca.cpp main and in the o...