Simulator for Fission Reactors

It was written in Python 3.7 with PyQt6 (6.0.3).
I’ve moved this to a branch and now main is ported to 3.10 and 6.2.3 (make sure you have a new version of pyqtgraph too), so hopefully it’ll work for you now!

One note, it is not updated to include the latest change in GT (durability now updates every tick and durability loss is related to neutron count on the rod rather than neutron output of the rod).
While I think the change makes sense, since it penalizes bad fuels (U238), it is more than 2 lines to fix and I haven’t had time yet. Also because when I do take the time I should rewrite the simulation class anyway, since it’s a mess that was written as I was decrypting how things work, I think I recently noticed that in some cases the simulation doesn’t EXACTLY match the behaviour with time, though the steady state was correct. So yeah, I’ll fix that at some point in the not too far future, hopefully.
Until such time there is an experimental branch that, probably, reflects the change in GT, but it’s not been tested and it doesn’t terminate the same tick that a rod depletes but rather at the end of the corresponding second (20 ticks), in most cases that’s fairly irrelevant and you probably won’t care. I think GT should notice this after the tick, but I’m not even sure about that, have to check the code again to see when it checks neighbouring rods and itself, I forgot, might be it does the same.
Note that this is for version 6.14.24 that has not been released yet, but the change will affect reactor efficiency, a reactor that might be very good now might not be so good once that change is applied.

2 Likes