Attenu About & Credits

APIs, libraries, external data sources, and copyright references

Core Simulation & Calculations
OpenMC Particle Transport
Core Simulation

A community-developed Monte Carlo neutron and photon transport simulation code. It is utilized in our backend to model complex geometry shielding and calculate the photon energy spectrum using exact physical principles.

Developer: OpenMC Development Team
License: MIT License
Copyright (c) 2011-2026 OpenMC Development Team Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Attenu Point-Kernel Engine
Built-in Solver

Custom-built analytical solver for fast radiation shielding calculations. Integrates point kernels over 6 source geometries (point, line, disk, cylinder, sphere, slab) via JIT-compiled numerical quadrature. Incorporates GP-fitting buildup factors (ANSI/ANS-6.4.3) for scattered photon contributions. Accelerated by Numba.

Author: Attenu Radiation Team
Modules: dose_engine/geometry.py, physics.py, isotopes.py, buildup_gp.py
License: Proprietary / Open Internal
Python Scientific Libraries
radioactivedecay v0.6.1
Python Library

Python package for radioactive decay modelling supporting 1252 radionuclides, full decay chains, branching ratios, and metastable isomer states. Used in dose_engine/isotopes.py to compute exact half-lives and disambiguate isomers (e.g. Tc-99m vs Tc-99) when querying the IAEA Live Chart API. Bundled nuclear data from ICRP-107.

Authors: Alex Malins, Thom Lemoine, Ian Cullen
License: MIT License
Nuclear data: ICRP-107, AMDC-2020
Numba v0.65.1
Python Library

JIT (Just-In-Time) compiler translating annotated Python/NumPy functions to optimized native machine code via LLVM. Used with @numba.njit to accelerate critical integration loops in geometry.py for all 6 source geometries, yielding 10–100× speedup versus pure Python.

Developer: Anaconda / Numba Development Team
License: BSD 2-Clause License
NumPy v2.4.6
Python Library

Fundamental package for scientific array computing in Python. Used throughout the dose engine and OpenMC model for vectorized attenuation coefficient interpolation, Gauss–Legendre quadrature grids, and multi-shield geometry array operations.

Author: Travis E. Oliphant et al. / NumPy Community
License: BSD 3-Clause License
Website: numpy.org
SciPy v1.18.0
Python Library

Fundamental algorithms for scientific computing in Python. Provides advanced numerical integration routines, interpolation, linear algebra, and signal-processing utilities. Used as a transitive dependency by radioactivedecay for decay chain matrix exponentiation.

Developer: SciPy Community / Enthought
License: BSD 3-Clause License
Website: scipy.org
Gunicorn
WSGI Server

A Python WSGI HTTP Server for UNIX. Serves the Flask application in production via systemd (doseshield.service), managing worker processes for concurrent user requests on port 5000.

Developer: Benoît Chesneau & contributors
License: MIT License
Website: gunicorn.org
Frontend Libraries & Frameworks
Flask (Python Web Framework)
Framework

A lightweight WSGI web application framework in Python. Handles HTTP routing via Blueprints (doseshield_bp, openmc_bp), Jinja2 template rendering, and all JSON API endpoints (/api/calculate, /api/nuclides, /api/decay_lines).

Developer: Armin Ronacher / Pallets
License: BSD 3-Clause License
Chart.js
Library

A popular and flexible JavaScript charting library. Powers our visualization of the photon energy spectra (OpenMC output), dose vs. shield thickness curves, multi-layer attenuation profiles, and dose rate vs. distance charts.

Author: Chart.js contributors
License: MIT License
Website: chartjs.org
Lucide Icons
Icons

Beautiful, consistent, community-maintained open-source icon library. Used throughout the dashboard for all UI controls, labels, and navigation elements (shield-alert, cpu, database, sliders, activity icons, etc.).

Project: Lucide Contributors
License: ISC License
Website: lucide.dev
Nuclear Data & Physics References
NIST XCOM — Mass Attenuation Coefficients
Physics Data

NIST photon cross-sections database providing μ/ρ (cm²/g) tabulated for 30+ shielding materials (water, concrete, iron, lead, aluminium, tungsten, uranium…) over 50 keV – 10 MeV. Hardcoded into dose_engine/physics.py → MU_RHO for 13 discrete energies.

Provider: NIST — National Institute of Standards & Technology
Reference: M.J. Berger et al., NIST Standard Reference Database 8 (XGAM)
License: Public Domain (US Gov Open Data)
ICRP-74 / ICRU-57 — Fluence-to-Dose H*(10) Conversion
Dosimetry Data

Photon fluence-to-ambient dose equivalent H*(10) conversion coefficients (pSv·cm²) for energies 10 keV – 10 MeV. Used to convert computed photon fluence rates (γ/cm²·s) into practical dose rates (μSv/h). Implemented as the ICRP74_H10_CONVERSION lookup table in dose_engine/physics.py, with factor 3.6×10⁻³ (pSv/s → μSv/h).

Author: International Commission on Radiological Protection
Reference: ICRP Publication 74 (1996) / ICRU Report 57
ANSI/ANS-6.4.3 — Buildup Factor GP Parameters
Shielding Data

Geometric-Progression (GP) empirical fitting parameters (b, c, a, xk, d) for gamma-ray buildup factors in water, concrete, iron, and lead. Stored in dose_engine/physics.py → BERGER_PARAMS and evaluated by buildup_gp.py → calculate_gp_buildup() for scattered-photon dose contributions.

Standard: ANSI/ANS-6.4.3-1991
Reference: Harima Y. et al., Nucl. Sci. Eng. 94, 24–35 (1986)
Publisher: American Nuclear Society (ANS)
IAEA Live Chart of Nuclides — REST API
Nuclear Data API

Online REST API queried at runtime to retrieve discrete gamma emission lines (energy MeV, intensity %) for any radionuclide absent from the local cache. Endpoint: nds.iaea.org/relnsd/v1/data?fields=decay_rads&rad_types=g. Called from dose_engine/isotopes.py → get_nuclide_gammas() with a 5 s timeout and automatic fallback to the local JSON cache.

Provider: IAEA — Nuclear Data Section (NDS), Vienna
License: Open Data (IAEA)
ICRP-107 — Radionuclide Decay Data (1252 nuclides)
Nuclear Data

Comprehensive decay data for 1252 radionuclides: half-lives, decay modes, branching fractions, and daughter products. Bundled within the radioactivedecay Python library. Used via rd.Nuclide(name).half_life() in isotopes.py to disambiguate isomeric states (e.g. Tc-99m vs Tc-99, Ba-137m vs Ba-137).

Author: International Commission on Radiological Protection
Reference: ICRP Publication 107 (2008)
Access via: radioactivedecay Python package v0.6.1
ENDF/B-VIII.0 — Photoatomic Cross Sections
Nuclear Data

Evaluated Nuclear Data File library providing photon-atom cross sections for photoelectric absorption, coherent (Rayleigh) and incoherent (Compton) scattering, and pair production. Used directly by OpenMC for Monte Carlo photon transport and energy deposition scoring.

Provider: Cross Section Evaluation Working Group (CSEWG) / BNL
License: Public Domain / Open Data