EmissionModel¶
- class synthesizAR.atomic.EmissionModel(density: Unit('1 / cm3'), *args, **kwargs)[source]¶
Bases:
IonCollection
Model for how atomic data is used to calculate emission from coronal plasma.
Methods Summary
calculate_emission
(loop, **kwargs)Calculate power per unit volume for a given temperature and density for every transition, \(\lambda\), in every ion \(X^{+m}\), as given by the equation,
calculate_emissivity_table
(filename[, ...])Calculate and store emissivity for every ion in the model.
from_asdf
(filename)Restore
EmissionModel
instance from an ASDF fileget_emissivity
(ion)Get emissivity for a particular ion
to_asdf
(filename)Serialize an
EmissionModel
to an ASDF fileMethods Documentation
- calculate_emission(loop, **kwargs)[source]¶
Calculate power per unit volume for a given temperature and density for every transition, \(\lambda\), in every ion \(X^{+m}\), as given by the equation,
\[P_{\lambda}(n,T) = \frac{1}{4\pi}0.83\mathrm{Ab}(X)\varepsilon_{\lambda}(n,T)\frac{N(X^{+m})}{N(X)}n\]where \(\mathrm{Ab}(X)\) is the abundance of element \(X\), \(\varepsilon_{\lambda}\) is the emissivity for transition \(\lambda\), and \(N(X^{+m})/N(X)\) is the ionization fraction of ion \(X^{+m}\). \(P_{\lambda}\) is in units of erg cm-3 s-1 sr-1 if
energy_unit
is set toerg
and in units of photons cm-3 s-1 sr-1 ifenergy_unit
is set tophoton
.
- calculate_emissivity_table(filename, include_protons=True)[source]¶
Calculate and store emissivity for every ion in the model.
In this case, the emissivity, as a function of density \(n\) and temperature \(T\), for a transition \(ij\) is defined as,
\[\epsilon_{ij}(n,T) = N_j(n,T) A_{ij}\]where \(N_j\) is the level population of \(j\) and :math:`
- classmethod from_asdf(filename)[source]¶
Restore
EmissionModel
instance from an ASDF file
- to_asdf(filename)[source]¶
Serialize an
EmissionModel
to an ASDF file