mrvn wrote: Thu Oct 21, 2021 4:13 pm
Sorry about switching between theoretical and practical like that. For a perfect plant it matters. For a practical plant it matters no matter how unlikely the case is if it puts the reactor in an unrecoverable state. Because experience has shown that even stuff you say it totally unlikely, like the 0.000002°C drift never going to matter, has a way to do happen if enough people use the design for a long enough time or when people mess with stuff in multiplayer games. So I always prefer a design that is self correcting over one that goes into a dead state.
It doesn't go to dead state, it has 1 automated emergency/correction refuel once in a month or so

.
mrvn wrote: Thu Oct 21, 2021 4:13 pm
And no, practical using an accumulator for emergencies doesn't matter. But the case that it does trigger shows that your initial design was flawed, it wasn't perfect. And then my argument is: What happens if you remove your design (or mine or anybody else with a backup) leaving just the emergency accumulator? Doesn't the reactor still work lossless and without brownouts? Why use a method that is flawed and requires a backup if the backup is already flawless? That's just inefficient.
The emergency system would function only because it's a thermal buffer. As there is no steam to back up, or very few, as soon as the last heat exchanger receive not enough heat flow, it can triggers the ermergency refuel ( at the end of the fuel cycle, just before planned refuel it's more likely).
With a more classic approach of bufferingsteam, you do not know if the emergency 1 accu<99% will be useful. If it rings when your whole system is 500° it's not enough margin, you need the time for the plant to restart which could cause more severe brownout that the "12 second" i mentionned.
The logic is not flawed, it's just a logic of approximation and correction: let's make all the edge case be dealt with the same way due to altering the theoricly perfect count we may or may not achieve in pratice , all toward the same trend.
mrvn wrote: Thu Oct 21, 2021 4:13 pm
I'm not averse to the logic. I was trying to see and try to fix the flaws. I still maintain that calculating energy consumption can't work perfectly. It will always drift outside of very controlled instances. It can work for your thermal furnace if you control and account all the variables. For example count the number of ticks the furnace works and the number of ticks the furnace is idle. With a setup with just one type of furnace all in the same configuration you can make them all work synchronized. Have all inserters swing at the same time and counting energy becomes easy. You have a fixed amount per tick equal to the drain of everything. And then a fixed amount of energy per inserter swing (the difference between idle and working on recipe). Doing the same for any complex factory? Forget about it.
Note: do the thermal furnaces in your mod even have drain?
you see it as a flaw that the calculation is imperfect, but i don't because you can make up for the imperfections with a corrective mechanism.
You don't need to have everything synchronized and all perfect almost the opposite haha, the magic of big numbers is playing for you. the more machnine you have, the easier it is to get a proper average. From 1 to 2 to 3 to 4 to 5 machines it's intuitive. If they have a cycle let say 1 1 1 4 5 1 1. but another is 1 4 5 1 1 1 1 , another one 4 5 1 1 1 1 1, another one 1 1 4 5 1 1 1. i mean if it's random/chaotic, there's more % of chance when adding a 2nd machine that its spike are little offset than exactly the same as the previous. The more machine you add the closer to the average you are at any given moment in time. Like a gaussian distribution ? bell curve ?.
On the one hand computing perfectly things become harder the bigger the factory, on the other hand the sampling+averaging method becomes more accurate.
the "lack of data" is something that prevent statistic and averages to be significant usually, getting more datas and more and more is usually how you make your math and "prediction" more accurate so yeah, give it a bigger factory

.
For mining outpost this is particularly true. With 1 miner patch there are big spikes when it's mining or not depending on train cycle. 1 1 1 1 4 5 1 , the 45 being the train at the loading station and soon after consuming more energy to refill the buffer of ore. make it 100 patch. You still in theory need to produce up to 500 electricity at the same time in case they all draw at the same time their max load. But really in a game, you will never have (by accident) all your trains of copper entering they load station at the same time. Even if you recover from something and all train leaves at the same time, due to distance and different mining rate and things like train junctions.
mrvn wrote: Thu Oct 21, 2021 4:13 pm
Here is an idea for you: Your energy calculations low ball the figures so the reactor rather trends down then up. Because you "can't measure overheating". You use the accumulator to detect brownout. And that's just in time and a dangerous state to be in.
But you can measure overheating with the thermal check. You never want to have a brownout or blackout but overheating just wastes some fuel. So you can high ball the energy calculations and watch for overheating instead. This also gives you more of a buffer as you can detect well below 1000°C while the accumulator fails just short of a brownout/blackout.
Connect one heat exchanger to the reactor with 100-200 heat tiles. Add a steam turbine, a power pole and a beacon as drain. Connect a water tank and fill it with a pump. The pump is your reset switch. If the water level of the tank ever goes below 25000 your reactor is overheating. Stop inserting fuel for a set time and then reset the water tank and your energy calculations will be back in sync.
I would agree with you for the high ball approximation if the title of the topic was making a super-safe power plant. like fuel checks, auto-init, auto-pause, alert if it measure it is not functionning properly, several back up mechanism in case grids are messed up, belt AND bot fed in case one is disrupted 480.00000 MW or something like that. in case of efficiency, it's better to me to burn a little less than a little more, which is waste. But one can have another ruleset in mind like even 2 ticks of brownout are cheating because otherwise you have a power plant with 99.9% brownout, and the solar pannel for the drain of the feeding inserter is doing all the work 0 fuel needed x)
or if you power your defense perimeter with that power plant, it could be considered differently hehehe.
both could try to reach the theoric perfection from different direction.
But i disagree, it's not really dangerous, the more spacially extended your thermal buffer, the more heat it requires to propagate up to the furthest exchanger as you say. This means that when the furthest exchanger stops functionning, the others still have enough for long time. at this point you enter a phase where the "emergency" refuel can trigger any time provided you ask for full load. Well not really anytime, it would happen just before a refuel, not midway after it when it's burning. ( the local temperature minimum and around that moment). And well not really full load, since as time goes more and more exhanger would start lacking heat lowering the electricity load that could trigger the emergency refuel.
This means there is a "worse time" when it can triggers, it would be after a long period of very low constant draw, ( emergency refuel caused by the closest exchanger lacking heat because the previously mentionned phase has reached the last moment it could reached/the longest).
I think it is funny

The emergency refuel worst case is stability. If the consumption has occasionnal spikes, is a tad bit chaotic, it makes it safer, because it triggers the emergency refuel way before than the situation of constant low drain.
AND AGAIN this is very very very very rare situation ahah, if your initial setup is a pretty good approximation it can happen that the equilibrium ° drift toward too cold in 100 or 1000 CYCLE. YES CYCLE OF FUEL, so if you have a very long constant draw, the amount of second it requires for that 1 cycle is hugeee. that's like consuming 24 fuel cells worth of heat buffer with a 10 MW draw for 1 cycle could be 26 hours for this particular fuel cycle depending on the size of the plant. And you'd need one like that to happen after like 1000 cycle ? 55 hours of ingame time.
so after you had 1000 non-problematic cycle to shift the ° equilibrium away, ( minimum 50 hours ingame time or so when 200sec cycle due to fuel load) followed at the exact worse moment by a very low draw of like X hours ( to shift the ° low to the most extreme point it can reach), and then a massive spike in consumption : then yes, it would cause problem because it would take some time for the 2 cells that could be inserted at this moment to burn and start propagating the heat, and refill the thermal buffer up to full power.
During all this time ( 60 hours ?) , you are free to take like 30 second to adjust your timer/calculation so the ° drift is even slower,/more accurate. Since you'd know the amount of drift that occured and roughly the amount of fuel cell burnt/past power production/. you can also just anticipate the emergency refuel and manually trigger a refuel to reset the drifing toward low °. You can "skip" a refuel when drifting toward higher ° as easily by "stealing" manually a fuel load once if you use belts and no buffer
And if you don't oh well, just wait the end of the brownout, it is already recovering, you deserve it haha.