Formula reference: atomic

This page is generated from the docstrings of vaft/formula/atomic.py: 3 public functions. The category overview and notation come from the module docstring; every entry below is what vaft.formula.describe("atomic.<name>") prints. Back to the formula reference index.

Overview

The equilibrium construction follows MIT-licensed work, Copyright (c) 2021 Francesco Sciortino. See the third-party notices in the project README.

This module is the numerical layer of VAFT’s atomic package. It accepts SI electron densities, evaluates native ADF11 tables in log10 space, and returns charge-state fractions or cooling coefficients without depending on OMAS.

Functions

  • fractional_abundances — Ionisation-equilibrium (coronal) fractional abundances from ACD and SCD tables.
  • interpolate_adf11 — Interpolate every charge-state block of an ADF11 table at given $(n_e, T_e)$.
  • line_cooling_coefficient — Equilibrium line-radiation cooling coefficient $L_{line}(n_e, T_e)$ of a species.

fractional_abundances

fractional_abundances(ne_m3, te_eV, acd, scd)

Convention-sensitive.

Ionisation-equilibrium (coronal) fractional abundances from ACD and SCD tables.

\[\frac{f_{z+1}}{f_z} = \frac{S_z(n_e, T_e)}{\alpha_{z+1}(n_e, T_e)}, \qquad \tilde f_0 = 1, \quad \tilde f_z = \prod_{j=0}^{z-1}\frac{S_j}{\alpha_{j+1}}, \quad f_z = \frac{\tilde f_z}{\sum_k\tilde f_k}\]

with $S_z$ the SCD effective ionisation and $\alpha_{z+1}$ the ACD effective recombination coefficients.

ParameterTypeUnitDescription
ne_m3array-likem^-3

Electron density, finite and positive.

te_eVarray-likeeV

Electron temperature, finite and positive.

acdADF11Data or path-liken/a

Effective recombination table.

scdADF11Data or path-liken/a

Effective ionisation table.

ReturnsTypeUnitDescription
np.ndarray-

Fractional abundances, summing to one over the last axis. That axis has n_rate_blocks + 1 charge states, neutral to fully stripped.

Raises.

ValueError Mismatched charge-state counts, wrong table class, or non-finite rates.

Convention.

Effective (collisional-radiative, density-dependent) coefficients in the ADAS sense, evaluated in cm^-3 internally; the density cancels in the ratio, so the result is dimensionless.

Assumptions.

Steady state, no transport: the local balance of ionisation and recombination alone sets the charge-state distribution.

Limitations.

Transport in a real edge or start-up plasma shifts the distribution toward lower charge states than coronal equilibrium predicts (the effect Aurora models with an impurity transport solve).

References.

  1. H. P. Summers, The ADAS User Manual, version 2.6 (2004), Sec. on ADF11 (ionisation balance).
  2. F. Sciortino et al., Plasma Phys. Control. Fusion 63 (2021) 112001, Sec. 2 (equilibrium construction; MIT-licensed, see the module docstring).

interpolate_adf11

interpolate_adf11(table, ne_m3, te_eV, *, multiply_density=False)

Convention-sensitive.

Interpolate every charge-state block of an ADF11 table at given $(n_e, T_e)$.

\[C_z(n_e, T_e) = 10^{\,\mathcal{I}_2[\log_{10}C_z]}\]

where $\mathcal{I}2$ is bilinear interpolation on the table’s rectangular grid of $\log{10}n_e\,[\mathrm{cm^{-3}}]$ and $\log_{10}T_e\,[\mathrm{eV}]$.

ParameterTypeUnitDescription
tableADF11Datan/a

Parsed ADF11 table (acd, scd, plt, …).

ne_m3array-likem^-3

Electron density, finite and positive.

te_eVarray-likeeV

Electron temperature, finite and positive.

multiply_densitybool, optionalbool

Multiply by $n_e$ in cm^-3 to turn coefficients into rates; default False.

ReturnsTypeUnitDescription
np.ndarrayany

Coefficients in the table’s own unit, or rates with multiply_density. Shape broadcast(ne_m3, te_eV).shape + (n_blocks,); cm^3/s for ACD/SCD and W cm^3 for PLT, s^-1 when multiplied by density.

Raises.

ValueError Empty, non-finite or non-positive profiles.

Convention.

ADF11 stores densities in cm^-3 and rate coefficients in cm^3 s^-1; the SI input is converted to cm^-3 internally and the output is not converted back, so callers multiply by $10^{-6}$ for m^3 s^-1 (as line_cooling_coefficient does for W m^3).

Validity.

Inside the tabulated grid (typically $10^{8}$-$10^{15}$ cm^-3 and 1 eV-10 keV for iso-nuclear ADF11 files).

Limitations.

Linear extrapolation in log space is retained outside the grid to match the established ADF11 calculation path; extrapolated coefficients are not physical and are not flagged.

Numerical notes.

scipy.interpolate.RegularGridInterpolator with bounds_error=False, fill_value=None, one interpolator per charge-state block.

References.

  1. H. P. Summers, The ADAS User Manual, version 2.6 (2004), https://www.adas.ac.uk/manual.php, ADF11 format.
  2. F. Sciortino et al., Plasma Phys. Control. Fusion 63 (2021) 112001 (Aurora; the calculation path this follows).

line_cooling_coefficient

line_cooling_coefficient(species, ne_m3, te_eV, *, acd=None, scd=None, plt=None, cache_dir=None)

Convention-sensitive.

Equilibrium line-radiation cooling coefficient $L_{line}(n_e, T_e)$ of a species.

\[L_{\mathrm{line}}(n_e, T_e) = 10^{-6}\sum_{q=0}^{Z-1} f_q(n_e, T_e)\, P^{\mathrm{PLT}}_q(n_e, T_e)\]

the PLT coefficients weighted by the coronal abundances of fractional_abundances; the fully stripped state has no line radiation and is omitted.

ParameterTypeUnitDescription
speciesstrstr

Atomic symbol with configured default ADF11 files, e.g. "C".

ne_m3array-likem^-3

Electron density, finite and positive.

te_eVarray-likeeV

Electron temperature, finite and positive.

acdADF11Data or path-like or None, optionaln/a

Recombination table; None resolves the configured file.

scdADF11Data or path-like or None, optionaln/a

Ionisation table; None resolves the configured file.

pltADF11Data or path-like or None, optionaln/a

Line-power table; None resolves the configured file.

cache_dirstr or path-like or None, optionaln/a

OPEN-ADAS cache directory; downloads on a miss.

ReturnsTypeUnitDescription
np.ndarrayW m^3

Cooling coefficient with the broadcast input shape. Multiply by $n_e n_Z$ for a power density.

Raises.

KeyError Unconfigured species. ADASDataError Lookup, download or parsing failure. ValueError Invalid inputs or mismatched charge-state dimensions.

Convention.

ADF11 PLT is stored in W cm^3; the factor $10^{-6}$ converts to W m^3. Coronal equilibrium, no transport, no recombination/bremsstrahlung continuum (that is the separate PRB class).

References.

  1. H. P. Summers, The ADAS User Manual, version 2.6 (2004), ADF11 PLT class.
  2. D. E. Post et al., At. Data Nucl. Data Tables 20 (1977) 397 (coronal cooling curves).

Refreshing this snapshot

From a checkout of the develop branch, run:

python -m vaft.formula.catalog --output /path/to/vaft-gh/_data/formula_catalog.yml

The snapshot records the SHA-256 of every vaft/formula/*.py source file; documentation validation compares them when VAFT_REGISTRY_SOURCE points to the corresponding source checkout. The same text is available offline as vaft.formula.describe("<name>"), vaft.formula.search("<text>") and vaft.formula.list_formulas(category="<category>").

results matching ""

    No results matching ""