oslocyclotronlab / ompy

A python implementation of the Oslo method
https://ompy.readthedocs.io
GNU General Public License v3.0
6 stars 7 forks source link

Added the 'rhosigchi' algorithm #201

Closed vetlewi closed 1 year ago

vetlewi commented 1 year ago

OMpy uses a standard minimizer from scipy to extract the level density and gamma-ray transmission coefficient from the first generation matrices. In this PR I've implemented the iterative method that was presented in the original Oslo method paper with the modifications that are present in the most recent version of rhosigchi.

The most costly part of the algorithm (the iterative phase) has been written in C++20 as it provides a significant speedup compared to pure python. There is a python implementation which could be used as a fallback if on a system that does not have a compiler that supports C++20. This fallback has yet to be implemented as this will be done once such an issue is encountered.