[2.0.55] High temperature gradient connecting dissimilar heat pipe types

This subforum contains all the issues which we already resolved.
jonin_boson
Manual Inserter
Manual Inserter
Posts: 2
Joined: Tue Jun 17, 2025 3:54 am
Contact:

[2.0.55] High temperature gradient connecting dissimilar heat pipe types

Post 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)
Attachments
heat_pipe_bug_test.zip
(524.92 KiB) Downloaded 33 times
Last edited by jonin_boson on Tue Jun 17, 2025 10:39 pm, edited 1 time in total.
Loewchen
Global Moderator
Global Moderator
Posts: 10386
Joined: Wed Jan 07, 2015 5:53 pm
Contact:

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

Post by Loewchen »

Post a save showing the issue and add the version to the title please, see 3638.
jonin_boson
Manual Inserter
Manual Inserter
Posts: 2
Joined: Tue Jun 17, 2025 3:54 am
Contact:

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

Post by jonin_boson »

I have now included the version number in the title and a world file reproducing the issue.
User avatar
boskid
Factorio Staff
Factorio Staff
Posts: 4174
Joined: Thu Dec 14, 2017 6:56 pm
Contact:

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

Post by boskid »

Thanks for the report. Issue is now fixed for 2.0.67. Issue is tightly related to heat buffers having different default_temperature as there was a math error inside of a formula that computes amount of energy to transfer since heat buffers are primarily using energy that is referenced to default temperature and a formula that computed an average temperature was not accounting for default temperatures being different.
Post Reply

Return to “Resolved Problems and Bugs”