Skip to content

ModuleSystemHeatFissionEngine

DareMightyThingsJPL edited this page Apr 9, 2025 · 2 revisions

This module implements a basic fission engine. This typically should be included with a ModuleSystemHeatEngine for full compatibility.

  MODULE
  {
    name = ModuleSystemHeatFissionEngine
    moduleID = reactor
    uiGroupDisplayName = #LOC_SystemHeat_ModuleSystemHeatFissionEngine_UIGroup_Title

    allowHibernate = false
    allowManualControl = false 
    allowManualShutdownTemperatureControl = false

    // -- Heat stuff
    // ModuleSystemHeat instance to link to
    systemHeatModuleID = engine
    // Heat kW
    HeatGeneration
    {
      key = 0 0
    } 

    // Above this temp, risky
    NominalTemperature = 850
    // Above this temp, reactor takes damage
    CriticalTemperature = 1300
    // Amount of damage taken by core when over critical temp
    // %/s/K, so with value 0.001, at 200 K over CriticalTemp, reactor takes 0.2% damage/s
    CoreDamageRate = 0.01


    // -- Reactor throttle stuff
    ThrottleIncreaseRate = 10
    MinimumThrottle = 0
    ThrottleDecreaseRate = 20


    // -- Electrical stuff
    // Power generated
    GeneratesElectricity = false


    // --- Fuel stuff
    // Base lifetime calculations off this resource
    FuelName = EnrichedUranium

    // -- engine stuff
    ispCurve
    {
      key = 0 0.01
      key = 100 1.0
    }
    engineCoolingScale = 0.9

    INPUT_RESOURCE
    {
      ResourceName = EnrichedUranium
      Ratio = 0.002
      FlowMode = NO_FLOW
    }
    OUTPUT_RESOURCE
    {
      ResourceName = DepletedFuel
      Ratio = 0.0020
      DumpExcess = false
      FlowMode = NO_FLOW
    }
  }
}
  • ModuleID: The ID on the module. Should be unique on the part.
  • allowHibernate: Determines whether the engine's reactor can go into hibernation. Uses true and false values.
  • allowManualControl: determines whether the engine's reactor has manual control. Uses true and false values.
  • allowManualShutdownTemperatureControl: determines whether the engine's reactor has can have it shutdown temperature changed. Uses true and false values.
  • systemHeatModuleID: Links to a specific ModuleSystemHeat. If not specified, will use the first one found.
  • HeatGeneration: Determines the amount of waste heat produced at specified reactor throttles. Heat is in K.
  • NominalTemperature: Determines the nominal operating temperature of the reactor. Any higher is considered risky. Heat is in K.
  • CriticalTemperature: Determines the critical temperature of the reactor; any higher and the reactor will take damage. Heat is in K.
  • CoreDamageRate: Determines the amount of damage taken by a reactor when exceeding critical temperatures. %/s/K, so with value 0.001, at 200 K over CriticalTemp, reactor takes 0.2% damage/s.
  • ThrottleIncreaseRate: Determines the how much % at which reactor's throttle increases per second
  • MinimumThrottle: Determines the minimum % a reactor's throttle can be at. For bimodal reactors,
  • ThrottleDecreaseRate: Determines the rate at % at which reactor's throttle increases per second
  • GeneratesElectricity: Determines whether the engine's reactor can generate electricity. Uses true and false values.
  • FuelName: Determines the reactor's fuel. Should be labeled the same as it's input resource/s. Reactor lifetime calculations are based off this.
  • ispCurve: Determines what % of fuel is consumed when at specified reactor throttles.
  • INPUT_RESOURCE
    • ResourceName: The resource the reactor uses.
    • Ratio: The rate at which the resource is consumed per second, at maximum reactor throttle.
    • FlowMode Determines the resource FlowMode. Eg, NO_FLOW makes the reactor unable to use fuel that is not stored within itself.
  • OUTPUT_RESOURCE
    • ResourceName: The resource the reactor outputs.
    • Ratio: The rate at which the resource is produced per second, at maximum reactor throttle.
    • DumpExcess:Determines whether when the output resources' tanks are full, if the produced resource is dumped overboard. Uses true or false values.
    • FlowMode: Determines the resource FlowMode. Eg, NO_FLOW makes the reactor unable to pump the resource that is not stored within itself.

TO DO: ADD AN EXAMPLE BIMODAL FISSION ENGINE MODULE

Clone this wiki locally