Page 1 of 1

[2.0.55] High temperature gradient connecting dissimilar heat pipe types

Posted: Tue Jun 17, 2025 4:49 am
by jonin_boson
I was developing a mod and while doing so, noticed a but with heat transfer between pipes with different min/max temperatures (I will refer to the "default_temperature" as the minimum or min temperature). If two heat pipes have different minimum or maximum temperatures then an artificially high minimum temperature gradient can appear even if the temperatures involved are allowed for both pipes. This effect is dependent on the direction of heat flow.
This appears to be a bug with how Factorio handles heat conduction between heat buffers.

Steps to reproduce are shown below. A world file reproducing the issue is attached.
MODS:
  • all vanilla mods
  • Carnotorio (0.1.0); (any mod that adds alternate temperature heat pipes and a temperature source would due)
  • (Optionally) Editor Extensions (any version)
bug was found in Factorio Version 2.0.55.
SETUP:
  • place a Cryogenic Heat Exchanger (appears as a blue variant of a Heat Exchanger);
  • place an Infinity Pipe on one of the liquid ports;
    set fluid to Fluoroketone (the cold suffix was removed);
    set temperature to -40C;
    (this setup acts as a temperature source; any temperature source that has the same temperature range as the pipes attached to it would due)
  • Place 3 Cold Pipes (appears as a cyan heat pipe variant) in a line from the heat port.
    A Cold Pipe can have temperatures from -273C to 200C; the Cryogenic Heat Exchanger has this same allowed temperature range.
    The vanilla Heat Pipe is modified and can have temperatures from -70C to 1000C.
    Carnotorio has a script that sets the temperature of heat pipes to the ambient temperature when placed (depends on surface; on Nauvis, the ambient temperature is 15C).
CONTROL:
(Editor Extensions preset)
  • place a Cold Pipe at the end of the other 3 heat pipes.
  • Observe temperature of the newly placed pipe;
    expected: temperature drops to about -36C.
FIRST TEST:
  • place a Heat Pipe at the end of the other 3 heat pipes.
  • Observe temperature of the newly placed heat pipe;
    expected: temperature drops to about -36C;
    bug: temperature does not drop from 15C at all.
(the cold-pipe fails to remove heat from the normal Heat Pipe even though the resulting temperature would be well within the allowed range of both pipes)
SECOND TEST:
Do this test after performing the FIRST TEST (re-use the same buildings).
  • Lower liquid temperature in infinity pipe to -250C.
  • Observe temperature of the heat pipe again;
    expected: temperature drops to minimum of -70C;
    bug: temperature drops, but only to about -43C (33 above minimum).
(a partial failure to remove heat from the normal Heat Pipe)
THIRD TEST:
  • repeat FIRST TEST but with liquid temperature at 50C;
    expected: temperature rises to about 46C (adjacent pipe 47C);
    small bug: temperature rises to 48.33C (higher than the pipe next to it bug colder than the source).
(this test is similar to the FIRST TEST, but with the heat flow reversed)
(I think this issue is ignorable if it is the result of some optimization and the temperature never exceeds that of the temperature source)

Re: Bug with heat conduction between heat buffers with different allowed temperature ranges

Posted: Tue Jun 17, 2025 9:51 am
by Loewchen
Post a save showing the issue and add the version to the title please, see 3638.

Re: [2.0.55] High temperature gradient connecting dissimilar heat pipe types

Posted: Wed Jun 18, 2025 5:47 pm
by jonin_boson
I have now included the version number in the title and a world file reproducing the issue.