[1.0] Temperature Behaves Oddly When Merging Rooms

Started by Trylobyte, October 27, 2018, 10:14:49 PM

Previous topic - Next topic

Trylobyte

This may be a vanilla game issue since I don't have any mods that affect temperature calculations (that I know of) but the item that triggered the problem is in a mod so I put it here.

Full mod list is here if it's needed:  https://git.io/fxHo1

So, here's what happened:
I have an RF Solar Shield in a 9x9 indoor room, because the shield shorts out if it gets wet.  This item protects me from solar flares when they activate, but consumes an insane amount of power and generates an insane amount of heat when active.  As such, I have one wall that is nothing but vents (except for one door) leading to a 2x9 enclosed outdoor space; I set it up in this janky way because raiders love to destroy vents and coolers and such to get inside and I wanted to deny them that.  A solar flare happened and the room with the shield immediately began fluctuating between 60-100 degrees as the vents dispersed the hot air to the outdoor enclosure, which in turn sent it outside, just like I'd designed it to do. 

For the sake of visuals, here's the setup.  X is a wall, V is a vent, D is a door, S is the Solar Shield:
XXXXXXXXXXX
X  No Roof    X
X                 X
XVVVVDVVVVX
XSS             X
XSS             X
X                 X
X                 X
X     Roof      X
X                 X
X                 X
X                 X
X                 X
XXXXXDXXXXX

This was still too hot for my tastes, so I decided to remove the door in the vent wall to give it some extra space to vent.  Removing the door between the two rooms sent the temperature flying over 300!  I think this happened because removing the door turned the setup from two rooms, one entirely indoors and one entirely outdoors, to one single room that was mostly indoors.  This affected the heat distribution calculation, causing much more heat to stay inside despite the fact that the setup as a whole had the exact amount of exposure to the outside (18 tiles) as it always had.

This shouldn't happen.  What I would have expected would be for the initial setup to either have the same temperature (due to the enclosure not being large enough to vent that much heat) or for the interior room to immediately heat up to 300 (due to the heat buildup in the room exceeding the vents' ability to get rid of it).  In either case, removing the door between the two areas should not have made the situation worse.

I can see this being a fringe case not really worthy of dev time or attention, but I thought I'd mention it anyway!

Razuhl

Rimworld does not model temperature realistic like say oxygen not included.

When you are venting against an unroofed room you are equalizing the room temperature with the outside temperature. The outside temperature does not change due to this. Using a 2x9 room with x vents is the same as using a single unroofed cell with a single vent. There are no capacities in play. Equalizing means you take both room temperatures, divide them by 2 and thats the new temperature to work with. As you can gather, equalizing against the outside destroys a lot of heat since the half that should go into the outside temperature is discarded.

When using no vent you loose temperature to the surrounding rooms based on insulation of walls and due to the roofing(thin roof is different than thick roof). Also the door itself counts as a single cell room and transfers heat.

When using a partially roofed room you are not equalizing due to the missing roof. You are simply loosing a percentage of the rooms temperature. For example an unroofed room looses 100% and has always the outside temperature. A room with 20% unroofed looses 20% of its temperature.

In your example with a vent you loose 50% of your temperature and then the temperature creep starts. Without a wall you loose only 22% of your temperature.


Canute

In case of the Solar shield, i allways would place it outside and just build a roof over it.
In your example, remove the roof at that room except the one above the solar shield.

Trylobyte

That's what I wound up doing, just removing the roof and rearranging the room a bit.  I don't like doing that because it picks at my obsessive design tendencies, but it just works better.  I just wanted to mention this because it seemed baffling to me that I could overheat a room by venting it better and wasn't sure if this was unintentional or just game stuff at work.  Looks like, from Razuhl's response, it's just one of those 'game things.'