chombo-discharge
Loading...
Searching...
No Matches
CD_ItoKMCSurfaceReactionSetImplem.H
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2021-2026 SINTEF Energy Research
3 *
4 * SPDX-License-Identifier: GPL-3.0-or-later
5 */
6
13#ifndef CD_ITOKMCSURFACEREACTIONSETIMPLEM_H
14#define CD_ITOKMCSURFACEREACTIONSETIMPLEM_H
15
16// Our includes
18#include <CD_NamespaceHeader.H>
19
20using namespace Physics::ItoKMC;
21
24
25inline void
30{
31 if (a_surface == Surface::Dielectric) {
32 if (a_speciesType == Species::Plasma) {
33 m_dielectricPlasmaReactions[a_speciesIndex].add(a_reaction);
34 }
35 else if (a_speciesType == Species::Photon) {
36 m_dielectricPhotonReactions[a_speciesIndex].add(a_reaction);
37 }
38 else {
39 MayDay::Error("ItoKMCSurfaceReaction::add - logic bust 1");
40 }
41 }
42 else if (a_surface == Surface::Electrode) {
43 if (a_speciesType == Species::Plasma) {
44 m_electrodePlasmaReactions[a_speciesIndex].add(a_reaction);
45 }
46 else if (a_speciesType == Species::Photon) {
47 m_electrodePhotonReactions[a_speciesIndex].add(a_reaction);
48 }
49 else {
50 MayDay::Error("ItoKMCSurfaceReaction::add - logic bust 2");
51 }
52 }
53 else {
54 MayDay::Error("ItoKMCSurfaceReaction::add - logic bust 3");
55 }
56}
57
63
69
75
81
82#include <CD_NamespaceFooter.H>
83
84#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:101
Species
Local enum for specifying species type.
Definition CD_ItoKMCSurfaceReactionSet.H:42
virtual ~ItoKMCSurfaceReactionSet() noexcept
Destructor.
Definition CD_ItoKMCSurfaceReactionSetImplem.H:22
std::map< size_t, ItoKMCSurfaceReactions > m_dielectricPhotonReactions
Dielectric reaction set where outgoing species is a photon species.
Definition CD_ItoKMCSurfaceReactionSet.H:106
void add(const size_t a_speciesIndex, const ItoKMCSurfaceReaction &a_reaction, const ItoKMCSurfaceReactionSet::Surface a_surface, const ItoKMCSurfaceReactionSet::Species a_speciesType) noexcept
Add a surface reaction to the set.
Definition CD_ItoKMCSurfaceReactionSetImplem.H:26
std::map< size_t, ItoKMCSurfaceReactions > m_electrodePlasmaReactions
Electrode reaction set where outgoing species is a plasma species.
Definition CD_ItoKMCSurfaceReactionSet.H:111
Surface
Local enum for specifying surface type.
Definition CD_ItoKMCSurfaceReactionSet.H:33
const std::map< size_t, ItoKMCSurfaceReactions > & getElectrodePhotonReactions() const noexcept
Get the electrode surface reactions where the outgoing species is a photon species.
Definition CD_ItoKMCSurfaceReactionSetImplem.H:77
const std::map< size_t, ItoKMCSurfaceReactions > & getDielectricPlasmaReactions() const noexcept
Get the dielectric surface reactions where the outgoing species is a plasma species.
Definition CD_ItoKMCSurfaceReactionSetImplem.H:59
std::map< size_t, ItoKMCSurfaceReactions > m_electrodePhotonReactions
Electrode reaction set where outgoing species is a photon species.
Definition CD_ItoKMCSurfaceReactionSet.H:116
const std::map< size_t, ItoKMCSurfaceReactions > & getDielectricPhotonReactions() const noexcept
Get the dielectric surface reactions where the outgoing species is a photon species.
Definition CD_ItoKMCSurfaceReactionSetImplem.H:65
const std::map< size_t, ItoKMCSurfaceReactions > & getElectrodePlasmaReactions() const noexcept
Get the electrode surface reactions where the outgoing species is a plasma species.
Definition CD_ItoKMCSurfaceReactionSetImplem.H:71
Reaction class for describing secondary emissions due to a single outgoing particle in ItoKMCPhysics.
Definition CD_ItoKMCSurfaceReaction.H:33
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:38
TracerParticleSolver()
Default constructor.
Definition CD_TracerParticleSolverImplem.H:26