pyEQUIB – Python Package for Equilibrium Atomic Populations and Line Emissivities
pyEQUIB is a collection of Python programs developed to calculate atomic level populations and line emissivities in statistical equilibrium in multi-level atoms for different physical conditions of the stratification layers where the chemical elements are ionized. pyEQUIB includes the Python version of the program EQUIB, which was originally written in FORTRAN by Howarth & Adams (1981), and was recently converted to Python.
Installation
To install the last version:
python setup.py install
To install the stable version:
pip install pyequib
Usage
Plasma Diagnostics
import pyequib ion='s_ii' levu='1,2,1,3/' levl='1,5/' diagtype='T' density = 2550.0 siiTratio=10.753 temperature=pyequib.cel.calc_temperature(line_flux_ratio=siiTratio, density=density, ion=ion, upper_levels=levu, lower_levels=levl) print(temperature) ion='s_ii' levu=levu='1,2/' levl='1,3/' diagtype='D' temperature = 7000.0 siiNratio=1.506 density=pyequib.cel.calc_density(line_flux_ratio=siiNratio, temperature=temperature, ion=ion, upper_levels=levu, lower_levels=levl) print(density)
Abundance Analysis
import pyequib ion='o_iii' temperature=10000.0 density=5000.0 levels5007='3,4/' iobs5007=1200.0 emis=pyequib.cel.calc_emissivity(temperature=temperature, density=density, ion=ion, levels=levels5007) print(emis) ion='o_iii' temperature=10000.0 density=5000.0 levels5007='3,4/' iobs5007=1200.0 Abb5007=pyequib.cel.calc_abundance(temperature=temperature, density=density, line_flux=iobs5007, ion=ion, atomic_levels=levels5007) print(Abb5007)
Acknowledgement
A. Danehkar (2018) PASA 35:e005
A Danehkar, Q A Parker & W Steffen (2016) AJ 151:38
A Danehkar, H Todt, B Ercolano & A Y Kniazev (2014) MNRAS 439:3605
A Danehkar, Q A Parker & B Ercolano (2013) MNRAS 434:1513