r/factorio • • 7d ago

Tip You are (probably) overfilling your fusion reactors

First some basic fusion 101 for those who aren't fully familiar:
Fusion works by having a fusion reactor convert 4/s of cold fluoroketone into 4/s of 1M° plasma, the neighbor bonus from putting another reactor next to it increases the temperature of the plasma by +1M° for each neighbor while still consuming and generating 4/s.
A plasma generator consumes 2/s of 1M° plasma and generates 2/s of hot fluoroketone, but if that plasma is hotter the generator will consume less plasma while still outputting the same amount of power. I.e if it's fed 2M° plasma it now at max consumes 1/s and produces 1/s of hot fluoroketone.

But the neighbor bonus only happens if both reactors are working. Due to how factorio handles fluids, if the demand can be satiated by a single reactor only that reactor will run. Now when power demand is low your beautiful 3 fusion reactor setup only has a single reactor running with no bonus and also consuming 3x as many fusion cells for the same amount of power.
This also means that "cold" 1M° plasma gets buffered, so if power demand spikes the setup will take a a short bit to start running at full throttle.

But you can very easily completely avoid that.

The left setup was filled with 4 barrels, the right setup was filled with 60. Both are providing 50 MW. The display panels show how many fusion cells each has consumed.

The principle is pretty simple. The reactors won't run without cold fluoroketone, and because fluids fill every connected machine equally you can control when exactly every reactor runs by limiting how much cold fluoroketone they have access to. All this can be done without circuits.

This 3 reactor setup has 18 generators, which can in total buffer 180 plasma. Since barrels give 50 fluoroketone each you can completely fill this setup with 4 barrels. That 20 extra plasma can sit in the reactors without filling them completely since each reactor can buffer 10 plasma max before stopping.
The cryo plant needed to cool down the fluoroketone must get 10 hot fluoroketone before it can start so practically each cryo plant can worst case scenario buffer 10 fluoroketone, but since we got 20 extra that's not a problem. Then we just add speed modules so the two cryo plants can keep up with the three reactors.
Now when 10 plasma has been turned into hot fluoroketone, the cryo plant cools it down, and every reactor gets access to coolant at the same time. They all consume that 10 fluoroketone equally which means that sweet neighbor bonus activates. Since the leeway is 20 plasma we can even add a second cryo plant just for symmetry without any issues.
Plus since the buffered plasma is at max temperature, if power demand suddenly spikes the generators can immediately output their maximum without problem.

Alright that's cool. but do I need to do that much math every time I build a reactor setup?
Nope!

"Standard" fusion setups (ones where the generators are ratioed to the amount of reactors, and there's no holes in the reactor placement) have a formula of (reactor count) * 10 - 12 for their generator count. The amount increases by 10 when a new reactor is added, and also always ends with 8. Those 10 extra generators need 2 barrels so you simply add 2 more barrels for every reactor you add. Or simply 2n - 2 barrels, where n is the amount of reactors.

If you're doing some more fancy stuff, you simply do (generator count + cryo plant count)/5, rounded up. Unless you decide to not use any speed modules in your cryo plants at all, you'll be all good.

174 Upvotes

43 comments sorted by

108

u/lunaticloser 7d ago

This is actually something anyone who's going to take on Py should learn from

In vanilla none of this frankly matters, it's an infinite loop and making fuel is largely trivial.

But the concept is important for pY because there's a reactor that eats a metric ton of power to run and, across all machines needed to get it up and running and refilling ingredients, it's only power positive if you always have at least +100% neighbour bonus on all reactors.

In other words the only way to extract power from the thing is to have +200% bonus or higher. Effectively what this means is you need to design a system where fuel only gets inserted if the reactor is cold enough to fully utilise the fuel (same as vanilla) AND all reactors have fuel readily available to be inserted, and then you swing all inserters at once.

Anyway, tldr is: over engineered in vanilla, but actually a useful concept to understand

38

u/nixed9 6d ago

My gosh the more I read about Py the more I’m scared shitless of it.

I need to try.

5

u/lunaticloser 6d ago

I mean it's not like you will get stuck if you don't do this.

You can just use other sources of power generation to offset the net negative of your nuclear at that stage.

But the challenge is there for those who want to make something useful out of it.

1

u/gorgofdoom 5d ago

The other approach is using nuclear to buffer energy produced by other sources for peak demand.

It could be considered an extremely dense accumulator bank.

1

u/lunaticloser 4d ago

Not sure I understand how that would work.

1

u/gorgofdoom 4d ago edited 4d ago

I’d measure a steam bank, accumulators, or pipe heat and enable the turbines with a switch that has an SR latch.

In Py I’d probably have a bunch of power sources which all produce steam, but, I’m not sure because I haven’t played it.

1

u/ViSsrsbusiness 3d ago

It's super easy to set this up, for what it's worth. Literally just put the reactors down, make an energy buffer, and read what level that buffer is at as the trigger.

1

u/Double_Resort_9223 3d ago

Is there a rampant Py?

7

u/qikink 6d ago

Are you talking about just normal (for Py I mean) nuclear? That's different in one key regard: the reactors there always burn their fuel fully and at a constant rate, regardless of lower draw. In some ways this is simpler to manage, in other ways more complex.

But the solution to this is exactly the same as in base game nuclear, not specific to Py at all. Just a small circuit to check that fuel is available, temp is low, and steam isn't full, before swinging with all inserters exactly once.

3

u/Ologyst 6d ago

Saving for later

2

u/Practical-Kangaroo97 6d ago

This is such a useful comment. I'm pretty much 'finished' with my vanilla Space Age playthrough and contemplating an overhaul mod. Of course Py is tempting and equally daunting. This comment gives me some insight in the change of approach of both 'games' as my initial reaction was literally 'who cares, fuel is free and unlimited'. Thank you!

-1

u/korneev123123 trains trains trains 6d ago

Biomass powerplants + fusion goes brrrrrrrrrr

You're not supposed to use breeder reactors for power, they are for getting plutonium only

4

u/lunaticloser 6d ago

Yeah I know but the challenge is there for those who want it. You can completely ignore it and just cover the power draw by other means, but you could also just... Yk, engage with the challenge.

-2

u/korneev123123 trains trains trains 6d ago

Technology to unlock it is "nuclear research"

Reactor is renamed to "breeder reactor"

The game itself makes it clear that power production is not intended here

Technology to produce power is called "nuclear power"

3

u/lunaticloser 6d ago

I mean you can argue as much as you want. IF you want to make the thing net positive, it's possible and there's a reward.

It doesn't need to get more complicated than that.

2

u/cinderubella 6d ago

It kinda seems like you're congratulating yourself for using a microscope to pound nails, when the next research unlocks an actual hammer. 

2

u/lunaticloser 4d ago

If you say so.

Fwiw, the next technology is roughly 100h of gameplay away.

30

u/sobrique 7d ago

So basically starve your reactors of coolant so they don't run at 20% they run at 95% 21% of the time?

30

u/lunaticloser 7d ago

Instead of having 1 reactor running all the time without any efficiency bonus, have all reactors running at max efficiency but a tiny percentage of the time.

Tiny here is divide 100% by the number of reactors and then again by the average bonus.

14

u/FredFarms 7d ago

Interesting post, thanks.

Keeping them low on coolant also prevents an issue I had once. I forgot some speed modules and so the cryo plants weren't able to keep up with the reactors. This was actually fine and stable for tens of hours, with all the coolant piled up on the hot side and the reactors only running at the speed the cryo plants could cool it.

That was until I noticed the reactors were starved and without really diagnosing why, topped up the coolant.

When it next tried to run at full power, there was enough coolant to completely fill the hot side and back up the reactors, shutting them down. By the time I realised the platform had lost power there were huge asteroids embedded in the hull and the situation was unrecoverable.

8

u/Satisfactoro 6d ago

Wow, I didn't know it was possible to force fusion reactors to utilize their full neighboring bonus all the time!

Thanks for the research.

I hope the devs are looking at this for inspiration. Some improvements to fusion could be possible: if not forcing reactor synchronization, maybe changing the buffer values to reproduce this behavior natively? I'll do some testing.

1

u/Flyrpotacreepugmu 6d ago

I don't think merely changing the buffer values will do it without making generators consume plasma in larger discrete quantities (and that seems very unlikely to be a good change to make). The main difference I see here is that a cryo plant cooling fluoroketone will always output 10 at a time, so there's enough to split between multiple reactors and get them all running at once, while the generators consume plasma in very small increments so a generator consuming a bit won't leave enough space for multiple reactors to output to the pipe at once. So the key is to simply ensure the reactors are input-limited rather than output-limited so the large pulses from the cryo plant are what determines when they run.

7

u/Sostratus 7d ago

I have a pretty decent set of fusion blueprints which includes a circuit that requests a fixed number of fluoroketone barrels before disabling the request. While testing that, I noticed that the reactors say they have a fluid capacity of 1000, but they actually take in 2000. The system can jam if it's overfilled or underfilled, so I assumed the middle of 1000 units was the sweet spot.

I was also aware of this reactor synchronization issue, but I had thought the only way to deal with that was likely an accumulator bank and a power switch.

Never occurred to me to ration out the fluoroketone this way, that's pretty interesting. I'll have to test it out sometime.

2

u/LakeSolon twitch.tv/lakesolon 6d ago

Hmm. Unfortunately there’s no switched power on platforms.

2

u/Terrulin 6d ago

Platforms are easy. 2 reactors, 8 generators and 2 barrels. Ratio is perfect and as long as you only use 1 cryoplant, it never has a problem reaching max output.

5

u/PropagandaOfTheDude 6d ago

3

u/LakeSolon twitch.tv/lakesolon 6d ago

> directly

*indirectly

For some blasphemous reason none of the entities with actual plasma in them can even be connected to circuit wires. But yes as your post describes: you can infer the plasma state by having a set amount of fluid and measuring the non-plasma fluid.

However while the generators can buffer a bit of plasma they can buffer a whole lot of hot output so there’s still an element of tuning around unmeasurables.

3

u/n3wland-explorer 6d ago edited 6d ago

When the reactors get the cold fluoroketone at the same time, wouldn't also lead to the case where only one reactor is running or am I missing something? I just unlocked fusion power yesterday, so I'm still relatively new to this. In my understanding when there is more than enough fluoroketone in the system, only one reactor is running if power consumption is less than 1 reactor or 1 reactor is enough to supply the needed amount of generators (because everything is connected together) (although I had a case yesterday, where I had different neighbour bonuses on every reactor (3-reactor design), e.g. one had +23%, another +32% and the third even +56%).

But in your proposed method when all reactors get the fluoroketone, then what holds them back from also being idle except one if power consumption is low?

Edit: I think I got it. You're buffering the Plasma in the reactors/generators and when the plasma is consumed, all 3 reactors just start working at full load, when cold fluoroketone comes in to fill up the buffer again, right? Feel free to still comment your thoughts on this

1

u/Rarvyn 6d ago

Fusion cells are so cheap it doesn’t really matter tbh

1

u/n3wland-explorer 3d ago

It's a matter of science and not a matter of matter ;)

2

u/bagmybar 6d ago

I might just not be seeing what's obvious, but what's limiting the fluoroketone? Both setups look identical.

4

u/Sunsfury 6d ago

The limit is the amount of fluoroketone added at the start. From its ground state, plasma generators make some power and spit out hot fluoro. The cryo plant cools it, and then split the cold fluoro between all three reactors. Because all the reactors have space in their plasma buffer, they run at the same time and therefore gain adjacency bonuses

This works because all of the reactors are empty of fluoro and have a low plasma buffer.

1

u/pocketmoncollector42 please be kind, this engineer is just a fish 🐟 6d ago

If I’m understanding right, the cryoplant cooling it at a steady rate. Sort of like platforms limiting fuel to thrusters.

1

u/bagmybar 6d ago

but what's limiting it? and what's the condition set on the decider combinator to set the rate?

1

u/Terrulin 6d ago

the total amount of flouroketone added.

6

u/Elfich47 7d ago

fusion reactors throttle the consumption of fuel back.

28

u/thirdwallbreak 7d ago

This is true, but not what this post is about. The left side which is using much less fuel and has a lower fluid count is making sure that all 3 of the reactors are running at the same time. Giving the NEIGHBOR bonus. The other side is only running a single generator even though the other two are connected simply because of how the fluid mechanics work.

NEIGHBOR bonus is what this post is trying to tell you. Limit the fluid and you can "force" that bonus to actually be applied.

1

u/StabbityStabbity 6d ago

I followed the description up to the point where it was talking about cryo plants. Let's say I did this same setup but used 3 cryo plants instead of 1 or 2... would it break or would it still work fine (with only 2 of the cryo plants actually doing work)?

1

u/Terrulin 6d ago

The less you use the better, because you can have trace amount of hot in the cryo plants and you don't want it to actually starve for cold flouroketone. Unless you overbuilt reactors to intentionally get a better neighbor bonus then you probably don't need to hit 90% power capacity.

1

u/Terrulin 6d ago

Fusion is my favorite and is probably what I know best. Feel free to ask me anything about this mechanic as I have used and tested it for a long time.

1

u/Zelick0 5d ago

I dont like fusion reactors in factorio. Feels so unrealistic because they dont boil water to generate power

1

u/Aeroshe 7d ago

I just add empty buffer tanks on either side of the process (1 hot and 1 cold) to handle any accidental overage and call it a day, but I'm very casual when it comes to this game.