Calculation Workflow and Package Map
The public entry point is the LineProfile
class. It converts the supplied wavelength, frequency, wavenumber, or energy
grid to photon energy, delegates to the explicitly selected solver, stores the
three polarization profiles, constructs the other spectral axes, and combines
the polarizations for the requested observation angle. It does not normalize
profiles or apply an instrumental slit function.
compute_profile is the historical name of the static path and is an alias
of compute_static_profile. compute_ffm_profile is the separate
dynamic-ion path and requires Ti_ev. The code does not switch between
these models automatically. Both calls populate the same user-facing result
attributes.
Package responsibilities
line_profile.pyowns input-grid conversion, result storage, detuning axes, and the Stokes observation-angle combination.static_profile.pyperforms the quasi-static microfield average and can include Doppler broadening whenTi_evis supplied.radiator.pyconstructs the field-free plus magnetic Hamiltonian \(H_A\) and transition dipole matrices in the uncoupled \(|n,l,m_l,s,m_s\rangle\) basis.microfield.pysupplies the field-magnitude quadrature and Hooper-like, Holtsmark, Potekhin, or custom tabulated distributions.broadening.pyevaluates the electron-impact widths, including the frequency-dependent GBK/PPPB and ZEST-inspired variants.ffm.pycollects the field-dressed transitions and replaces the frozen microfield average with Markov mixing at the ion fluctuation rate. Its Doppler convolution is enabled by default.convolutions.pyprovides standalone wavelength-space Doppler and instrumental broadening helpers. Instrumental broadening is always an explicit post-processing operation.models/contains the comparison modelsvoigt,lomanowski,stehle_param,stehle, androsato.