File solkit_hydrogen_charge_exchange.hxx

Defines

SOLKIT_HYDROGEN_CHARGE_EXCHANGE_H
struct SOLKITHydrogenChargeExchange : public Component
#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(Options &atom, Options &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

Protected Attributes

BoutReal Nnorm
BoutReal rho_s0

Normalisations.

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)
inline virtual void transform(Options &state) override

Modify the given simulation state All components must implement this function