Getting started

jitr is 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!

Description

Under the hood, jitr solves the Shrödinger equation using the calculable \(\mathcal{R}\)-Matrix method on a Lagrange-Legendre mesh. It is fast because it gives users the tools to precompute everything that they can for a system and reaction of interest, so given a single parameter sample, the minimal amount of compute is required to spit a cross section back out. For this reason, jitr is really suited to calculating an ensemble of observables corresponding to an ensemble of reactions. Additionally, jitr relies on vectorized operations from numpy, as well as just-in-time (JIT) compilation from numba for the small subset of performance-critical code.

The theory generally follows:

Installation

Install the latest published package with:

pip install jitr

If you use uv, add it to an existing project with:

uv add jitr

Examples and tutorials

Browse the curated example notebooks.

Quick start

The quickstart example gives a full end-to-end walk-through afor:

  • compiling a solver for a given reaction system (\(\alpha\) + \(^{48}\)Ca)

  • defining a parametric interaction potential

  • fitting and full Bayesian calibration of the potential parameters to real experimental data

API reference and development

Use the API reference for detailed documentation of the codebase.

For development setup, test commands, and documentation builds, see Advanced users and developers and Tests.

BAND

jitr is one of the siftware packages included in the BAND Framework.

Citations

Please consider citing both jitr and the BAND Framework if you use the code in your research. The BibTeX entries are:

@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}
}
@techreport{bandframework,
    title       = {{BANDFramework: An} Open-Source Framework for {Bayesian} Analysis of Nuclear Dynamics},
    author      = {Kyle Beyer and Landon Buskirk and Manuel Catacora Rios and Moses Y-H. Chan and Tyler H. Chang and Troy Dasher 
    and Richard James DeBoer and Christian Drischler and Richard J. Furnstahl and Pablo Giuliani and
    Kyle Godbey and Kevin Ingles and Sunil Jaiswal and An Le and Dananjaya Liyanage and Filomena M. Nunes
    and Daniel Odell and David O'Gara and Jared O'Neal and Daniel R. Phillips and Matthew Plumlee
    and Matthew T. Pratola and Scott Pratt and Oleh Savchuk and Alexandra C. Semposki and \"Ozge S\"urer and
    Stefan M. Wild and John C. Yannotty},
    institution = {},
    number      = {Version 0.5.0},
    year        = {2025},
    url         = {https://github.com/bandframework/bandframework}
}