openmc
openmc copied to clipboard
Reduce split particle memory in secondary banks
Description
When we split particles during variance reduction, the source sites generated using Particle::split are identical in nature. To reduce storage in the secondary particle bank, it would be useful to allow source sites in the bank to be "reused" a number of times when sourcing them to reduce memory overhead in this data structure.
Alternatives
If supporting this involves too much additional complexity or we're solving a problem that isn't there (pending some data collection on the size of the secondary arrays), then it might be best to leave it as-is.
Compatibility
This will likely change the SourceSite struct, which has ramifications for the statepoint spec and MPI communication. It will also require some additional bookkeeping.