Light wrote:
Then it's exactly how I hoped it would function, but I sure didn't expect the decay rate to be so snail pace, even at maximum capacity.
Not that that's a complaint by any means. Robots are one of the techs I end up researching several days after creating major sections first, using around 60+ MW on average before a single robot comes out, at which point I expected to be running to the reactor every 30-40 minutes to keep it going. Seeing it take many hours is a comforting thought.
Hopefully the decay rate of fuel rods will be long lasting as well.
I've been doing a lot of simulations (at least 1000x) of my decay code. After much tweaking and playing around with it, I can say that how long the fuel rods last depends on the power output setting. It appears though that the minimum time is around 45-50 real minutes. The longest has been about 48 real hours (could be longer...effectively infinite really if power = 0). There are sweet spots in power output vs fuel rods that you can find through trail and error to attenuate the decay while still producing lots of power.
I wrote code so that once the fuel starts dying, they die rather fast. It appears that the period between them dropping dead is about 1-2 minutes. Dead assemblies remain in the reactor until you trigger a fuel replacement where they will end up in the spent-pool for 5 minutes before being released to the spent-chest where you can recycle them. Dead assemblies really do you no good so try not to have too many in the reactor...In fact it probably is best to replace them before they actually die if you are operating at maximum power.
This is a graph of an example of a neutron history for 32 fuel assemblies (120 vs 320 life stages). The x-axis is in seconds. This is the result of 1000x simulations (average values) where the fuel decay code is called once a second.
Generally, the decay code inspects randomly 10% of the fuel rods. The code is called once per second but the loop can be executed up to 8 times, depending on the control rod factor, which is the decay_rate. The decay code can also be attenuated if the 0 <decay_rate < 1.
Each neutron value is equivalent to a power rating. You can get it from this graph. The neutron distribution X control rod factor (which is based on control rod setting) gives the neutron value.
https://www.desmos.com/calculator/aayo30pj7i
Control rod setting -> Control rod factor
https://www.desmos.com/calculator/sy6nouv3aq
Decay attenuation
https://www.desmos.com/calculator/kbwlnjmwfp
Each fuel assembly types have a neutron factor associated with each stage of its life. They have 320 stages of life. The sum of these gives the neutron distribution.
https://www.desmos.com/calculator/uvz0momtkw
I've not quite settled on what I want exposed to the players yet through virtual signals. I think though the players will have two options. The reactor is either in automatic or manual mode. Under the former, the players can only set the power rating, turn on/off the reactor, and trigger fuel replacement through circuit signal processings. Under the latter, the players can do all of the previous in addition to controlling the control rod settings. I will also expose the average age of the fuel rods through a virtual signal. This is so the players can trigger fuel replacement when they deem fit.
I'm sharing with you now an awk script (rather dirty but hopefully does the job) that I used for simulating. I used awk since it doesn't need compiling and its what I use daily in my work (I munge a lot of data). Besides, writing C code would be overkill for what was needed done. The code should work with GNU awk 3.1.8. Just chmod +x the file and run ./reactor <a> <b> <c>, where parameters a,b,c : power, # of fuel assemblies (assumed to be 4.7%), dead assemblies.
So ./reactor 2000 256 25 will simulate 2000 MWheat for 256 assemblies until 25 of them died and give you the time (in seconds) for that to happen. The variable "trials" is simply how many times to run, so 1000 means 1000 runs and it will return the average time for 1000 runs (warning: can take quite some time to run depending on parameters...it's not threaded any how. You could try mawk or
awka (
revive awka) if you want some speed-up...though I doubt it with mawk since you're not reading anything from a block device
)
There are two more files generated by ./reactor and that is lifetime and neutron_profile. They should be self-explanatory.
- reactor.txt
- Remove the txt extension when on linux
- (3.86 KiB) Downloaded 141 times
Iorek wrote:loads of water pressure pumps then direct into steam engines...
no heat exchange means steam engines produce power from the 350 degrees Pwater
Using Solar to power my pumps, because weirdly Pumps seem to be the first thing effected by low power, so a surge can bring the entire thing down
its just a rough idea, not really optimized but you can see a 144MW reactor produces 206MW power
Yep, it is a very large boiler. You can do such thing and there is no reason for me to stop you.
shikashi18 wrote:So I guess the question now would be how long till 0.14 or 0.15 release?
Well 14.18 has just been declared stable. Thus you can expect a release of 0.6.x this weekend. I will patch the outstanding reactor-chest error, add an interim decay, and give you fuel recycling. This should make people happy while I continue to work on 0.7.x