First off, I've been trying to prove to myself @mathmanican 's explanation and example of heat doubling by freeze/thaw cycling shouldn't work. The reasoning flaw in his description is that between steps 5 and 6 600K solid lead is transformed to 600K molten lead. This transformation actually requires heating the solid lead to 603K, and the molten lead will appear at 601.5K: a net lose of 1.5K worth of heat. Exactly balancing the gains from steps 1-4.
However, he also provides a working ma
I think I have the algorithm figured out.
1) All contact points calculate how much heat to send based on starting conditions.
2) In succession, each contact point modifies the temperatures of the tiles involved based on step 1.
3) after each modification, if heat was transferred, the tiles are check for phase changes.
3a) If the tile is 3C above it's phase up point the tile is flagged to phase up (change material) and 1.5C is subtracted from it's current temp