A nuclear reaction toolkit, production ready for calibration and uncertainty-quantification, featuring:
- fast calculable
$\mathcal{R}$ -matrix solver for parametric reaction models - built in uncertainty-quantified optical potentials
- built in nuclear data
- plenty of examples demonstrating the propagation of uncertainties into reaction observables and model calibration
Give your nuclear reaction UQ workflow a caffeine-kick with jitR!
pip install jitr
The release versions of the package are hosted at pypi.org/project/jitr/.
Various example scripts live in examples/. Tutorials live in examples/notebooks/.
In particular, check out:
examples/notebooks/reactions.ipynbwhich demonstrates the use of thereactionssubmoduleexamples/notebooks/builtin_omps_uq.ipynbto see how to use the built-in uncertainty-quantified optical model potentials to propagate uncertainties into reaction observables
A framework for uncertainty-quantification of nuclear reaction observables using parametric reaction models. Consider a local coordinate-space potential
def V(r,*theta):
a,b,c,... = theta
# calculate and return potential at radial coordinate r as a function of parameters a,b,c,...Then, you can pass it along with many samples of Workspace instances, and live in src/jitr/xs/.
Under the hood, jitR solves the radial Bloch-Shrödinger equation in the continuum using the calculable numba for the small subset of performance-critical code.
The theory generally follows:
- Baye, D. (2015). The Lagrange-mesh method. Physics reports, 565, 1-107
- Descouvemont, P. (2016). An R-matrix package for coupled-channel problems in nuclear physics. Computer physics communications, 200, 199-219
- Descouvemont P. and Baye D. (2010). The R-matrix theory. Rep. Prog. Phys. 73 036301
with the primary difference being that this code uses the energy-scaled version of the Bloch-Shrödinger equation, with dimensionless domain,
To set up the repository for contributing, testing, access to non-release branches, access to the examples and notebooks, etc., clone the repository and install locally:
git clone git@github.com:beykyle/jitr.git
pip install -r ./jitr/requirements.txt
pip install -e ./jitr
then run the tests:
pytest jitr
Feel free to fork and make a pull request if you have things to contribute. There are many open issues, feel free to add more.
This package is part of the BAND Framework
@software{Beyer_JITR_2024,
author = {Beyer, Kyle},
license = {BSD-3-Clause},
month = oct,
title = {{JITR}},
url = {https://github.com/beykyle/jitr},
version = {1.3.0},
year = {2024}
}