Temperature increasingly harder to control the smaller the freezer.

Started by faltonico, August 13, 2017, 05:40:59 AM

Previous topic - Next topic

faltonico

Temperature increasingly harder to control the smaller the freezer.

1. I built a very small room 4x4 and placed a cooler in the wall (edit: and forbid the door to prevent pawns from entering.)
2. It was impossible for the cooler to keep the target temperature (-9°C) it had a great variation in the temperature. Making the room smaller made it worst, even over 0°C even. The same cooler didn't have any trouble keeping the temperature in a much larger room.
3. I expected the smaller room, having less space to cool, to keep a more constant temperature.
4. no need for me to send a save file, I plopped all of it with devmode in a newly created test colony.
5. no errors in the log, i attached it anyways.

Only Core in the mod folder.


[attachment deleted by admin: too old]

NeverPire

Do you often open the door of your freezer ?

A smaller freezer should have more difficulties to keep a constant temperature because it has less cold air compared with the warm air coming when you open its door.
I will never do worse than what I do now.
It's what self-improvement means.

faltonico

Quote from: NeverPire on August 14, 2017, 04:01:18 AM
Do you often open the door of your freezer ?

A smaller freezer should have more difficulties to keep a constant temperature because it has less cold air compared with the warm air coming when you open its door.
I guess i have to make that clear on the OP, the rooms were closed the whole time, no pawns allowed in. I was made for testing sake.

Oblitus

Area size is A².
Perimeter size is 4A.
The speed of temp equalizing is directly influenced by area/perimeter ratio which is A/4. So 8x8 freezer would be two times more efficient than a 4x4 freezer.

NeverPire

Quote from: Oblitus on August 14, 2017, 07:54:16 AM
Area size is A².
Perimeter size is 4A.
The speed of temp equalizing is directly influenced by area/perimeter ratio which is A/4. So 8x8 freezer would be two times more efficient than a 4x4 freezer.
Interesting, I didn't know the game process of temperature was so smart.
However, the cooler is supposed to be more efficient to keep a small area cold than a big one so it should counterbalance the loss.

If you try with a perimeter wall twice as thick (the better insulation), how does the variation of temperature evolve ?
I will never do worse than what I do now.
It's what self-improvement means.

Oblitus

Quote from: NeverPire on August 14, 2017, 10:03:40 AM
Quote from: Oblitus on August 14, 2017, 07:54:16 AM
Area size is A².
Perimeter size is 4A.
The speed of temp equalizing is directly influenced by area/perimeter ratio which is A/4. So 8x8 freezer would be two times more efficient than a 4x4 freezer.
Interesting, I didn't know the game process of temperature was so smart.
However, the cooler is supposed to be more efficient to keep a small area cold than a big one so it should counterbalance the loss.

If you try with a perimeter wall twice as thick (the better insulation), how does the variation of temperature evolve ?
Two tile thick walls are mitigating temperature loss, but there is also a roof. Unless you are under a mountain.

faltonico

Quote from: Oblitus on August 14, 2017, 07:54:16 AM
Area size is A².
Perimeter size is 4A.
The speed of temp equalizing is directly influenced by area/perimeter ratio which is A/4. So 8x8 freezer would be two times more efficient than a 4x4 freezer.
So it is coded that way, it doesn't make any sense though. Thank you for your reply!

shentino

But the walls aren't the only way for heat to be lost...are we saying that the ground and roof are perfect insulators?

ison

The bigger the perimeter the more difficult it is to cool the room, but the the fact that the area is smaller not only counterbalances the loss but makes it ultimately easier to cool it. So cooling a 2x2 room should be easier than cooling a 8x8 room.

The problem here is the accuracy of our calculations; we don't update the temperature every frame for performance reasons. This doesn't matter that much if the room is big enough, but if it's small then the fluctuations are high. I can't think of any easy solution off the top of my head. Currently room temperatures are equalized every 120th tick, and coolers are updated every 250th tick. I think we'd have to somehow synchronize it.

shentino

So does the area of the ground and/or roof have any impact?  Or is perimeter/wall material the only factor?

Also it might be possible to run "temperature checks" on smaller rooms more often.  Maybe some sort of "rotating temperature check queue" loosely inspired by the FFT battle system.

All the rooms go into a circulating list.  Each room that gets checked has its "next check tick" incremented by an amount proportional to its size, so that smaller rooms get checked more frequently...and when a room is checked, the "thermal delta" computed can be based on how much time has passed since its last check since it could assume that the previous check was paced properly.

ison

Ground doesn't matter iirc. And roofs only define if your room uses the outdoor temperature or not.

Ok, I think it's a bit tricky problem for now, and we don't need more info so we can close this thread. Thanks for reporting.