chombo-discharge
Loading...
Searching...
No Matches
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
19using namespace Physics::ItoKMC;
20
23
24inline void
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
62
68
74
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
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:37
TracerParticleSolver()
Default constructor.
Definition CD_TracerParticleSolverImplem.H:25