Reactor network setup

Don't know how to use a machine? Looking for efficient setups? Stuck in a mission?
Tertius
Smart Inserter
Smart Inserter
Posts: 1327
Joined: Fri Mar 19, 2021 5:58 pm
Contact:

Re: Reactor network setup

Post by Tertius »

brunzenstein wrote: Sat Jun 28, 2025 12:33 pm I tried the -750 with one reactor for several hours, but it didn’t work out for me at reliable as with four.
What exactly do you mean with "[not] reliable"?

There is one flaw in your blueprint. You configured to set stack size with signal S, however you don't provide any signal S, so its value is 0. Setting the stack size 0 is the same as setting stack size 1, so it works, but the correct way to do this in this setup is to not set the stack size via circuit but instead set the "override stack size" to 1.
You also don't need to set any filter. The only thing an inserter will insert into a reactor is a fuel cell.

There is another real error. 2 steam turbines behind 2 substations in the top and bottom center are not connected to steam.

And there is a potential blocker for not inserting fuel cells. The burnt up fuel cell counts as fuel, so as long as it isn't being removed from the reactor for some reason, it is an item with amount > 0, so the EVERYTHING <= 0 will not trigger, so no fuel will be inserted. This can be corrected by adding a (burnt up fuel cell) = -50 to the constant combinator, so until a full stack of burnt up fuel cells is accumulated, insertion can continue. This will never happen nonetheless, as long as you properly remove burnt up fuel cell and don't let them accumulate. You need to recycle them, and you need to add enough centrifuges to recycle more than there is produced by your reactor.

This blueprint includes all fixes:
mmmPI
Smart Inserter
Smart Inserter
Posts: 4568
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: Reactor network setup

Post by mmmPI »

Tertius wrote: Sun Jun 29, 2025 11:52 am And there is a potential blocker for not inserting fuel cells. The burnt up fuel cell counts as fuel, so as long as it isn't being removed from the reactor for some reason, it is an item with amount > 0, so the EVERYTHING <= 0 will not trigger, so no fuel will be inserted. This can be corrected
There is no need to correct it though i think, such design do not rely on extracting the used fuel cell to time refuel, it's reading temperature, the only reason the cells wouldn't be removed would be if the chest is full and your proposal doesn't adress this.

The everything <= 0 makes it so that there is a little downtime because the new cell is added only when the old one has been removed, but it also help preventing double insertion if you consume full power and the temperature doesn't rise fast enough to negate the condition only on temperature after the first refuel.

Such design can be "unreliable" if you start manually feeding reactor and one has 2 cells at the same time, because then fuel insertion will be delayed until the 2 cells are consumed, and the other reactor may be starved in the meantime but that kind of thing is bound to happen, it's always possible to break things manually :)
Check out my latest mod ! It's noisy !
coffee-factorio
Fast Inserter
Fast Inserter
Posts: 140
Joined: Thu Oct 17, 2024 10:56 pm
Contact:

Re: Reactor network setup

Post by coffee-factorio »

brunzenstein wrote: Sun Jun 29, 2025 5:02 am
coffee-factorio wrote: Sat Jun 28, 2025 10:56 pm
brunzenstein wrote: Sat Jun 28, 2025 12:33 pm I tried the -750 with one reactor for several hours, but it didn’t work out for me at reliable as with four.
I don’t know why it is so, but that is life.
This looked interesting, I like to understand how systems behave. You have 4 cells (edit: 1 per logistic chest) "in battery" behind 4 inserters. So your system is pretty good as is. Just out of curiousity, where the reactors being overloaded or unevenly loaded? I might have an idea about how that could happen.
both.
It would be interesting if you could find the reason why it didn't work out for me - I m really curious.
Theoretically it should be sufficient to base the reading of one singe reactor
I have a guess. So here's my guess:

You have this thing running in a test environment under high draw. If I graphed the temperature it'd look like a wave with a peak and a valley.

There's going to be a time period where (t-750) < 0. The inserters needs to swing. This takes less than a second to perform fuel load but it gets you thinking about what the actual issue might be: The reactors need to reheat the system, which is going to be difficult under high draw or worst case test conditions.

During that latency period bots will reload the logistics chests in an arbitrary order, which will see the chests overloaded or misloaded. Faster bots will compound the issue. Ultimate cause is high power draw, since the amount of heat added to the system will be T_added - T_removed. It'd be hard to replicate because everything has to fail perfectly, depending on how much power you pull from the system reactors might heat everything fast enough that it'd never be an issue. If bots are "slow enough" it's not relevant either... granted; bots are never fast enough so that isn't saying anything.

I'm also grappling with how linking 4 reactors would fix it. I know heat works more like the old fluid system. Based off experience with a mod, lets just say the system is Goofy the Dog. So one reactor might have been making the issue worse, because it is being drained of heat at an odd rate. Maybe multiple reads give a more accurate picture? Having more data on its own shouldn't guard you against a sharp temperature change, because that change should be accumulated in your data and be the same. It might fix an issue with uneven heating/cooling though by averaging things out.
User avatar
brunzenstein
Smart Inserter
Smart Inserter
Posts: 1146
Joined: Tue Mar 01, 2016 2:27 pm
Contact:

Re: Reactor network setup

Post by brunzenstein »

coffee-factorio wrote: Mon Jun 30, 2025 12:54 am
brunzenstein wrote: Sun Jun 29, 2025 5:02 am
coffee-factorio wrote: Sat Jun 28, 2025 10:56 pm
brunzenstein wrote: Sat Jun 28, 2025 12:33 pm I tried the -750 with one reactor for several hours, but it didn’t work out for me at reliable as with four.
I don’t know why it is so, but that is life.
This looked interesting, I like to understand how systems behave. You have 4 cells (edit: 1 per logistic chest) "in battery" behind 4 inserters. So your system is pretty good as is. Just out of curiousity, where the reactors being overloaded or unevenly loaded? I might have an idea about how that could happen.
both.
It would be interesting if you could find the reason why it didn't work out for me - I m really curious.
Theoretically it should be sufficient to base the reading of one singe reactor
I have a guess. So here's my guess:

You have this thing running in a test environment under high draw. If I graphed the temperature it'd look like a wave with a peak and a valley.

There's going to be a time period where (t-750) < 0. The inserters needs to swing. This takes less than a second to perform fuel load but it gets you thinking about what the actual issue might be: The reactors need to reheat the system, which is going to be difficult under high draw or worst case test conditions.

During that latency period bots will reload the logistics chests in an arbitrary order, which will see the chests overloaded or misloaded. Faster bots will compound the issue. Ultimate cause is high power draw, since the amount of heat added to the system will be T_added - T_removed. It'd be hard to replicate because everything has to fail perfectly, depending on how much power you pull from the system reactors might heat everything fast enough that it'd never be an issue. If bots are "slow enough" it's not relevant either... granted; bots are never fast enough so that isn't saying anything.

I'm also grappling with how linking 4 reactors would fix it. I know heat works more like the old fluid system. Based off experience with a mod, lets just say the system is Goofy the Dog. So one reactor might have been making the issue worse, because it is being drained of heat at an odd rate. Maybe multiple reads give a more accurate picture? Having more data on its own shouldn't guard you against a sharp temperature change, because that change should be accumulated in your data and be the same. It might fix an issue with uneven heating/cooling though by averaging things out.
@coffee-factorio
Your thoughts are intriguing—let’s delve deeper. I appreciate the most straightforward approach to a solution. Unfortunately, I’m currently on the move and can’t run Factorio this week.

You’re likely correct in identifying the fundamental reasons behind the system’s limitations. However, I believe we should disregard the value of T altogether and explore alternative settings. Connect all four reactors with green wires and connect them to the inserters (out/in). Begin by inserting a fuel cell into one reactor. When the reactor at the end of this prime circle exhausts the used fuel cell, a signal is sent indicating that a used fuel cell has been removed from that reactor. This prompt triggers all inserters to act and begin inserting fuel in a synchronized manner, similar to how musicians in a concert hall perform in unison. However, we must ensure that only one fuel cell is inserted at a time.
Is this feasible?
Tertius
Smart Inserter
Smart Inserter
Posts: 1327
Joined: Fri Mar 19, 2021 5:58 pm
Contact:

Re: Reactor network setup

Post by Tertius »

coffee-factorio wrote: Mon Jun 30, 2025 12:54 am You have this thing running in a test environment under high draw. If I graphed the temperature it'd look like a wave with a peak and a valley.

There's going to be a time period where (t-750) < 0. The inserters needs to swing. This takes less than a second to perform fuel load but it gets you thinking about what the actual issue might be: The reactors need to reheat the system, which is going to be difficult under high draw or worst case test conditions.

During that latency period bots will reload the logistics chests in an arbitrary order, which will see the chests overloaded or misloaded. Faster bots will compound the issue. Ultimate cause is high power draw, since the amount of heat added to the system will be T_added - T_removed. It'd be hard to replicate because everything has to fail perfectly, depending on how much power you pull from the system reactors might heat everything fast enough that it'd never be an issue. If bots are "slow enough" it's not relevant either... granted; bots are never fast enough so that isn't saying anything.
I don't see how "slow bots" can cause an issue here, because they have 200 seconds time to refill 4 chests. If they aren't able to do that in time, you need to improve your logistics. If there are not enough fuel cells, you need to improve your fuel cell production. Also you need to transport away your used up fuel cells and provide enough capacity to recycle them. All this is no issue with the reactor setup. The fast inserters will insert the cells in 1 swing, which takes 0.208s, and they're always available.

About power draw: as long as you're not having full load of 480 GW, which is the case for probably 99.5% of all the time, the 4 reactors will produce 480 GW heat, the 48 heat exchangers will convert 480 GW heat to steam, and the power being consumed is less than 480 GW, so more steam is produced than consumed. First all the integrated buffers in turbines and steam buffers will fill, and if they're full no more heat is consumed. In this moment the heat exchangers will heat up, and the reactors too. Heating up under power draw is a slow process, the more power is consumed the slower it is, but it happens. So the temperature will eventually rise above the threshold. It will also rise to the threshold if full 480 GW is pulled, because if the temperature is lower than required to heat up the farthest heat exchanger to 500°C, that heat exchanger will not work, so just 470 GW is being produced, so the reactor will heat up, and eventually all heat exchangers are at least 500°C.

In this setup, with 4 reactors and this heat exchanger layout, the minimum reactor temperature to operate with full power, is about 580°C (I tested). So to have a bigger heat buffer for extremely low power situations, you can set our threshold to 600°C (value T=-600 in constant combinator), not 750. If you run the power plant that way, and you pull 400-450 GW, you will see the temperature will rise to about 602°C but not much higher during one fuel cell burning phase. If the cell is burnt up, temperature will drop almost immediately (just a fraction of a second), and the next cell is being inserted. This is a delay of about 1/3-1/4 second, including the inserter swing. This time there is no cell burning, so the power that could be generated during that time is not produced, so this is what the whole plant will produce less than 480 GW. If this is 1/3s or 0.33 seconds, it's 0.33s/200s = 0.00166 or 0.166% of a burning period of 200s. So there's 0.00166 * 480 GW = 0.8 GW power missing during that period, and the whole plant is effectively producing 479.2 GW instead of 480 GW. As long as your draw is below 479.2 GW, your reactors will always heat up, and as long as you set the threshold to ~600°C or above, the plant will be able to continuously provide that power since the heat exchangers will not cool down to 500°C and stop working.
The reactors will not go below 580°C (the threshold where the farthest heat exchanger will not get enough heat under full power draw and stop working) while the next fuel cell is being inserted - the insertion is fast enough.

The 4 reactors are always within a temperature corridor no bigger than about 3°C. No reactor will be more than 3°C hotter or cooler than one of the others. They're directly connected next to each other, and the setup is symmetric and homogeneous. So there's really no need to read more than 1 reactor.
User avatar
brunzenstein
Smart Inserter
Smart Inserter
Posts: 1146
Joined: Tue Mar 01, 2016 2:27 pm
Contact:

Re: Reactor network setup

Post by brunzenstein »

What do you think about my idea of scrapping the system T value entirely and instead implementing a mechanism where, whenever a useful fuel cell is removed from the reactor, only one new fuel cell is inserted?
Tertius
Smart Inserter
Smart Inserter
Posts: 1327
Joined: Fri Mar 19, 2021 5:58 pm
Contact:

Re: Reactor network setup

Post by Tertius »

This is essentially the same as just feeding the reactors with no control at all. This will work of course, it will continuously burn cells and waste the cells if power usage is below reactor production.
coffee-factorio
Fast Inserter
Fast Inserter
Posts: 140
Joined: Thu Oct 17, 2024 10:56 pm
Contact:

Re: Reactor network setup

Post by coffee-factorio »

Tertius wrote: Mon Jun 30, 2025 7:32 am
About power draw: as long as you're not having full load of 480 GW, which is the case for probably 99.5% of all the time, the 4 reactors will produce 480 GW heat, the 48 heat exchangers will convert 480 GW heat to steam, and the power being consumed is less than 480 GW, so more steam is produced than consumed. First all the integrated buffers in turbines and steam buffers will fill, and if they're full no more heat is consumed. In this moment the heat exchangers will heat up, and the reactors too. Heating up under power draw is a slow process, the more power is consumed the slower it is, but it happens. So the temperature will eventually rise above the threshold. It will also rise to the threshold if full 480 GW is pulled, because if the temperature is lower than required to heat up the farthest heat exchanger to 500°C, that heat exchanger will not work, so just 470 GW is being produced, so the reactor will heat up, and eventually all heat exchangers are at least 500°C.
I think I may not have been going hard enough in saying "it'd be hard to replicate (the conditions of this failure) because everything has to fail perfectly". As for 99.5%... I can spot technical gripes but the book of grudges is easy to fill. It's not worth filling it if I justify a system running at a test condition that will not be seen in reality. If this thing starts to do this at 400/480 MW the reaction shouldn't be "redesign" but rather copy+paste if you don't have better.
brunzenstein wrote: Mon Jun 30, 2025 9:54 am What do you think about my idea of scrapping the system T value entirely and instead implementing a mechanism where, whenever a useful fuel cell is removed from the reactor, only one new fuel cell is inserted?
Well, you have two jobs. One is controlling the reactor. The other is getting the fuel bonus.

For controlling the reactor you want to read some metric of power. That's temperature or steam.

For getting the fuel bonus, yeah this could be a route to doing that. But you aren't monitoring numbers that keep the reactor from doing things like constantly using fuel when it shouldn't; or that let you avoid peak power draw. Immediately after you load a grid to max, you overload a grid so... not safe imo.
Tertius
Smart Inserter
Smart Inserter
Posts: 1327
Joined: Fri Mar 19, 2021 5:58 pm
Contact:

Re: Reactor network setup

Post by Tertius »

coffee-factorio wrote: Tue Jul 01, 2025 11:39 am I think I may not have been going hard enough in saying "it'd be hard to replicate (the conditions of this failure) because everything has to fail perfectly".
Once there was an engineer named Murphy. There is a law with his name, called Murphy's Law: "Anything that can go wrong will go wrong."

So in IT you learn that every possible failure condition, no matter how unlikely, will eventually happen. It may take time, but it will definitely happen. So in IT you build solutions that take care of every possible failure condition, or edge cases, so they cannot happen. The "cannot happen" means it cannot happen. Probability 0%. Not 0.00001% but really 0. Zero. So you can stop thinking about it and ignore this kind of failure while debugging other failures. This has something to do with the quality of your work.

You might argue this isn't important for a game, but it's probably not much fun to spend an hour debugging a mediocre circuit contraption, and debugging it again the next day, instead of having a flawless circuit that never fails, which provides much satisfaction for its flawlessness.
coffee-factorio
Fast Inserter
Fast Inserter
Posts: 140
Joined: Thu Oct 17, 2024 10:56 pm
Contact:

Re: Reactor network setup

Post by coffee-factorio »

Engineering is not a practice of flawless mechanisms but tradeoffs. I don't like the idea of a solution that has a lot of merits being discarded on the basis of a guess (even if it is mine) and a bench mark test at peak load.

I don't like it because a temperature sensor gives someone experience in reading equipment and maintaining a power budget based off that.
There's a reason why I'm point at a solution with one combinator and one connection and saying start their, it's easy to debug and it scales decently.
mmmPI
Smart Inserter
Smart Inserter
Posts: 4568
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: Reactor network setup

Post by mmmPI »

coffee-factorio wrote: Thu Jul 03, 2025 12:03 pm I don't like it because a temperature sensor gives someone experience in reading equipment and maintaining a power budget based off that.
There's a reason why I'm point at a solution with one combinator and one connection and saying start their, it's easy to debug and it scales decently.
That makes no sense.

Any setup aiming at controlling fuel consumption will require "reading something". Temperature is just the simplest.
brunzenstein wrote: Mon Jun 30, 2025 9:54 am What do you think about my idea of scrapping the system T value entirely and instead implementing a mechanism where, whenever a useful fuel cell is removed from the reactor, only one new fuel cell is inserted?
It would be a regression compared to the blueprint you posted which was fine already.
Check out my latest mod ! It's noisy !
coffee-factorio
Fast Inserter
Fast Inserter
Posts: 140
Joined: Thu Oct 17, 2024 10:56 pm
Contact:

Re: Reactor network setup

Post by coffee-factorio »

mmmPI wrote: Thu Jul 03, 2025 9:18 pm That makes no sense.
Alright, I need some help...
mmmPI wrote: Thu Jul 03, 2025 9:18 pm
It would be a regression compared to the blueprint you posted which was fine already.
Because that's the most clear explanation I've read. And regardless of what I was trying to say with the first sentence (edit: that i wrote - not necessarily what was quoted), I can spot two or three semantic/spelling errors in what you quoted. Point should be pointing I think :oops: ?

I have an issue: I had a guess which explains why robots misbehave at a certain part of the reactor's temperature range; while using this circuit.
The guess can be summed up as this: the robots have a short period of time to overload the reactor with fuel when it is using a large portion of power. If this guess is correct than very fast bots will overload it worse.

Up to a certain point I would also guess the reactor works fine.

I think what you said about it being a regression to try and fix it is right. I agree with what you're saying about a temperature sensor. Regardless of other issues I agree.

Is there a good way of explaining why you would not want to use a power system at it's max power rating in the first place? I would say it creates major safety hazard in the form of a risk of a blackout. And if you avoid that hazard, you never see the bots misbehave. Which is why what has been posted is fine?
mmmPI
Smart Inserter
Smart Inserter
Posts: 4568
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: Reactor network setup

Post by mmmPI »

coffee-factorio wrote: Fri Jul 04, 2025 12:29 am Because that's the most clear explanation I've read. And regardless of what I was trying to say with the first sentence (edit: that i wrote - not necessarily what was quoted), I can spot two or three semantic/spelling errors in what you quoted. Point should be pointing I think :oops: ?
That makes no sense either
coffee-factorio wrote: Fri Jul 04, 2025 12:29 am I have an issue: I had a guess which explains why robots misbehave at a certain part of the reactor's temperature range;
I don't think the guess deserve all that much more attention than what Tertius already gave, i'm not going to repeat the same things.
Check out my latest mod ! It's noisy !
Nidan
Filter Inserter
Filter Inserter
Posts: 324
Joined: Sat Nov 21, 2015 1:40 am
Contact:

Re: Reactor network setup

Post by Nidan »

Since you explicitly asked about grammar (my changes/corrections are marked)
coffee-factorio wrote: Thu Jul 03, 2025 12:03 pm I don't like it because a temperature sensor gives someone experience in reading equipment and maintaining a power budget based off that.
There's a reason why I'm point I'm pointing at a solution with one combinator and one connection and saying start their there, it's easy to debug and it scales decently.
Overall only minor mistakes, nothing that inhibits parsing. Whether that makes sense considering context I'm not going to investigate.


Regarding the actual topic of this thread: My typical reactor control has one output inserter controlled by temperature (or steam level before 2.0) and the input inserters are allowed to insert a single fuel cell whenever the output inserters hand isn't empty.
Dead time during refuel is half an inserter swing. No combinatiors. Needs manual start. Incorrect manual interaction will fix itself over time also long as the tractor doesn't run at 100% load.
Fixing those "issues" would require combinators which i can't be bothered to add. Just let it run unattended and when you need full load just add new reactors, you'll need them anyway.
mmmPI
Smart Inserter
Smart Inserter
Posts: 4568
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: Reactor network setup

Post by mmmPI »

Nidan wrote: Fri Jul 04, 2025 3:56 pm Since you explicitly asked about grammar (my changes/corrections are marked)
[...]
Overall only minor mistakes, nothing that inhibits parsing. Whether that makes sense considering context I'm not going to investigate.
It was unclear to me that the post you corrected contained a demand for correction in the grammar, so i would say it does inhibit parsing. Maybe you could also do the grammar correction in the following sentence too, regarding the context it makes no sense, the logic in the blueprint posted would work the same if using belts to supply and remove fuel, it's a wrong explanation for an imaginary situation x). But i'm curious, about the meaning of "Point should be pointing I think :oops: ?" Do you have a translator for this ?
coffee-factorio wrote: Fri Jul 04, 2025 12:29 am Because that's the most clear explanation I've read. And regardless of what I was trying to say with the first sentence (edit: that i wrote - not necessarily what was quoted), I can spot two or three semantic/spelling errors in what you quoted. Point should be pointing I think :oops: ?
I have an issue: I had a guess which explains why robots misbehave at a certain part of the reactor's temperature range; while using this circuit.
Check out my latest mod ! It's noisy !
Post Reply

Return to “Gameplay Help”