24 #ifndef EVENT_EXECUTE_H
25 #define EVENT_EXECUTE_H
53 void executeBondForm( LAMMPS_NS::LAMMPS *lmp ,
const int &proc_id ,
const int &nprocs ,
const int &event_proc , Event *selected_event );
56 void executeBondBreak( LAMMPS_NS::LAMMPS *lmp ,
const int &proc_id ,
const int &nprocs ,
const int &event_proc , Event *selected_event ,
ATOM2BONDS_MAP &atomID2bonds );
60 void deserializeDepoTransfData(
double *depo_data ,
double *site_pos ,
double *rot_pos ,
double &rot_theta ,
double &insertion_vel );
61 void executeDeposition( LAMMPS_NS::LAMMPS *lmp , PaprecaConfig &papreca_config ,
const int &proc_id ,
const int &nprocs ,
const int &event_proc , Event *selected_event );
68 void executeDiffusion( LAMMPS_NS::LAMMPS *lmp , PaprecaConfig &papreca_config ,
const int &proc_id ,
const int &nprocs ,
const int &event_proc , Event *selected_event );
71 void executeMonoatomicDesorption( LAMMPS_NS::LAMMPS *lmp ,
const int &proc_id ,
const int &nprocs ,
const int &event_proc , Event *selected_event );
74 void printStepInfo( PaprecaConfig &papreca_config ,
const int &KMC_loopid ,
const double &time ,
const double &film_height ,
const double &proc_rates_sum );
75 void executeEvent( LAMMPS_NS::LAMMPS *lmp , PaprecaConfig &papreca_config ,
const int &proc_id ,
const int &nprocs ,
const int &event_proc ,
const int &event_num ,
char *event_type , std::vector< Event* > &events_local ,
ATOM2BONDS_MAP &atomID2bonds );
76 int selectAndExecuteEvent( LAMMPS_NS::LAMMPS *lmp ,
int &KMC_loopid ,
double &time ,
char *event_type ,
int &proc_id ,
int &nprocs , PaprecaConfig &papreca_config , std::vector< Event* > &events_local ,
ATOM2BONDS_MAP &atomID2bonds ,
double &film_height );
Declarations for PAPRECA::Bond.
Declarations for PAPRECA:Event class and its children classes.
Declarations of PredefinedEvent classes.
Declarations for functions that (stochastically) select events for execution.
void executeDeposition(LAMMPS_NS::LAMMPS *lmp, PaprecaConfig &papreca_config, const int &proc_id, const int &nprocs, const int &event_proc, Event *selected_event)
Definition: event_execute.cpp:186
void executeMonoatomicDesorption(LAMMPS_NS::LAMMPS *lmp, const int &proc_id, const int &nprocs, const int &event_proc, Event *selected_event)
Definition: event_execute.cpp:351
void executeDiffusion(LAMMPS_NS::LAMMPS *lmp, PaprecaConfig &papreca_config, const int &proc_id, const int &nprocs, const int &event_proc, Event *selected_event)
Definition: event_execute.cpp:298
void fillFormTransferDataArr(BondForm *bond_form, int *form_data)
Definition: event_execute.cpp:28
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
void fillIntegerDiffDataTransfArray(int *diff_intdata, Diffusion *diff)
Definition: event_execute.cpp:244
void deserializeIntegerDiffDataArr(int *diff_intdata, int &parent_type, int &is_displacive, int &diffused_type)
Definition: event_execute.cpp:271
void deserializeDoubleDiffDataArr(double *diff_doubledata, double *vac_pos, double &insertion_vel)
Definition: event_execute.cpp:286
void executeBondBreak(LAMMPS_NS::LAMMPS *lmp, const int &proc_id, const int &nprocs, const int &event_proc, Event *selected_event, ATOM2BONDS_MAP &atomID2bonds)
Definition: event_execute.cpp:99
void executeEvent(LAMMPS_NS::LAMMPS *lmp, PaprecaConfig &papreca_config, const int &proc_id, const int &nprocs, const int &event_proc, const int &event_num, char *event_type, std::vector< Event * > &events_local, ATOM2BONDS_MAP &atomID2bonds)
Definition: event_execute.cpp:402
void fillDoubleDiffDataTransfArray(double *diff_doubledata, Diffusion *diff)
Definition: event_execute.cpp:258
void deserializeDepoTransfData(double *depo_data, double *site_pos, double *rot_pos, double &rot_theta, double &insertion_vel)
Definition: event_execute.cpp:158
void executeBondForm(LAMMPS_NS::LAMMPS *lmp, const int &proc_id, const int &nprocs, const int &event_proc, Event *selected_event)
Definition: event_execute.cpp:55
void deserializeFormTransferDataArr(int *form_data, int &bond_type, int &delete_atoms)
Definition: event_execute.cpp:42
int selectAndExecuteEvent(LAMMPS_NS::LAMMPS *lmp, int &KMC_loopid, double &time, char *event_type, int &proc_id, int &nprocs, PaprecaConfig &papreca_config, std::vector< Event * > &events_local, ATOM2BONDS_MAP &atomID2bonds, double &film_height)
Definition: event_execute.cpp:451
void fillDepoDataTransfArr(double *depo_data, Deposition *depo)
Definition: event_execute.cpp:133
void printStepInfo(PaprecaConfig &papreca_config, const int &KMC_loopid, const double &time, const double &film_height, const double &proc_rates_sum)
Definition: event_execute.cpp:383
Declarations for PAPRECA::PaprecaConfig class storing settings and global variables.
Functions that enable the communication of error/warning messages to the terminal and coordinate the ...
Declarations for functions that (stochastically) advance the simulation time.
Utility functions (e.g., for arrays, strings etc.) and typedefs used in papreca.cpp main and in the o...