PAPRECA hybrid off-lattice kMC/MD simulator  2.0.0 (17 September 2024)
PAPRECA::PredefinedEventsCatalog Class Reference

General class that stores ALL the predefined events in the system. You can consider this as the Predefined Catalog of Events. More...

#include <event_list.h>

Private Member Functions

void deletePredefinedDepositionsFromMap ()
 
void deletePredefinedDiffusionsFromMap ()
 
void deletePredefinedBondFormsFromMap ()
 
void clearBondsMaxMap ()
 
void deletePredefinedBondBreaksFromMap ()
 
void deletePredefinedMonoatomicDesorptionsFromMap ()
 
 PredefinedEventsCatalog ()
 
 ~PredefinedEventsCatalog ()
 

Private Attributes

INT_SET bond_breaks_set
 Set of ints (representing bond types). More...
 
TYPE2REACTION_MAP bond_breaks_map
 Mapping breaking bond types to corresponding predefined bond break event. More...
 
PAIR_SET bond_forms_set
 Set of bond formable pair of ints (representing types of atoms). More...
 
PAIR2BONDFORM_MAP bond_forms_map
 Mapping pair of ints to corresponding predefined bond formation event. More...
 
INT2INT_MAP bonds_max
 Limiting the maximum number of bonds per atom type. More...
 
INT2INTSMAP_MAP bondtypes_max
 This can be used if you want to limit the number of specific bonds that an atom type can form. This is a map to a map of ints. You give this map an int (atom type) and it returns a map. You give the returned map another int (bond type) and it returns the max number of bond types. More...
 
INT_SET diffusions_set
 Set of diffusable types. More...
 
TYPE2DIFFUSION_MAP diffusions_map
 Mapping diffusable type to corresponding diffusion event. More...
 
INT_SET depositions_set
 Set of atom types (ints) that can be parents to deposition events. More...
 
TYPE2DEPOSITION_MAP depositions_map
 Mapping atom type to corresponding deposition event. More...
 
INT_SET monodes_set
 Set of atom types (ints) that can be parents to monoatomic desorption events. More...
 
TYPE2MONODES_MAP monodes_map
 Mapping atom type to corresponding desorption event. More...
 

Friends

class PaprecaConfig
 

Detailed Description

General class that stores ALL the predefined events in the system. You can consider this as the Predefined Catalog of Events.

Notice that in many cases we use a set and a map, even though the map/set keys are identical. We do that to search on sets but retrieve values from the map. This is faster than iterating a map and getting mapped values from the map. The drawback is that it requires a little bit more RAM (as you store the same key in a set AND a map).

Constructor & Destructor Documentation

◆ PredefinedEventsCatalog()

PAPRECA::PredefinedEventsCatalog::PredefinedEventsCatalog ( )
private

◆ ~PredefinedEventsCatalog()

PAPRECA::PredefinedEventsCatalog::~PredefinedEventsCatalog ( )
private

Member Function Documentation

◆ clearBondsMaxMap()

void PAPRECA::PredefinedEventsCatalog::clearBondsMaxMap ( )
private

◆ deletePredefinedBondBreaksFromMap()

void PAPRECA::PredefinedEventsCatalog::deletePredefinedBondBreaksFromMap ( )
private

◆ deletePredefinedBondFormsFromMap()

void PAPRECA::PredefinedEventsCatalog::deletePredefinedBondFormsFromMap ( )
private

◆ deletePredefinedDepositionsFromMap()

void PAPRECA::PredefinedEventsCatalog::deletePredefinedDepositionsFromMap ( )
private

◆ deletePredefinedDiffusionsFromMap()

void PAPRECA::PredefinedEventsCatalog::deletePredefinedDiffusionsFromMap ( )
private

◆ deletePredefinedMonoatomicDesorptionsFromMap()

void PAPRECA::PredefinedEventsCatalog::deletePredefinedMonoatomicDesorptionsFromMap ( )
private

Friends And Related Function Documentation

◆ PaprecaConfig

friend class PaprecaConfig
friend

Member Data Documentation

◆ bond_breaks_map

TYPE2REACTION_MAP PAPRECA::PredefinedEventsCatalog::bond_breaks_map
private

Mapping breaking bond types to corresponding predefined bond break event.

◆ bond_breaks_set

INT_SET PAPRECA::PredefinedEventsCatalog::bond_breaks_set
private

Set of ints (representing bond types).

◆ bond_forms_map

PAIR2BONDFORM_MAP PAPRECA::PredefinedEventsCatalog::bond_forms_map
private

Mapping pair of ints to corresponding predefined bond formation event.

◆ bond_forms_set

PAIR_SET PAPRECA::PredefinedEventsCatalog::bond_forms_set
private

Set of bond formable pair of ints (representing types of atoms).

◆ bonds_max

INT2INT_MAP PAPRECA::PredefinedEventsCatalog::bonds_max
private

Limiting the maximum number of bonds per atom type.

◆ bondtypes_max

INT2INTSMAP_MAP PAPRECA::PredefinedEventsCatalog::bondtypes_max
private

This can be used if you want to limit the number of specific bonds that an atom type can form. This is a map to a map of ints. You give this map an int (atom type) and it returns a map. You give the returned map another int (bond type) and it returns the max number of bond types.

◆ depositions_map

TYPE2DEPOSITION_MAP PAPRECA::PredefinedEventsCatalog::depositions_map
private

Mapping atom type to corresponding deposition event.

◆ depositions_set

INT_SET PAPRECA::PredefinedEventsCatalog::depositions_set
private

Set of atom types (ints) that can be parents to deposition events.

◆ diffusions_map

TYPE2DIFFUSION_MAP PAPRECA::PredefinedEventsCatalog::diffusions_map
private

Mapping diffusable type to corresponding diffusion event.

◆ diffusions_set

INT_SET PAPRECA::PredefinedEventsCatalog::diffusions_set
private

Set of diffusable types.

◆ monodes_map

TYPE2MONODES_MAP PAPRECA::PredefinedEventsCatalog::monodes_map
private

Mapping atom type to corresponding desorption event.

◆ monodes_set

INT_SET PAPRECA::PredefinedEventsCatalog::monodes_set
private

Set of atom types (ints) that can be parents to monoatomic desorption events.


The documentation for this class was generated from the following files: