Optimizing the nuclear reactor

Some mods, made by Bob. Basically streaks every Factroio-area.

Moderator: bobingabout

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

Optimizing the nuclear reactor

Post by mrvn »

In vanilla the best way to build a nuclear reactor is a 2xN grid. This gives the maximum neighbour bonus while still allowing automation.

But with Bob's adjustable inserters fuel can be inserted diagonally. One still can't do a NxN grid but one can for example build 8 nuclear reactors in a 3x3 grid and still automatically fuel all of them.

So have any of you come up with interesting shapes for your reactor with more neighbour bonuses than the vanilla 2xN grid pattern? What's the optimal pattern making the most of your fuel?

xfir01
Long Handed Inserter
Long Handed Inserter
Posts: 93
Joined: Fri Feb 10, 2017 5:08 pm
Contact:

Re: Optimizing the nuclear reactor

Post by xfir01 »

You could fuel it diagonally, but how do you get the heat out? Assuming you need 1 side open for heat pipes, you end up back at the 2xN pattern with reactors on 3 sides. Unless I'm missing something.

User avatar
eradicator
Smart Inserter
Smart Inserter
Posts: 5206
Joined: Tue Jul 12, 2016 9:03 am
Contact:

Re: Optimizing the nuclear reactor

Post by eradicator »

mrvn wrote:But with Bob's adjustable inserters fuel can be inserted diagonally. One still can't do a NxN grid but one can for example build 8 nuclear reactors in a 3x3 grid and still automatically fuel all of them.
With a hole in the middle every reactor has only 2 neighbours, losing 4*40MW output compared to 2*4. The only thing i can think of that has might have more efficiency is a square with 2 reactor wide edges, which gains a lousy 40MW in each of the four corners regardless of square size.
xfir01 wrote:You could fuel it diagonally, but how do you get the heat out? Assuming you need 1 side open for heat pipes, you end up back at the 2xN pattern with reactors on 3 sides. Unless I'm missing something.
Reactors share heat, so theoretically you only need one output pipe for the whole thing. But then you hit the transfer speed limit and need more again.

User avatar
bobingabout
Smart Inserter
Smart Inserter
Posts: 7352
Joined: Fri May 09, 2014 1:01 pm
Contact:

Re: Optimizing the nuclear reactor

Post by bobingabout »

I did look into it before, but due to the placement of heat pipe connections on each reactor, it's not easy to connect them together in a way other than 2xN and have them all connect.

Now if you had modded reactors where the heat pipes were in different positions, or simply just had 5 heat pipes per side instead of only 3, it could be possible to offset them by just 1 tile so that they're slightly staggered, and have a 2xN where one is connected to 5 neighbours instead of the 3

you can stagger them by 2 tiles now and still have it work, but there's no "diagonal" interaction due to heat pipe locations.

Either way, bob's inserters doesn't change much, if anything about your layout.
Creator of Bob's mods. Expanding your gameplay since version 0.9.8.
I also have a Patreon.

BlakeMW
Filter Inserter
Filter Inserter
Posts: 950
Joined: Thu Jan 21, 2016 9:29 am
Contact:

Re: Optimizing the nuclear reactor

Post by BlakeMW »

The only layout I can think of is like this:

Code: Select all

#####
#####
## ##
#####
#####
If you repeat that (overlapping the edges) using roboport to deliver to the hole you get slightly more neighbor bonus than 2xN. I have no idea how you'd get the heat out fast enough though, 2xN is already fairly thermally challenging.

User avatar
eradicator
Smart Inserter
Smart Inserter
Posts: 5206
Joined: Tue Jul 12, 2016 9:03 am
Contact:

Re: Optimizing the nuclear reactor

Post by eradicator »

bobingabout wrote:you can stagger them by 2 tiles now and still have it work, but there's no "diagonal" interaction due to heat pipe locations.
Neighbour bonus only works for exactly aligned reactors.

User avatar
bobingabout
Smart Inserter
Smart Inserter
Posts: 7352
Joined: Fri May 09, 2014 1:01 pm
Contact:

Re: Optimizing the nuclear reactor

Post by bobingabout »

eradicator wrote:
bobingabout wrote:you can stagger them by 2 tiles now and still have it work, but there's no "diagonal" interaction due to heat pipe locations.
Neighbour bonus only works for exactly aligned reactors.
I did not know this, I thought they only needed to be directly connected.
Creator of Bob's mods. Expanding your gameplay since version 0.9.8.
I also have a Patreon.

User avatar
Light
Filter Inserter
Filter Inserter
Posts: 678
Joined: Mon Oct 10, 2016 6:19 pm
Contact:

Re: Optimizing the nuclear reactor

Post by Light »

bobingabout wrote:
eradicator wrote:
bobingabout wrote:you can stagger them by 2 tiles now and still have it work, but there's no "diagonal" interaction due to heat pipe locations.
Neighbour bonus only works for exactly aligned reactors.
I did not know this, I thought they only needed to be directly connected.
I wasn't aware of this either.

That's another +1 for the Realistic Reactors mod which combines reactor bonuses just by having heat pipes connected between them up to a balanced limit. This allows reactor setups to be spaced out without losing their bonus, which gives more freedom to build unique designs instead of the same 4x2 brick which we now know is unavoidable and dull.

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

Re: Optimizing the nuclear reactor

Post by mrvn »

BlakeMW wrote:The only layout I can think of is like this:

Code: Select all

#####
#####
## ##
#####
#####
If you repeat that (overlapping the edges) using roboport to deliver to the hole you get slightly more neighbor bonus than 2xN. I have no idea how you'd get the heat out fast enough though, 2xN is already fairly thermally challenging.
I thought about that shape too but with a power pole and logistics zone expander I didn't have enough space left for inserters for all reactors. A 2x2 hole in the middle works though.

As for the thermal challenge you can always run the reactor less than 100% of the time. Let it cool down between fuel so it doesn't overheat on the next.

User avatar
eradicator
Smart Inserter
Smart Inserter
Posts: 5206
Joined: Tue Jul 12, 2016 9:03 am
Contact:

Re: Optimizing the nuclear reactor

Post by eradicator »

mrvn wrote:As for the thermal challenge you can always run the reactor less than 100% of the time. Let it cool down between fuel so it doesn't overheat on the next.
Witout a method to measure heat you don't know how much the reactor has cooled down yet though, as that depends on the factories power consumption. So you'd need an above average sized buffer tank/accumulator to measure when the plant is completely shut down.

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

Re: Optimizing the nuclear reactor

Post by mrvn »

Normally I simply add fuel when one of the steam tank goes below a trigger, say 100k steam left. At that point I know I have enough steam and heat capacity left to store another fuel cells worth of heat.

But more control should be possible. The temperature falls from the reactor to the last heat exchanger. You can measure the steam output from any of them. The number of heat exchangers still giving you steam should give you a temperature estimate.

User avatar
eradicator
Smart Inserter
Smart Inserter
Posts: 5206
Joined: Tue Jul 12, 2016 9:03 am
Contact:

Re: Optimizing the nuclear reactor

Post by eradicator »

Yea, i just meant to say that it requires a disproportionately larger control mechanism.
mrvn wrote:As for the thermal challenge you can always run the reactor less than 100% of the time. Let it cool down between fuel so it doesn't overheat on the next.
On second thought though...what's the point of even having a reactor that can't run 100%? Reactors not currently burning fuel give no neighbour bonus. So unless you're planning on running the whole plant in short bursts to get 5% more fuel efficiency you're better of with a smaller plant.

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

Re: Optimizing the nuclear reactor

Post by mrvn »

eradicator wrote:Yea, i just meant to say that it requires a disproportionately larger control mechanism.
mrvn wrote:As for the thermal challenge you can always run the reactor less than 100% of the time. Let it cool down between fuel so it doesn't overheat on the next.
On second thought though...what's the point of even having a reactor that can't run 100%? Reactors not currently burning fuel give no neighbour bonus. So unless you're planning on running the whole plant in short bursts to get 5% more fuel efficiency you're better of with a smaller plant.
20x5 reactors with holes give 4*3 + 70*4 + 24*5 = 412, 2x49 gives 4*3+94*4 = 388. That's 6.2% better. Indeed, not much. It would have to run 93.8% of the time for the same energy. I was hoping for more.

BlakeMW
Filter Inserter
Filter Inserter
Posts: 950
Joined: Thu Jan 21, 2016 9:29 am
Contact:

Re: Optimizing the nuclear reactor

Post by BlakeMW »

eradicator wrote: Witout a method to measure heat you don't know how much the reactor has cooled down yet though, as that depends on the factories power consumption. So you'd need an above average sized buffer tank/accumulator to measure when the plant is completely shut down.
Actually, you can just observe what edge of the heat pipe network cools down most quickly (or pick a random edge, or engineer a longer heat propagation distance to "canary" heat exchangers) and attach your steam measuring setup to those specific heat exchangers which will lose heat first. Once that most distant heat exchanger stops producing steam the tank will immediately start to empty - but at this point nearly all the other heat exchangers will still be generating steam so the power plant only loses a few percent of steam production. With a rapid fuel-insertion response to the falling steam level at the fringe there is very little extra buffering required.

That is always how I make fuel-saving power plants, with direct feed from heat exchangers to turbines except for a single steam tank at a set of "canary" exchangers to give early warning of heat loss. Whenever I see players with large batteries of steam tanks I think they're crazy.

(to be fair, this kind of low-buffer fuel-saver is more prone to reaching full heat, but in practice it has a working range of say 0-80% of full load where it doesn't waste any fuel at all, and then at 80%+ load it might waste a little fuel to overheating especially if load suddenly drops just after fuel insertion, but I'm willing to accept losing a few percent of the fuel value at high loads, the point of a fuel-saver for me is not losing 70% of the fuel value at low loads and a smaller and simpler setup that achieves that is good enough)

User avatar
eradicator
Smart Inserter
Smart Inserter
Posts: 5206
Joined: Tue Jul 12, 2016 9:03 am
Contact:

Re: Optimizing the nuclear reactor

Post by eradicator »

BlakeMW wrote: That is always how I make fuel-saving power plants, with direct feed from heat exchangers to turbines except for a single steam tank at a set of "canary" exchangers to give early warning of heat loss. Whenever I see players with large batteries of steam tanks I think they're crazy.
That's an interesting idea. I used to have lots of tanks because they are more space efficient than accumulators. And a large buffer can help average out the consumption of your factory, so the plant doesn't go full power on every little spike. Currently i'm running a no-tank layout thought hoping to save a few UPS (close-enough-ratio).
screenshot_39657163.png
screenshot_39657163.png (486.35 KiB) Viewed 9552 times

BlakeMW
Filter Inserter
Filter Inserter
Posts: 950
Joined: Thu Jan 21, 2016 9:29 am
Contact:

Re: Optimizing the nuclear reactor

Post by BlakeMW »

I also use 1:2 nearly exclusively.

One of the nice things about 1:2 is it's slightly turbine rich meaning it can act as a buffer. Each exchanger+2 turbines stores 600 steam, this is only enough for about 5s at full load, but if the heat exchanger is still pumping out steam it allows the turbines to run at full power for about a minute. So a nuclear plant using 1:2 can cover spikes of ~116% load for ~1 minute. In the context of a factory that is really quite a lot of spike accommodation, a factory running at full production doesn't tend to fluctuate by more than a few percent over a few seconds, and a massive surge from say construction bot activity could potentially cause a big spike, but then the question is how much buffer is enough? 1 minute? 10 minutes? 1 hour? There quickly comes a point where you just want to treat the increased load as an increased average rather than a spike (for example bots laying huge amounts of concrete could stay busy for half an hour, you'd probably want to accommodate that in the baseline power generation).

Another cool thing about 1:2 is you can stick a storage tank on the end of some pair of turbines, that tank will remain nearly full as long as the reactors are keeping up with the load. Once demand starts to exceed 100% the steam level starts dropping, but the system continues to provide full power for quite some time (like if it's only on average 1% overloaded it could go for about 10 minutes on stored steam). Basically, that tank makes an ideal place to attach a preemptive low power alert.

User avatar
eradicator
Smart Inserter
Smart Inserter
Posts: 5206
Joined: Tue Jul 12, 2016 9:03 am
Contact:

Re: Optimizing the nuclear reactor

Post by eradicator »

BlakeMW wrote:Another cool thing about 1:2 is you can stick a storage tank on the end of some pair of turbines, that tank will remain nearly full as long as the reactors are keeping up with the load. Once demand starts to exceed 100% the steam level starts dropping, but the system continues to provide full power for quite some time (like if it's only on average 1% overloaded it could go for about 10 minutes on stored steam). Basically, that tank makes an ideal place to attach a preemptive low power alert.
I thought your argument was to not use tanks :D. Tanks after turbines is what i usually do. The gual with 1:3:1 used in above picture was to always keep the fluid boxes full to the brim in normal situations. Hoping that less fluctuation -> more UPS.
Author of: Belt Planner, Hand Crank Generator, Screenshot Maker, /sudo and more.
Mod support languages: 日本語, Deutsch, English
My code in the post above is dedicated to the public domain under CC0.

BlakeMW
Filter Inserter
Filter Inserter
Posts: 950
Joined: Thu Jan 21, 2016 9:29 am
Contact:

Re: Optimizing the nuclear reactor

Post by BlakeMW »

If stock had something like Angel's check valve I'd use that instead. You only need to measure 1 turbine pair to know what all of them are doing (unless something wonky is going on).

I somehow doubt that keeping fluid boxes full makes any difference to UPS because I'm pretty sure the game is emptying and refilling them each tick even if they appear full by the time you get to see them. Probably the best way to maximize UPS is to have each turbine running at close to 100% as you can tolerate without actually getting power spikes (or accommodate spikes with accumulators), after all a turbine running at 30% and one running at 90% both have to do just as much work each tick, it's not like a 30% turbine gets to go to sleep two-thirds of the time, it's just removing 1/3rd as much steam each tick. Heat exchangers also never get to sleep, it's readily demonstrated by using low game speed or frame by frame analysis that a boiler which is running at say 1% load, is still depleting the fuel bar each tick, just by a very small amount. So it's doing every bit as much work as a boiler running at full bore and it would be reasonable to think heat exchangers work in the same way as boilers. So the only way you're going to get UPS wins is by having the entire setup run at as close to 100% load as possible.

I don't know if it'd be better to have 16% more turbines than necessary or the extra pipes required to make perfect ratios, I'm sure pipes use less UPS than turbines, but you need a whole lot of pipes for each turbine saved.

User avatar
bobingabout
Smart Inserter
Smart Inserter
Posts: 7352
Joined: Fri May 09, 2014 1:01 pm
Contact:

Re: Optimizing the nuclear reactor

Post by bobingabout »

I think one of the issues is that the heat exchangers want to use 10MW, but the steam turbines want to use 5.8MW, so you can't power 2 from 1. This is one of the reasons why I plan to (when I get back into modding) change the steam turbine to use 6MW (by increasing the temperature from 500C to 515C(Because the actual formula is temp - default temp, which is 15, so 500 temperature units of power is actually 515C)), and the heat exchanger to use 12MW(Again, using the 515 temp), to create that perfect 2:1 balance. It also requires the reactor being retuned, it's currently 40MW (powering 4 heat exchangers) but I'm thinking of dropping it to 36MW (powering 3 of the new type), but plan to, at some point, add to reactors based on Thorium stuff.

It's all explained in here viewtopic.php?f=51&t=60357
This is a discussion, so the final plan isn't in the first post.
Creator of Bob's mods. Expanding your gameplay since version 0.9.8.
I also have a Patreon.

User avatar
eradicator
Smart Inserter
Smart Inserter
Posts: 5206
Joined: Tue Jul 12, 2016 9:03 am
Contact:

Re: Optimizing the nuclear reactor

Post by eradicator »

[Advocatus Diaboli] Changing the numbers to be exactly 2:1 is a double-edged sword. (Don't let me talk into your mod design, though...i'm just writing down some thoughts ;). Part of the joy of factorio comes from fiddling all those different numbers to be close enough to some ratio that each person considers "optimal". Be it space-efficiency, assembler count, max beacon bonus etc. So every time you make a recipe inheritely "perfect" you imho remove a tiny bit of the puzzle. Before the new 2x3 boilers there was no mathematically perfect ratio. Now everyone builds 2:1 boilers without thinking, because they're just perfect. Removing the ratio decision from the early game was probably not too bad. But reactors aren't early game. [/Advocatus Diaboli]

@BlakeMW:
"Too few turbines" does make it easier to always have them fully running. And i was speculating that maybe if the input pipes are always full they only flow "in one direction" and not in both. Also other machines have certain optimations if they run "at full speed" so maybe turbines do too? But without actual measurements that's just wishful thinking on my side :).
Author of: Belt Planner, Hand Crank Generator, Screenshot Maker, /sudo and more.
Mod support languages: 日本語, Deutsch, English
My code in the post above is dedicated to the public domain under CC0.

Post Reply

Return to “Bob's mods”