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.ipynb
is the most simple one. It demonstrates the self-absorption effect in thick-target experiments.layer_target.ipynb
is similar toself_absorption_correction.ipynb
, but generalized to a multi-layer target.6Li.ipynb
shows a realistic data analysis withries
which 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 ([email protected])
[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