chombo-discharge
CD_ItoKMCSurfaceReactionSet.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_ItoKMCSurfaceReactionSet_H
13 #define CD_ItoKMCSurfaceReactionSet_H
14 
15 // Our includes
17 #include <CD_NamespaceHeader.H>
18 
19 namespace Physics {
20  namespace ItoKMC {
21 
26  {
27  public:
31  enum class Surface
32  {
33  Dielectric,
34  Electrode
35  };
36 
40  enum class Species
41  {
42  Plasma,
43  Photon
44  };
49 
53  virtual inline ~ItoKMCSurfaceReactionSet() noexcept;
54 
62  inline void
63  add(const size_t a_speciesIndex,
64  const ItoKMCSurfaceReaction& a_reaction,
65  const ItoKMCSurfaceReactionSet::Surface a_surface,
66  const ItoKMCSurfaceReactionSet::Species a_speciesType) noexcept;
67 
71  const std::map<size_t, ItoKMCSurfaceReactions>&
72  getDielectricPlasmaReactions() const noexcept;
73 
77  const std::map<size_t, ItoKMCSurfaceReactions>&
78  getDielectricPhotonReactions() const noexcept;
79 
83  const std::map<size_t, ItoKMCSurfaceReactions>&
84  getElectrodePlasmaReactions() const noexcept;
85 
89  const std::map<size_t, ItoKMCSurfaceReactions>&
90  getElectrodePhotonReactions() const noexcept;
91 
92  protected:
97 
102 
107 
112  };
113  } // namespace ItoKMC
114 } // namespace Physics
115 
116 #include <CD_NamespaceFooter.H>
117 
119 
120 #endif
Declaration of a class that encapsulates secondary emission at EBs and domain edges/faces.
Declaration of a class that encapsulates a set secondary emission at EBs and domain edges/faces.
dielectric class. Simple tuple.
Definition: CD_Dielectric.H:29
Electrode class for encapsulating the concept of an electrical conductor.
Definition: CD_Electrode.H:26
Particle class for usage with Monte Carlo radiative transfer.
Definition: CD_Photon.H:29
Class for holding a set of surface reactions.
Definition: CD_ItoKMCSurfaceReactionSet.H:26
ItoKMCSurfaceReactionSet()=default
Allowed, but you need to call the define function afterwards.
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
Reaction class for describing multiple pathways of secondary emissions due to a single outgoing parti...
Definition: CD_ItoKMCSurfaceReactions.H:30
Name containing various physics models for running chombo-discharge code.
Definition: CD_AdvectionDiffusion.H:15