SixTrack / sixtracklib

Library for single charged particle simulations in accelerators
GNU Lesser General Public License v2.1
12 stars 16 forks source link

Fix bugs related to the introduction of apertures and lost-particle state #107

Closed martinschwinzerl closed 4 years ago

martinschwinzerl commented 4 years ago

Summary: Addresses a bug found by @hannes-bartosik concerning the proper treatment of lost-particles in lattices with Apertures. The required changes to the logic in the tracking functions triggered a big refactoring and (hopefully) simplification drive that also brought the OpenCL implementation more in line with the CUDA and CPU tracking options.

Details:

Open issues:

For the meantime, I disabled the optimized tracking for AMD OpenCL platforms, any hints or suggestions on the cause of the issue would be highly appreciated!

Notes:

martinschwinzerl commented 4 years ago

This PR seems to be quite complete now. We've added backports of the OpenCL download functionality and the SIXTRACKLIB_DEVICES support to allow testing on an equal footing with the current master, and removed the recursive faculty calculation in the Multipole datatype of the python SixTrackLib with a call to scipy.special.faculties.

If further testing of the updated library does not reveal new problems, it can be merged (after fixing the conflicts with current master mostly arising from the changed APIs of the OpenCL track job and context)