In this merge request, I am implementing a way of getting new unique IDs. The idea is to simply find the max ID in the IC and then I request two slices for each rank starting from the max. The idea of the two slices is to have a current slice and once I finish it, I am using the new one. Every time that we rebuild, I am requesting a new slice if the first one is finished.
This will not work with your particle splitting. Do you wish a test to check that we are not using both of them?
It is very light, therefore I am not sure if it is worth to add an if around it.
I have tested it with the SmallCosmoVolume on two ranks and after getting a few different slices, I have only unique IDs.