A python library for the estimation of photonuclear reaction rates in low-energy nuclear physics experiments.
When I increase my sample ('target') size by a factor of two, my particle detectors will record twice as many reactions.
If you fully agree to this statement, you have a rough idea of the scaling laws in beam-on-target experiments, but you may have overlooked some effects that make photonuclear experiments both challenging and exciting.
The ries library is all about these finite-temperature, thick-target, isolated-resonance, multiple-scattering ... effects that call for a reconsideration of statements like the one above.
When utilized in a clever way, second-order effects can even be the basis for more efficient experiments.
In fact, now is the right time to get involved, because currently existing [1] and planned [2] intense, polarized quasi-monoenergetic photon sources ('gamma-ray lasers') in the mega-electronvolt energy range have led to a 'renaissance' of photonuclear reaction studies.
The object-orientated and modular library ries allows users to simulate the passage of a photon beam through a sample in a nuclear physics experiment.
It aims to bridge the gap between pen-and-paper calculations and full-scale Monte Carlo particle simulations like Geant4 [3] or MCNP [4]:
Precise enough for serious work, and fast enough to act as the cost function of an optimization problem or the data model in a Bayesian analysis.
ries uses ℏc = 197.3269804 MeV fm for the product of the reduced Planck constant and the speed of light.
This means that all energies are assumed to be given in Mega electron volts, and all lengths in femtometers.
Temperatures are assumed to be given in Kelvin.
ries is python3 code and requires the following packages:
The tox tool is used to run self tests, build the documentation, and check whether the code is in standard format. This requires the following (optional) packages:
ries is shipped with several jupyter notebooks that demonstrate the usage, i.e. jupyter is another optional component.
Clone the repository:
git clone https://github.com/uga-uga/ries.git
Assuming that the setup.py file of ries is located in RIES_DIR, the code can be installed by executing:
cd $RIES_DIR
python setup.py install
To run self tests and build the documentation, execute
tox
in the same directory.
By default, the documentation will be generated in html format.
It can be found in $RIES_DIR/build and opened in a web browser.
The usage of ries is demonstrated in jupyter notebooks in $RIES_DIR/notebooks:
self_absorption_correction.ipynbis the most simple one. It demonstrates the self-absorption effect in thick-target experiments.layer_target.ipynbis similar toself_absorption_correction.ipynb, but generalized to a multi-layer target.6Li.ipynbshows a realistic data analysis withrieswhich includes the propagation of uncertainty.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.
Copyright (C) 2020-2022 Udo Friman-Gayer (udo.friman-gayer@duke.edu)
[1] High-Intensity Gamma-Ray Source (HIγS) at TUNL https://tunl.duke.edu/research/our-facilities, accessed on 12/02/2020
[2] Variable Energy Gamma (VEGA) System at ELI-NP https://www.eli-np.ro/rd2.php, accessed on 12/02/2020
[3] https://geant4.web.cern.ch/, accessed on 12/02/2020
[4] https://mcnp.lanl.gov/, accessed on 12/02/2020