Skip to main content

A scientific computing package for solving astroparticle transport equation using operator splitting methods and a finite volume approach.

Project description

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.

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 f}{\partial t} + \frac{1}{r^2}\frac{\partial}{\partial r}\left(r^2 u_\mathrm{w}f\right) + \frac{\partial}{\partial p}\left( \dot{p} f \right) = \frac{1}{r^2} \frac{\partial}{\partial r} \left(r^2 D\frac{\partial f}{\partial r}\right) + Q.$$

Where:

  • $f(t,r, p)$ is the particle distribution function,
  • $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{PLACEHOLDER_FOR_TECHNICAL_PAPER,
  author  = {Garcia-Morillo, J. M.},
  title   = {SAETASS: Solver for Astroparticle Equation of Transport Analysis in Spherical Symmetry},
  journal = {XXXX},
  year    = {2026},
  volume  = {X},
  doi     = {10.XXXX/XXXXX}
}

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

Project details


Download files

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

Source Distribution

saetass-0.1.1.tar.gz (2.8 MB view details)

Uploaded Source

Built Distribution

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

saetass-0.1.1-py3-none-any.whl (55.4 kB view details)

Uploaded Python 3

File details

Details for the file saetass-0.1.1.tar.gz.

File metadata

  • Download URL: saetass-0.1.1.tar.gz
  • Upload date:
  • Size: 2.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for saetass-0.1.1.tar.gz
Algorithm Hash digest
SHA256 3fa9e86d69727cc0b95aeec86b57833c9382a640a9b327e0ca2651217dd241c4
MD5 4312584b764184276e55fbdf0e35fc79
BLAKE2b-256 881a0a94782b3563060d9411f8fc4b071b9286ceb43b16ded89d5d6b60f895a9

See more details on using hashes here.

Provenance

The following attestation bundles were made for saetass-0.1.1.tar.gz:

Publisher: publish.yml on jmgarciamorillo/SAETASS

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

File details

Details for the file saetass-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: saetass-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 55.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for saetass-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9c405cbccf2b27778067c221b280eeb4714ee7337f1a36bc9e64364b2901a57c
MD5 e7537e2f7983a8bb1f8941032da55e49
BLAKE2b-256 32178be6588f5699f04d5cf39d3245ca58b7ff95a5d4940ad948846d7854626b

See more details on using hashes here.

Provenance

The following attestation bundles were made for saetass-0.1.1-py3-none-any.whl:

Publisher: publish.yml on jmgarciamorillo/SAETASS

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

Supported by

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