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 and acceleration in astrophysical environments using finite volume methods and operator splitting.


DOI CI tests Codecov Placeholder Docs Placeholder PyPI Version Placeholder Python Versions Placeholder Project Status: Active PRs Welcome License: BSD-3 Last Commit Issues Stars

Overview

SAETASS numerically solves the astroparticle transport equation in one-dimensional spherical symmetry; 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 for 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 version-specific citations, you may use the Zenodo DOI 10.5281/zenodo.XXXXX citation:

@software{PLACEHOLDER_FOR_ZENODO_CITATION,
  author    = {Garcia-Morillo, J. M.},
  title     = {SAETASS: Solver for Astroparticle Equation of Transport Analysis in Spherical Symmetry},
  year      = {2026},
  publisher = {Zenodo},
  doi       = {10.5281/zenodo.XXXXX},
  url       = {https://doi.org/10.5281/zenodo.XXXXX}
}

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.0.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.0-py3-none-any.whl (55.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: saetass-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 069ab14d8c0878a432565c36c73471bc32ee4c8f662bb614bf930fd562f2e234
MD5 553aea058a2029eb861dfac00bebb7e7
BLAKE2b-256 01a92d8b1db49c1ff0e50949d9a981c8d08bf5e89e353164975689df266490aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for saetass-0.1.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: saetass-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 55.6 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 41170d2ccd900f71fa8652f9e65e866d182c83274a1bbd7b17d29bf05b221bc4
MD5 99e9b3f6a1fdefc7eb170435ad29793d
BLAKE2b-256 60a874bc2110f32c5db84c4c74cdfb0c286f46cb8fd60fc6d68cda65ae8edd0a

See more details on using hashes here.

Provenance

The following attestation bundles were made for saetass-0.1.0-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