A short analogy for heat transfer: the balloon.
Imagine that heat is represented by air, temperature by pressure, and an object being heated is a balloon.
If you push air into the balloon, its pressure goes up. How much its pressure goes up depends on how much air you push into the balloon. More air, more pressure, until something breaks. If you have air pushed into the balloon, you can let some out by opening the balloon a bit and the stored air exits, reducing pressure.
If you have two balloons, you can inflate one to a high pressure, and one to a low pressure. If you then connect both balloons, the air will always go from the high pressure balloon to the low pressure balloon.
Heat, like air in balloons, always flows from a place with high temperature (like pressure) to a place with lower temperature. It never voluntarily flows the other way. If you want it to flow “uphill” to a place with higher temperature, you have to use a heat pump to force it to flow were it doesn’t naturally want to go.
Temperature, like pressure, is a measure of how much heat is contained in how big a balloon. For tiny balloons, a single puff of air by mouth may be enough to get it inflated. But a larger one, like a several-foot-diameter weather balloon would not have significantly large pressure after many exhalations into it. Physical materials behave like this. The more mass (weight) of material you have, the more heat it takes to raise its temperature. And materials, just like balloons, vary as to how “stretchy” they are – how much heat it takes to raise their temperature per degree. A small kiddie balloon is easy to inflate by blowing into it. A car tire’s inner tube is essentially not inflatable by mouth – it takes too much pressure to stretch it. This property of needing various amounts of heat to raise the temperature of materials is called the specific heat of the material.
It turns out to be simple to calculate how much heat will raise an object’s temperature. The physics folks say:
Q = c * m * dT
where Q is the amount of heat, m is the mass of the object, dT is the change in temperature, and c is the specific heat of the material. Water has the highest specific heat of any common material, and is non-toxic so it makes a good coolant.
The specific heat of water is 4.186 Joules per gram-degree C. So if you want to heat 1kg of water by 10C, you have to put in Q = 4.186 * 1000g * 10C = 41,860 watt-seconds. If you only want to raise it by 1C, you only need 4186 watt-seconds, and so on.
The specific heat of steel is 0.49 j/gC. This means that if you have one pound of water and one pound of steel, the same amount of heat needed to heat the water by one degree will heat the steel by 4.186/0.49 = 8.54 degrees. Air is the only other common substance to use as a coolant. Air is not as efficient at cooling as water, as its specific heat is 1.005, meaning that air heats up about four times as much as water for the same amount of heat removed and temperature. Worse, that’s for the same mass of air. Air’s density is 0.001293 times that of water, so you have to move 773 times the volume of air to equal the mass of one unit of water. Overall, you have to use 3222 times the volume of air to cool as well as one volume of moving water.
Melting ice is about the most efficient cooling mechanism we mere mortals can use. Ice is also good for “transporting cold” from much bigger machines that have big, efficient refrigerating compressors, these same machines being ones you probably already have - refrigerators. You can actually store cooling in frozen water bottles.