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]
-
inline AmjuelReaction(std::string name, Options &alloptions, Solver*)