Skip to main content

SolRaT

Documentation Homepage License PyPi Version Language Supported Platforms Coverage Status

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.

Physical model

  • 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].

Atmospheres and synthesis

  • 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.

Design

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 Å.

Scope and limitations

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.

Installation

Install SolRaT directly from PyPi by running pip install solrat.

Documentation

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.

Citing

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/

References

[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

Keywords:

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

solrat-1.3.0.tar.gz (683.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

solrat-1.3.0-py3-none-any.whl (758.2 kB view details)

Uploaded Python 3

File details

Details for the file solrat-1.3.0.tar.gz.

File metadata

  • Download URL: solrat-1.3.0.tar.gz
  • Upload date:
  • Size: 683.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for solrat-1.3.0.tar.gz
Algorithm Hash digest
SHA256 c0a08823b28d453bcce15c1e0fc735af20762c3be732e371a420f1013501913f
MD5 dffee35bbdbcf899046a56ec5899b012
BLAKE2b-256 5fbf7e4f354c689ab383089c8173c18150ed2c43272dd1e1f4f8ff69121a2cd0

See more details on using hashes here.

Provenance

The following attestation bundles were made for solrat-1.3.0.tar.gz:

Publisher: publish.yml on yakovkinii/SolRaT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file solrat-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: solrat-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 758.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for solrat-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 de2e59e4b0d86e038872d2ee72a49ac7b4a7697dff1d45ea36369daa062d05e4
MD5 1eae1a4834660c59d9c7fa07e04d629b
BLAKE2b-256 8ff60b855b0601d80da4e8eb6684af2593ef40dee34d41a942590dd6a5ddc4ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for solrat-1.3.0-py3-none-any.whl:

Publisher: publish.yml on yakovkinii/SolRaT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

1.3.3

2 files

1.3.2

2 files

1.3.1

2 files

This release

1.3.0 This release

2 files

1.2.6

2 files

1.2.5

2 files

1.2.4

2 files

1.2.3

2 files

1.2.1

2 files

1.2.0

2 files

1.1.1

2 files

1.1.0

2 files

1.0.6

2 files

1.0.5

2 files

1.0.4

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

0.9.15

2 files

0.9.14

2 files

0.9.13

2 files

0.9.11

2 files

0.9.8

2 files

0.9.7

2 files

0.9.6

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page