Space radiation effects library for spacecraft components. Published models, real data, pip-installable.
Project description
pushinka-rad
Space radiation effects library for spacecraft components. Published models, real data, pip-installable.
pip install pushinka-rad
No SPENVIS account. No Windows-only GUI. No Fortran. Just pip install and get answers.
Quick Start
import pushinka_rad as prad
report = prad.assess(
orbit="LEO",
years=15,
shielding_mm_al=2.54, # 100 mil Al
components=["photonic-soi", "cmos-28nm", "fpga-rad-hard"]
)
print(report)
Output:
==============================================================================
PUSHINKA-RAD Space Radiation Assessment
Mission: LEO_ISS, 400 km, 51.6 deg, 15.0 years
Shielding: 2.54 mm Al (100 mil)
==============================================================================
ENVIRONMENT
--------------------------------------------------
Total Ionizing Dose: 7.10 krad(Si)
Dose rate: 0.4732 krad/yr
Proton fluence: 7.10e+10 p/cm2
Displacement damage: 7.10e+07 MeV/g
Expected SPE events: 6
COMPONENT ASSESSMENT
--------------------------------------------------
Component Degrad% Fail% SEUs Status
------------------------------------------------------
Photonic SOI 0.00% 0.0% 0.0 PASS
CMOS 28nm 0.71% 51.3% 1.9 FAIL
Microchip RTG4 2.37% 0.0% 0.0 PASS
==============================================================================
CLI
# Assess a 15-year LEO mission
pushinka-rad assess --orbit LEO --years 15 --component photonic-soi --component cmos-28nm
# GEO communications satellite
pushinka-rad assess --orbit GEO --years 10 --component cmos-28nm --component solar-gaas
# Lunar Gateway
pushinka-rad assess --orbit LUNAR --years 5 --component fpga-rad-tolerant --component photonic-soi
# Export as JSON
pushinka-rad assess --orbit LEO --years 15 --format json -o report.json
# List available orbits and components
pushinka-rad list-orbits
pushinka-rad list-components
Supported Orbits
| Preset | Altitude | Inclination | Description |
|---|---|---|---|
| LEO_ISS | 400 km | 51.6 deg | International Space Station |
| LEO_SSO | 700 km | 98.2 deg | Sun-synchronous (Earth observation) |
| LEO_STARLINK | 550 km | 53.0 deg | Starlink-like constellation |
| MEO_GPS | 20,200 km | 55.0 deg | GPS (radiation belt heart) |
| GEO | 35,786 km | 0.0 deg | Geostationary (comms/weather) |
| LUNAR | 100 km | 90.0 deg | Low lunar orbit (Artemis Gateway) |
| DEEP_SPACE | -- | -- | Interplanetary (GCR-dominated) |
Supported Components
| Component | SEU? | Key metric |
|---|---|---|
| cmos-7nm through cmos-130nm | Yes | TID threshold + SEU rate per bit |
| fpga-rad-tolerant (XQRKU060) | Yes (TMR mitigated) | Config memory SEU |
| fpga-rad-hard (RTG4) | No (flash-based) | TID tolerance: 300 krad |
| photonic-soi | No (no stored charge) | Refractive index shift |
| photonic-sin | No | Wider bandgap, more tolerant than SOI |
| photonic-lnoi | No | Limited data, conservative model |
| mems | No | Dielectric charging |
| solar-gaas | No | NIEL displacement damage |
| solar-si | No | NIEL displacement damage |
Why This Exists
SPENVIS requires an ESA account and a web browser. CREME96 is legacy Fortran. OMERE is Windows-only. SRIM is Windows-only. There is no lightweight Python tool that combines trapped particle models, SEU calculation, and component degradation prediction in one package.
Every number in this library traces to a published paper or datasheet. No synthetic data.
Data Sources
| Model | Source |
|---|---|
| Trapped protons | AP-8 MIN, Sawyer & Vette 1976, tabulated via SPENVIS |
| Trapped electrons | AE-8 MAX, Vette 1991 |
| Dose-depth | SHIELDOSE-2, Seltzer 1994 |
| GCR protons | AMS-02, Aguilar et al. PRL 114, 2015 |
| Solar proton events | King 1974, Xapsos et al. IEEE TNS 2000 |
| CMOS SEU cross-sections | Seifert et al. IEEE TNS 59(6), 2012 |
| CMOS TID thresholds | Dodd & Massengill IEEE TNS 50(3), 2003 |
| Photonic SOI rad tolerance | Tzintzarov et al. Science Advances 10, 2024 |
| Photonic SiN rad tolerance | Grudinin et al. arXiv 1406.0297, 2014 |
| FPGA specifications | Xilinx DS893, Microchip DS0148 |
| Solar cell NIEL | Messenger et al. IEEE Trans. ED 48(9), 2001 |
| MEMS radiation effects | Shea, J. MEMS 8(3), 2009 |
Dependencies
- numpy >= 1.24
- scipy >= 1.10
That's it. No heavy frameworks, no ITAR-restricted binaries, no network access required.
Install
pip install pushinka-rad
Or from source:
git clone https://github.com/venticedlatte/pushinka-rad.git
cd pushinka-rad
pip install -e .
License
Apache 2.0
Built by
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 pushinka_rad-0.1.0.tar.gz.
File metadata
- Download URL: pushinka_rad-0.1.0.tar.gz
- Upload date:
- Size: 16.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dfd3b4f093a82c27c8fc173eda1ae0fc48e067d94efbebdc4a057e7b215f3ec1
|
|
| MD5 |
6e1c06df380d519957bb8a212ad13292
|
|
| BLAKE2b-256 |
1679f81c6aaba2d61660f6cc6458f35d5d799ccade645d87d5568b047abdf613
|
File details
Details for the file pushinka_rad-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pushinka_rad-0.1.0-py3-none-any.whl
- Upload date:
- Size: 18.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae583ea61400c8d6f4747bd5b04d1f1342804a91fac7893533495ad79f2f10b5
|
|
| MD5 |
b5d83226cd20a4850e2273e50bdcb5d0
|
|
| BLAKE2b-256 |
ef2f0eab7587324bc6b43384e08cf60ee78c77fe2f6b8f44fbcf0c59fdc52ded
|