PAPRECA hybrid off-lattice kMC/MD simulator  2.0.0 (17 September 2024)
event_detect.h File Reference

Declarations for functions that detect predefined events. More...

#include <vector>
#include <mpi.h>
#include "lammps.h"
#include "event.h"
#include "event_list.h"
#include "bond.h"
#include "papreca_config.h"
#include "lammps_wrappers.h"
#include "geometry_calc.h"
#include "utilities.h"
Include dependency graph for event_detect.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 PAPRECA
 

Functions

const bool PAPRECA::feCandidateHas4PO4Neibs (PaprecaConfig &papreca_config, PredefinedDiffusionHop *diff_template, LAMMPS_NS::tagint *atom_ids, int *atom_types, int *neighbors, int &neighbors_num, ATOM2BONDS_MAP &atomID2bonds)
 
void PAPRECA::getDiffPointCandidateCoords (LAMMPS_NS::LAMMPS *lmp, PaprecaConfig &papreca_config, double *iatom_xyz, double *candidate_xyz, PredefinedDiffusionHop *diff_template)
 
const bool PAPRECA::candidateDiffHasCollisions (LAMMPS_NS::LAMMPS *lmp, PaprecaConfig &papreca_config, int *neighbors, int &neighbors_num, double *candidate_xyz, const int &diffused_type, double *iatom_xyz, const int &iatom_type)
 
void PAPRECA::getDiffEventsFromAtom (LAMMPS_NS::LAMMPS *lmp, PaprecaConfig &papreca_config, const int &iatom, int *neighbors, int &neighbors_num, std::vector< Event * > &events_local, ATOM2BONDS_MAP &atomID2bonds)
 
const bool PAPRECA::atomIsInDepoScanRange (PaprecaConfig &papreca_config, double *iatom_xyz, double &film_height)
 
void PAPRECA::getDepoPointCandidateCoords (LAMMPS_NS::LAMMPS *lmp, PaprecaConfig &papreca_config, double *iatom_xyz, double *candidate_xyz, PredefinedDeposition *depo_template)
 
const bool PAPRECA::depoCandidateIsBelowRejectionHeight (PaprecaConfig &papreca_config, double *candidate_xyz, const double &film_height)
 
void PAPRECA::getMolCoords (LAMMPS_NS::LAMMPS *lmp, double **mol_xyz, double **mol_dx, const int &mol_natoms, double *candidate_center)
 
void PAPRECA::initMolCoordsArr (double ***mol_xyz, const int &mol_natoms)
 
void PAPRECA::deleteMolCoordsArr (double **mol_xyz, const int &mol_natoms)
 
bool PAPRECA::atomHasCollisionWithMolAtoms (LAMMPS_NS::LAMMPS *lmp, PaprecaConfig &papreca_config, double *atom_xyz, const int &atom_type, const int &mol_natoms, double **mol_xyz, int *mol_atomtype)
 
bool PAPRECA::candidateDepoHasCollisions (LAMMPS_NS::LAMMPS *lmp, const int &proc_id, const int &nprocs, PaprecaConfig &papreca_config, int *neighbors, int neighbors_num, double *candidate_center, double *iatom_xyz, const int &iatom_type, PredefinedDeposition *depo_template)
 
void PAPRECA::getDepoEventsFromAtom (LAMMPS_NS::LAMMPS *lmp, PaprecaConfig &papreca_config, const int &proc_id, const int &nprocs, const int &iatom, int *neighbors, int &neighbors_num, double &film_height, std::vector< Event * > &events_local)
 
const bool PAPRECA::headAtomIsCatalyzed (PredefinedReaction *reaction_template, int *atom_types, int *neighbors, int &neighbors_num)
 
void PAPRECA::getBondBreakingEventsFromAtom (LAMMPS_NS::LAMMPS *lmp, PaprecaConfig &papreca_config, const int &iatom, int *neighbors, int &neighbors_num, std::vector< Event * > &events_local, ATOM2BONDS_MAP &atomID2bonds)
 
const bool PAPRECA::atomsBelong2TheSameMol (const LAMMPS_NS::tagint &iatom_mol, const LAMMPS_NS::tagint &jneib_mol)
 
const bool PAPRECA::atomHasMaxBonds (PaprecaConfig &papreca_config, ATOM2BONDS_MAP &atomID2bonds, const LAMMPS_NS::tagint &atom_id, const int atom_type)
 
bool PAPRECA::bondBetweenAtomsExists (ATOM2BONDS_MAP &atomID2bonds, const LAMMPS_NS::tagint &atom1_id, const LAMMPS_NS::tagint &atom2_id)
 
const bool PAPRECA::atomCandidatesAreLone (const LAMMPS_NS::tagint atom1_id, const LAMMPS_NS::tagint atom2_id, ATOM2BONDS_MAP &atomID2bonds)
 
const bool PAPRECA::atomHasMaxBondTypes (PaprecaConfig &papreca_config, ATOM2BONDS_MAP &atomID2bonds, const LAMMPS_NS::tagint &atom_id, const int &atom_type, const int &bond_type)
 
void PAPRECA::getBondFormEventsFromAtom (LAMMPS_NS::LAMMPS *lmp, PaprecaConfig &papreca_config, const int &iatom, int *neighbors, int &neighbors_num, std::vector< Event * > &events_local, ATOM2BONDS_MAP &atomID2bonds)
 
void PAPRECA::getMonoDesEventsFromAtom (LAMMPS_NS::LAMMPS *lmp, PaprecaConfig &papreca_config, const int &iatom, std::vector< Event * > &events_local, ATOM2BONDS_MAP &atomID2bonds)
 
void PAPRECA::loopAtomsAndIdentifyEvents (LAMMPS_NS::LAMMPS *lmp, const int &proc_id, int &nprocs, const int &KMC_loopid, PaprecaConfig &papreca_config, std::vector< Event * > &events_local, ATOM2BONDS_MAP &atomID2bonds, double &film_height)
 

Detailed Description

Declarations for functions that detect predefined events.