File amjuel_reaction.hxx#

Defines

AMJUEL_REACTION_H#

Functions

static inline std::filesystem::path get_json_db_dir(Options &options)#

Extract the json database location from options, or fall back to a standard location in the repo (relative to this header).

Parameters:

options – Options object

Returns:

std::filesystem::path the path to be passed to AmjuelData

struct AmjuelReaction : public Reaction#
#include <amjuel_reaction.hxx>

Base class for reactions that read data using AmjuelData.

Subclassed by AmjuelHeIonisation01, AmjuelHeRecombination10, AmjuelHydIsotopeReaction< Isotope >

Public Functions

inline AmjuelReaction(std::string name, std::string short_reaction_type, std::string amjuel_lbl, std::string from_species, std::string to_species, Options &alloptions)#

Protected Functions

BoutReal eval_amjuel_fit(BoutReal T, BoutReal n, const std::vector<std::vector<BoutReal>> &coeff_table)#

Functions to calculate Amjuel rates from underlying tables.

Evaluate an Amjuel double polynomial fit in n and T, given a table of coefficients (see page 20 of amjuel.pdf).

Parameters:
  • T – temperature in eV

  • n – number density in m^-3

  • coeff_table – a table of polynomial fit coefficients (coefs[T][n])

Returns:

BoutReal the fit in SI, units m^3/s, or eV m^3/s for energy loss

virtual BoutReal eval_sigma_v_E(BoutReal T, BoutReal n) final override#

Evaluate <sigma . v . E> at a particular density and temperature by evaluating an Amjuel fit.

Parameters:
  • T – temperature

  • n – number density

Returns:

BoutReal <sigma . v . E>(n, T)

virtual BoutReal eval_sigma_v(BoutReal T, BoutReal n) final override#

Evaluate <sigma . v . E> at a particular density and temperature (Subclasses MAY define)

Parameters:
  • T – a temperature

  • n – a density

Returns:

BoutReal <sigma . v . E>(n, T)

virtual void transform_additional(Options &state, Field3D &reaction_rate) final override#

Protected Attributes

const std::string amjuel_src#
const std::string short_reaction_type#
const std::string from_species#
const std::string to_species#

Private Members

const AmjuelData amjuel_data#

Data object.

std::filesystem::path json_db_dir#

Directory containing json data for this reaction.