File izn_rec_reaction.hxx#
Defines
-
IZN_REC_REACTION_H#
-
namespace hermes
-
struct IznRecReaction : public hermes::Reaction#
- #include <izn_rec_reaction.hxx>
Reactionsubclass that acts as a common base for ionisation and recombination reactions.See
IznRecReaction::transform_additionalfor the ionisation/recombination-specific sources.Subclassed by hermes::IznReaction, hermes::RecReaction
Protected Functions
-
IznRecReaction(std::string short_reaction_type, std::string name, Options &options)#
Main constructor for ionisation/recombination reaction base class.
Adds appropriate permissions and diagnostics for ionisation/recombination reactions, checks that the reaction string includes at least one heavy reactant and one heavy product.
- Parameters:
name –
options – The options object containing configuration parameters
-
void transform_additional(GuardedOptions &state, const RateData &rate_data) final#
Perform additional transform tasks specific to ionisation/recombination reactions.
This function adds:
Sources to handle the kinetic=>thermal energy transfer for electrons, and for the heavy product.
An electron energy source that capture the losses associated with the ionisation potential energy cost as well as the photon emission during excitation and de-excitation.
- Parameters:
state – The current simulation state to be modified
rate_data – The rate calculation results from parent class
Protected Attributes
-
std::string heavy_reactant#
Name of the heavy reactant species.
-
std::string heavy_product#
Name of the heavy product species.
-
std::string heavy_collfreq_species#
Name of the (heavy) species with which collision freqs. are associated in the state.
Private Members
-
const std::string short_reaction_type#
Short reaction type string used in diagnostic names (“iz” or “rec”)
-
std::unique_ptr<ReactionData> e_energy_loss_data#
Pointer to reaction data used to compute electron energy loss.
-
IznRecReaction(std::string short_reaction_type, std::string name, Options &options)#
-
struct IznReaction : public hermes::IznRecReaction#
- #include <izn_rec_reaction.hxx>
Reactionsubclass for ionisation reactions.This class only exists to add ionisation-specific options; see
IznRecReaction::transform_additionalfor related sources.Public Functions
-
IznReaction(std::string name, Options &options)#
Main constructor for ionisation reaction objects.
- Parameters:
name –
options – The options object
-
inline IznReaction(std::string name, Options &options, [[maybe_unused]] Solver *solver)#
Constructor used by the component factory.
- Parameters:
name –
options – The options object
solver – The solver object for the simulation (discarded by this class)
-
IznReaction(std::string name, Options &options)#
-
struct RecReaction : public hermes::IznRecReaction#
- #include <izn_rec_reaction.hxx>
Reactionsubclass for recombination reactions.This class only exists to add recombination-specific options; see
IznRecReaction::transform_additionalfor related sources.Public Functions
-
RecReaction(std::string name, Options &options)#
Main constructor for recombination reaction objects.
- Parameters:
name –
options –
-
inline RecReaction(std::string name, Options &options, [[maybe_unused]] Solver *solver)#
Constructor used by the component factory.
- Parameters:
name –
options – The options object
solver – The solver object for the simulation (discarded by this class)
-
RecReaction(std::string name, Options &options)#
-
struct IznRecReaction : public hermes::Reaction#