Gas tube / Radioactive waste distribution
MTitzer opened this issue ยท 6 comments
Please use the search functionality before reporting an issue. Also take a look at the closed issues!
Issue description:
Distribution of either nuclear waste (spent or not) unevenly distributes into mass amount of radioactive waste barrels. Output from either a fission reactor or PRC outputting spent nuclear waste distributes in large increments (1000 mbs from PRC or the set burn rate from fission reactor). This means that in a setup of approximately 1900 barrels, under 10 barrels holds most of the waste.
This prevents any sort of large scale build with the goal of quickly decaying nuclear materials as barrels seem to be randomly selected and filled with the output of the source machine at the output rate (fission at 32 burn rate or PRC at 1000 mb output)
Steps to reproduce:
- Create a large radioactive waste dumping ground (mine is within 2 chunks - chunkloaded with teleporter w/ anchor)
- Connect all barrels and run tube line 5 or so chunks away
- Output waste from either fission reactor (@ 32 burn rate) or PRC creating polonium pellets)
Version (make sure you are on the latest version before reporting):
Forge: 32.0.108
Mekanism: 10.0.9.432
Other relevant version:
Running Valhelsia modpack 1.16.1 - version 3.0.16
Screenshots of issue/build:
To be fair, the issue could also be alleviated by making the waste dissipation rate less painfully slow. A 19.2mb burn rate water-cooled reactor and turbine can be set up rather cheaply and compactly, save for the 2,304 radioactive waste barrels required to keep up with spent nuclear waste production. With cabling, they'd take up an 8x8x54 volume of space, and 9,216 steel and lead ingots on the barrels, absurdly dwarfing the space and cost requirements for the rest of the setup...
Another approach might be some sort of nuclear waste storage multi-block. That would circumvent the need for even distribution of small gas volumes across many individual tanks.
After a few test cases, it seems that the issue is present when the barrels connected are greater than 1000 or so. I removed a tube and cut the network from 1900 barrels to 951 and it began to distribute waste evenly. Once the tube was replaced, then the issue came back.
I will try to look at this when I get a chance, but if that is the case my best guess is that the remainder handling code is just subpar at evenly distributing contents which there may not be that much I can do about without impacting performance.
Ya not quite sure when I will implement the fix as it is relatively complicated logic wise, but it has to do with that when it is in "send remainder" mode it just tries to send as much as possible of the remainder. The issue is when it is all remainder it has zero as the initial amount to try and send evenly distributed. I think I can at least slightly improve it by trying and making it send one more than the value if there is a remainder until the remainder is gone or we are onto the final pass where it tries to send all remaining to the various destinations.