chombo-discharge
CD_ItoKMCSurfaceReactionSetImplem.H
Go to the documentation of this file.
1 /* chombo-discharge
2  * Copyright © 2023 SINTEF Energy Research.
3  * Please refer to Copyright.txt and LICENSE in the chombo-discharge root directory.
4  */
5 
12 #ifndef CD_ItoKMCSurfaceReactionSetImplem_H
13 #define CD_ItoKMCSurfaceReactionSetImplem_H
14 
15 // Our includes
17 #include <CD_NamespaceHeader.H>
18 
19 using namespace Physics::ItoKMC;
20 
22 {}
23 
24 inline void
25 ItoKMCSurfaceReactionSet::add(const size_t a_speciesIndex,
26  const ItoKMCSurfaceReaction& a_reaction,
27  const ItoKMCSurfaceReactionSet::Surface a_surface,
28  const ItoKMCSurfaceReactionSet::Species a_speciesType) noexcept
29 {
30  if (a_surface == Surface::Dielectric) {
31  if (a_speciesType == Species::Plasma) {
32  m_dielectricPlasmaReactions[a_speciesIndex].add(a_reaction);
33  }
34  else if (a_speciesType == Species::Photon) {
35  m_dielectricPhotonReactions[a_speciesIndex].add(a_reaction);
36  }
37  else {
38  MayDay::Error("ItoKMCSurfaceReaction::add - logic bust 1");
39  }
40  }
41  else if (a_surface == Surface::Electrode) {
42  if (a_speciesType == Species::Plasma) {
43  m_electrodePlasmaReactions[a_speciesIndex].add(a_reaction);
44  }
45  else if (a_speciesType == Species::Photon) {
46  m_electrodePhotonReactions[a_speciesIndex].add(a_reaction);
47  }
48  else {
49  MayDay::Error("ItoKMCSurfaceReaction::add - logic bust 2");
50  }
51  }
52  else {
53  MayDay::Error("ItoKMCSurfaceReaction::add - logic bust 3");
54  }
55 }
56 
57 inline const std::map<size_t, ItoKMCSurfaceReactions>&
59 {
61 }
62 
63 inline const std::map<size_t, ItoKMCSurfaceReactions>&
65 {
67 }
68 
69 inline const std::map<size_t, ItoKMCSurfaceReactions>&
71 {
73 }
74 
75 inline const std::map<size_t, ItoKMCSurfaceReactions>&
77 {
79 }
80 
81 #include <CD_NamespaceFooter.H>
82 
83 #endif
Declaration of a class that encapsulates a set of secondary emission reactions.
std::map< size_t, ItoKMCSurfaceReactions > m_dielectricPlasmaReactions
Dielectric reaction set where outgoing species is a plasma species.
Definition: CD_ItoKMCSurfaceReactionSet.H:96
Species
Local enum for specifying species type.
Definition: CD_ItoKMCSurfaceReactionSet.H:41
virtual ~ItoKMCSurfaceReactionSet() noexcept
Destructor.
Definition: CD_ItoKMCSurfaceReactionSetImplem.H:21
std::map< size_t, ItoKMCSurfaceReactions > m_dielectricPhotonReactions
Dielectric reaction set where outgoing species is a photon species.
Definition: CD_ItoKMCSurfaceReactionSet.H:101
void add(const size_t a_speciesIndex, const ItoKMCSurfaceReaction &a_reaction, const ItoKMCSurfaceReactionSet::Surface a_surface, const ItoKMCSurfaceReactionSet::Species a_speciesType) noexcept
Add a reaction @πaram[in] a_speciesIndex Species index.
Definition: CD_ItoKMCSurfaceReactionSetImplem.H:25
std::map< size_t, ItoKMCSurfaceReactions > m_electrodePlasmaReactions
Electrode reaction set where outgoing species is a plasma species.
Definition: CD_ItoKMCSurfaceReactionSet.H:106
Surface
Local enum for specifying surface type.
Definition: CD_ItoKMCSurfaceReactionSet.H:32
const std::map< size_t, ItoKMCSurfaceReactions > & getElectrodePhotonReactions() const noexcept
Get the electrode surface reactions where outgoing species is a plasma species.
Definition: CD_ItoKMCSurfaceReactionSetImplem.H:76
const std::map< size_t, ItoKMCSurfaceReactions > & getDielectricPlasmaReactions() const noexcept
Get the dielectric surface reactions where outgoing species is a plasma species.
Definition: CD_ItoKMCSurfaceReactionSetImplem.H:58
std::map< size_t, ItoKMCSurfaceReactions > m_electrodePhotonReactions
Electrode reaction set where outgoing species is a photon species.
Definition: CD_ItoKMCSurfaceReactionSet.H:111
const std::map< size_t, ItoKMCSurfaceReactions > & getDielectricPhotonReactions() const noexcept
Get the dielectric surface reactions where outgoing species is a photon species.
Definition: CD_ItoKMCSurfaceReactionSetImplem.H:64
const std::map< size_t, ItoKMCSurfaceReactions > & getElectrodePlasmaReactions() const noexcept
Get the electrode surface reactions where outgoing species is a plasma species.
Definition: CD_ItoKMCSurfaceReactionSetImplem.H:70
Reaction class for describing secondary emissions due to a single outgoing particle in ItoKMCPhysics.
Definition: CD_ItoKMCSurfaceReaction.H:32