All the different ways to increase the efficiency of a nuclear power plant

Power Plants, Energy Storage and Reliable Energy Supply. All about efficient energy production. Turning parts of your factory off. Reliable and self-repairing energy.
mmmPI
Smart Inserter
Smart Inserter
Posts: 2643
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: All the different ways to increase the efficiency of a nuclear power plant

Post by mmmPI »

mrvn wrote:
Tue Oct 19, 2021 9:49 pm
The point of measuring every 60 seconds would be to get the response time down to 60 seconds. Obviously if you just inserted a fuel cell then for the next 200 seconds there is nothing you can do. But at 240 seconds you measure, at 300 seconds you measure, at 360 seconds you measure and each time you decide if sometime in the next 60 seconds you should insert a fuel cell. That would greatly reduce the amount of buffering you need. The choice of 60s was so that it is clearly always below the length of a fuel cycle. You could do 300s intervals. That would still often have the timer > 300s and show how you deal with intervals where no fuel cell is inserted and consumption carries over into the next interval.
if you do with belt measuring you have it in less than 60 sec, if you do it manually 200 second is the minimum due to fuel burning in 200 sec and already very annoying.
The minimum buffer is for 200 second anyway you can't reduce past this amount in any design due to the functionning of the reactor so it's not true saying shorter interval would reduce the amount of buffer needed past 200 second.


mrvn wrote:
Tue Oct 19, 2021 4:49 pm
The steam is the only palce in the power plant we can measure. So naturally I assumed you would measure steam. As you say you can't measure heat. And if the plant is to automatically adjust to changes in power demands then you have to measure something. So either steam level or steam flow.

Note: you can measure steam flow with 2 tanks, 4 pumps and a steam turbine. So no big huge steam tank buffer needed. I assumed you would be doing that and the suggestion to count science packs on a belt more of a joke. Counting belts will break when they backlog.
you wrongly assume it is impossible to use indirect equivalent of measurement for energy. You measure how many item on belt for a sef-adjusting timer. you do what you want with steam tanks if it's your liking.

Counting belt doesn't break when they backlog. 1 pulse per item. You don't have to clog the area you don't want to clog with item just read the backlog happens and have it localized on an area if you can't think of making a counter that doesn't break when backlog.



[quote=mrvn post_id=554600 time=1634662185 user_id=2816
You say you want to use heat as storage medium. How do you buffer 5 or 20 hours worth of heat? Every heat pipe you add between reactor and heat exchanger lowers the temp by 1°C and reduces your thermal range for the buffer. So there is a maximum of heat you can store. I wonder if 5 hours is even possible. Pretty sure 20 hours isn't. Just wondering.
[/quote]

i say i did use heat as storage medium not i wanted to do it, i actually had working implementation that served me well a full game.

20 hours is made up number to illustrate purpose or you really plan to have a power plant that you update every 20 hours ? you who complained about the system not being responsive.

20 cycle of fuel is 1 hour. which is already huge ! not 20 hours.

look the picture i posted, the ratio of heatpipes in the footprint, there lots of room in the middle to add heatpipes. that's only 3 cycle of fuel, double it and you have 6. which gives you 20 minutes. that's already decent. If you want to make it work you can, if you want to complain it's impossible to have a reponsive system that you also want to update only every 20 hours the problem is not the design the problem is that you cannot make up your mind and are looking any means to confort your negative biais toward somthing.

mrvn wrote:
Tue Oct 19, 2021 4:49 pm

Oh you definetly can't ignore even the 0.000002°C. Over time every little error adds up. If you don't have any steam tanks to measure the reactor actually still has stored heat then you will eventually drift into a brownout. And then your math shows you are using exactly as much energy as you put fuel in and will never increase the fuel input. Worse, every little error will further reduce your fuel input till you have a total blackout. A 0.000002°C drift sounds ridiculous and the sun will burn out before the reactor fails. But a) we are talking theoretical here and b) it will not just be 0.000002°C.
no it's ok i played with one for like 250 hours in practice without problems.
mrvn wrote:
Tue Oct 19, 2021 4:49 pm
So I'm afraid you need to cheat and have some steam tank somwhere. Even if it is just one for the whole reactor. You need an "Oh shit, my reactor is cold" check in there somwhere to reset your calculated heat level. And I can't think of a "Oh shit, my reactor is overheating" check. If you ever overestimate the consumed power then that error will add up to till your reactor always runs at maximum temp and every overestimation gets lost.
no i told you already i used accumulator that ring when under 99% to tell me if ever the drift was leaving the heatpipe buffer enable to sustain consumption.
I made sure it was drifting toward the bottom by never rounding up in order to make sure there was no risk of leaving the range by the other extreme and to make sure i had the alarm.
(other alarm was for fuel cell storage i explained that already).

mrvn wrote:
Tue Oct 19, 2021 4:49 pm
So you would practically have to always round energy consumption down and fuel a bit less so you only have to deal with the "Oh shit, my reactor is cold" case. At which point I say: Why bother? Just the "Oh shit, my reactor is cold" check on it's own will drive the reactor because that is the steam buffer design.
no you don't have to round things up, if you have a consumption that is somewhat predictable you can leave the timer runnning for several cycle of update without changing anything. this mean you can use fuel timer longer than update time, if you use your brain.

also you don't do anything obviously when it's reading on a belt.
mrvn wrote:
Tue Oct 19, 2021 4:49 pm
But that's just another way of cheating then. Measuring belt throughput or steam throughput, same thing in the end. Steam is just more accurate because it directly goes into power production. Counting science packs has to much variance. With the way assemblers start and stop because the ratios aren't perfect or inserters sometimes pick up one item and sometimes 2 or have to chase items on the belt more or less I highly doubt you can give an answer to how much power a science pack really needs. A value that won't cause your calculations to drift too far from reality. And without any steam tank to reset your math any drift means death, eventually.
cheating is using a tank or steam, if you use heatpipes and read on belt to make up for the fact you can't read on heat pipes it's not cheating it's passing the challenge.

i already said you can read how many science pack you produced last hour, how much energy was consumed, and then divide. Youhou magic ! you have just measured your energy efficiency for producing science pack.

your doubts are unfonded, you should have read more carefully and maybe take more time to think ?

also drift i explained how to easily reset it.

mrvn wrote:
Tue Oct 19, 2021 4:49 pm
Not to mention laser turrets. No way to count how many shots they fire.
man that's terrible if you can't count how many shot they fire how do you know your power plant will not have a black out ? i'm baffled to realize that laser turret unlike any other thing defy the law of mathematic and you cannot average their consumption over the last 10 minutes or 1hour while seeing the graph to give you an idea of the representativity of your number. That's just so impossible to do that instead i advise you again for the 3rd time to put them on a separate grid powered by separate plant, to which you already answered like twice " meehh but in multiplayer it can happen that thing connect" . Yes i already told you it's you opinion, if you didn't changed it since the last 3 time you told me you should keep it and not use the design in multiplayer for your laser turret.

mrvn wrote:
Tue Oct 19, 2021 4:49 pm
Can you provide an actual savegame of a reactor that computes the power consumption and self adjust to the power consumed? Because I just can't believe it will work past 100 or 1000 times the size of the heat buffer without any way to self correct by means of a steam tank.
lol, and you wish i make it look like a heart with the heatpipes with your name on it?

mrvn
Smart Inserter
Smart Inserter
Posts: 5646
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: All the different ways to increase the efficiency of a nuclear power plant

Post by mrvn »

mmmPI wrote:
Wed Oct 20, 2021 12:19 am
mrvn wrote:
Tue Oct 19, 2021 4:49 pm
The steam is the only palce in the power plant we can measure. So naturally I assumed you would measure steam. As you say you can't measure heat. And if the plant is to automatically adjust to changes in power demands then you have to measure something. So either steam level or steam flow.

Note: you can measure steam flow with 2 tanks, 4 pumps and a steam turbine. So no big huge steam tank buffer needed. I assumed you would be doing that and the suggestion to count science packs on a belt more of a joke. Counting belts will break when they backlog.
you wrongly assume it is impossible to use indirect equivalent of measurement for energy. You measure how many item on belt for a sef-adjusting timer. you do what you want with steam tanks if it's your liking.

Counting belt doesn't break when they backlog. 1 pulse per item. You don't have to clog the area you don't want to clog with item just read the backlog happens and have it localized on an area if you can't think of making a counter that doesn't break when backlog.
Sure it does. Or at least you have to detect it. Because while the belt is backlogged the assemblers won't produce, the inserters won't swing. But they still drain energy. So you have to switch over to counting the drain instead of the working energy consumption.

And I do realize you can also detect the inserters swing by reading the hand contents and even account for the number of items they do pick up. So every tick you can add up the idle inserters and the working inserters and by counting items you can count how many recipe cycles assemblers perform and deduce how much time they are idle inbetween. Counting items on belts would not even be needed since you already have the count from the inserters directly.

But that just gets ridiculously complicated and the amount of combinators you end up needing for the item counts wastes so much energy. All because you don't want to measure steam flow, which is already a challenge. Sorry, but not seeing that as a viable way to measure power consumption. And you do need to be this accurate if you want to avoid any drift in the reactor that would eventually be fatal.

[quote=mrvn post_id=554600 time=1634662185 user_id=2816
You say you want to use heat as storage medium. How do you buffer 5 or 20 hours worth of heat? Every heat pipe you add between reactor and heat exchanger lowers the temp by 1°C and reduces your thermal range for the buffer. So there is a maximum of heat you can store. I wonder if 5 hours is even possible. Pretty sure 20 hours isn't. Just wondering.
[/quote]
mmmPI wrote:
Wed Oct 20, 2021 12:19 am
i say i did use heat as storage medium not i wanted to do it, i actually had working implementation that served me well a full game.

20 hours is made up number to illustrate purpose or you really plan to have a power plant that you update every 20 hours ? you who complained about the system not being responsive.

20 cycle of fuel is 1 hour. which is already huge ! not 20 hours.

look the picture i posted, the ratio of heatpipes in the footprint, there lots of room in the middle to add heatpipes. that's only 3 cycle of fuel, double it and you have 6. which gives you 20 minutes. that's already decent. If you want to make it work you can, if you want to complain it's impossible to have a reponsive system that you also want to update only every 20 hours the problem is not the design the problem is that you cannot make up your mind and are looking any means to confort your negative biais toward somthing.
Did you actually check the reactor never overheats? Or causes a brownout? It would only be a tiny dip at the end of each fuel cycle. Probably impossible to see but you can start with the reactor at 750°C and then see if it trends towards 500°C or towards 1000°C. I would be surprised if you never reached either end during a full game without having to manually adjust the timer for the reactor.
mmmPI wrote:
Wed Oct 20, 2021 12:19 am
mrvn wrote:
Tue Oct 19, 2021 4:49 pm

Oh you definetly can't ignore even the 0.000002°C. Over time every little error adds up. If you don't have any steam tanks to measure the reactor actually still has stored heat then you will eventually drift into a brownout. And then your math shows you are using exactly as much energy as you put fuel in and will never increase the fuel input. Worse, every little error will further reduce your fuel input till you have a total blackout. A 0.000002°C drift sounds ridiculous and the sun will burn out before the reactor fails. But a) we are talking theoretical here and b) it will not just be 0.000002°C.
no it's ok i played with one for like 250 hours in practice without problems.
mrvn wrote:
Tue Oct 19, 2021 4:49 pm
So I'm afraid you need to cheat and have some steam tank somwhere. Even if it is just one for the whole reactor. You need an "Oh shit, my reactor is cold" check in there somwhere to reset your calculated heat level. And I can't think of a "Oh shit, my reactor is overheating" check. If you ever overestimate the consumed power then that error will add up to till your reactor always runs at maximum temp and every overestimation gets lost.
no i told you already i used accumulator that ring when under 99% to tell me if ever the drift was leaving the heatpipe buffer enable to sustain consumption.
I made sure it was drifting toward the bottom by never rounding up in order to make sure there was no risk of leaving the range by the other extreme and to make sure i had the alarm.
(other alarm was for fuel cell storage i explained that already).
Well, that is new, or I forgot because it was so long ago. So you do have a "Oh shit, my reactor is cold" check that wasn't in your last description of the design.

I guess you didn't have a counter on how often that check triggered. Would be interesting to know how often it fired. Did it just sound an alarm or throw in an extra fuel cell? If the former did it ever ring?
mmmPI wrote:
Wed Oct 20, 2021 12:19 am
mrvn wrote:
Tue Oct 19, 2021 4:49 pm
So you would practically have to always round energy consumption down and fuel a bit less so you only have to deal with the "Oh shit, my reactor is cold" case. At which point I say: Why bother? Just the "Oh shit, my reactor is cold" check on it's own will drive the reactor because that is the steam buffer design.
no you don't have to round things up, if you have a consumption that is somewhat predictable you can leave the timer runnning for several cycle of update without changing anything. this mean you can use fuel timer longer than update time, if you use your brain.

also you don't do anything obviously when it's reading on a belt.
Look a few sentences up. You just said
I made sure it was drifting toward the bottom
. Exactly as I said.
mmmPI wrote:
Wed Oct 20, 2021 12:19 am
mrvn wrote:
Tue Oct 19, 2021 4:49 pm
But that's just another way of cheating then. Measuring belt throughput or steam throughput, same thing in the end. Steam is just more accurate because it directly goes into power production. Counting science packs has to much variance. With the way assemblers start and stop because the ratios aren't perfect or inserters sometimes pick up one item and sometimes 2 or have to chase items on the belt more or less I highly doubt you can give an answer to how much power a science pack really needs. A value that won't cause your calculations to drift too far from reality. And without any steam tank to reset your math any drift means death, eventually.
cheating is using a tank or steam, if you use heatpipes and read on belt to make up for the fact you can't read on heat pipes it's not cheating it's passing the challenge.

i already said you can read how many science pack you produced last hour, how much energy was consumed, and then divide. Youhou magic ! you have just measured your energy efficiency for producing science pack.

your doubts are unfonded, you should have read more carefully and maybe take more time to think ?

also drift i explained how to easily reset it.
You left that out of the design specs. No idea when you did mention the accumulators but you skipped them often enough in your arguments.
mmmPI wrote:
Wed Oct 20, 2021 12:19 am
mrvn wrote:
Tue Oct 19, 2021 4:49 pm
Not to mention laser turrets. No way to count how many shots they fire.
man that's terrible if you can't count how many shot they fire how do you know your power plant will not have a black out ? i'm baffled to realize that laser turret unlike any other thing defy the law of mathematic and you cannot average their consumption over the last 10 minutes or 1hour while seeing the graph to give you an idea of the representativity of your number. That's just so impossible to do that instead i advise you again for the 3rd time to put them on a separate grid powered by separate plant, to which you already answered like twice " meehh but in multiplayer it can happen that thing connect" . Yes i already told you it's you opinion, if you didn't changed it since the last 3 time you told me you should keep it and not use the design in multiplayer for your laser turret.
And you are back to doing things manually. I told you ages ago that I don't consider any design that needs the mark one eyeball, mark one brain or mark one hand viable. Assume I'm always talking about a fully automated design. So eyeballing the power consumption graph is a no go. I would not just have to eyeball the lasers power consumption for the last hour. I would have to eyeball it every measuring interval over and over. No, that's not a viable design.

And no, a separate plant won't fix anything. The plant powering the science factory might be 100% fine but the plant powering the lasers would still have the problem. So your science production won't shut down but the lasers do and the aliens overrun you. How is that a solution?

Or are we back to: This design will only work for science production and not for any power demands that aren't strictly known in advance?

I still want a general purpose plant that works in all situations. Not one that only works for a very narrow use case.
mmmPI wrote:
Wed Oct 20, 2021 12:19 am
mrvn wrote:
Tue Oct 19, 2021 4:49 pm
Can you provide an actual savegame of a reactor that computes the power consumption and self adjust to the power consumed? Because I just can't believe it will work past 100 or 1000 times the size of the heat buffer without any way to self correct by means of a steam tank.
lol, and you wish i make it look like a heart with the heatpipes with your name on it?
I can make you one and show it doesn't work. But then all you will say is that I implemented it wrong. So not going there.

mmmPI
Smart Inserter
Smart Inserter
Posts: 2643
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: All the different ways to increase the efficiency of a nuclear power plant

Post by mmmPI »

mrvn wrote:
Wed Oct 20, 2021 1:17 am
mmmPI wrote:
Wed Oct 20, 2021 12:19 am
mrvn wrote:
Tue Oct 19, 2021 4:49 pm
Can you provide an actual savegame of a reactor that computes the power consumption and self adjust to the power consumed? Because I just can't believe it will work past 100 or 1000 times the size of the heat buffer without any way to self correct by means of a steam tank.
lol, and you wish i make it look like a heart with the heatpipes with your name on it?
I can make you one and show it doesn't work. But then all you will say is that I implemented it wrong. So not going there.

here is your save with your name on it and little heart with belts you can finish the 53 hours or so of testing to make sure the timing are correct for 1000 cycle, if not try out more and don't come back before it's done !

at some point it will reach 999° and start being wastefull, or maybe the opposite , you tell me and i want a picture to proove it !

also you can break the save by stopping the belt to make the buffer go away due to the drain as you said and then say it doesn't work i will reward you with a funny image with someone one a bike that put a stick through the wheel.

If i was willing to give it more time i would have make several grid a more detailed mock-up to explain how to use power switch, because i'm sure you will be very very very insisting onto every possible way of not having it work and you will act ignorant about what you can do with them and ask me 12 times how they should be implemented. You know hitting hard with the screwdriver saying hammer is best tool.

The save has no steam tank, no timer, dumb logic and was made in like 20 minutes before i started to put speedx64 but the reactor's not wasting fuel and adapting to fluctuation of power caused by the copper train because it is able to average the amount.

i know in theory it doesn't work, but in practice.... you show me the picture when it stop working i may try another one if this one fail it's funny to think you can't believe and you will wait eagerly to see the result.
beltreading.png
beltreading.png (332.44 KiB) Viewed 4805 times
basicbeltreadinglol.zip
(2.94 MiB) Downloaded 180 times

mrvn
Smart Inserter
Smart Inserter
Posts: 5646
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: All the different ways to increase the efficiency of a nuclear power plant

Post by mrvn »

This isn't the design you used for 250 hours in a real game that I wanted to see. And it certainly won't work for anything but laboratory conditions for all the reasons discussed. It's far from a general purpose nuclear plant.

But picture or it didn't happen:
overheating.png
overheating.png (738.88 KiB) Viewed 4786 times
Let it run a long while and the reactor temp climbs. At the start of the save the reactor is around 800°C dipping just below. Over time the ore fields will get exhausted and miners will shut down and the trend gets stronger. In the screenshot it's already risen 100°C, half way to overheating already.

And since the mine is getting low on ore you have to add new mines. Oh no, what happened? Why is it so dark?
new-mine.png
new-mine.png (751.92 KiB) Viewed 4786 times
Well, so I can't claim new ore fields, damn. Lets research a mining bonus instead. Too bad that needs 2 green science packs for every red science pack so the red science belt backs up:
backloged-belt.png
backloged-belt.png (600.57 KiB) Viewed 4786 times
Can I change anything in the game and have the reactor not fail? Not really.

The energy consumption isn't a constant and the calculation isn't exact enough to prevent all drift even if it were. Look at the power graph in the last screenshot. Compare the two spikes of the miners when the train arrives. They aren't identical. You can try to average them out but that will never be exact and any error means a drift in temperature. You already said yourself you need to round down the energy consumption and have the accumulator ring when the temp goes down. The fact that you needed the accumulators just proofs my argument. The timer design on its own is insufficient to prevent both brownouts and overheating.

For every little thing I, time or simple randomness changes in the game I have to adjust the constant combinator. That's is not an automated plant design that adapts to the actual power consumption, it needs constant watching and retunening. So even in this single use case of running only this static science factory where you know every entity beforehand the reactor fails. Change a single thing and the reactor fails rapidly. Why bother with counting science flask on the belt at all? Just set a fixed timer. Because if the science pack production and consumption isn't exactly at the rate you expect the reactor fails anyway as seen by the belt backing up causing a blackout.


Let me summarize the argument as I see it as short as possible:

Me: You can't measure the heat and you can't calculate it and not drift apart from what the reactor actually has.

You: Yes, the accumulators do ring and tell me when they fall below 99% full.

User avatar
xaetral
Inserter
Inserter
Posts: 42
Joined: Sun Apr 28, 2019 2:25 pm
Contact:

Re: All the different ways to increase the efficiency of a nuclear power plant

Post by xaetral »

mmmPI wrote:
Wed Oct 20, 2021 3:36 am
here is your save with your name on it and little heart with belts you can finish the 53 hours or so of testing to make sure the timing are correct for 1000 cycle, if not try out more and don't come back before it's done !
Friendly reminder to everyone who doesn't already knows this, you can increase the game speed using the editor!
It really helps a ton for designing nuclear setups.

mrvn
Smart Inserter
Smart Inserter
Posts: 5646
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: All the different ways to increase the efficiency of a nuclear power plant

Post by mrvn »

xaetral wrote:
Wed Oct 20, 2021 9:56 am
mmmPI wrote:
Wed Oct 20, 2021 3:36 am
here is your save with your name on it and little heart with belts you can finish the 53 hours or so of testing to make sure the timing are correct for 1000 cycle, if not try out more and don't come back before it's done !
Friendly reminder to everyone who doesn't already knows this, you can increase the game speed using the editor!
It really helps a ton for designing nuclear setups.
It's already set to x64 speed, that's as high as the editor goes.

mmmPI
Smart Inserter
Smart Inserter
Posts: 2643
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: All the different ways to increase the efficiency of a nuclear power plant

Post by mmmPI »

mrvn wrote:
Wed Oct 20, 2021 9:52 am
This isn't the design you used for 250 hours in a real game that I wanted to see. And it certainly won't work for anything but laboratory conditions for all the reasons discussed. It's far from a general purpose nuclear plant.
this isn't what you asked for reminder :
mrvn wrote:
Tue Oct 19, 2021 9:49 pm
Can you provide an actual savegame of a reactor that computes the power consumption and self adjust to the power consumed? Because I just can't believe it will work past 100 or 1000 times the size of the heat buffer without any way to self correct by means of a steam tank.
reactor computes power consumption and self adjust to the power consumed for more than 100 or 1000 times the size of the heat buffer without any way to self correct using steam tank.


If it gain 30°over 200 cycle it passes 1000 cycle with only 150° drift. How much used cell in the chest when it start wasting fuel ?

mrvn wrote:
Wed Oct 20, 2021 9:52 am
Can I change anything in the game and have the reactor not fail? Not really.
no you can't it would require a smart use of power switch and a bit of good will.

edit: thanks you for illustrating why some designed are to be prefered in multiplayer
802.jpg
802.jpg (46.17 KiB) Viewed 4773 times

mrvn
Smart Inserter
Smart Inserter
Posts: 5646
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: All the different ways to increase the efficiency of a nuclear power plant

Post by mrvn »

Hey, in multiplayer it would be a second player sticking in the stick.

mmmPI
Smart Inserter
Smart Inserter
Posts: 2643
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: All the different ways to increase the efficiency of a nuclear power plant

Post by mmmPI »

mmmPI wrote:
Wed Oct 20, 2021 3:36 am
also you can break the save by stopping the belt to make the buffer go away due to the drain as you said and then say it doesn't work i will reward you with a funny image with someone one a bike that put a stick through the wheel.

mrvn
Smart Inserter
Smart Inserter
Posts: 5646
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: All the different ways to increase the efficiency of a nuclear power plant

Post by mrvn »

mmmPI wrote:
Wed Oct 20, 2021 11:19 am
mmmPI wrote:
Wed Oct 20, 2021 3:36 am
also you can break the save by stopping the belt to make the buffer go away due to the drain as you said and then say it doesn't work i will reward you with a funny image with someone one a bike that put a stick through the wheel.
Note, and this will be my last on this topic: The belt isn't stopped. the yellow inserters are just too slow simulating a research that takes a longer time per pack or with different ratios between packs. As does happen in a real game.

mmmPI
Smart Inserter
Smart Inserter
Posts: 2643
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: All the different ways to increase the efficiency of a nuclear power plant

Post by mmmPI »

mrvn wrote:
Wed Oct 20, 2021 11:39 am
Note, and this will be my last on this topic: The belt isn't stopped. the yellow inserters are just too slow simulating a research that takes a longer time per pack or with different ratios between packs. As does happen in a real game.
1) i take good note

2) there is no yellow inserter.

3) isolate the nuke plant from the thing that produce the science behind power gate when science belt is backed up.

mrvn
Smart Inserter
Smart Inserter
Posts: 5646
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: All the different ways to increase the efficiency of a nuclear power plant

Post by mrvn »

yellow-inserter.png
yellow-inserter.png (67.5 KiB) Viewed 4746 times

mmmPI
Smart Inserter
Smart Inserter
Posts: 2643
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: All the different ways to increase the efficiency of a nuclear power plant

Post by mmmPI »

you put those here not me.

Why would do this ?

then you complain it doesn't work ?

yes you break the stuff yourself, like the person on the picture who put the stick on his own wheel.

you dishonnest person, plus you said it was your last note on the topic. you can't get trusted.


here is the save with things you could have done that would have not break it.

What i called smart use of power swith and a bit of good will, since you got none of those : a power switch to prevent the plant to get messed up by inexperienced player, it also get rid of the drain. Plus a signal when the reactor drift to low temp with an alert saying names on you because you deserve them.

beltreadinglol3.zip
(2.98 MiB) Downloaded 96 times
[Edit:-re-uploaded twice sorry ]
properwaytosimulategreensciencelacking.jpg
properwaytosimulategreensciencelacking.jpg (318.18 KiB) Viewed 4732 times

Also for less hypocrite person, on that second save you can remove one of the 2 green inserters that get rid of the science, it would show the behavior where the plant reduce its production or science and electricty to match the demand without excess. alternating between production and disconnection. do not do like mrvn did just replacing green inserter for yellow, it just doesn't make sense, it's a poor implementation of the logic.

Ideally if you want real efficiency like the topic is about, the more MW per fuel cell, then there's no point having you factory drain electricty when not producin something useful right ? this is one way to do it that is fun and makes some people unexpectedly mad about it, which adds a bit to it in my mind :)

mrvn
Smart Inserter
Smart Inserter
Posts: 5646
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: All the different ways to increase the efficiency of a nuclear power plant

Post by mrvn »

I made a reactor using only thermal buffer, no steam tanks at all in the design. Well, the heat exchangers and turbines buffer some but can't do anything about that.
Overview
It's a simple 480MW 2x2 reactor with 48+1 heat exchangers and 96+2 steam turbines. The reactor can power exactly 48 heat exchangers under full load and produces exactly 480MW of energy as you can (more or less) see in the electrical network info below.
thermal-reactor-overview.png
thermal-reactor-overview.png (4.25 MiB) Viewed 4723 times
thermal-reactor-electrical-network-info.png
thermal-reactor-electrical-network-info.png (51.89 KiB) Viewed 4723 times
The reactor has 2 parts for the control circuit: The thermal check on the left and a countdown clock to insert only one fuel cell at a time.
Thermal check
Under full load the reactor produces enough heat for 48 and only 48 heat exchangers to work. The one extra heat exchanger on the very left doesn't get any heat. So lang as it doesn't get any heat more fuel is thrown into the reactor by a countdown clock mechanism (see below). If less than 480MW of power is consumed then steam will build up in the steam turbines and then in the heat exchangers and they will produce steam at a reduced rate. That causes the reactor and heat pipes to heat up a few degrees till the extra heat spreads to the one extra heat exchanger. The thermal check then detects the heat and blocks fuel insertion until the heat is used again. It allows insertion of fuel ~5 degrees above minimum temperature to still get full power.
thermal-reactor-thermal-check.png
thermal-reactor-thermal-check.png (2.06 MiB) Viewed 4723 times
Detecting the temperature is a bit complex and I only check if at intervals. So first thing to notice are the 4 yellow inserters that throw around a fish. That is a fish clock. :)

While the top inserter holds the fish the water tank gets filled with water. But only up to 1000 units. Anything above is pumped out of the tank again into the other heat exchangers. The reason for this is that the tank must not be full so the pump filling the tank is able to empty itself. Otherwise the remains would mess up the usage measurement. 1000 units is arbitrary but means hovering over the combinators will show accurate values, not just "11k".

And the fish moves on. Going down, going left while the water tank settles to 1000 units - whatever gets used up by the control heat exchanger. The water level is delayed by 5 ticks through a series of arithmetic combinators "each + 0 = each" and in the end output as lubricant. That goes into the decider combinator that compares water to lubricant, meaning the level now with the level 5 ticks before. If any water was used then the heat exchanger has heat and is producing steam. So a Steam=1 signal is output.

Next when the left inserter picks up the fish it pulses fish. One tick later this resets the latch so fuel insertion isn't allowed anymore. Another tick later the latch is set again if no steam was produced, as in when the temperature of the reactor is low. The detector is 5 heat pipes from the last heat exchanger so it's 5°C from brownout at that point. (Don't worry, 5°C with all those heat pipes is still a lot of time.) The latch then remembers if fuel is needed or not will the fish comes around again.
Countdown clock and fuel insertion
All the inserters dealing with fresh fuel cells have a stack override = 1 so everything always deals in single fuel cells. This is important. Before researching the inserter bonus you should set the stack override by circuit signal so it doesn't break later (not included). Fuel is removed at any time and not monitored. I use half a belt for fuel and the other side for spend fuel cells with the customary 1 fuel cell buffer chest per reactor. Standard stuff. But I use a countdown clock to prevent inserting a fuel cell while the previous cell is still burning.
thermal-reactor-fuel-insertion.png
thermal-reactor-fuel-insertion.png (1.32 MiB) Viewed 4723 times
Fuel insertion needs two conditions to be met:

1) the count down clock must have run down it's 11958 ticks. That number is slightly smaller than the time a fuel cell burns to account for the delay of the combinators and the time for the inserter to pick up the next fuel cell and pulse a signal. I single stepped in the editor and adjusted the number till the new cell got inserted just at the right tick. Don't ask me why it's 42 ticks less than the fuel cell burn time. (At least I though fuel burns 12000 ticks, could be slightly less).

Unlike using the spend fuel cell removal to trigger the insertion using the clock has one advantage: Fuel is inserted timed to the tick so it is placed in the reactor at the same tick the previous fuel cell runs out. There is no tiny downtime while the inserter swings. The insertion of the new fuel cell resets the count down clock.

2) The thermal check must signal that the reactor needs fuel. It does this by sending GREEN over the red wire. The decider combinator takes the output of the clock and if T=0 it passes the GREEN signal, if any, through to the inserters to trigger fuel insertion.


The reactor can operate in 2 states although they don't look much different.

A) full power draw.

The reactor temperature remains below the threshold for the thermal check so it always says the reactor needs fuel. The only thing stopping the reactor from getting overloaded is the count down clock. The moment the count down reaches 0 (plus 1 tick for the deciver combinator, 1 tick for the inserters to react) fuel gets inserted. A few ticks later it arrives at the reactor just at the same tick the old fuel cell expires. So the reactors are never without fuel and a constant 480 MW power is generated. Not a tick where it dips below. Not a tick? Well, there is 1 tick where the RS-Latch is reset before it gets turned back on again. If the count down clock turns 0 just at that moment the refuel is delayed 1 tick. This happens every 10500 fuel cycles under full load or for one tick every 24.3 days. If you want to fix that you have to add another combinator so the GREEN signal is checked for this tick and one tick delayed. That bridges the 1 tick downtime.

B) lower power usage

The reactor produces more heat than is consumed. So at intervals the thermal check will detect excess heat. Then when the countdown clock runs down fuel isn't inserted until that heat is used up. The thermal check is only done every time the fish goes around the yellow inserters. So at most one round trip after the reactor falls below the trigger point the new fuel cell is inserted. With 5 heat pipes from the last heat exchanger the trigger point is 5°C and fuel insertion takes half a swing. Each reactor hols 10MJ per 1°C and each heat pipe holds 1MJ per 1°C. So 5°C, while small, is still a lot of energy. Over 4700MJ of thermal energy. It's plenty of time to insert fuel for sure.

Overall the reactor will run pretty cool, staying at about 600°C.
Limitations
The thermal check compares the water level now against 5 ticks ago. That's an arbitrary value caused by the power poles powering 5 combinators. But what it means is that to detect the presense of heat the heat exchangers must use 1 unit of water within 5 ticks. Or 0.2% of it's potential or 1MW power draw from the reactor.

Worse the water tank will fill up and the second pump will not be able to empty it. I should add another combinator to the first pump to only fill the tank up to 1000 units instead of pumping out the excess. What was I thinking? I think that would also solve the problem of the pump still holding water that must be drained before measuring the water usage. Have to test that.

Anyway, as is you have to use portion of the power the reactor provides or it will go crazy and use fuel cells all the time. Just having a roboport or radar connected to the power plant would already be sufficient (after the pump fix). If you increase the 5 tick delay more a simple lamp might do the trick. But really who has a nuclear reactor and doesn't use it?
Bugs and Improvements
As mentioned in the limitations the pump filling the water tank should not fill it above 1000 units. That would allow the thermal check to work at 1MW power consumption. The threshold could be further lowered by taking a longer delay. The 1 tick without fuel every 24.3 days can be fixed.

I also notices just now that the count down clock is wrong. 11958 inserts the fuel cell too early under full load. I checked that value when I first used the removal of the old fuel cell to reset the clock and using the insertion of the new one has less delay. Those 42 ticks did sound overly long. So that has to be increased a bit but not tonight. It only affects the reactor under full 480MW load as it then refuels always a bit too early till the reactors have 5 fuel cells. If power consumption the drops to 0 you loose half a fuel cell due to overheating (4.5 cells can be buffered). If you use at least 50MW power the thermal buffer is enough to buffer the 5 cells and the reactor recovers cleanly.

The other thing is that I just spamed a ton of heat pipes into the sandbox. The reactor runs rather on the cool side. If power is cut to 0 when a new fuel cell is inserted the temperature rises only 88°C, from ~600°C to ~688°C. So the thermal buffer is 4.5 times what is needs to be. A lot of heat pipes could be removed without the reactor reaching 1000°C if power demand drops to 1MB (must not be below, see above). Heat pipes aren't the most expensive thing but also not the cheapest. And they do cost UPS, spreading heat is CPU intensive. So the fewer the better. Each reactor has a 10MJ/°C thermal buffer and each heat pipe has 1MJ/°C thermal buffer as far as I can figure from the prototype. I figure you need ~168 (+- some because I just eyeballed the temperature increase) heat pipes to buffer 1 fuel cell. It's 140 heat pipes just for 2 lines going by all the heat exchangers. Make it 3 wide and it's above 200. That should suffice.
Attachments
thermal-reactor.zip
(4.34 MiB) Downloaded 89 times

foamy
Filter Inserter
Filter Inserter
Posts: 432
Joined: Mon Aug 26, 2019 4:14 am
Contact:

Re: All the different ways to increase the efficiency of a nuclear power plant

Post by foamy »

@mmmPI: I've lost track of this argument a bit, I think, but I believe what you're saying is that you can use things like science output as a proxy for how much power you need to produce?

And, earlier, it also looked like you were talking about the player manually regulating the feed rate to reactors?


If those are correct I'd kind of like to know, in the first case, why not just measure steam consumption (or at least level) directly, since it is a much more precise and direct proxy for the power generation?

And, in the second, why bother at all? If your power flow is consistent enough that you don't need to constantly be fiddling with the timings to avoid waste, couldn't you simply just build the reactor to the output level you need and just feed it continuously?

I suppose you could also do some shenanigans with shutting down parts of your factory based on accumulator level, to dynamically adjust the load, but in my view that's an emergency option. The only time I want parts of my factory shutting down is if there's absolutely nothing for them to do, not because of a power shortage. Using that to avoid 'wasting' fuel cells is very much putting the cart before the horse.


EDIT:

@mrvn: That's a brilliant idea on how to check buffer capacity. I need to think about it some more!

mrvn
Smart Inserter
Smart Inserter
Posts: 5646
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: All the different ways to increase the efficiency of a nuclear power plant

Post by mrvn »

mmmPI wrote:
Wed Oct 20, 2021 6:26 pm
you put those here not me.

Why would do this ?
As said, to simulate red science pack consumption being lower than production.
mmmPI wrote:
Wed Oct 20, 2021 6:26 pm
then you complain it doesn't work ?

yes you break the stuff yourself, like the person on the picture who put the stick on his own wheel.

you dishonnest person, plus you said it was your last note on the topic. you can't get trusted.


here is the save with things you could have done that would have not break it.

What i called smart use of power swith and a bit of good will, since you got none of those : a power switch to prevent the plant to get messed up by inexperienced player, it also get rid of the drain. Plus a signal when the reactor drift to low temp with an alert saying names on you because you deserve them.


beltreadinglol3.zip

[Edit:-re-uploaded twice sorry ]
properwaytosimulategreensciencelacking.jpg


Also for less hypocrite person, on that second save you can remove one of the 2 green inserters that get rid of the science, it would show the behavior where the plant reduce its production or science and electricty to match the demand without excess. alternating between production and disconnection. do not do like mrvn did just replacing green inserter for yellow, it just doesn't make sense, it's a poor implementation of the logic.

Ideally if you want real efficiency like the topic is about, the more MW per fuel cell, then there's no point having you factory drain electricty when not producin something useful right ? this is one way to do it that is fun and makes some people unexpectedly mad about it, which adds a bit to it in my mind :)
Hypocrite? Who? Me?

It's not the same reactor. You added more wires to the belt. I assume to catch exactly that case of the red science packs backing up on the belt. And then you say the fault was replacing the 2 stack inserters with yellow inserters instead of removing one.

Obviously now that you fixed that particular problem that problem no longer occurs. I would bet it now also would work with yellow inserters. Unless that is so slow it still overwhelms whatever fix you've added.


And 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.

foamy wrote:
Wed Oct 20, 2021 7:24 pm
@mmmPI: I've lost track of this argument a bit, I think, but I believe what you're saying is that you can use things like science output as a proxy for how much power you need to produce?

And, earlier, it also looked like you were talking about the player manually regulating the feed rate to reactors?


If those are correct I'd kind of like to know, in the first case, why not just measure steam consumption (or at least level) directly, since it is a much more precise and direct proxy for the power generation?

And, in the second, why bother at all? If your power flow is consistent enough that you don't need to constantly be fiddling with the timings to avoid waste, couldn't you simply just build the reactor to the output level you need and just feed it continuously?

I suppose you could also do some shenanigans with shutting down parts of your factory based on accumulator level, to dynamically adjust the load, but in my view that's an emergency option. The only time I want parts of my factory shutting down is if there's absolutely nothing for them to do, not because of a power shortage. Using that to avoid 'wasting' fuel cells is very much putting the cart before the horse.
He said measuring steam in a tank is cheating.

As for feeding it continously? Ineficient. A 2xN reactor running at 100% duty cycle uses more fuel than a 2x2N reactor running at 50% duty cycle. It actually matters quite a bit for N < 8. The smaller N the more you save by doubling. Going from 2x4 to 2x8 saves 25% fuel for example.

foamy
Filter Inserter
Filter Inserter
Posts: 432
Joined: Mon Aug 26, 2019 4:14 am
Contact:

Re: All the different ways to increase the efficiency of a nuclear power plant

Post by foamy »

mrvn wrote:
Wed Oct 20, 2021 7:33 pm
And 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.
waves.

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.

mmmPI
Smart Inserter
Smart Inserter
Posts: 2643
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: All the different ways to increase the efficiency of a nuclear power plant

Post by mmmPI »

foamy wrote:
Wed Oct 20, 2021 7:24 pm
@mmmPI: I've lost track of this argument a bit, I think, but I believe what you're saying is that you can use things like science output as a proxy for how much power you need to produce?

And, earlier, it also looked like you were talking about the player manually regulating the feed rate to reactors?


If those are correct I'd kind of like to know, in the first case, why not just measure steam consumption (or at least level) directly, since it is a much more precise and direct proxy for the power generation?

And, in the second, why bother at all? If your power flow is consistent enough that you don't need to constantly be fiddling with the timings to avoid waste, couldn't you simply just build the reactor to the output level you need and just feed it continuously?

I suppose you could also do some shenanigans with shutting down parts of your factory based on accumulator level, to dynamically adjust the load, but in my view that's an emergency option. The only time I want parts of my factory shutting down is if there's absolutely nothing for them to do, not because of a power shortage. Using that to avoid 'wasting' fuel cells is very much putting the cart before the horse.
1) yes you can use things like science output as proxy for how much power you need to produce. this is not timer-based. It is useful when you can't measure steam like in this kind of setup :
20190927211727_1.jpg
20190927211727_1.jpg (583.73 KiB) Viewed 4717 times
on this setup you would use it to measure the ouput of the furnaces that consume heat, and triggers the reactors refuel.

Also for the challenge of not using steam tanks, cuz why not.

2) yes you can also do something with timers, where you manually set the % of charge for the reactor, this allow to control you fuel consumption, contrary to regulated design that automatically adapt to you consumption and burn fuel as they want.

It doesn't need consitent flow, if you have buffer you can use them to smooth out the chaotic consumtpion. You create arbitrary interval of time based on your buffer capacity, and every interval you refill the energy from the previous. This requires to have enough heat/Steam buffered to handle one interval draw of full consumption buffered at all time.

that's one way to store energy in heat while avoiding steamtanks/steam altogether.

mmmPI
Smart Inserter
Smart Inserter
Posts: 2643
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: All the different ways to increase the efficiency of a nuclear power plant

Post by mmmPI »

mrvn wrote:
Wed Oct 20, 2021 7:33 pm
As said, to simulate red science pack consumption being lower than production.
that's not how the design i showed should be implemented to work.
What you did is the same as connecting 2 grid together.
mrvn wrote:
Wed Oct 20, 2021 7:33 pm
Hypocrite? Who? Me?
It's not the same reactor. You added more wires to the belt. I assume to catch exactly that case of the red science packs backing up on the belt. And then you say the fault was replacing the 2 stack inserters with yellow inserters instead of removing one.
Obviously now that you fixed that particular problem that problem no longer occurs. I would bet it now also would work with yellow inserters. Unless that is so slow it still overwhelms whatever fix you've added.
And 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 provided a save doing what you asked for, you modify it saying you simulate something while doig it wrong then you say it doesn't work.

I provided a new save doing what you should have done to simulate correclty what you said you were trying to simulate. Yes it's different power plant, it include the smart use of power switch i told you since the beginning i would have done earlier if i was willing to give more time because passing 1000 cycle was what you asked for, it took me like 20 min to build the thing, and 5 to implement the fix to your mistake in simulating something.


you can replace them with yellow or remove them once it's properly setup, if you just stupidly stop the counter, yes the counter is broken, if you make it so that the counter can stop and go, then the counter can stop and go, if doing so you implement a check to save drain maybe i'm like showing off a design for the 0.1% i don't think it's that low of % but thank you, on a topic about "all the different ways" for "efficiency" , it kinda make sense to go to those niche setups as they do exist despite you disliking them and seemingly incapable of using them.

foamy
Filter Inserter
Filter Inserter
Posts: 432
Joined: Mon Aug 26, 2019 4:14 am
Contact:

Re: All the different ways to increase the efficiency of a nuclear power plant

Post by foamy »

mmmPI wrote:
Wed Oct 20, 2021 7:57 pm
It doesn't need consitent flow, if you have buffer you can use them to smooth out the chaotic consumtpion. You create arbitrary interval of time based on your buffer capacity, and every interval you refill the energy from the previous. This requires to have enough heat/Steam buffered to handle one interval draw of full consumption buffered at all time.

that's one way to store energy in heat while avoiding steamtanks/steam altogether.
All 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.


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.

Post Reply

Return to “Energy Production”