Skip to content

Reactor Temperature Calculation

Mikayla edited this page May 4, 2024 · 13 revisions

Finding a Better Reactor Temperature High Threshold

Note

See the conclusion if you are just here for the equations!

Before this was completed, the reactor temperature high threshold was always 1150K, which was not great for anyone running max size reactors at just under 1200K. In order to solve this, I utilized my simulator tool and associated new Mekanism knowledge determined to find an equation to approximate the temperature that would accurately indicate that the reactor is hotter than it should be with the given coolant and maximum safe burn rate.

Here is the Excel spreadsheet used throughout this page: burn temp by capacity.xlsx

Simulator Heat Modeling

Below is a screenshot of the LabVIEW code that simulates the heat in the Mekanism fission reactor multiblock. The important things here are what creates heat (energyPerFissionFuel * burn rate) and what dissipates heat (environmental loss and coolant).

image

Heat Capacitors

The objective here is to model reactor heat without needing to iteratively compute it (e.g. simulate it). The center of all heat management is the heat capacitor, shown below.

image

Maximum Safe Burn Rate vs Heat Capacity

Step one here was to just try a bunch of things to find trends and relationships. Ideally, I want to calculate temperature by burn rate with as few variables as possible. For starters, I ran a few reactors through my simulator to see what burn rates I could achieve with water and sodium before hitting damaging temperatures of 1200K.

image

That R^2 value of 1 was a great thing to see. This shows that the maximum safe burn rate has a linear relationship to the heat capacity. That's cool and all, but what I need is to find the temperature at the reactor's maximum burn rate.

How Hot Is a Given Burn Rate?

If I can find out the temperature from a given burn rate, I can see how hot the maximum burn rate would make the reactor. I ran a lot of simulations for different rounds of data collection, most of which is in the attached spreadsheet. Below is when I decided to just run sodium cooled reactors at a list of burn rates. I went through a set of different simulated reactors (18x18x18 is a max size reactor, LxWxH) at somewhat arbitrarily selected burn rates (if they were big enough to run a particular burn rate) and recorded temperatures.

image

That's a lot of perfect linear fits! The variable here is that scaling factor on the burn rate. Time to find out how that relates to the heat capacity.

image

A power scale function! Nice! That 999842 that Excel computed seems a little off though. I tried 1000000, and it looks perfect.

image

I initially wondered if the 999842 was due to environmental loss, but computing with 999842 is simply a worse fit to the data than 1000000, so 1000000 it is then.

Environmental Loss

Throughout testing, environmental loss and ambient temperature have minimal effect (<0.1K) on temperatures. This is important, since I can't access this information easily, especially while the reactor is off. Mekanism does expose lastEnvironmentalLoss, but that would require some back calculation and only work while the reactor is running. I would then also need to simulate the whole thing.

Conclusion

The approximate conversion function from mB to temperature when water cooled is burn_rate * 2 * (1000000 * (heat_capacity ^ -1)) + 373.15:

image

and sodium cooled is burn_rate * (1000000 * (heat_capacity ^ -1)) + 373.15:

image

I am deducing the 1,000,000 is energyPerFissionFuel from the Mekanism config, and I know for sure that 373.15 is HeatUtils.BASE_BOIL_TEMP from Mekanism. The 2 vs 1 for sodium vs water is due to water having a thermal efficiency of 0.5 while sodium has an efficiency of 1.

The final value cc-mek-scada uses to report high temp on the annunciator is the maximum burn rates temperature + 5K for a tolerance on minor coolant transients. For the high temperature alarm it uses that value, but limits it to between 1100K and 1199.995K.

Note

I ran all my later tests with a maximum heat ambient temperature, as my intention was to make sure high temp calculations were on the safe side. However, this didn't end up mattering much, since the constants in the final equation map to values independent of ambient temperatures.

Homepage

  1. User Manual
    1. System Setup Guide
      1. Device Layout
        1. Coordinator Displays
      2. Connecting to Mekanism Machines
      3. Application Installation
        1. Space Requirements
        2. Installation
        3. Updating
        4. Uninstalling
      4. SCADA Network
        1. Network Channels
        2. Network Connectivity
      5. Setup & Configuration
        1. Supervisor Setup
        2. Coordinator Setup
        3. Reactor PLC Setup
        4. RTU Gateway Setup
      6. Initial Startup
    2. Configurator Tools
      1. Supervisor Configurator
      2. Coordinator Configurator
      3. Reactor PLC Configurator
      4. RTU Gateway Configurator
      5. Pocket Configurator
    3. Redstone Waste Setup Guide
    4. TL;DR Quickstart
    5. FAQ and Common Problems
    6. Colorblind Accessibility
    7. Annunciator Panels
    8. Alarms
    9. System Views
      1. Main View Screen
      2. Valve & Flow Screen
      3. Unit View Screens
    10. Operating Procedure
    11. Status Messages
    12. Glossary
  2. Computer Applications
    1. Reactor PLC
      1. Front Panel
      2. Non-Networked Mode
      3. RPS
      4. PLC Emergency Coolant
    2. RTU Gateway
      1. Front Panel
    3. Supervisory Computer
      1. Front Panel
    4. Coordinator Computer
      1. Front Panel
    5. Pocket
      1. Home and Navigation
      2. Connectivity
      3. Main Applications
      4. System Details and Testing
  3. Notable System Components
    1. Co-routine Threading
    2. Project File Layout/Overview
    3. PPM - Protected Peripherals Manager
    4. RSIO - Redstone I/O
    5. Utility Classes
    6. Networking
  4. Notes
    1. Known Issues
    2. Process Closed Loop Controller
    3. Project Files and Layout
    4. Alternative Installation Strategies
  5. Investigations
    1. Startup Rate High
    2. Reactor Temperature Calculation
  6. References & Resources
    1. CC: Tweaked Character Set
    2. Mekanism API Notes
    3. Design & Regulatory References
  7. Legacy
    1. coord.settings File
    2. config.lua Files
      1. Supervisor config.lua
      2. Coordinator config.lua
      3. Reactor PLC config.lua
      4. RTU Gateway config.lua

Clone this wiki locally