SolRaT (Solar Radiative Transfer) is a forward-modeling code for the polarized, non-LTE transfer of spectral-line radiation in magnetized stellar atmospheres. It is built on the density-matrix formalism of [LL04] and written so that each statistical-equilibrium and radiative-transfer expression reads close to the equation it implements. The aim is a model that is transparent enough to inspect and verify, and flexible enough to adapt to a specific line or context rather than used as a black box.
-
Density-matrix formalism in the irreducible spherical statistical tensors
$\rho^K_Q$ , with atomic level polarization fully included [LL04]. - Interchangeable atomic models in a single pipeline: multi-term, multi-level, and a semi-LTE multi-term model, selectable without rewriting the surrounding code.
- Magnetic fields of arbitrary strength: Zeeman, Hanle, and the Paschen-Back regime by exact diagonalization of the atomic Hamiltonian (multi-term atom; Zeeman and Hanle for the multi-level atom).
-
Radiation field
$J^K_Q$ either prescribed (LTE Planck, or the anisotropic${n, w}$ parametrization of [ATL08] for coronal/chromospheric lines) or solved self-consistently for the non-LTE scattering problem [TB99].
- Constant-property slabs, optionally stacked into a multi-slab stratification under anisotropic illumination.
-
Height-stratified atmosphere in which temperature, absorber number density, the
magnetic-field vector, microturbulence, Voigt damping, and the vector macroscopic velocity
vary continuously with geometric height. The scattering
$J^K_Q$ is solved self-consistently by$\Lambda$ -iteration on a depth grid, with the Stokes transfer solved by the DELO method. - Emergent Stokes profiles for a chosen line of sight at arbitrary spectral resolution.
SolRaT is organized in three layers:
- a public API to run the built-in models;
- a modeling API to extend a model or build a new one by analogy with the shipped ones;
- the SolRaT engine, a dataframe-based meta-language in which the angular algebra and rate expressions are written close to their mathematical form, with the bookkeeping and optimization handled underneath.
Pre-configured lines: He I D3, Mn I 5432.5 Å, Ni I 5435.9 Å, Fe I 5434.523 Å.
SolRaT is a forward model. Its non-LTE solution is collisionless (pure scattering) by default, so scattering-polarization amplitudes are then upper limits; an optional parametrized-collision extension for the multi-level atom adds inelastic (transfer) and elastic (depolarizing) rates that bridge the scattering limit to LTE. Line formation assumes complete frequency redistribution (CRD). Physical collisional rates from cross-sections, partial frequency redistribution, and 3D geometry are out of scope for the current version.
Install SolRaT directly from PyPi by running pip install solrat.
Detailed documentation is available at https://solrat.readthedocs.io/. A quick-start example is available at https://solrat.readthedocs.io/latest/quickstart.html. Additional demos and validation against [LL04] and [HAZEL2] are available in demos.
A journal article is in preparation. In the meantime, if SolRaT has found use in your research, please cite it as
Yakovkin I. I. SolRaT (2023) [computer software]. Retrieved from https://www.yakovkinii.com/solrat/
[LL04] Landi Degl’Innocenti, E., & Landolfi, M. 2004, Polarization in Spectral Lines (Dordrecht: Kluwer)
[ATL08] Asensio Ramos, A., Trujillo Bueno, J., & Landi Degl’Innocenti, E. (2008). Advanced Forward Modeling and Inversion of Stokes Profiles Resulting from the Joint Action of the Hanle and Zeeman Effects. The Astrophysical Journal, 683(1), 542–565.
[TB99] Trujillo Bueno, J., & Manso Sainz, R. (1999). Iterative Methods for the Non-LTE Transfer of Polarized Radiation: Resonance Line Polarization in One-dimensional Atmospheres. The Astrophysical Journal, 516(1), 436–450.
[HAZEL2] Link
Non-LTE, Stokes Profiles, Synthesis, Paschen-Back, Hanle, Zeeman, Magnetic Fields, Sun, Solar Atmosphere, Radiative Transfer, Spectral Line Polarization, Spectral Lines, Multi-Term Atom Model, Multi-Level Atom Model, Atomic Polarization.Copyright (2023) Ivan I. Yakovkin