chombo-discharge
CD_ItoKMCSurfaceReaction.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_ItoKMCSurfaceReaction_H
13 #define CD_ItoKMCSurfaceReaction_H
14 
15 // Std includes
16 #include <list>
17 
18 // Chombo includes
19 #include <REAL.H>
20 
21 // Our includes
22 #include <CD_NamespaceHeader.H>
23 
24 namespace Physics {
25  namespace ItoKMC {
26 
32  {
33  public:
37  ItoKMCSurfaceReaction() = default;
38 
45  inline ItoKMCSurfaceReaction(const size_t a_reactant,
46  const std::list<size_t> a_products,
47  const Real a_efficiency) noexcept;
48 
52  virtual inline ~ItoKMCSurfaceReaction() noexcept;
53 
60  inline void
61  define(const size_t a_reactant, const std::list<size_t> a_products, const Real a_efficiency) noexcept;
62 
66  inline const size_t&
67  getReactant() const noexcept;
68 
72  inline size_t&
73  getReactant() noexcept;
74 
78  inline const std::list<size_t>&
79  getProducts() const noexcept;
80 
84  inline std::list<size_t>&
85  getProducts() noexcept;
86 
90  inline const Real&
91  getEfficiency() const noexcept;
92 
96  inline Real&
97  getEfficiency() noexcept;
98 
99  protected:
103  size_t m_reactant;
104 
108  std::list<size_t> m_products;
109 
114  };
115  } // namespace ItoKMC
116 } // namespace Physics
117 
118 #include <CD_NamespaceFooter.H>
119 
121 
122 #endif
Declaration of a class that encapsulates secondary emission at EBs and domain edges/faces.
Reaction class for describing secondary emissions due to a single outgoing particle in ItoKMCPhysics.
Definition: CD_ItoKMCSurfaceReaction.H:32
const Real & getEfficiency() const noexcept
Get the reaction efficiency.
Definition: CD_ItoKMCSurfaceReactionImplem.H:66
size_t m_reactant
Source reactant index.
Definition: CD_ItoKMCSurfaceReaction.H:103
std::list< size_t > m_products
Plasma product indices.
Definition: CD_ItoKMCSurfaceReaction.H:108
const size_t & getReactant() const noexcept
Get the reactant.
Definition: CD_ItoKMCSurfaceReactionImplem.H:42
ItoKMCSurfaceReaction()=default
Allowed, but you need to call the define function afterwards.
virtual ~ItoKMCSurfaceReaction() noexcept
Destructor.
Definition: CD_ItoKMCSurfaceReactionImplem.H:28
void define(const size_t a_reactant, const std::list< size_t > a_products, const Real a_efficiency) noexcept
Full define function.
Definition: CD_ItoKMCSurfaceReactionImplem.H:32
const std::list< size_t > & getProducts() const noexcept
Get the plasma products.
Definition: CD_ItoKMCSurfaceReactionImplem.H:54
Real m_efficiency
Reaction efficiency.
Definition: CD_ItoKMCSurfaceReaction.H:113
Name containing various physics models for running chombo-discharge code.
Definition: CD_AdvectionDiffusion.H:15