Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

User:RA2lover/Sandbox/Thermodynamics machinery notes/Combustion Processors: Difference between revisions

From Stationeers Community Wiki
RA2lover (talk | contribs)
Created page with "Both the Combustion Centrifuge and Combustion Deep Miner share the same Internal Combustion engine, running these stages each tick: === Game Tick Combustion === Performed during game tick before all following actions. === Manual Combust === * Stores Game Tick combustion energy * Force-combusts internal atmosphere on top of existing combustion (Combustion limiter^2 * 75%), clamped between 0.1% and 100% ** Because maximum combustion limiter setting is 100%, this..."
 
RA2lover (talk | contribs)
Add combustion deep miner / combustion centrifuge-specific info
Line 1: Line 1:
== Internal Combustion Engine ==
Both the [[Combustion Centrifuge]] and [[Combustion Deep Miner]] share the same Internal Combustion engine, running these stages each tick:
Both the [[Combustion Centrifuge]] and [[Combustion Deep Miner]] share the same Internal Combustion engine, running these stages each tick:


Line 80: Line 81:
* If on, powered and not in a stress shutdown/error state:
* If on, powered and not in a stress shutdown/error state:
** Remove 0..0.01 mols from input network and move into combustion network, scaled from 0 to full throttle and add into internal atmosphere, to be combusted during next tick.
** Remove 0..0.01 mols from input network and move into combustion network, scaled from 0 to full throttle and add into internal atmosphere, to be combusted during next tick.
** Note throttle is clamped into 10% increments - without a mol-limited input network you can only feed in fuel mix in multiples of 0.001 mol.
After the gas input stage, spark internal atmosphere if device is on and powered. This is not a part of the internal combustion engine's steps, but starts ignition on the next tick.
== Combustion Deep Miner ==
* Process progress during server export tick, adding deltaTime * RPM/200 to progress time for current ore (also applies to regular deep miner)
* If elapsed progress is greater than the current ore's spawn time and machine is able to export, spawn a dirty ore chunk into its export slot and elapsed progress to 0, generating a new time until next chunk.
== Combustion Centrifuge ==
* Process progress between shutdown handling state and gas output stage.
* Add game tick duration * RPM/300 progress time to thing being processed.
** Base processing time for items is 6 seconds/item for dirty ore/reagent mix, 1 second for regular ores.
* Assert an error state if total processed reagents exceeds 3000g.
* If ejecting something during server export tick, increase stress by RPM/10% - 1%, limited to a minimum of 0%, then decrease RPM by 1/10th.
** Reagents only get ejected if the contents for the respective reagent exceed 1g.
** The order in which reagents is ejected is fixed. In descending priority:
{| class="wikitable mw-collapsible mw-collapsed"
|+Reagent Ejection Priority List
|Flour
|-
|Milk
|-
|Egg
|-
|Iron
|-
|Gold
|-
|Carbon (Charcoal)
|-
|Uranium
|-
|Copper
|-
|Steel
|-
|Hydrocarbon (Coal Ore)
|-
|Silver
|-
|Nickel
|-
|Lead
|-
|Electrum
|-
|Invar
|-
|Constantan
|-
|Solder
|-
|Plastic
|-
|Silicon
|-
|Salicylic Acid
|-
|Alcohol
|-
|Oil (Soy Oil)
|-
|Potato
|-
|Tomato
|-
|Fenoxitone
|-
|Coloring (Red)
|-
|Coloring (Green)
|-
|Coloring (Blue)
|-
|Coloring (Yellow)
|-
|Coloring (Orange)
|-
|Pumpkin
|-
|Rice
|-
|Waspaloy
|-
|Stellite
|-
|Inconel
|-
|Hastelloy
|-
|Astroloy
|-
|Cobalt
|-
|Corn
|-
|Wheat
|-
|Biomass
|-
|Soy (Soybean)
|-
|Mushroom
|-
|Sugar
|-
|Cocoa
|-
|Cheese
|}

Revision as of 20:16, 22 August 2026

Internal Combustion Engine

Both the Combustion Centrifuge and Combustion Deep Miner share the same Internal Combustion engine, running these stages each tick:

Game Tick Combustion

Performed during game tick before all following actions.

Manual Combust

  • Stores Game Tick combustion energy
  • Force-combusts internal atmosphere on top of existing combustion (Combustion limiter^2 * 75%), clamped between 0.1% and 100%
    • Because maximum combustion limiter setting is 100%, this limits maximum force-combustion to 75% of whatever fuel mix was in the atmosphere after game tick combustion.
    • Because the combustion limiter is clamped into 10% increments, this leads to the following force-combustion percentages:
Force-Combustion Percentages
Combustion Limiter setting Combustion Percentage
0% 0.1%
10% 0.75%
20% 3%
30% 6.75%
40% 12%
50% 18.75%
60% 27%
70% 36.75%
80% 48%
90% 60.75%
100% 75%

Speed Tick

  • Target a 4000 kPa internal chamber pressure. Excess pressure is sent into exhaust during gas output stage.
  • If internal atmosphere is above 300°C and total energy combusted combining game tick combustion and manual combustion exceeds 30 J:
    • Increase RPM by Internal atmosphere temperature(in Kelvin) / 5000 K (clamped between 0 and 12 RPM/tick)
    • Remove 30 J * RPM gained from internal atmosphere.
  • Decrease RPM by 1%
  • Check net RPM gain/loss after the previous steps.
  • If RPM difference compared to is less than 1/ Lerp(0.8, 2, (Current RPM-300) / 1200 ), decrease stress percentage by 0.5, to a minimum of 0.
    • Otherwise, increase stress percentage by (RPM difference - 1) * Lerp(0.8, 2, (Current RPM-300) / 1200 )
  • If stress percentage is at 100% or more, decrease RPM by 40 and enter shutdown state.

Shutdown state

(Only runs if the machine is powered off or if it has been overstressed to a shutdown state)

  • Decrease RPM by 15.
  • Target a RPM*4 kPa chamber pressure (limited to 4000 kPa). Excess pressure is sent into exhaust during gas output stage.

Gas Output Stage

  • If internal chamber pressure is less than target, skip this stage.
  • Otherwise, remove the smaller of:
    • PressurePerTick * 10 L at chamber temperature
    • 10% of Excess pressure(in kPa) * Internal atmosphere volume at chamber temperature
  • Send removed contents into exhaust network.

Gas Input Stage

  • If on, powered and not in a stress shutdown/error state:
    • Remove 0..0.01 mols from input network and move into combustion network, scaled from 0 to full throttle and add into internal atmosphere, to be combusted during next tick.
    • Note throttle is clamped into 10% increments - without a mol-limited input network you can only feed in fuel mix in multiples of 0.001 mol.

After the gas input stage, spark internal atmosphere if device is on and powered. This is not a part of the internal combustion engine's steps, but starts ignition on the next tick.

Combustion Deep Miner

  • Process progress during server export tick, adding deltaTime * RPM/200 to progress time for current ore (also applies to regular deep miner)
  • If elapsed progress is greater than the current ore's spawn time and machine is able to export, spawn a dirty ore chunk into its export slot and elapsed progress to 0, generating a new time until next chunk.

Combustion Centrifuge

  • Process progress between shutdown handling state and gas output stage.
  • Add game tick duration * RPM/300 progress time to thing being processed.
    • Base processing time for items is 6 seconds/item for dirty ore/reagent mix, 1 second for regular ores.
  • Assert an error state if total processed reagents exceeds 3000g.
  • If ejecting something during server export tick, increase stress by RPM/10% - 1%, limited to a minimum of 0%, then decrease RPM by 1/10th.
    • Reagents only get ejected if the contents for the respective reagent exceed 1g.
    • The order in which reagents is ejected is fixed. In descending priority:
Reagent Ejection Priority List
Flour
Milk
Egg
Iron
Gold
Carbon (Charcoal)
Uranium
Copper
Steel
Hydrocarbon (Coal Ore)
Silver
Nickel
Lead
Electrum
Invar
Constantan
Solder
Plastic
Silicon
Salicylic Acid
Alcohol
Oil (Soy Oil)
Potato
Tomato
Fenoxitone
Coloring (Red)
Coloring (Green)
Coloring (Blue)
Coloring (Yellow)
Coloring (Orange)
Pumpkin
Rice
Waspaloy
Stellite
Inconel
Hastelloy
Astroloy
Cobalt
Corn
Wheat
Biomass
Soy (Soybean)
Mushroom
Sugar
Cocoa
Cheese