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 file

get_emissivity(ion)

Get emissivity for a particular ion

to_asdf(filename)

Serialize an EmissionModel to an ASDF file

Methods 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 to erg and in units of photons cm-3 s-1 sr-1 if energy_unit is set to photon.

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

get_emissivity(ion)[source]

Get emissivity for a particular ion

to_asdf(filename)[source]

Serialize an EmissionModel to an ASDF file