Skip to main content
SAETASS Logo

Solver for Astroparticle Equation of Transport Analysis in Spherical Symmetry

A Python library for simulating cosmic-ray transport in spherically symmetric astrophysical environments using a finite volume method approach.


DOI CI tests codecov Docs PyPI version Project Status: Active PRs Welcome License: BSD-3 Last Commit Issues

Overview

SAETASS numerically solves the astroparticle transport equation in spherically symmetric astrophysical environments; this is, the fundamental equation governing the propagation and energy losses of energetic particles within astrophysical environments such as stellar wind bubbles.

The package decomposes the full transport equation into independent physical operators: diffusion, advection, energy losses and source. It evolves them via mathematically robust operator-splitting schemes. Each operator is implemented as a dedicated finite-volume solver, ensuring modularity, testability and physical transparency.

For comprehensive documentation, visit the SAETASS Documentation.

SAETASS Multi-Energy Diffusion Simulation Evolution

Key Features

Feature Description
Modular solvers Independent numerical schemes for advection, diffusion energy losses, and source injection; combined via operator splitting
Flexible grids Dedicated grid object with support for diverse spatial and momentum grid configurations
Physical accuracy Deep integration with astropy.units and astropy.constants for strict dimensional analysis
Extensibility Plug in custom diffusion coefficients, velocity fields, loss functions and source terms

Installation

A quick simple installation to get started using SAETASS can be simply done via pip:

pip install saetass

This will install the latest stable version of SAETASS from PyPI. The dependencies of other use cases are installed as extras: tutorials to run the tutorials and examples, test, docs, and dev for all of them, for instance pip install "saetass[tutorials]".

See the full Installation Guide for additional installation options and troubleshooting.

Quickstart

For step-by-step guides to get started with SAETASS, check the Tutorials section of the documentation.

For complete, more advanced examples, check the Examples section of the documentation.

Mathematical background

SAETASS solves the following astroparticle transport equation in spherically symmetric geometry:

$$\frac{\partial \psi}{\partial t} + \frac{1}{r^2}\frac{\partial}{\partial r}\left(r^2 u_\mathrm{w}\psi\right) + \frac{\partial}{\partial p}\left( \dot{p} \psi \right) = \frac{1}{r^2} \frac{\partial}{\partial r} \left(r^2 D\frac{\partial \psi}{\partial r}\right) + Q.$$

Where:

  • $\psi(t, r, p)$ is the differential (in momentum) density function ($\psi = 4\pi p^2 f_\mathrm{ps}$),
  • $u_\mathrm{w}(t,r,p)$ is the advection (wind) velocity,
  • $\dot{p}(t, r, p)$ is the rate of energy loss,
  • $D(t, r, p)$ is the spatial diffusion coefficient,
  • $Q(t, r, p)$ is the source term.

The equation is discretized using a finite volume scheme and solved by an operator-splitting routine, which decomposes the full PDE into simpler, independently solvable subproblems.

References

For a detailed derivation of the numerical schemes, see the technical paper.

Citation

If you use SAETASS in your research, please cite the technical paper to acknowledge the development effort:

@article{saetass_technical_paper,
  author  = {García-Morillo, José María and Menchiari, Stefano and López-Coto, Rubén},
  title   = {SAETASS: Solver for Astroparticle Equation of Transport Analysis in Spherical Symmetry},
  journal = {Journal of Cosmology and Astroparticle Physics},
  publisher = {IOP Publishing},
  year    = {2026},
  month   = {sep},
  volume  = {2026},
  number  = {09},
  pages   = {133},
  doi     = {10.1088/1475-7516/2026/09/133},
  url     = {https://doi.org/10.1088/1475-7516/2026/09/133},
}

For software-specific citations, you may use the Zenodo DOI 10.5281/zenodo.19468484 citation:

@software{saetass_software,
  author       = {García-Morillo, José María and Menchiari, Stefano and López-Coto, Rubén},
  title        = "{SAETASS: Solver for Astroparticle Equation of Transport Analysis in Spherical Symmetry}",
  month        = apr,
  year         = 2026,
  publisher    = {Zenodo},
  doi          = {10.5281/zenodo.19468484},
  url          = {https://doi.org/10.5281/zenodo.19468484}
}

Contributing

Contributions, bug reports and feature suggestions are welcome! Whether you want to fix a typo, improve a solver or add a new physical module: we'd love your help!

Please read the Contributing Guidelines and our Code of Conduct before getting started.

License

SAETASS is released under the BSD 3-Clause License.

Acknowledgements

SAETASS is developed within the VHEGA research group at the Instituto de Astrofísica de Andalucía (IAA-CSIC), Granada, Spain.


Author Email ORCID

Metadata

Release files for saetass 0.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for saetass 0.5.1
File Size Uploaded
saetass-0.5.1.tar.gz 3.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for saetass 0.5.1
File Interpreter ABI Platform
saetass-0.5.1-py3-none-any.whl Python 3 none any Details

Total release size: 3.2 MB

Release files / saetass-0.5.1.tar.gz

Download URL saetass-0.5.1.tar.gz
Size 3.1 MB
Tags Source
SHA-256 checksum
How to use checksums
b2a97fdc465bfc7d14ae14d99d1a999f18198f5831d732539a8a7551df11f1ef
BLAKE2b-256 checksum
How to use checksums
fcdf5c69a3ff6f06a81d88bbbcb86e46cf049336e0974a56b6b789aa45ab6f55
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / saetass-0.5.1-py3-none-any.whl

Download URL saetass-0.5.1-py3-none-any.whl
Size 98.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6882ea5ad8d3e021d11d441bceec27dc5e71567a2348f461da803c93414e50dd
BLAKE2b-256 checksum
How to use checksums
87f68b8b815d7785df173b474a811497c12120fd87f35a2736b17b1d488b84e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.1 This release

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page