File adas_lithium.hxx
Defines
-
ADAS_LITHIUM_H
Variables
-
constexpr std::array<BoutReal, 3> lithium_ionisation_energy{5.39, 75.64, 122.45}
Ionisation energies in eV from https://www.webelements.com/lithium/atoms.html Conversion 1 kJ mol‑1 = 1.0364e-2 eV These are added (removed) from the electron energy during recombination (ionisation)
-
template<int level>
constexpr std::initializer_list<char> lithium_species_name = {'l', 'i', '+', '0' + level} The name of the species. This initializer list can be passed to a string constructor, or used to index into an Options tree.
li, li+, li+2, …
Special cases for level=0, 1 and 3
- Template Parameters:
level – The ionisation level: 0 is neutral, 3 is fully stripped.
-
template<>
constexpr std::initializer_list<char> lithium_species_name<3> = {'l', 'i', '+', '3'}
-
template<>
constexpr std::initializer_list<char> lithium_species_name<1> = {'l', 'i', '+'}
-
template<>
constexpr std::initializer_list<char> lithium_species_name<0> = {'l', 'i'}
-
template<int level>
struct ADASLithiumIonisation : public OpenADAS - #include <adas_lithium.hxx>
ADAS effective ionisation (ADF11)
- Template Parameters:
level – The ionisation level of the ion on the left of the reaction
-
template<int level>
struct ADASLithiumRecombination : public OpenADAS - #include <adas_lithium.hxx>
ADAS effective recombination coefficients (ADF11)
- Template Parameters:
level – The ionisation level of the ion on the right of the reaction
Public Functions
-
inline ADASLithiumRecombination(std::string, Options &alloptions, Solver*)
- Parameters:
alloptions – The top-level options. Only uses the [“units”] subsection.
-
inline virtual void transform(Options &state) override
Modify the given simulation state All components must implement this function
-
template<int level, char Hisotope>
struct ADASLithiumCX : public OpenADASChargeExchange - #include <adas_lithium.hxx>
- Template Parameters:
level – The ionisation level of the ion on the right of the reaction
Hisotope – The hydrogen isotope (‘h’, ‘d’ or ‘t’)