6.6. Atomic data interpolators¶
The following classes interpolate atomic data defined on a numerical grid.
6.6.1. Atomic Processes¶
- class cherab.openadas.rates.atomic.IonisationRate¶
Ionisation rate.
Data is interpolated with cubic spline in log-log space. Nearest neighbour extrapolation is used if extrapolate is True.
- Parameters:
data (dict) – Ionisation rate dictionary containing the following entries:
‘ne’: 1D array of size (N) with electron density in m^-3,‘te’: 1D array of size (M) with electron temperature in eV,‘rate’: 2D array of size (N, M) with ionisation rate in m^3.s^-1.- Parameters:
extrapolate (bint) – Enable extrapolation (default=False).
- Variables:
density_range (tuple) – Electron density interpolation range.
temperature_range (tuple) – Electron temperature interpolation range.
raw_data (dict) – Dictionary containing the raw data.
- evaluate(density, temperature)¶
Returns an effective ionisation rate coefficient at the specified plasma conditions.
- Parameters:
density – Electron density in m^-3.
temperature – Electron temperature in eV.
- Returns:
The effective ionisation rate in m^3.s^-1.
- class cherab.openadas.rates.atomic.NullIonisationRate¶
An ionisation rate that always returns zero. Needed for use cases where the required atomic data is missing.
- evaluate(density, temperature)¶
Returns an effective ionisation rate coefficient at the specified plasma conditions.
- Parameters:
density – Electron density in m^-3.
temperature – Electron temperature in eV.
- Returns:
The effective ionisation rate in m^3.s^-1.
- class cherab.openadas.rates.atomic.RecombinationRate¶
Recombination rate.
Data is interpolated with cubic spline in log-log space. Nearest neighbour extrapolation is used if extrapolate is True.
- Parameters:
data (dict) – Recombination rate dictionary containing the following entries:
‘ne’: 1D array of size (N) with electron density in m^-3,‘te’: 1D array of size (M) with electron temperature in eV,‘rate’: 2D array of size (N, M) with recombination rate in m^3.s^-1.- Parameters:
extrapolate (bint) – Enable extrapolation (default=False).
- Variables:
density_range (tuple) – Electron density interpolation range.
temperature_range (tuple) – Electron temperature interpolation range.
raw_data (dict) – Dictionary containing the raw data.
- evaluate(density, temperature)¶
Returns an effective recombination rate coefficient at the specified plasma conditions.
- Parameters:
density – Electron density in m^-3.
temperature – Electron temperature in eV.
- Returns:
The effective ionisation rate in m^3.s^-1.
- class cherab.openadas.rates.atomic.NullRecombinationRate¶
A recombination rate that always returns zero. Needed for use cases where the required atomic data is missing.
- evaluate(density, temperature)¶
Returns an effective recombination rate coefficient at the specified plasma conditions.
- Parameters:
density – Electron density in m^-3.
temperature – Electron temperature in eV.
- Returns:
The effective ionisation rate in m^3.s^-1.
- class cherab.openadas.rates.atomic.ThermalCXRate¶
Thermal charge exchange rate.
Data is interpolated with cubic spline in log-log space. Linear extrapolation is used if extrapolate is True.
- Parameters:
data (dict) – CX rate dictionary containing the following entries:
‘ne’: 1D array of size (N) with electron density in m^-3,‘te’: 1D array of size (M) with electron temperature in eV,‘rate’: 2D array of size (N, M) with thermal CX rate in m^3.s^-1.- Parameters:
extrapolate (bint) – Enable extrapolation (default=False).
- Variables:
density_range (tuple) – Electron density interpolation range.
temperature_range (tuple) – Electron temperature interpolation range.
raw_data (dict) – Dictionary containing the raw data.
- evaluate(density, temperature)¶
Returns an effective charge exchange rate coefficient at the specified plasma conditions.
- Parameters:
density – Electron density in m^-3.
temperature – Electron temperature in eV.
- Returns:
The effective charge exchange rate in m^3.s^-1.
- class cherab.openadas.rates.atomic.NullThermalCXRate¶
A thermal CX rate that always returns zero. Needed for use cases where the required atomic data is missing.
- evaluate(density, temperature)¶
Returns an effective charge exchange rate coefficient at the specified plasma conditions.
- Parameters:
density – Electron density in m^-3.
temperature – Electron temperature in eV.
- Returns:
The effective charge exchange rate in m^3.s^-1.
6.6.2. Photon Emissivity Coefficients¶
- class cherab.openadas.rates.pec.ImpactExcitationPEC¶
Electron impact excitation photon emission coefficient.
The data is interpolated with cubic spline in log-log space. Nearest neighbour extrapolation is used if extrapolate is True.
- Parameters:
wavelength (double) – Resting wavelength of corresponding emission line in nm.
data (dict) – Excitation PEC dictionary containing the following entries:
‘ne’: 1D array of size (N) with electron density in m^-3,‘te’: 1D array of size (M) with electron temperature in eV,‘rate’: 2D array of size (N, M) with excitation PEC in photon.m^3.s^-1.- Parameters:
extrapolate (bint) – Enable extrapolation (default=False).
- Variables:
density_range (tuple) – Electron density interpolation range.
temperature_range (tuple) – Electron temperature interpolation range.
raw_data (dict) – Dictionary containing the raw data.
- evaluate(density, temperature)¶
Returns a photon emissivity coefficient at given conditions.
- Parameters:
density – Electron density in m^-3.
temperature – Electron temperature in eV.
- Returns:
The effective PEC rate in W.m^3.
- class cherab.openadas.rates.pec.NullImpactExcitationPEC¶
A electron impact excitation PEC rate that always returns zero. Needed for use cases where the required atomic data is missing.
- evaluate(density, temperature)¶
Returns a photon emissivity coefficient at given conditions.
- Parameters:
density – Electron density in m^-3.
temperature – Electron temperature in eV.
- Returns:
The effective PEC rate in W.m^3.
- class cherab.openadas.rates.pec.RecombinationPEC¶
Recombination photon emission coefficient.
The data is interpolated with cubic spline in log-log space. Nearest neighbour extrapolation is used if extrapolate is True.
- Parameters:
wavelength (double) – Resting wavelength of corresponding emission line in nm.
data (dict) – Rcombination PEC dictionary containing the following entries:
‘ne’: 1D array of size (N) with electron density in m^-3,‘te’: 1D array of size (M) with electron temperature in eV,‘rate’: 2D array of size (N, M) with recombination PEC in photon.m^3.s^-1.- Parameters:
extrapolate (bint) – Enable extrapolation (default=False).
- Variables:
density_range (tuple) – Electron density interpolation range.
temperature_range (tuple) – Electron temperature interpolation range.
raw_data (dict) – Dictionary containing the raw data.
- evaluate(density, temperature)¶
Returns a photon emissivity coefficient at given conditions.
- Parameters:
density – Electron density in m^-3.
temperature – Electron temperature in eV.
- Returns:
The effective PEC rate in W.m^3.
- class cherab.openadas.rates.pec.NullRecombinationPEC¶
A recombination PEC rate that always returns zero. Needed for use cases where the required atomic data is missing.
- evaluate(density, temperature)¶
Returns a photon emissivity coefficient at given conditions.
- Parameters:
density – Electron density in m^-3.
temperature – Electron temperature in eV.
- Returns:
The effective PEC rate in W.m^3.
6.6.3. Beam-Plasma Interaction Rates¶
- class cherab.openadas.rates.cx.BeamCXPEC¶
Effective charge exchange photon emission coefficient.
The data for “qeb” is interpolated with a cubic spline in log-log space. The data for “qti”, “qni”, “qz” and “qb” are interpolated with a cubic spline in linear space.
Quadratic extrapolation is used for “qeb” and nearest neighbour extrapolation is used for “qti”, “qni”, “qz” and “qb” if extrapolate is True.
- Parameters:
donor_metastable (int) – The metastable state of the donor species for which the rate data applies.
wavelength (double) – The natural wavelength of the emission line associated with the rate data in nm.
data – Beam CX PEC dictionary containing the following entries:
‘eb’: 1D array of size (N) with beam energy in eV/amu,‘ti’: 1D array of size (M) with receiver ion temperature in eV,‘ni’: 1D array of size (K) with receiver ion density in m^-3,‘z’: 1D array of size (L) with receiver Z-effective,‘b’: 1D array of size (J) with magnetic field strength in Tesla,‘qeb’: 1D array of size (N) with CX PEC energy component in photon.m^3.s-1,‘qti’: 1D array of size (M) with CX PEC temperature component in photon.m^3.s-1,‘qni’: 1D array of size (K) with CX PEC density component in photon.m^3.s-1,‘qz’: 1D array of size (L) with CX PEC Zeff component in photon.m^3.s-1,‘qb’: 1D array of size (J) with CX PEC B-field component in photon.m^3.s-1,‘qref’: reference CX PEC in photon.m^3.s-1.The total beam CX PEC: q = qeb * qti * qni * qz * qb / qref^4.- Parameters:
extrapolate (bint) – Set to True to enable extrapolation, False to disable (default).
- Variables:
beam_energy_range (tuple) – Interaction energy interpolation range.
density_range (tuple) – Receiver ion density interpolation range.
temperature_range (tuple) – Receiver ion temperature interpolation range.
zeff_range (tuple) – Z-effective interpolation range.
b_field_range (tuple) – Magnetic field strength interpolation range.
donor_metastable (int) – The metastable state of the donor species.
wavelength (double) – The natural wavelength of the emission line in nm.
raw_data (dict) – Dictionary containing the raw data.
- evaluate(energy, temperature, density, z_effective, b_field)¶
Interpolates and returns the effective cx rate for the given plasma parameters.
If the requested data is out-of-range then the call with throw a ValueError exception.
- Parameters:
energy – Interaction energy in eV/amu.
temperature – Receiver ion temperature in eV.
density – Plasma total ion density in m^-3
z_effective – Plasma Z-effective.
b_field – Magnetic field magnitude in Tesla.
- Returns:
The effective cx rate in W.m^3
- class cherab.openadas.rates.cx.NullBeamCXPEC¶
A beam CX rate that always returns zero. Needed for use cases where the required atomic data is missing.
- evaluate(energy, temperature, density, z_effective, b_field)¶
Evaluates the Beam CX rate at the given plasma conditions.
- Parameters:
energy (float) – Interaction energy in eV/amu.
temperature (float) – Receiver ion temperature in eV.
density (float) – Plasma total ion density in m^-3
z_effective (float) – Plasma Z-effective.
b_field (float) – Magnetic field magnitude in Tesla.
- Returns:
The effective rate
- class cherab.openadas.rates.beam.BeamStoppingRate¶
The beam stopping coefficient interpolation class.
Data is interpolated with cubic spline in log-log space. Linear and quadratic extrapolations are used for “sen” and “st” respectively if extrapolate is True.
- Parameters:
data (dict) – A beam stopping rate dictionary containing the following entries:
‘e’: 1D array of size (N) with interaction energy in eV/amu,‘n’: 1D array of size (M) with target electron density in m^-3,‘t’: 1D array of size (K) with target electron temperature in eV,‘sen’: 2D array of size (N, M) with beam stopping rate energy component in m^3.s^-1.‘st’: 1D array of size (K) with beam stopping rate temperature component in m^3.s^-1.‘sref’: reference beam stopping rate in m^3.s^-1.The total beam stopping rate: s = sen * st / sref.- Parameters:
extrapolate (bint) – Set to True to enable extrapolation, False to disable (default).
- Variables:
beam_energy_range (tuple) – Interaction energy interpolation range.
density_range (tuple) – Target electron density interpolation range.
temperature_range (tuple) – Target electron temperature interpolation range.
raw_data (dict) – Dictionary containing the raw data.
- evaluate(energy, density, temperature)¶
Interpolates and returns the beam coefficient for the supplied parameters.
If the requested data is out-of-range then the call with throw a ValueError exception.
- Parameters:
energy – Interaction energy in eV/amu.
density – Target electron density in m^-3
temperature – Target temperature in eV.
- Returns:
The beam stopping coefficient in m^3.s^-1
- class cherab.openadas.rates.beam.NullBeamStoppingRate¶
A beam stopping rate that always returns zero. Needed for use cases where the required atomic data is missing.
- evaluate(energy, density, temperature)¶
Returns the beam coefficient for the supplied parameters.
- Parameters:
energy – Interaction energy in eV/amu.
density – Target electron density in m^-3
temperature – Target temperature in eV.
- Returns:
The beam coefficient
- class cherab.openadas.rates.beam.BeamPopulationRate¶
The beam population coefficient interpolation class.
Data is interpolated with cubic spline in log-log space. Linear and quadratic extrapolations are used for “sen” and “st” respectively if extrapolate is True.
- Parameters:
data (dict) – Beam population rate dictionary containing the following entries:
‘e’: 1D array of size (N) with interaction energy in eV/amu,‘n’: 1D array of size (M) with target electron density in m^-3,‘t’: 1D array of size (K) with target electron temperature in eV,‘sen’: 2D array of size (N, M) with dimensionless beam population rate energy component.‘st’: 1D array of size (K) with dimensionless beam population rate temperature component.‘sref’: reference dimensionless beam population rate.The total beam population rate: s = sen * st / sref.- Parameters:
extrapolate (bint) – Set to True to enable extrapolation, False to disable (default).
- Variables:
beam_energy_range (tuple) – Interaction energy interpolation range.
density_range (tuple) – Target electron density interpolation range.
temperature_range (tuple) – Target electron temperature interpolation range.
raw_data (dict) – Dictionary containing the raw data.
- evaluate(energy, density, temperature)¶
Interpolates and returns the beam coefficient for the supplied parameters.
If the requested data is out-of-range then the call with throw a ValueError exception.
- Parameters:
energy – Interaction energy in eV/amu.
density – Target electron density in m^-3
temperature – Target temperature in eV.
- Returns:
The beam population coefficient in dimensionless units.
- class cherab.openadas.rates.beam.NullBeamPopulationRate¶
A beam population rate that always returns zero. Needed for use cases where the required atomic data is missing.
- evaluate(energy, density, temperature)¶
Returns the beam coefficient for the supplied parameters.
- Parameters:
energy – Interaction energy in eV/amu.
density – Target electron density in m^-3
temperature – Target temperature in eV.
- Returns:
The beam coefficient
- class cherab.openadas.rates.beam.BeamEmissionPEC¶
The beam emission coefficient interpolation class.
Data is interpolated with cubic spline in log-log space. Linear and quadratic extrapolations are used for “sen” and “st” respectively if extrapolate is True.
- Parameters:
data (dict) – Beam emission rate dictionary containing the following entries:
‘e’: 1D array of size (N) with interaction energy in eV/amu,‘n’ 1D array of size (M) with target electron density in m^-3,‘t’ 1D array of size (K) with target electron temperature in eV,‘sen’ 2D array of size (N, M) with beam emission rate energy component in photon.m^3.s^-1.‘st’ 1D array of size (K) with beam emission rate temperature component in photon.m^3.s^-1.‘sref’: reference beam emission rate in photon.m^3.s^-1.- Parameters:
wavelength (double) – The natural wavelength of the emission line associated with the rate data in nm.
extrapolate (bint) – Set to True to enable extrapolation, False to disable (default).
- Variables:
beam_energy_range (tuple) – Interaction energy interpolation range.
density_range (tuple) – Target electron density interpolation range.
temperature_range (tuple) – Target electron temperature interpolation range.
raw_data (dict) – Dictionary containing the raw data.
- evaluate(energy, density, temperature)¶
Interpolates and returns the beam coefficient for the supplied parameters.
If the requested data is out-of-range then the call with throw a ValueError exception.
- Parameters:
energy – Interaction energy in eV/amu.
density – Target electron density in m^-3
temperature – Target temperature in eV.
- Returns:
The beam emission coefficient in m^3.s^-1
- class cherab.openadas.rates.beam.NullBeamEmissionPEC¶
A beam emission PEC that always returns zero. Needed for use cases where the required atomic data is missing.
- evaluate(energy, density, temperature)¶
Returns the beam coefficient for the supplied parameters.
- Parameters:
energy – Interaction energy in eV/amu.
density – Target electron density in m^-3
temperature – Target temperature in eV.
- Returns:
The beam coefficient
6.6.4. Radiated Power¶
- class cherab.openadas.rates.radiated_power.LineRadiationPower¶
Line radiated power coefficient.
The data is interpolated with cubic spline in log-log space. Nearest neighbour extrapolation is used if extrapolate is True.
- Parameters:
species (Element) – Element object defining the ion type.
ionisation (int) – Charge state of the ion.
data (dict) – Line radiated power rate dictionary containing the following entries:
‘ne’: 1D array of size (N) with electron density in m^-3,‘te’: 1D array of size (M) with electron temperature in eV,‘rate’: 2D array of size (N, M) with radiated power rate in W.m^3.- Parameters:
extrapolate (bint) – Enable extrapolation (default=False).
- Variables:
density_range (tuple) – Electron density interpolation range.
temperature_range (tuple) – Electron temperature interpolation range.
raw_data (dict) – Dictionary containing the raw data.
- evaluate(electron_density, electron_temperature)¶
Evaluate the radiated power at the given plasma conditions.
- Parameters:
density (float) – Electron density in m^-3.
temperature (float) – Electron temperature in eV.
- Returns:
The radiated power rate in W.m^3.
- class cherab.openadas.rates.radiated_power.NullLineRadiationPower¶
A line radiation power rate that always returns zero. Needed for use cases where the required atomic data is missing.
- evaluate(electron_density, electron_temperature)¶
Evaluate the radiated power at the given plasma conditions.
- Parameters:
density (float) – Electron density in m^-3.
temperature (float) – Electron temperature in eV.
- Returns:
The radiated power rate in W.m^3.
- class cherab.openadas.rates.radiated_power.ContinuumPower¶
Recombination continuum radiated power coefficient.
The data is interpolated with cubic spline in log-log space. Nearest neighbour extrapolation is used if extrapolate is True.
- Parameters:
species (Element) – Element object defining the ion type.
ionisation (int) – Charge state of the ion.
data (dict) – Recombination continuum radiated power rate dictionary containing the following entries:
‘ne’: 1D array of size (N) with electron density in m^-3,‘te’: 1D array of size (M) with electron temperature in eV,‘rate’: 2D array of size (N, M) with radiated power rate in W.m^3.- Parameters:
extrapolate (bint) – Enable extrapolation (default=False).
- Variables:
density_range (tuple) – Electron density interpolation range.
temperature_range (tuple) – Electron temperature interpolation range.
raw_data (dict) – Dictionary containing the raw data.
- evaluate(electron_density, electron_temperature)¶
Evaluate the radiated power at the given plasma conditions.
- Parameters:
density (float) – Electron density in m^-3.
temperature (float) – Electron temperature in eV.
- Returns:
The radiated power rate in W.m^3.
- class cherab.openadas.rates.radiated_power.NullContinuumPower¶
A continuum radiation power rate that always returns zero. Needed for use cases where the required atomic data is missing.
- evaluate(electron_density, electron_temperature)¶
Evaluate the radiated power at the given plasma conditions.
- Parameters:
density (float) – Electron density in m^-3.
temperature (float) – Electron temperature in eV.
- Returns:
The radiated power rate in W.m^3.
- class cherab.openadas.rates.radiated_power.CXRadiationPower¶
Charge exchange radiated power coefficient.
The data is interpolated with cubic spline in log-log space. Linear extrapolation is used if extrapolate is True.
- Parameters:
species (Element) – Element object defining the ion type.
ionisation (int) – Charge state of the ion.
data (dict) – CX radiated power rate dictionary containing the following entries:
‘ne’: 1D array of size (N) with electron density in m^-3,‘te’: 1D array of size (M) with electron temperature in eV,‘rate’: 2D array of size (N, M) with radiated power rate in W.m^3.- Parameters:
extrapolate (bint) – Enable extrapolation (default=False).
- Variables:
density_range (tuple) – Electron density interpolation range.
temperature_range (tuple) – Electron temperature interpolation range.
raw_data (dict) – Dictionary containing the raw data.
- evaluate(electron_density, electron_temperature)¶
Evaluate the radiated power at the given plasma conditions.
- Parameters:
density (float) – Electron density in m^-3.
temperature (float) – Electron temperature in eV.
- Returns:
The radiated power rate in W.m^3.
- class cherab.openadas.rates.radiated_power.NullCXRadiationPower¶
A CX radiation power rate that always returns zero. Needed for use cases where the required atomic data is missing.
- evaluate(electron_density, electron_temperature)¶
Evaluate the radiated power at the given plasma conditions.
- Parameters:
density (float) – Electron density in m^-3.
temperature (float) – Electron temperature in eV.
- Returns:
The radiated power rate in W.m^3.