24 #ifndef EVENT_EXECUTE_H
25 #define EVENT_EXECUTE_H
53 void executeBondForm( LAMMPS_NS::LAMMPS *lmp , PaprecaConfig &papreca_config ,
int &KMC_loopid ,
double &time ,
const int &proc_id ,
const int &nprocs ,
const int &event_proc , Event *selected_event );
56 void executeBondBreak( LAMMPS_NS::LAMMPS *lmp , PaprecaConfig &papreca_config ,
int &KMC_loopid ,
double &time ,
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 ,
int &KMC_loopid ,
double &time , PaprecaConfig &papreca_config ,
const int &proc_id ,
const int &nprocs ,
const int &event_proc , Event *selected_event );
68 void executeDiffusion( LAMMPS_NS::LAMMPS *lmp ,
int &KMC_loopid ,
double &time , PaprecaConfig &papreca_config ,
const int &proc_id ,
const int &nprocs ,
const int &event_proc , Event *selected_event );
71 void executeMonoatomicDesorption( LAMMPS_NS::LAMMPS *lmp , PaprecaConfig &papreca_config ,
int &KMC_loopid ,
double &time ,
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 ,
int &KMC_loopid ,
double &time , 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 fillFormTransferDataArr(BondForm *bond_form, int *form_data)
Definition: event_execute.cpp:28
void executeBondForm(LAMMPS_NS::LAMMPS *lmp, PaprecaConfig &papreca_config, int &KMC_loopid, double &time, const int &proc_id, const int &nprocs, const int &event_proc, Event *selected_event)
Definition: event_execute.cpp:55
void executeMonoatomicDesorption(LAMMPS_NS::LAMMPS *lmp, PaprecaConfig &papreca_config, int &KMC_loopid, double &time, const int &proc_id, const int &nprocs, const int &event_proc, Event *selected_event)
Definition: event_execute.cpp:359
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 executeEvent(LAMMPS_NS::LAMMPS *lmp, int &KMC_loopid, double &time, 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:413
void fillIntegerDiffDataTransfArray(int *diff_intdata, Diffusion *diff)
Definition: event_execute.cpp:251
void deserializeIntegerDiffDataArr(int *diff_intdata, int &parent_type, int &is_displacive, int &diffused_type)
Definition: event_execute.cpp:278
void executeBondBreak(LAMMPS_NS::LAMMPS *lmp, PaprecaConfig &papreca_config, int &KMC_loopid, double &time, const int &proc_id, const int &nprocs, const int &event_proc, Event *selected_event, ATOM2BONDS_MAP &atomID2bonds)
Definition: event_execute.cpp:100
void deserializeDoubleDiffDataArr(double *diff_doubledata, double *vac_pos, double &insertion_vel)
Definition: event_execute.cpp:293
void executeDeposition(LAMMPS_NS::LAMMPS *lmp, int &KMC_loopid, double &time, PaprecaConfig &papreca_config, const int &proc_id, const int &nprocs, const int &event_proc, Event *selected_event)
Definition: event_execute.cpp:191
void fillDoubleDiffDataTransfArray(double *diff_doubledata, Diffusion *diff)
Definition: event_execute.cpp:265
void deserializeDepoTransfData(double *depo_data, double *site_pos, double *rot_pos, double &rot_theta, double &insertion_vel)
Definition: event_execute.cpp:163
void executeDiffusion(LAMMPS_NS::LAMMPS *lmp, int &KMC_loopid, double &time, PaprecaConfig &papreca_config, const int &proc_id, const int &nprocs, const int &event_proc, Event *selected_event)
Definition: event_execute.cpp:305
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:462
void fillDepoDataTransfArr(double *depo_data, Deposition *depo)
Definition: event_execute.cpp:138
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:394
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...