Barotrauma

Barotrauma

219 ratings
DIY Reactor Controllers
5
4
4
2
3
3
2
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
Updated
68.657 KB
23 Nov, 2020 @ 1:10pm
27 Oct, 2021 @ 10:11am
4 Change Notes ( view )

Subscribe to download
DIY Reactor Controllers

Description
Ever wanted to build a reactor controller during campaign? Well, here's how.


When you subscribe to this item and enable it in the settings, you will be able to open "DIY Reactor Controllers" submarine in the submarine editor and closely examine how all of those variants are built and how do they perform.



What are the reactor controllers?
Reactor controllers are circuits that work as much improved automatic control option for the reactors. Unlike the default automatic control they are insanely fast at reacting to load fluctuations which prevents overvoltages from breaking things and causing fires and they run the reactor at critically low temperature which saves some fuel.

Custom controller vs Automatic Control
10 000 load spike didn't even damage the junction box with the controller active:

And for this screenshot I had to disable overvoltage on the junction box, otherwise it would break after 2 seconds:

This kept going and took about 15 seconds for the automatic control to match the load.

How do they work?
They use mathematical equations to set reactor's turbine and fission rate based on reactor's load and available fuel. There are a few different variations of this equations as can be seen it the examples below.

Example variants:
5 component variant
  • the best choice for most needs
  • smallest possible fully autonomous setup


7 component variant
  • has efficiency value stored in separate component, which allows it to be easily modified at any time - can be used to undervolt your submarine in less intense moments and save even more fuel


4 component variant
  • the smallest possible controller
  • requires adjustments when changing quantity or types of fuel rods




How to get the "Max Power" value for my submarine?
The simplest way is to just open it in the submarine editor and read the value from its properties. However if you can't do that, then you can wire memory component with value "10" to set_turbine which will make the reactor output 10% of its max power so you can read that value directly from the reactor panel.

If you bought some reactor upgrades for your submarines, then you can either use the same mem component method to get the new max output, or if you already know the base "max power" of your reactor, you can calculate the new one knowing that each upgrade increases the max power by 2%.

Why is there a limit on one of the components?
That limit is there to prevent meltdowns when the load is significantly higher than the reactor's max output. Example: reactor has 2000 max output, submarine somehow reaches 4000 load, which causes the controller to calculate turbine value of 200 and set the fission rate based on that 200, but since the turbine can't be set higher than 100 now the fission rate is 2x higher than it should be which can result in a reactor meltdown. Limiting the component that calculates turbine output to 100 (maximum value the turbine can be actually set to) prevents that.

Where did that 75 number for fission efficiency come from?
This 75 causes the reactor to run at critically low temperature. Lower fission rate results in slower fuel consumption. 75 simply gives the lowest fission possible, at which the reactor can still reliably work without causing power issues.

For those interested where did those reactor equations come from:
The math behind the reactor controllers[docs.google.com] - source: undertow discord[discord.com]



If you're looking for a controller that is ready to be installed via the submarine editor, take a look at this assembly.

Last updated for v0.12.0.0.
77 Comments
Pieegee 9 Jul @ 11:19am 
the newest update screwed up with the reactors
Nugut 12 Mar @ 12:18am 
Im having issues getting the 5 component to work idk where you'd input the max_power and anything i tried both has the reactor run really cold and really unresponsive
Timmik 6 Jan @ 11:57am 
easy adjust for current baro

replace memory component for fission efficiency (the one set to 75) with RegEx.

set continues output
true - 75
false - some lower number, using 50 by myself for now, maybe can be set better

connect reactor temperatures as input, output same as mem component it replaces
set regex ^[1-4]?.?.?.$
it will lower fission when reactors goes above 4999 temperature.

It may require some retune for best efficiency and still not trying to add 3 rods at once, but it mitigates overtemperature scenarios really well
CLove511 15 Aug, 2023 @ 3:36pm 
5-comp controller works wonderfully, just make sure you actually have your wires going to the correct spots and "Automatic Control" off. Thought it was broken, turns out I had one connection backward.
Wolviller111 20 Mar, 2023 @ 3:03pm 
@Shynd I really don't get how you are supposed to make it work in the new version. Can someone explain in more detail?
Lumberjack 19 Mar, 2023 @ 8:44pm 
The 5 component reactor seems to work well if you leave out the "Fuel Out" connection from the lower divide component. I am able to drop fuel rods in at will without issue and the reactor runs efficiently.
Shynd 22 Feb, 2023 @ 10:16pm 
I made this work for 1.0 Pre-patch by adding three components: 1x Memory Component, 1x Greater Component, and one Multiply Component. Use the Memory Component to set your fuel temperature cutoff (I use 5000). Compare the fuel temp from the reactor with the Memory Component output using the Greater Component: if fuel_temperature output is greater than 5500, output 0 (need to set False output); else output 1. Then use the Multiply Component to multiply set_fissionrate by either 1 to continue or 0 to back off.
Aco 8 Jan, 2023 @ 12:35am 
The 5 component still works, just need to add a temperature dependent "switch" to prevent overheating when adding more rods to the reactor that is already running. It should take 3 more components, one memory, one greaterthan, and one more divide should do the trick.
Doom 5 Jan, 2023 @ 6:12am 
Just FYI, this no longer works as they changed the formula for the reactor output to be dependent on the load.
EvilAsh110[ATC!] 4 Dec, 2022 @ 7:15pm 
Could someone smoothbrain explain how to wire the five component reactor controller? I'm dumb and also don't understand the color coding