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.
SoShootMe
Filter Inserter
Filter Inserter
Posts: 517
Joined: Mon Aug 03, 2020 4:16 pm
Contact:

Re: All the different ways to automate a nuclear power plant

Post by SoShootMe »

foamy wrote: Sat Oct 02, 2021 9:59 am I'm not sure how you'd do a combinator-free regulated insertion? I'd be interested in seeing the logic. Combinator-free steam control for a limited-capacity reactor is simple, but without some form of memory I don't see how you don't wind up inserting multiple cells.
You can guarantee lossless, no brownout and never inserting more than one cell by wiring together:
  • Steam tank(s).
  • Either one or all used cell inserters, set to read hand contents and enable if steam < n (with 'n' a design-dependent constant sufficient to not run out of steam).
  • All fresh cell inserters, set to stack size 1 and enable if used fuel cell > 0.
This is the simplest combinator free method I know of with the properties given, but you need to manually insert a (used or fresh) cell into a reactor to get it going and it will get messed up one way or another if there are cell supply issues.

mrvn beat me to it... this is basically the same except the inserter chain neatly resolves the issues mentioned.
mrvn
Smart Inserter
Smart Inserter
Posts: 5969
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: All the different ways to automate a nuclear power plant

Post by mrvn »

SoShootMe wrote: Sat Oct 02, 2021 11:22 am
foamy wrote: Sat Oct 02, 2021 9:59 am I'm not sure how you'd do a combinator-free regulated insertion? I'd be interested in seeing the logic. Combinator-free steam control for a limited-capacity reactor is simple, but without some form of memory I don't see how you don't wind up inserting multiple cells.
You can guarantee lossless, no brownout and never inserting more than one cell by wiring together:
  • Steam tank(s).
  • Either one or all used cell inserters, set to read hand contents and enable if steam < n (with 'n' a design-dependent constant sufficient to not run out of steam).
  • All fresh cell inserters, set to stack size 1 and enable if used fuel cell > 0.
This is the simplest combinator free method I know of with the properties given, but you need to manually insert a (used or fresh) cell into a reactor to get it going and it will get messed up one way or another if there are cell supply issues.

mrvn beat me to it... this is basically the same except the inserter chain neatly resolves the issues mentioned.
Yeah. I had this simpler setup at first too. But if you ever run into a fuel shortage you easily end up removing the spend fuel cell without inserting a fresh one. And then the reactor never refuels again. Totally forgot to mention that is my previous argument why you need to check for available fuel. I guess if you wire up all inserters that remove fuel as trigger that prevents that problem, allowing for partially fueled operations. Unless you run completely out of fuel, then the reactor still stops.
User avatar
Impatient
Filter Inserter
Filter Inserter
Posts: 883
Joined: Sun Mar 20, 2016 2:51 am
Contact:

Re: All the different ways to automate a nuclear power plant

Post by Impatient »

mrvn wrote: Sat Oct 02, 2021 11:15 am
  • wire Master B to all buffer chests, set to enable when fuel cells >= reactor count, read hand content
You are reading the sum of the contents of all chests then. How are you going to ensure, that each chest has at least one and not eg one has an ammount of (fuel_cells >= reactor_count) and the others are empty?
SoShootMe
Filter Inserter
Filter Inserter
Posts: 517
Joined: Mon Aug 03, 2020 4:16 pm
Contact:

Re: All the different ways to automate a nuclear power plant

Post by SoShootMe »

Impatient wrote: Sat Oct 02, 2021 1:57 pm
mrvn wrote: Sat Oct 02, 2021 11:15 am
  • wire Master B to all buffer chests, set to enable when fuel cells >= reactor count, read hand content
You are reading the sum of the contents of all chests then. How are you going to ensure, that each chest has at least one and not eg one has an ammount of (fuel_cells >= reactor_count) and the others are empty?
The simplest way is to make sure each chest has either zero or one: wire an inserter picking up from the cell supply (using the other colour wire), set to stack size 1 and enable if cells = 0.
gGeorg
Filter Inserter
Filter Inserter
Posts: 436
Joined: Wed Jun 19, 2019 8:06 pm
Contact:

Re: All the different ways to automate a nuclear power plant

Post by gGeorg »

mrvn wrote: Sat Oct 02, 2021 11:00 am A) at start up when fuel cells might just not have reached every reactor
B) when short of fuel

Running only part of the reactors is hugely wasteful as you loose neighbor bonuses and this thread is about efficiency. Doing that at startup just delays the time till the reactor is ready to produce power. And when being short of fuel it increases the slope of the death spiral. It might prevent a larger power shortage by running with partial reactors but at the cost of more fuel making the shortage worse.

While you might say that situation is broken anyway and you should never let it get the fact is shit happens. The biggest reason to check for fuel in the reactor is to connect an alarm to it so you notice. And if you check anyway you might as well use it in the control logic too. Only costs an extra wire then.
It looks like you overvalue the neighbor bonus. And suppress reliability.
A) at the start up when fuel cells not reached every reactor
With my circuit logic as mentioned before "when any number of reactors is ready to start cycle, then do it in case steam is needed." means,
- when first reactor get a cell, it is inserted immediately. Plant starts give (some) power ASAP. Then, it is 200s for deliver more cell before the next cycle starts. e.g. inserting as much cells as is available at the moment. in the ideal situation all.

B) when short of fuel
well, it is quite funny you mentioned this edge case. Because my logic would bring the best performance. Simply because, in case of 2 fuell cells for 4 core plant, My logic gives (some) power. However, your logic waits for 2 more e.g. gives nothing.
In case of fuel shortage you realy dont care abou the ideal efficency, you need power now.

I dont think you want a system which FORCEs fuell efficiency by neigbour bonus over everything. I rather have a system which use nebour bonus 100% efficient in case all work normaly, but in case of issues (irregularities) it can auto-adapt.
foamy
Filter Inserter
Filter Inserter
Posts: 432
Joined: Mon Aug 26, 2019 4:14 am
Contact:

Re: All the different ways to automate a nuclear power plant

Post by foamy »

mrvn wrote: Sat Oct 02, 2021 11:15 am
foamy wrote: Sat Oct 02, 2021 9:59 am
Khagan wrote: Sat Oct 02, 2021 9:19 am Make that five more than you need for synchronous insertion with steam monitoring.
I'm not sure how you'd do a combinator-free regulated insertion? I'd be interested in seeing the logic. Combinator-free steam control for a limited-capacity reactor is simple, but without some form of memory I don't see how you don't wind up inserting multiple cells.

EDIT: I suppose synchronicity is assured by simply having a sufficient fuel supply and buffer, which technically requires no circuits at all on the reactor end of things, so I was sloppy in my wording earlier. I meant in terms of ensuring all reactors get precisely one cell in the context of a regulated reactor that's designed to be low-loss or lossless via storing the energy in a buffer of some from.
You need a few steps in the control logic:
  1. every reactor needs a buffer chest with an inserter wired to insert exactly one fuel cell
  2. designate one reactor the master, use a chain of 2 inserters (Master A and Master B) to remove the spend fuel cell there
  3. wire Master A to the steam tanks and remove a spend fuel cell when steam is low
  4. wire Master B to all buffer chests, set to enable when fuel cells >= reactor count, read hand content
  5. wire all inserters that insert fuel to Master B and enable when spend fuel > 0
The spend fuel cell acts as a timer preventing the insertion of multiple fuel cells. The Master A/B inserters replace a combinator, setting the condition for fueling to "steam is low" and "fuel is available".

For me the problem is this control circuit is that it requires to program in the number of reactors in the setup. For a tileable reactor design that is annoying. I use extra combinators in my design to negate the signal from the fuel chests so I have a "fuel is missing" signal that is independent of the number of reactors. But you don't need any combinators if you really don't want to.
Oh, right, I forgot about that option. I hate it because it requires manual boot. A guy on a MP server built a blueprint that used that logic and we kept crashing the damn thing until I tore it all out and rebuilt it to autostart. I think the same logic can be very easily converted into self-restarting capable with the addition of precisely 1 combinator and one constant combinator (less than I had thought even yesterday -- locking the output inserter was something that hadn't occurred to me).

If you insert an arithmetic combinator, wired as a memory cell and subtracting used cells from fresh cells, outputting as fresh, you can then wire the two master inserters together. A constant combinator provides reactor count and a negative bias for the steam tanks.

Set the input inserter to all signals <= 0, read hand contents (pulse). The input inserters are wired to the looping input of the memory cells and to the constant combinator, which is also wired in to your steam tanks. The output inserter is hooked to the single-input of the memory cell (but not the output) and, on a different wire, the constant combinator and the buffer chests as above, with the addition of a read-hand-contents-pulse, and set to enable if the fresh fuel cell count is equal to the reactor count. The two connections to the constant combinator need to be on different wires to avoid having the memory cell cross-talk with the buffer chests.

The upshot of all this is that the memory cell (which only acts as a memory cell for used and fresh cell signals) uses the reactor as a clock, but it will start in the 'I need fuel state'. Thus it recovers from a fuel shortage (or initial construction) without player intervention. The negative-bias steam signal acts to restrict when the input inserters can swing, as per standard. And by restricting the output inserter to swing only when the fuel cell count is correct, you ensure synchronicity.

Every other reactor's inserters can have the same conditional trigger as the master reactor's inserters; they just need to be read-only to avoid contaminating the memory cell. The same constant combinator can be used to provide both reactor count and the negative bias, as long as you wire it in a different colour to the input and output inserters.

Hm. I know the arithmetic combinator works, but some of the other simplifications here are new compared to my most recent implementation! Time to test it ingame. :)
Last edited by foamy on Sat Oct 02, 2021 9:26 pm, edited 1 time in total.
User avatar
Impatient
Filter Inserter
Filter Inserter
Posts: 883
Joined: Sun Mar 20, 2016 2:51 am
Contact:

Re: All the different ways to automate a nuclear power plant

Post by Impatient »

SoShootMe wrote: Sat Oct 02, 2021 2:22 pm
Impatient wrote: Sat Oct 02, 2021 1:57 pm
mrvn wrote: Sat Oct 02, 2021 11:15 am
  • wire Master B to all buffer chests, set to enable when fuel cells >= reactor count, read hand content
You are reading the sum of the contents of all chests then. How are you going to ensure, that each chest has at least one and not eg one has an ammount of (fuel_cells >= reactor_count) and the others are empty?
The simplest way is to make sure each chest has either zero or one: wire an inserter picking up from the cell supply (using the other colour wire), set to stack size 1 and enable if cells = 0.
What is the "cell supply"? Do you want an additional chest and inserter per reactor?

I am talking about the scenario where fuel is scarse and not all requests of the chests can be fullfilled, taking into account, that a logibot will pick up up to 4 fuel cells, when delivering something. Your suggestion does not solve that problem. The only real solution to that is to have a 3rd inserter per reactor, which takes out of the buffer/requester as long as the condition (fuel_cells >1) is true and puts it into the active provider for the spent ones.
mrvn
Smart Inserter
Smart Inserter
Posts: 5969
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: All the different ways to automate a nuclear power plant

Post by mrvn »

gGeorg wrote: Sat Oct 02, 2021 3:10 pm
mrvn wrote: Sat Oct 02, 2021 11:00 am A) at start up when fuel cells might just not have reached every reactor
B) when short of fuel

Running only part of the reactors is hugely wasteful as you loose neighbor bonuses and this thread is about efficiency. Doing that at startup just delays the time till the reactor is ready to produce power. And when being short of fuel it increases the slope of the death spiral. It might prevent a larger power shortage by running with partial reactors but at the cost of more fuel making the shortage worse.

While you might say that situation is broken anyway and you should never let it get the fact is shit happens. The biggest reason to check for fuel in the reactor is to connect an alarm to it so you notice. And if you check anyway you might as well use it in the control logic too. Only costs an extra wire then.
It looks like you overvalue the neighbor bonus. And suppress reliability.
A) at the start up when fuel cells not reached every reactor
With my circuit logic as mentioned before "when any number of reactors is ready to start cycle, then do it in case steam is needed." means,
- when first reactor get a cell, it is inserted immediately. Plant starts give (some) power ASAP. Then, it is 200s for deliver more cell before the next cycle starts. e.g. inserting as much cells as is available at the moment. in the ideal situation all.

B) when short of fuel
well, it is quite funny you mentioned this edge case. Because my logic would bring the best performance. Simply because, in case of 2 fuell cells for 4 core plant, My logic gives (some) power. However, your logic waits for 2 more e.g. gives nothing.
In case of fuel shortage you realy dont care abou the ideal efficency, you need power now.

I dont think you want a system which FORCEs fuell efficiency by neigbour bonus over everything. I rather have a system which use nebour bonus 100% efficient in case all work normaly, but in case of issues (irregularities) it can auto-adapt.
Say you have 4 reactors in a 2x2 setup. That produces 480 MW of power at 4 fuel cells every 200s. And now assume you are just using 120MW of power or 4 fuel cells every 800s but you had a brownout because fuel run low.

In your case you insert a fuel cell into the first reactor as it comes in. That gives you 40MW for 200s. Barely a third of what you need so you are not getting any steam stored and need to insert the next fuel cell right away. So you are now burning 4 fuel cell in 800s for 40MW of power, a third of what you need at the same cost. I find that a significant problem.

But lets assume you are producing a bit more fuel than one fuel cell every 200s required for your power. Always overproduce, right. So the second reactor gets some fuel too. Now you have 160MW power for 2 fuel cells for 200s or 120MW for 266s. For 800s with 120MW of power you need 6 fuel cells. 50% more fuel consumption than what you would need if you were checking fuel availability. And that is assuming you power two reactors next to each other and not diagonal. Diagonal you burn up 8 fuel cells in 800s for 80MW of power. 2/3 the required amount for 200% fuel cost.

And you're stuck in this high fuel consumption mode. Unless you produce way more fuel cells than needed the reactor will not get over the hump of lost neighbor bonuses and never fuels all reactors again. You have your 120MW of power and might never notice but you are wasting fuel all the time. But if you would just wait a bit fueling the reactors you would be back to full efficiency.

That's the hill you have to overcome. To power the first reactor you need >100% fuel at 1/3 power, or >300% fuel production capacity. To get past powering the second reactor you need either >150% (at full power) or >300% (200% fuel output at 2/3 power needs 300% production capacity) fuel production . But you already have 300% capacity to get past the first reactor. So that difference doesn't really matter. Waiting for all reactors to have fuel avoids that hill.

And yes, my system of waiting for all reactors to have fuel can mean the reactor produces nothing for a while. But when it produces you get up to 4 times the power back. I assume you have some other power sources or a second reactor or something so fuel production continues while the reactor is down. How much alternative energy you have decides how long the reactor stays down. The aim of fuel checking isn't to have the reactor run every time it has fuel for all and blackouts in between. The goal is to get it back running efficient so an adequate fuel supply will keep the reactor on all the time.

Note: if you do have some alternative power your case needs less fuel production capacity. The numbers above are for no alternatives, which wouldn't even work starting with a total blackout. But even if you can fully power the base with other means you still need 150-200% capacity to get the reactor back running fully.
SoShootMe
Filter Inserter
Filter Inserter
Posts: 517
Joined: Mon Aug 03, 2020 4:16 pm
Contact:

Re: All the different ways to automate a nuclear power plant

Post by SoShootMe »

Impatient wrote: Sat Oct 02, 2021 5:55 pm
SoShootMe wrote: Sat Oct 02, 2021 2:22 pm
Impatient wrote: Sat Oct 02, 2021 1:57 pm You are reading the sum of the contents of all chests then. How are you going to ensure, that each chest has at least one and not eg one has an ammount of (fuel_cells >= reactor_count) and the others are empty?
The simplest way is to make sure each chest has either zero or one: wire an inserter picking up from the cell supply (using the other colour wire), set to stack size 1 and enable if cells = 0.
What is the "cell supply"? Do you want an additional chest and inserter per reactor?
An additional inserter and possibly chest. By "cell supply" I meant either a requester (or buffer) chest or belt. The counted chest - with either zero or one cell - wouldn't be a logistic chest.
Impatient wrote: Sat Oct 02, 2021 5:55 pm I am talking about the scenario where fuel is scarse and not all requests of the chests can be fullfilled, taking into account, that a logibot will pick up up to 4 fuel cells, when delivering something. Your suggestion does not solve that problem.
A buffer of up to five cells per reactor - up to four in the requester chest (set to request one) plus one in the counted chest is fairly minimal. If you get that low, the chances are you're going to run out soon after anyway, so I would say it's not a problem that's worth solving.
Impatient wrote: Sat Oct 02, 2021 5:55 pm The only real solution to that is to have a 3rd inserter per reactor, which takes out of the buffer/requester as long as the condition (fuel_cells >1) is true and puts it into the active provider for the spent ones.
If you count the contents of the requester/buffer chests, you cannot (due to worker robot cargo size bonus) ensure they have zero or one cell at all times and Murphy's Law will strike. But as a fourth inserter (on top of what I suggested) - using a long handed inserter to put used cells in the provider chest so the logistic chests are lined up - it reduces the buffer to up to two cells per reactor. Though this does not seem worthwhile to me, as above.
foamy
Filter Inserter
Filter Inserter
Posts: 432
Joined: Mon Aug 26, 2019 4:14 am
Contact:

Re: All the different ways to automate a nuclear power plant

Post by foamy »

Impatient wrote: Sat Oct 02, 2021 5:55 pm
SoShootMe wrote: Sat Oct 02, 2021 2:22 pm
Impatient wrote: Sat Oct 02, 2021 1:57 pm
mrvn wrote: Sat Oct 02, 2021 11:15 am
  • wire Master B to all buffer chests, set to enable when fuel cells >= reactor count, read hand content
You are reading the sum of the contents of all chests then. How are you going to ensure, that each chest has at least one and not eg one has an ammount of (fuel_cells >= reactor_count) and the others are empty?
The simplest way is to make sure each chest has either zero or one: wire an inserter picking up from the cell supply (using the other colour wire), set to stack size 1 and enable if cells = 0.
What is the "cell supply"? Do you want an additional chest and inserter per reactor?

I am talking about the scenario where fuel is scarse and not all requests of the chests can be fullfilled, taking into account, that a logibot will pick up up to 4 fuel cells, when delivering something. Your suggestion does not solve that problem. The only real solution to that is to have a 3rd inserter per reactor, which takes out of the buffer/requester as long as the condition (fuel_cells >1) is true and puts it into the active provider for the spent ones.
If you're insisting on using bots, stack limit the chest and change the comparator to 50x the reactor count. It's an awful lot of dead buffer, but it's the minimal footprint option. Alternatively, you could use two chests; one is a requestor and the other is a holding box that will only ever have one added at a time.

Personally I prefer supplying with belts over bots, so you can either feed a holding box from belt, as above, or you can in fact just split off dead ends to measure the fuel cell count on those. There's not much to choose from between them, footprint-wise. The dead-ended belt option allows you to pull from yellow belt and helps proof against inserter slowdown, but that's honestly a pretty minor consideration.
User avatar
Khagan
Filter Inserter
Filter Inserter
Posts: 266
Joined: Mon Mar 25, 2019 9:40 pm
Contact:

Re: All the different ways to automate a nuclear power plant

Post by Khagan »

foamy wrote: Sat Oct 02, 2021 9:59 am
Khagan wrote: Sat Oct 02, 2021 9:19 am Make that five more than you need for synchronous insertion with steam monitoring.
I'm not sure how you'd do a combinator-free regulated insertion? I'd be interested in seeing the logic. Combinator-free steam control for a limited-capacity reactor is simple, but without some form of memory I don't see how you don't wind up inserting multiple cells.
Here's my standard medium-size (16 core) design:


It basically works as described a couple of posts later in the thread:
SoShootMe wrote: Sat Oct 02, 2021 11:22 am You can guarantee lossless, no brownout and never inserting more than one cell by wiring together:
  • Steam tank(s).
  • Either one or all used cell inserters, set to read hand contents and enable if steam < n (with 'n' a design-dependent constant sufficient to not run out of steam).
  • All fresh cell inserters, set to stack size 1 and enable if used fuel cell > 0.
This is the simplest combinator free method I know of with the properties given, but you need to manually insert a (used or fresh) cell into a reactor to get it going and it will get messed up one way or another if there are cell supply issues.
Yes, one used cell into the control reactor to start up. The only reason there might be 'cell supply issues' is a global shortage of U235, a problem that is not going to be solved by any amount of fancy circuitry in the power station. And even if that did happen, it would keep going (at reduced efficiency and capacity); as long as there is at least one cell waiting on the belt, that cell is sitting under the inserter for the control reactor, so a manual restart would only be required if the supply of fuel ran completely dry.
foamy wrote: Sat Oct 02, 2021 9:59 am EDIT: I suppose synchronicity is assured by simply having a sufficient fuel supply and buffer, which technically requires no circuits at all on the reactor end of things, so I was sloppy in my wording earlier. I meant in terms of ensuring all reactors get precisely one cell in the context of a regulated reactor that's designed to be low-loss or lossless via storing the energy in a buffer of some from.
I don't really understand what you are saying here. The visible energy buffer is the steam tanks, though as discussed further back up the thread, that is just the tip of the iceberg; most of the useful energy buffer is actually in the heat pipes (and the reactors themselves).
foamy
Filter Inserter
Filter Inserter
Posts: 432
Joined: Mon Aug 26, 2019 4:14 am
Contact:

Re: All the different ways to automate a nuclear power plant

Post by foamy »

Khagan wrote: Sat Oct 02, 2021 9:47 pm
foamy wrote: Sat Oct 02, 2021 9:59 am EDIT: I suppose synchronicity is assured by simply having a sufficient fuel supply and buffer, which technically requires no circuits at all on the reactor end of things, so I was sloppy in my wording earlier. I meant in terms of ensuring all reactors get precisely one cell in the context of a regulated reactor that's designed to be low-loss or lossless via storing the energy in a buffer of some from.
I don't really understand what you are saying here. The visible energy buffer is the steam tanks, though as discussed further back up the thread, that is just the tip of the iceberg; most of the useful energy buffer is actually in the heat pipes (and the reactors themselves).
Some misunderstandings/misphrasings on my part. Other people's posts've explained the system. Apologies.

EDIT: So, some poking:

Autostart needs an arithmetic combinator. Policing that for guaranteed fuel cells requires a second arithmetic combinator to a. invert the signal and b. avoid signal collision with the autostart clock, and a constant combinator to provide the bias (ie. the number of reactors). Steam check can be done on the same circuit with the same constant combinator, for a total of five tiles needed.

Sketched out reactor:
Image

Print:
farcast
Long Handed Inserter
Long Handed Inserter
Posts: 87
Joined: Fri Jul 06, 2018 8:25 am
Contact:

Re: All the different ways to automate a nuclear power plant

Post by farcast »

mrvn wrote: Sat Oct 02, 2021 7:26 pm Say you have 4 reactors in a 2x2 setup. That produces 480 MW of power at 4 fuel cells every 200s. And now assume you are just using 120MW of power or 4 fuel cells every 800s but you had a brownout because fuel run low.

...

Note: if you do have some alternative power your case needs less fuel production capacity. The numbers above are for no alternatives, which wouldn't even work starting with a total blackout. But even if you can fully power the base with other means you still need 150-200% capacity to get the reactor back running fully.
150-200% fuel production capacity for 120MW. Presumably you have enough fuel production to run the reactor at 100% power production, otherwise you already have a problem that circuits can't fix. If you can get fuel production back up and running at 100% one way or another, then no reactor inefficiencies will stop your reactor from returning to max efficiency.
Efficient inefficient design.
foamy
Filter Inserter
Filter Inserter
Posts: 432
Joined: Mon Aug 26, 2019 4:14 am
Contact:

Re: All the different ways to automate a nuclear power plant

Post by foamy »

farcast wrote: Sat Oct 02, 2021 11:25 pm
mrvn wrote: Sat Oct 02, 2021 7:26 pm Say you have 4 reactors in a 2x2 setup. That produces 480 MW of power at 4 fuel cells every 200s. And now assume you are just using 120MW of power or 4 fuel cells every 800s but you had a brownout because fuel run low.

...

Note: if you do have some alternative power your case needs less fuel production capacity. The numbers above are for no alternatives, which wouldn't even work starting with a total blackout. But even if you can fully power the base with other means you still need 150-200% capacity to get the reactor back running fully.
150-200% fuel production capacity for 120MW. Presumably you have enough fuel production to run the reactor at 100% power production, otherwise you already have a problem that circuits can't fix. If you can get fuel production back up and running at 100% one way or another, then no reactor inefficiencies will stop your reactor from returning to max efficiency.
Not necessarily. Suppose for whatever reason you can only supply half of what a 480MW reactor would need at full draw, but you've got a regulated design. As long as your average power draw stays at or under 240MW, you'll be fine -- if you're utilizing the full neighbour bonus.

But suppose you get in a situation where your power draw is just a little too high for just a little too long, and one of the four reactors is starved for fuel. All of a sudden the rest of the array goes to 280MW -- but now it needs more fuel to sustain that (2.5 cells/200s v. 2 cells/200s). And that means you lose a second reactor.

Now your array is down to, best case, 160MW (worst case, 80MW). You've got a deep brownout situation occurring. And you're still consuming cells at 2/200s, so you're paying almost the full cost of operating the reactor to do so... which means it won't recover.

Whereas if you maintain synch, what happens is that, if you're drawing just barely more than you can supply, you have short intervals -- precisely the difference between supply and demand -- where the reactors are not generating heat. But this isn't a blackout -- a reactor system, in it's heat pipes and steam, has a substantial amount of energy buffer. The average power production will not change, it will simply slightly brown out from time to time once the buffers go to their minimum. You'll still have that consistent 240MW and avoid the deep brownout issue, and by maintaining the neighbour bonuses you will recover naturally once you either reduce your draw or improve your cell supply.

So yes, circuits can fix, or at least mitigate, supply issues, by virtue of keeping your stuff working at maximum efficiency.
Last edited by foamy on Sun Oct 03, 2021 4:53 am, edited 1 time in total.
mrvn
Smart Inserter
Smart Inserter
Posts: 5969
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 »

And while a single centrifuge running covarex can power something like 13 reactors full time don't forget the time before covarex. If you want to use nuclear power before covarex then processing enough uranium ore to get fuel cells takes a lot of throughput and any extra uranium you can produce and save is one more to prime covarex later.

Fuel for the reactor can be a real issue.
farcast
Long Handed Inserter
Long Handed Inserter
Posts: 87
Joined: Fri Jul 06, 2018 8:25 am
Contact:

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

Post by farcast »

I suppose it depends on how often you either can't or won't build build enough fuel cell production for your reactors to decide if waiting for fuel is worth the added complexity. In my experience, never, so that's why I'm against it. Others might have a different experience.
Efficient inefficient design.
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 »

farcast wrote: Sun Oct 03, 2021 4:56 am I suppose it depends on how often you either can't or won't build build enough fuel cell production for your reactors to decide if waiting for fuel is worth the added complexity. In my experience, never, so that's why I'm against it. Others might have a different experience.
It's more usually something like misplacing power poles. Happens especially on MP servers when someone cuts a power line without realizing it was the only power line. Or locks up the train network, or whatever.
Last edited by foamy on Sun Oct 03, 2021 5:05 pm, edited 1 time in total.
gGeorg
Filter Inserter
Filter Inserter
Posts: 436
Joined: Wed Jun 19, 2019 8:06 pm
Contact:

Re: All the different ways to automate a nuclear power plant

Post by gGeorg »

mrvn wrote: Sat Oct 02, 2021 7:26 pm Say you have 4 reactors in a 2x2 setup. That produces 480 MW of power at 4 fuel cells every 200s. And now assume you are just using 120MW of power or 4 fuel cells every 800s but you had a brownout because fuel run low.

In your case you insert a fuel cell into the first reactor as it comes in. That gives you 40MW for 200s. Barely a third of what you need so you are not getting any steam stored
Yes. When I get first cell, logic says put it in, now.
mrvn wrote: Sat Oct 02, 2021 7:26 pm and need to insert the next fuel cell right away. So you are now burning 4 fuel cell in 800s for 40MW of power, a third of what you need at the same cost. I find that a significant problem.
You catch yourself in a strange assumption. Your ideas has not sense. There is not such situation. Power plant is constructed as lossless. There is no waste. Check my The perfect cloverleaf plant.
mrvn wrote: Sat Oct 02, 2021 7:26 pm But lets assume you are producing a bit more fuel than one fuel cell every 200s required for your power. Always overproduce, right. So the second reactor gets some fuel too. Now you have 160MW power for 2 fuel cells for 200s or 120MW for 266s. For 800s with 120MW of power you need 6 fuel cells. 50% more fuel consumption than what you would need if you were checking fuel availability. And that is assuming you power two reactors next to each other and not diagonal. Diagonal you burn up 8 fuel cells in 800s for 80MW of power. 2/3 the required amount for 200% fuel cost.

And you're stuck in this high fuel consumption mode. Unless you produce way more fuel cells than needed the reactor will not get over the hump of lost neighbor bonuses and never fuels all reactors again. You have your 120MW of power and might never notice but you are wasting fuel all the time. But if you would just wait a bit fueling the reactors you would be back to full efficiency.

That's the hill you have to overcome. To power the first reactor you need >100% fuel at 1/3 power, or >300% fuel production capacity. To get past powering the second reactor you need either >150% (at full power) or >300% (200% fuel output at 2/3 power needs 300% production capacity) fuel production . But you already have 300% capacity to get past the first reactor. So that difference doesn't really matter. Waiting for all reactors to have fuel avoids that hill.
You are right, in this particular highly theoretical case, your assumptions are correct. In case of a mod where Uranium is super rare and you cant get enough, you would be super keen to use neogbour bonus ALWAYS. However, in this case you should not invest too much into a large Nuclear and you need solid main power source. So you can use Nuclear as an oil saving solution. And probably such mod will ban the solar too. BTW: the case of diagonal cores is pure mind exercise. Lets assume solid plant where cells are delivered by belt to 4 cores. Then in case of 2 cells you always get one neighbour bonus.
mrvn wrote: Sat Oct 02, 2021 7:26 pm And yes, my system of waiting for all reactors to have fuel can mean the reactor produces nothing for a while. But when it produces you get up to 4 times the power back. I assume you have some other power sources or a second reactor or something so fuel production continues while the reactor is down. How much alternative energy you have decides how long the reactor stays down. The aim of fuel checking isn't to have the reactor run every time it has fuel for all and blackouts in between. The goal is to get it back running efficient so an adequate fuel supply will keep the reactor on all the time.
Well, it means your backup (asume solid fuel and burners) has the same output as your Nuclear plant, (that is pretty costly solution in materials and UPS also) Also the Uranium should have the same value as tons of oil you need to consume to produce solid fuel, include production line for all this. As you see, such scenario can happen in a heavily modded world.
mrvn wrote: Sat Oct 02, 2021 7:26 pm Note: if you do have some alternative power your case needs less fuel production capacity. The numbers above are for no alternatives, which wouldn't even work starting with a total blackout. But even if you can fully power the base with other means you still need 150-200% capacity to get the reactor back running fully.
No way, it is nonsense. One cell production machine can produce cell for 60 cores (or so) and consumes few kw. Your assmption is not valid.
Last edited by gGeorg on Sun Oct 03, 2021 3:53 pm, edited 3 times in total.
gGeorg
Filter Inserter
Filter Inserter
Posts: 436
Joined: Wed Jun 19, 2019 8:06 pm
Contact:

Re: All the different ways to automate a nuclear power plant

Post by gGeorg »

Khagan wrote: Sat Oct 02, 2021 9:47 pm Yes, one used cell into the control reactor to start up. The only reason there might be 'cell supply issues' is a global shortage of U235, a problem that is not going to be solved by any amount of fancy circuitry in the power station. And even if that did happen, it would keep going (at reduced efficiency and capacity); as long as there is at least one cell waiting on the belt, that cell is sitting under the inserter for the control reactor, so a manual restart would only be required if the supply of fuel ran completely dry.
You can start up by manualy inserting fresh cell, it is more accessible than used one. Then wait to burn it out so cycle start. Or you might use Constant combinator ON-Off to generate the signal. It depend if you count a constant combinator as combinator. On top, it will be activated only once for a second, otherwise it will be off.
Well, even with complete dry out fuell there is a logic (yes with combinators) wich can start it up again, use simple memory cell.
Check my The perfect clover leafe plant, 5 combinators do it all.
In case you insist in combinator-less solution, you can make a belt-based memory cell. :-)
mrvn
Smart Inserter
Smart Inserter
Posts: 5969
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: All the different ways to automate a nuclear power plant

Post by mrvn »

gGeorg wrote: Sun Oct 03, 2021 2:00 pm
mrvn wrote: Sat Oct 02, 2021 7:26 pm Say you have 4 reactors in a 2x2 setup. That produces 480 MW of power at 4 fuel cells every 200s. And now assume you are just using 120MW of power or 4 fuel cells every 800s but you had a brownout because fuel run low.

In your case you insert a fuel cell into the first reactor as it comes in. That gives you 40MW for 200s. Barely a third of what you need so you are not getting any steam stored
Yes. When I get first cell, logic says put it in, now.
mrvn wrote: Sat Oct 02, 2021 7:26 pm and need to insert the next fuel cell right away. So you are now burning 4 fuel cell in 800s for 40MW of power, a third of what you need at the same cost. I find that a significant problem.
You catch yourself in a strange assumption. Your ideas has not sense. There is not such situation. Power plant is constructed as lossless. There is no waste. Check my The perfect cloverleaf plant.
What assumption do you find strange? The only assumption there is that fuel production is low, without which the whole discussion is pointless.

And it's not an idea. It's a situation people have run into. As such it very much does exist.

Power plant is lossless? Hardly. It has inserters. Each one is a 60k loss while it runs. And some drain even when it's idle. You get less electricity out of it than fuel you put in. I would call that loss.

And waste? Sure you can have waste. Like when you just fuel the reactor all the time even when you don't need to. Or when you don't use the neihgbor bonus. That's what one calls waste. Or inefficiency. The whole thread here is about reducing the waste.
gGeorg wrote: Sun Oct 03, 2021 2:00 pm
mrvn wrote: Sat Oct 02, 2021 7:26 pm But lets assume you are producing a bit more fuel than one fuel cell every 200s required for your power. Always overproduce, right. So the second reactor gets some fuel too. Now you have 160MW power for 2 fuel cells for 200s or 120MW for 266s. For 800s with 120MW of power you need 6 fuel cells. 50% more fuel consumption than what you would need if you were checking fuel availability. And that is assuming you power two reactors next to each other and not diagonal. Diagonal you burn up 8 fuel cells in 800s for 80MW of power. 2/3 the required amount for 200% fuel cost.

And you're stuck in this high fuel consumption mode. Unless you produce way more fuel cells than needed the reactor will not get over the hump of lost neighbor bonuses and never fuels all reactors again. You have your 120MW of power and might never notice but you are wasting fuel all the time. But if you would just wait a bit fueling the reactors you would be back to full efficiency.

That's the hill you have to overcome. To power the first reactor you need >100% fuel at 1/3 power, or >300% fuel production capacity. To get past powering the second reactor you need either >150% (at full power) or >300% (200% fuel output at 2/3 power needs 300% production capacity) fuel production . But you already have 300% capacity to get past the first reactor. So that difference doesn't really matter. Waiting for all reactors to have fuel avoids that hill.
You are right, in this particular highly theoretical case, your assumptions are correct. In case of a mod where Uranium is super rare and you cant get enough, you would be super keen to use neogbour bonus ALWAYS. However, in this case you should not invest too much into a large Nuclear and you need solid main power source. So you can use Nuclear as an oil saving solution. And probably such mod will ban the solar too. BTW: the case of diagonal cores is pure mind exercise. Lets assume solid plant where cells are delivered by belt to 4 cores. Then in case of 2 cells you always get one neighbour bonus.
There is no mod needed for this situation. Before covarex fuel production is much more difficult and it is trivial to run out of fuel because you either don't produce enough or run out of storage for the U238 (or the other one, the plentiful one). Or someone start building nukes and doesn't leave enough for the fuel cells. Or you enlarged your reactor past what your centrifuge setup can supply with fuel. I could go on.
gGeorg wrote: Sun Oct 03, 2021 2:00 pm
mrvn wrote: Sat Oct 02, 2021 7:26 pm And yes, my system of waiting for all reactors to have fuel can mean the reactor produces nothing for a while. But when it produces you get up to 4 times the power back. I assume you have some other power sources or a second reactor or something so fuel production continues while the reactor is down. How much alternative energy you have decides how long the reactor stays down. The aim of fuel checking isn't to have the reactor run every time it has fuel for all and blackouts in between. The goal is to get it back running efficient so an adequate fuel supply will keep the reactor on all the time.
Well, it means your backup (asume solid fuel and burners) has the same output as your Nuclear plant, (that is pretty costly solution in materials and UPS also) Also the Uranium should have the same value as tons of oil you need to consume to produce solid fuel, include production line for all this. As you see, such scenario can happen in a heavily modded world.
The backup power doesn't have to have the same output as the nuclear plant. It just has to be some power so some fuel cells will get produced before you die of old age. Just a bunch of solar cells will do.
gGeorg wrote: Sun Oct 03, 2021 2:00 pm
mrvn wrote: Sat Oct 02, 2021 7:26 pm Note: if you do have some alternative power your case needs less fuel production capacity. The numbers above are for no alternatives, which wouldn't even work starting with a total blackout. But even if you can fully power the base with other means you still need 150-200% capacity to get the reactor back running fully.
No way, it is nonsense. One cell production machine can produce cell for 60 cores (or so) and consumes few kw. Your assmption is not valid.
One covarex centrifuge can produce fuel for 13 reactors. Assuming you don't use any of it for nukes or nuclear fuel for trains. I don't know how many centrifuge per reactor you need to process uranium ore before covarex but it's certainly way more than 1 per 60 reactors. And you also need a ton of uranium ore, meaning many miners and a lot of sulfuric acid. The chain of things needed to produce nuclear fuel isn't just the centrifuge and assembler to make the final product.

But lets say you do have covarex researched and setup one centrifuge to run it. And you build a 12 reactors setup. Because 13 > 12, plenty of over production of fuel cells. So you are golden, right?

Wrong. If fuel production is ever interrupted, e.g. the aliens destroyed a power pole at the wrong place, your reactor would need 2 covarex centrifuges to recover. With fuel checking it gets back to full power on it's own.
Post Reply

Return to “Energy Production”