What factors decide if an engine overheats or not

I made some strange observations regarding engine overheat.

  1. When you place 4 RT-10 solid-boosters radial around a 5th, the outer boosters will overheat and explode before they are burnt out while the center booster survives. When there is a difference I would rather expect the inner booster to overheat first because it's surrounded by heat sources.
  2. A Mainsail rocket engine with a Jumbo-64 fuel tank on top will quickly overheat and burn out when emptying it on full power, but the same rocket with two X200-32 fuel tanks (which together have the same mass and carry the same amount of fuel) will not.

What exactly are the factors which determine how fast an engine overheats?


To answer #1 I constructed a test rig.

Temperature test rig

As you described, the outer-engines overheat faster than the inner one regardless of vertical placement. This means that the overheating is not a result of the heat emission map (which extends in a cone underneath the engine that drops off rapidly and is hotter than the engine itself). When I placed temperature gauges on the same rig it didn't overheat at all which inadvertently gives us our answer.

All parts have three config parameters relating to heat: maxTemp, heatConductivity and heatDissapation. By default conductivity and dissapation are set to 0.08 and they are never redefined in the config files. This means that all parts, even the tiny temperature gauge will receive heat from neighboring components at the same rate.

In our scenario the inner engine has four components with which to transfer heat via conduction but the outer ones only have one so they overheat faster. To prevent the outer-engines from overheating you could install a heat sink in the form of a few structural girders.

As for #2 the wiki states that:

As of 0.18.2, this tank does not transfer heat effectively. Engines attached directly to it and running at full throttle (especially Mainsails) will overheat.

I suspect this is a deliberate tweak in the coding since my usual trick of adding a small girder between the tank and engine reduces overheating by an approximate factor of 8 instead of a factor of 2 which you would expect from abusing the heat conductivity parameter as described above.

Using a girder to prevent engine overheating

EDIT

Based on a comment by Philipp I re-checked the results of #1 and it turns out that the inner engine heats up at a slower rate by transferring heat upwards into the command pod, not across to the other engines as I assumed.

enter image description here