Re: All the different ways to increase the efficiency of a nuclear power plant
Posted: Wed Oct 20, 2021 8:22 pm
www.factorio.com
https://forums.factorio.com/
Doesn't that mean the beacons drain their power when switched of and when you switch them back you get massive power spikes overwhelming your reactor till they are recharged?foamy wrote: ↑Wed Oct 20, 2021 7:37 pmwaves.mrvn wrote: ↑Wed Oct 20, 2021 7:33 pmAnd yes, ideally I would not want any part of the factory to be idle and drain power. But the people who design their base with tons of power switches so they can turn parts on and of on demand are few and far between. I would say 99.9% of people just let belts backlog and cause assemblers to sit idle when production exceeds demand. Like your smelter in your save.
I don't bother pre-beacon, but in a post-beacon world I do in fact switch everything. Power only goes in if the output isn't jammed and all the input materials are available.
Tell me how to get rid of the steam getting buffered in the heat exchangers and turbines and I will do it. It's a whopping 3.something seconds of power buffer.
more working buffer means longer interval yes, but it doen't mean the flow need to be consistent. you can in theory average the flow of the previous hour every hour, then you click a power power and read your last hourly consumption from this grid and you set the timer to be in % what is your consumption compared to max output of the plant.foamy wrote: ↑Wed Oct 20, 2021 8:20 pmAll adding working buffers can do is change out the interval at which you need consistent flow. If your power needs have a structural change -- for example, you increase your solar capacity or you plop down another block of smelters or furnaces -- then you're either going to run out of or overfill your buffer sooner or later. The only long-term fixes are to regulate power consumption or production to make load match demand over whatever interval your buffers cover.
the mods in this game add silicon ore, it's mined by the 2 gigantic miners, the silicon ore is processed into silicon somethig in "heat furnaces" that require a temperature of 765° or so to properly function.foamy wrote: ↑Wed Oct 20, 2021 8:20 pm
I'm not 100% sure what's going on in your picture, it's using mods I don't, but it looks like some kind of thermal furnace being driven by the nuclear reactors directly. In such a system your only measurable point appears to the inputs/outputs of the furnaces and so you would need to use those as your regulator.
But that is a very different beast than the (unmodded) electrical power systems everyone else has been discussing. Electrical generation in vanilla Factorio requires steam (or solar), so if you're talking about a nuclear electric plant it's going to have steam somewhere in the system for you to look at.
i think that was this one https://mods.factorio.com/mod/heat-furnacemrvn wrote: ↑Wed Oct 20, 2021 8:31 pm
Tell me how to get rid of the steam getting buffered in the heat exchangers and turbines and I will do it. It's a whopping 3.something seconds of power buffer.
And yes, it's not multiplayer safe, yet. Still a work in progress.
Any ideas how to detect a 0MW drain on the reactor? Only things I can think of is to put in something that uses energy to produce something I can measure. But if it uses energy the problem is already solved and I never have 0MW. A radar, a roboport, with some fine tuning adding just a lamp to show the reactor is working is enough drain to make the thermal detector work.
PS: No cheating with measuring steam levels for this design please. Same as your goal.
PPS: What mod is that with the thermal furnaces? Looks like fun.
I think you could use the reverse of the idea i had with the extra heat exchanger with the furnaces for your moded game.mmmPI wrote: ↑Wed Oct 20, 2021 8:49 pmthe mods in this game add silicon ore, it's mined by the 2 gigantic miners, the silicon ore is processed into silicon somethig in "heat furnaces" that require a temperature of 765° or so to properly function.
This is a special case i described earlier where you use fuel and burn it for heat, that will not get transformed into steam, nor will it be used for electricity, therefore you cannot rely on electricity consumption to read the amount of fuel required to maintain 765°.
Yes it has steam, it doesn't mean you cannot make system that you could use that don't rely on reading steam, i added this one after i asked to op if he counted it as a way to "automate nuclear power plant" as it was the original title of the topic. Thought it'd be more useful/interesting than just showing my personnal version of what op posted.
The mod made me think differently about vanilla power plant, outside the box kinda
There's a bit of a buffer refill spike, but it isn't actually that bad in general, since the beacons turning on at any given time are usually a pretty small fraction of the overall plant, even with sync'd launches. I also tend to build a reasonably sized accumulator bank so that I can detect a brownout and prioritize which bits of the factory go dark first. I'd much, much rather have sciences shut down altogether and everything else humming than a global brownout, y'know?mrvn wrote: ↑Wed Oct 20, 2021 8:23 pmDoesn't that mean the beacons drain their power when switched of and when you switch them back you get massive power spikes overwhelming your reactor till they are recharged?foamy wrote: ↑Wed Oct 20, 2021 7:37 pmwaves.mrvn wrote: ↑Wed Oct 20, 2021 7:33 pmAnd yes, ideally I would not want any part of the factory to be idle and drain power. But the people who design their base with tons of power switches so they can turn parts on and of on demand are few and far between. I would say 99.9% of people just let belts backlog and cause assemblers to sit idle when production exceeds demand. Like your smelter in your save.
I don't bother pre-beacon, but in a post-beacon world I do in fact switch everything. Power only goes in if the output isn't jammed and all the input materials are available.
Do you have accumulators before every power switch to smooth that out? Letting the part only draw the power needed to work and some extra to refill the buffers? Some logic to only ever switch on a few parts at a time and enough spare capacity to weather that spike?
I imagine if you have a smelter with 1024 electric furnaces you could turn them on/off in increments of 64 without problem. Not turn them all on/off at the same time.
I mean, sure, I guess?mmmPI wrote: ↑Wed Oct 20, 2021 8:49 pmmore working buffer means longer interval yes, but it doen't mean the flow need to be consistent. you can in theory average the flow of the previous hour every hour, then you click a power power and read your last hourly consumption from this grid and you set the timer to be in % what is your consumption compared to max output of the plant.foamy wrote: ↑Wed Oct 20, 2021 8:20 pmAll adding working buffers can do is change out the interval at which you need consistent flow. If your power needs have a structural change -- for example, you increase your solar capacity or you plop down another block of smelters or furnaces -- then you're either going to run out of or overfill your buffer sooner or later. The only long-term fixes are to regulate power consumption or production to make load match demand over whatever interval your buffers cover.
Say your plant can produce and buffer 100MW per hour, if you read that you consumed 80MW last hour, you know your buffer is now 20% of what it was. So you can set your production for the next hour with timer of 5/4 of 200sec, ( 80% being 4/5 you take 5/4).
that's like taking the way an automated power plant function, except you become the regulating factor.
for me at the time it has the advantage of being usable on system that can't read steam like the furnaces in the mod, i was to check on mapview occasionnaly the temperature and reduce the timer or increase it over the course of the game to min-max, i felt like homer simpson hohoho i'm pushing button. the system itself wasn't evolving much, but i duplicated it and knew the timer required in advance.foamy wrote: ↑Wed Oct 20, 2021 9:18 pmI mean, sure, I guess?
But the whole point of automating a power plant is so that I don't have to do that busywork. You can just make the electronics do it, with far more care and far more precisely than you ever could. I don't understand what advantage this has, particularly when accurately tracking the power used in order to present that information to the player can also just directly control the reactor itself. It seems like it's just making more work for yourself, and not even the fun, problem-solving kind of work. =/
that's a game so old i don't have the save anymore sadly
I saw other designs that put just 4 fuel cells on the belt for 4 reactors, count perfect. I generally don't bother with that. Often I have a train stop by and drop fuel. What does the belt matter compared to a cargo wagon full of fuel cells? Whatever fuel gets produced ahead of time will eventually be used up. At some point the uranium ore patch will be exhausted and I will be happy to have a ton of fuel left on the belt and don't have to race to build a new mine or face blackouts. Or I give up the game before that happens and then what does it matter that I produced all that fuel for nothing?to get rid of the half belt of fuel cell buffer in your power plant you can use the belt carrying the fresh fuel to isolate 1 by 1 the last fuel of a cycle: say 4 are running, you make 1 belt to disable when the X next belt that have something on them. It will make a group of 3 and 1 that lag behind, reapeat the process for each fuel.This means you can unload 4 cells in a chest from 1 swing, and then creates gaps of defined number of belts between them.
Make it so that the gap between each fuel cell is the same amount of belt than the amount of belt that separate each injecting inserter from each other.
Then stop the belts just in front of loading inserter all at the same time to stuck the fuel in position. linking them 4 and disable when fuel =4
It doesn't require wiring inserters just the belts in front of them, and some along the way that bring the fuel.
It shouldn't interfere with the existing logic ( at first thought).
That is positive contribution to the thread. Your style of spaming is otherwise somewhat annoying. Thank you that you used the latest version of Perfect cloverleaf as base. Althou your re-implementation to one time clock has issues with proper counting. Also, the loading inserter was filter because of : filter inserter without filter fall into deep sleep immediately. Yellow inserter, you put in ( a bold move to offset time and save min. power) is checked every tick, even in disabled status. So you might consider to use rather original setup.
Which means, overheat can be measured. It is interesting aproach for brownout supression. Because, heatpipes are so slow now, that buffer to compensate slow heat-pipes have to be massive. So rather than use thermal capacity of buildings as (positive) thermal buffer than fight with heat-pipe delay. Is smart move, make sure plant is always pre-heated. Then you need to only buffer redundant energy for lossless property. e.g. no brownouts, plant can always deliver max power immediately.gGeorg wrote: ↑Mon Oct 18, 2021 6:42 pmThe coldest heat exchanger have to be 501C in stable production. (full consumption) For simple reason, if it goes higher it means there was not enough heat consumption. e.g. not enough water or not enough heat exchangers. In my case fourleaf, with very short heat-pipes, core is about 545C then furthest piece of heatpipe 501C.
You need 6 ticks to trigger the insertion not just a pulse, if you want to pick from the belt. that's a constant cost mechanism for all reactors, it could be very low drain.mrvn wrote: ↑Thu Oct 21, 2021 12:55 amI saw other designs that put just 4 fuel cells on the belt for 4 reactors, count perfect. I generally don't bother with that. Often I have a train stop by and drop fuel. What does the belt matter compared to a cargo wagon full of fuel cells? Whatever fuel gets produced ahead of time will eventually be used up. At some point the uranium ore patch will be exhausted and I will be happy to have a ton of fuel left on the belt and don't have to race to build a new mine or face blackouts. Or I give up the game before that happens and then what does it matter that I produced all that fuel for nothing?
I don't think there is any call to make the belt stop so one fuel cell remains in front of each inserter. Picking fuel up from the belt with a pulse is risky and fails if the fuel is a tick misplaced. So direct belt to reactor insertion is not my thing. And with the buffer chest for 1 fuel cell you can just let the fuel go by and each inserter will pick one up sometime in the 200s the old fuel burns. At least for small reactors where 200s means the fuel goes around a few times.
yes that's one advantage of maitaining a buffer under the form of heat. it's instantly available when you do so, whereas it can delay the restarting of a plant due to their slow speed otherwise.gGeorg wrote: ↑Thu Oct 21, 2021 9:50 amWhich means, overheat can be measured. It is interesting aproach for brownout supression. Because, heatpipes are so slow now, that buffer to compensate slow heat-pipes have to be massive. So rather than use thermal capacity of buildings as (positive) thermal buffer than fight with heat-pipe delay. Is smart move, make sure plant is always pre-heated. Then you need to only buffer redundant energy for lossless property. e.g. no brownouts, plant can always deliver max power immediately.
I think I can come with far UPC friendly solution for overheat measure than mrv's test bed prototype. :=)
The clock count being wrong was already noted in the post. (Still have to fix it though, only affects full load and that's not a real use case. You never want to pull exactly 480MW because that would given you constant brownouts for every spike even if the average is 480MW, costs UPS.)gGeorg wrote: ↑Thu Oct 21, 2021 9:50 amThat is positive contribution to the thread. Your style of spaming is otherwise somewhat annoying. Thank you that you used the latest version of Perfect cloverleaf as base. Althou your re-implementation to one time clock has issues with proper counting. Also, the loading inserter was filter because of : filter inserter without filter fall into deep sleep immediately. Yellow inserter, you put in ( a bold move to offset time and save min. power) is checked every tick, even in disabled status. So you might consider to use rather original setup.
It's a proof of concept so that won't surprise me. A big improvement should be reducing the number of heat pipes. Spreading heat is expensive.gGeorg wrote: ↑Thu Oct 21, 2021 9:50 amI was thinking about same idea, to measue the over heat. It ticked in my head byWhich means, overheat can be measured. It is interesting aproach for brownout supression. Because, heatpipes are so slow now, that buffer to compensate slow heat-pipes have to be massive. So rather than use thermal capacity of buildings as (positive) thermal buffer than fight with heat-pipe delay. Is smart move, make sure plant is always pre-heated. Then you need to only buffer redundant energy for lossless property. e.g. no brownouts, plant can always deliver max power immediately.gGeorg wrote: ↑Mon Oct 18, 2021 6:42 pmThe coldest heat exchanger have to be 501C in stable production. (full consumption) For simple reason, if it goes higher it means there was not enough heat consumption. e.g. not enough water or not enough heat exchangers. In my case fourleaf, with very short heat-pipes, core is about 545C then furthest piece of heatpipe 501C.
I think I can come with far UPC friendly solution for overheat measure than mrv's test bed prototype. :=)
kind of died, at least one that delivers the max power by throwing in fuel. The heat gradient between reactor and furthest heat exchanger is determined by the power drain. A low drain balances on a low gradient, a high drain balances on a high gradient. To be able to switch from low (or 0) drain to high drain the reactor has to be kept at a temperature high enough that the furthest heat exchanger would still be over 501°C. Which is why I moved my thermal check further away.
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.mmmPI wrote: ↑Thu Oct 21, 2021 10:19 amYou need 6 ticks to trigger the insertion not just a pulse, if you want to pick from the belt. that's a constant cost mechanism for all reactors, it could be very low drain.mrvn wrote: ↑Thu Oct 21, 2021 12:55 amI saw other designs that put just 4 fuel cells on the belt for 4 reactors, count perfect. I generally don't bother with that. Often I have a train stop by and drop fuel. What does the belt matter compared to a cargo wagon full of fuel cells? Whatever fuel gets produced ahead of time will eventually be used up. At some point the uranium ore patch will be exhausted and I will be happy to have a ton of fuel left on the belt and don't have to race to build a new mine or face blackouts. Or I give up the game before that happens and then what does it matter that I produced all that fuel for nothing?
I don't think there is any call to make the belt stop so one fuel cell remains in front of each inserter. Picking fuel up from the belt with a pulse is risky and fails if the fuel is a tick misplaced. So direct belt to reactor insertion is not my thing. And with the buffer chest for 1 fuel cell you can just let the fuel go by and each inserter will pick one up sometime in the 200s the old fuel burns. At least for small reactors where 200s means the fuel goes around a few times.
but you can easily have fuel cell stop in front of each inserter without combinators or drain per reactor, perfectly tick placed and synced.
I used another method than the one you ignored after failing one time, this is why i edited my post so many times lol sorry for the shit i posted earlier.
NObuffer.pngrealnobuffer3.zip
Each belt in front of inserter read/hold/disable when fuel cell =1 this means they stop everything that enters right as it enters.
Then you plug the belt 2 tiles before, and you just read/hold.
This means first fuel get stopped by 1rst belt, but when the 2nd one comes 2 tile earliers it let him through.
The contraption at first makes fuel come 1 by 1.
Each next fuel making the previous one move to the next inserter that's very easy to expand.
i still consider it inconsistent to go in deep details to precisely measure the water flow supposedly to be efficient ? And at the same time being so inneficient using 4 unecessary inserter for loading. (i'm not talking about the drain from the fish clock because this one is fun).
sometimes you say things for theory it need to be "this" it need to be "that" but when it's you, you are ok saying, "in practice you don't need this", "in my games i assume load" , "if i give up before why does it matter? "and so on. this is a bit contradictory as an imprecise timer mechanism shouldn't matter to you if the drift is too long for it to be problematic in a game span yet the theoric imprecision the 0.000002° i made up you said it will inevitably creates trouble, "if i give up before it gets problematic why does it matter the imprecision of the measures ?"
if i use an accumulator with <99% for emergency and it triggers only like 3 time in a game causing me a grand total of 12 second or small brownout before the emergency refuel do to voluntary rounding down on measurement, does it matter all that much ? It allows to only have logic/answer for 1 end of the spectrum, not 2, you will always be producing like 99.99% of energy you consume, instead of 100.1% on purpose, to save on circuitry.
i think this is not pleasant attitude but i'm still happy you started to use a refined thermal buffer plant of your own despite your initial aversion to the logic
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 pmSorry 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.
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).mrvn wrote: ↑Thu Oct 21, 2021 4:13 pmAnd 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.
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.mrvn wrote: ↑Thu Oct 21, 2021 4:13 pmI'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?
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)mrvn wrote: ↑Thu Oct 21, 2021 4:13 pmHere 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.
The accu triggers a few ticks after you run out of steam. So the reactor is already providing less than needed. Throwing in fuel isn't an instant fix but takes time to bring the temp back up, especially if demand goes to full throttle at the same time.mmmPI wrote: ↑Thu Oct 21, 2021 8:30 pmThe 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).mrvn wrote: ↑Thu Oct 21, 2021 4:13 pmAnd 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.
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.
Not discussing this further. You aren't bringing any new arguments and you aren't going to change my mind repeating the same thing over and over. Other people are already annoyed enough.
one accumulator will definitly not be enough to avoid brownout, but would it occur before the game end ? and if it does, would it be a problem to have a brownout for a few second once on non-critical asset ? If the answer is yes, then make a few accumulator, or even have a 20MW steam engine-back up if it's so critical not to have ever 1 sec of brownout i agree with you on that one .mrvn wrote: ↑Fri Oct 22, 2021 12:36 amSo the question becomes: Will the accumulator run out of power before the reactor is back? One single accumulator will certainly never work. a) not enough charge, b) not enough throughput. But if you have a lot of accumulators they can outlast the reactors dip in power production and you are fine. So it's simply a numbers game.