File solkit_hydrogen_charge_exchange.hxx#
Defines
-
SOLKIT_HYDROGEN_CHARGE_EXCHANGE_H#
-
struct SOLKITHydrogenChargeExchange : public hermes::ReactionBase#
- #include <solkit_hydrogen_charge_exchange.hxx>
SOL-KiT Hydrogen charge exchange total rate coefficient
Subclassed by SOLKITHydrogenChargeExchangeIsotope< Isotope >
Public Functions
-
inline SOLKITHydrogenChargeExchange(std::string, Options &alloptions, Solver*)#
- Parameters:
alloptions – Settings, which should include:
units
inv_meters_cubed
seconds
-
void calculate_rates(GuardedOptions atom, GuardedOptions ion)#
Calculate the charge exchange cross-section
atom + ion -> atom + ion
Assumes that both atom and ion have:
AA
density
velocity
Sets in all species:
momentum_source
-
inline SOLKITHydrogenChargeExchange(std::string, Options &alloptions, Solver*)#
-
template<char Isotope>
struct SOLKITHydrogenChargeExchangeIsotope : public SOLKITHydrogenChargeExchange# - #include <solkit_hydrogen_charge_exchange.hxx>
Hydrogen charge exchange Templated on a char to allow ‘h’, ‘d’ and ‘t’ species to be treated with the same code
- Template Parameters:
Isotope – The isotope (‘h’, ‘d’ or ‘t’) of the atom and ion
Public Functions
-
inline SOLKITHydrogenChargeExchangeIsotope(std::string name, Options &alloptions, Solver *solver)#
Private Functions
-
inline virtual void transform_impl(GuardedOptions &state) override#
The implementation of the transform method. Modify the given simulation state. All components must implement this function. It will only allow the reading from/writing to state variables with the appropriate permissiosn in
state_variable_access.