A scientific computing package for solving astroparticle transport equation using operator splitting methods and a finite volume approach.
Project description
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.
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.
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
069ab14d8c0878a432565c36c73471bc32ee4c8f662bb614bf930fd562f2e234
|
|
| MD5 |
553aea058a2029eb861dfac00bebb7e7
|
|
| BLAKE2b-256 |
01a92d8b1db49c1ff0e50949d9a981c8d08bf5e89e353164975689df266490aa
|
Provenance
The following attestation bundles were made for saetass-0.1.0.tar.gz:
Publisher:
publish.yml on jmgarciamorillo/SAETASS
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
saetass-0.1.0.tar.gz -
Subject digest:
069ab14d8c0878a432565c36c73471bc32ee4c8f662bb614bf930fd562f2e234 - Sigstore transparency entry: 1252927882
- Sigstore integration time:
-
Permalink:
jmgarciamorillo/SAETASS@89124c7620985e8cbfedc8126174ad2d8db82d1d -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/jmgarciamorillo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@89124c7620985e8cbfedc8126174ad2d8db82d1d -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41170d2ccd900f71fa8652f9e65e866d182c83274a1bbd7b17d29bf05b221bc4
|
|
| MD5 |
99e9b3f6a1fdefc7eb170435ad29793d
|
|
| BLAKE2b-256 |
60a874bc2110f32c5db84c4c74cdfb0c286f46cb8fd60fc6d68cda65ae8edd0a
|
Provenance
The following attestation bundles were made for saetass-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on jmgarciamorillo/SAETASS
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
saetass-0.1.0-py3-none-any.whl -
Subject digest:
41170d2ccd900f71fa8652f9e65e866d182c83274a1bbd7b17d29bf05b221bc4 - Sigstore transparency entry: 1252927912
- Sigstore integration time:
-
Permalink:
jmgarciamorillo/SAETASS@89124c7620985e8cbfedc8126174ad2d8db82d1d -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/jmgarciamorillo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@89124c7620985e8cbfedc8126174ad2d8db82d1d -
Trigger Event:
release
-
Statement type: