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

child of PAPRECA::Event class dedicated to diffusion events. More...

#include <event.h>

Inheritance diagram for PAPRECA::Diffusion:
Collaboration diagram for PAPRECA::Diffusion:

Public Member Functions

 Diffusion (const double &rate_in, const double vacancy_pos_in[3], const LAMMPS_NS::tagint &parent_id_in, const int &parent_type_in, const int &is_displacive_in, const int &diffused_type_in, PredefinedDiffusionHop *diff_template_in)
 
 ~Diffusion ()
 
double * getVacancyPos ()
 
const LAMMPS_NS::tagint & getParentId () const
 
const int & getParentType () const
 
int isDisplacive ()
 
const int & getDiffusedType () const
 
PredefinedDiffusionHopgetDiffTemplate ()
 
- Public Member Functions inherited from PAPRECA::Event
 Event ()
 
 Event (const double &rate_in, const std::string &type_in)
 
virtual ~Event ()
 
void assignRate (const double &rate_in)
 
void assignType (const std::string &type_in)
 
const double & getRate () const
 
void setRate (const double &rate_in)
 
const std::string & getType () const
 

Protected Attributes

double vacancy_pos [3]
 
LAMMPS_NS::tagint parent_id = -1
 
int parent_type = -2
 
int is_displacive = 0
 Displacive diffusion events "displace" the parent atom. This is defined as an integer (and not as bool, even though in realitiy, it is a bool) to facilitate the transfering of data using MPI. More...
 
int diffused_type = -3
 
- Protected Attributes inherited from PAPRECA::Event
double rate
 
std::string type
 

Private Attributes

PredefinedDiffusionHopdiff_template = NULL
 

Additional Inherited Members

- Static Public Member Functions inherited from PAPRECA::Event
static void fillRatesArr (double *event_rates, const std::vector< Event * > &events)
 
static void fillRatesVec (std::vector< double > &event_rates, const std::vector< Event * > &events)
 
static std::vector< double > getRatesVec (const std::vector< Event * > &events)
 
static double getSumOfRates (const std::vector< Event * > &events)
 
static void deleteAndClearLocalEvents (LAMMPS_NS::LAMMPS *lmp, std::vector< Event * > &events_local)
 

Detailed Description

child of PAPRECA::Event class dedicated to diffusion events.

Constructor & Destructor Documentation

◆ Diffusion()

PAPRECA::Diffusion::Diffusion ( const double &  rate_in,
const double  vacancy_pos_in[3],
const LAMMPS_NS::tagint &  parent_id_in,
const int &  parent_type_in,
const int &  is_displacive_in,
const int &  diffused_type_in,
PredefinedDiffusionHop diff_template_in 
)

◆ ~Diffusion()

PAPRECA::Diffusion::~Diffusion ( )

Member Function Documentation

◆ getDiffTemplate()

PredefinedDiffusionHop * PAPRECA::Diffusion::getDiffTemplate ( )

◆ getDiffusedType()

const int & PAPRECA::Diffusion::getDiffusedType ( ) const

◆ getParentId()

const LAMMPS_NS::tagint & PAPRECA::Diffusion::getParentId ( ) const

◆ getParentType()

const int & PAPRECA::Diffusion::getParentType ( ) const

◆ getVacancyPos()

double * PAPRECA::Diffusion::getVacancyPos ( )

◆ isDisplacive()

int PAPRECA::Diffusion::isDisplacive ( )

Member Data Documentation

◆ diff_template

PredefinedDiffusionHop* PAPRECA::Diffusion::diff_template = NULL
private

◆ diffused_type

int PAPRECA::Diffusion::diffused_type = -3
protected

◆ is_displacive

int PAPRECA::Diffusion::is_displacive = 0
protected

Displacive diffusion events "displace" the parent atom. This is defined as an integer (and not as bool, even though in realitiy, it is a bool) to facilitate the transfering of data using MPI.

◆ parent_id

LAMMPS_NS::tagint PAPRECA::Diffusion::parent_id = -1
protected

◆ parent_type

int PAPRECA::Diffusion::parent_type = -2
protected

◆ vacancy_pos

double PAPRECA::Diffusion::vacancy_pos[3]
protected

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