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

Declarations of PredefinedEvent classes. More...

#include <utility>
#include <unordered_map>
#include <string>
#include <vector>
#include <unordered_set>
#include <mpi.h>
#include "lammps.h"
#include "utilities.h"
Include dependency graph for event_list.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  PAPRECA::PredefinedReaction
 class associated with reaction events. This is a Predefined template for PAPRECA::BondBreak and PAPRECA::BondForm events. More...
 
class  PAPRECA::PredefinedBondForm
 child class of PAPRECA::PredefinedReaction associated with bond formation events. This is a Predefined template for PAPRECA::BondForm events. More...
 
class  PAPRECA::PredefinedDiffusionHop
 class associated with diffusion events. This is a Predefined template for PAPRECA::DiffusionHop events. More...
 
class  PAPRECA::PredefinedDeposition
 class associated with deposition events. This is a Predefined template for PAPRECA::Deposition events. More...
 
class  PAPRECA::PredefinedMonoatomicDesorption
 associated with monoatomic desorption events. This is a Predefined template for PAPRECA::MonoatomicDesorption events. More...
 
class  PAPRECA::PredefinedEventsCatalog
 General class that stores ALL the predefined events in the system. You can consider this as the Predefined Catalog of Events. More...
 

Namespaces

 PAPRECA
 

Typedefs

typedef std::unordered_map< int, PredefinedReaction * > PAPRECA::TYPE2REACTION_MAP
 
typedef std::unordered_map< INT_PAIR, PredefinedBondForm *, PairHash > PAPRECA::PAIR2BONDFORM_MAP
 
typedef std::unordered_map< int, PredefinedDiffusionHop * > PAPRECA::TYPE2DIFFUSION_MAP
 
typedef std::unordered_map< int, PredefinedDeposition * > PAPRECA::TYPE2DEPOSITION_MAP
 
typedef std::unordered_map< int, PredefinedMonoatomicDesorption * > PAPRECA::TYPE2MONODES_MAP
 

Detailed Description

Declarations of PredefinedEvent classes.

DISCLAIMER: Predefined Event classes are not to be confused with PAPRECA::Event objects. For more information about Event objects please refer to the relevant header and/or the documentation (event.h and event.cpp). Objects of Predefined Events classes are associated with the Predefined Catalog of kMC events. Objects of PredefinedEvent classes store information (e.g., rate of events, participating atom types, mol names, etc.) regarding ACCEPTABLE kMC events. ALL MPI PROCS are initialized (by the input file) WITH THE SAME Predefined Event objects that do not change during the run (i.e., the Catalog of Events is PREDEFINED). It should be straightforward to extend the software to include new PREDEFINED events. A new PREDEFINED event class can be developed to enable the management of new styles of predefined events by the PredefinedEventsCatalog class. New Predefined Event style implementations should be placed in this header.