Jump to content

Heat exchange issues with insulated tiles after update 719533.


_N_S_
  • Branch: Live Branch Version: Windows Pending

After update 719533, the heat transfer calculation formula began using (if I'm not mistaken) the double/float64 data type instead of float32.
This change resolved many issues; for example, microgram-sized debris did not previously exchange heat.
This forced schemes working with magma or, for example, heating slime into dirt to integrate protection against the appearance of these microgram debris, otherwise they would endlessly travel along rail conveyors without heating up or cooling down.
Now this problem has been completely solved - awesome!

Unfortunately, however, this change has had a significant impact on insulated tiles, virtually breaking their main function and causing many edge cases where energy either disappears or appears endless.

Previously, insulated tiles made of (igneous rock) and (ceramic) guaranteed nearly complete insulation, except for heat exchange with gases and under extreme conditions.
But now some kind of nonsense is happening: insulation blocks have started heating up against other insulation blocks (even ceramic against ceramic). Due to their massive thermal mass, insulation blocks have become endless heat sources, which, on top of that, are now capable of heating even regular blocks (not gases).

For example, my phosphorus started to melt just because it was in contact with an insulated tile 45° ( igneous rock).
1.png.20954326d32b1878046ae48308309878.png

I ran some tests on the current version and the previous one (before the heat exchange update) and got the following results:
Test cases:
1.1.1 igneous rock tile (1kg 400K) + insulated tile (igneous rock) (300K)
1.1.2 igneous rock tile (1kg 400K) + insulated tile (obsidian)     (300K)
1.1.3 igneous rock tile (1kg 400K) + insulated tile (ceramic)      (300K)

1.2.1 igneous rock tile (1kg 200K) + insulated tile (igneous rock) (300K)
1.2.2 igneous rock tile (1kg 200K) + insulated tile (obsidian)     (300K)
1.2.3 igneous rock tile (1kg 200K) + insulated tile (ceramic)      (300K)

2.1 magma (400kg 2000K) + insulated tile (igneous rock) (300K)
2.2 magma (400kg 2000K) + insulated tile (obsidian)     (300K)
2.3 magma (400kg 2000K) + insulated tile (ceramic)      (300K)

3.1 insulated tile (igneous rock) (400K) + igneous rock tile (1kg 300K)
3.2 insulated tile (obsidian)     (400K) + igneous rock tile (1kg 300K)
3.3 insulated tile (ceramic)      (400K) + igneous rock tile (1kg 300K)

4.1.1 insulated tile (igneous rock) (400K)  + insulated tile (igneous rock) (300K)
4.1.2 insulated tile (igneous rock) (600K)  + insulated tile (igneous rock) (300K)
4.1.3 insulated tile (igneous rock) (1000K) + insulated tile (igneous rock) (300K)

4.2.1 insulated tile (obsidian) (400K)  + insulated tile (obsidian) (300K)
4.2.2 insulated tile (obsidian) (600K)  + insulated tile (obsidian) (300K)
4.2.3 insulated tile (obsidian) (1000K) + insulated tile (obsidian) (300K)

4.3.1 insulated tile (ceramic) (400K)  + insulated tile (ceramic) (300K)
4.3.2 insulated tile (ceramic) (600K)  + insulated tile (ceramic) (300K)
4.3.3 insulated tile (ceramic) (1000K) + insulated tile (ceramic) (300K)
3.png.6d38f9ef4ba6bf0e182505a3cfa75db7.png

Results after 5 minutes on the new version:
(In nearly half of the test cases, the result is either the disappearance of energy or its appearance out of nowhere)
4.png.ef42bd6be4d2677bfb7de592c4009c96.png

In the previous version, heat transfer either does not occur at all or occurs in the same way as in the current version:
5.png.4860b1fd11da4c6258093453a20bb1b0.png

In other words, something has gone wrong specifically with the insulated tiles (in my opinion).
Where there used to be pleasant and predictable behavior (in the form of no heat transfer), there is now energy duplication and endless heating.

On top of that, it now makes no difference what the specific heat capacity is of the material used to build the insulated cell. Previously, igneous rock was ranked among the "top 3 materials for insulation" (as even mentioned on many Wikipedia pages), but now that doesn’t matter at all.
(It now makes no difference whether the tile is made of igneous rock or obsidian - they behave exactly the same way.)
6.png.64d52f9593a091a3b1b7673c78626992.png 8.png.c2fb580c8e3cf93c35a1f1f584fab919.png

 

Maybe I'm missing something, or perhaps the infinite heating of the environment or the infinite absorption of heat, combined with the lack of insulation (which forces you to use something like "Airflow Tiles") - is actually intended behavior, but in my opinion, this needs to be fixed.

I see two solutions: either significantly reduce the thermal conductivity of the insulated tiles, or add a heat transfer condition: the exchange with the insulated tiles is calculated using the traditional algorithm (based on float32).

I think the second option is the right one. Since there is already special behavior for insulated tiles (according to the wiki) related to the use of a different coefficient than the usual formula.
7.png.9eb87fbb752d833d928200592f23d850.png

Thanks.

test_cases.txt new_version_results.txt old_version_results.txt


  • Big Ups 1
  • GL Happy 1



User Feedback


There are no comments to display.



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
  • Create New...