File amjuel_reaction.hxx

Defines

AMJUEL_REACTION_H
struct AmjuelReaction : public Component
#include <amjuel_reaction.hxx>

Subclassed by AmjuelHeIonisation01, AmjuelHeRecombination10, AmjuelHydIonisation, AmjuelHydRecombination

Public Functions

inline AmjuelReaction(std::string name, Options &alloptions, Solver*)

Protected Functions

inline BoutReal clip(BoutReal value, BoutReal min, BoutReal max)
template<size_t rows, size_t cols>
inline BoutReal evaluate(const BoutReal (&coefs)[rows][cols], BoutReal T, BoutReal n)

Evaluate a double polynomial fit in n and T (page 20 of amjuel.pdf)

coefs[T][n] Input in units: n in m^-3 T in eV

Output in SI, units m^3/s, or eV m^3/s for energy loss

template<size_t rows, size_t cols>
inline void electron_reaction(Options &electron, Options &from_ion, Options &to_ion, const BoutReal (&rate_coefs)[rows][cols], const BoutReal (&radiation_coefs)[rows][cols], BoutReal electron_heating, Field3D &reaction_rate, Field3D &momentum_exchange, Field3D &energy_exchange, Field3D &energy_loss, BoutReal rate_multiplier, BoutReal radiation_multiplier)

Electron-driven reaction e + from_ion -> to_ion [ + e? + e?]

Coefficients from Amjuel:

  • rate_coefs Double-polynomial log fit [T][n] for <σv>

  • radiation_coefs Double-polynomial log fit [T][n] for electron loss electron_heating Energy added to electrons per reaction [eV]

Protected Attributes

BoutReal Tnorm
BoutReal Nnorm
BoutReal FreqNorm