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

Public Functions

inline ADASLithiumIonisation(std::string, Options &alloptions, Solver*)
inline virtual void transform(Options &state) override

Modify the given simulation state All components must implement this function

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’)

Public Functions

inline ADASLithiumCX(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