exasmr / openmc

OpenMC Monte Carlo Code
https://docs.openmc.org
MIT License
15 stars 9 forks source link

Increase neighbor list size #43

Closed jtramm closed 1 year ago

jtramm commented 1 year ago

This PR increases the neighbor list size from 13 to 50, to allow for more flexibility with fusion benchmark problems. It likely may need to be increased again in the future, but this at least allows the UKAEA fusion benchmark test to run cleanly.

paulromano commented 1 year ago

Does this have any noticeable impact on memory or performance?

jtramm commented 1 year ago

The impact on memory is negligible for problems I have tested on, which typically only define a few dozen or maybe a few hundred types of cells. However, for problems with millions of cells, yes, I can see this having more of a memory impact.

In terms of performance, for fusion problems, I get 250 kparticles/sec with 50 neighbor items, and 251 kparticles/sec with 500 neighbor items. For the XXL fission benchmark problem, I get 355 kparticles/s with 13 neighbor items, and 354 kparticles/s with 500 neighbor items. So, for these problems at least, there doesn't appear to be any sensitivity at all to this parameter, even when dialing up to 500.

There is more of a performance differential for fusion problems when going from 13 neighbor items -> 50, as if only using 13 then you don't have enough space in the neighbor list and it has to revert to testing from the base universe.