Why does a custom PC cooling loop temp equalize no matter the configuration?


I’ve always wondered how a custom PC cooling loop equalizes no matter if there’s a radiator between the CPU and GPU. For instance here’s two loops that theoretically cool to the same temp:

Note: there’s only one pump in these loops.

Loop A:
Pump > CPU > Radiator > GPU > Radiator > Pump

Loop B:
Pump > CPU > GPU > Radiator > Radiator > Pump

Why do both loops equalize to the same temp?

Solved: Thank you for your responses!!

In: 3

I think at the most basic level of you imagined the temperature changes like math. Where adding heat added a # value and adding cold (subtracting heat) subtracted a # value it would simplify it.


Is the same as


You are correct in that theoretically there is a difference. The CPU and GPU are adding heat into the system while the radiator is removing it (and the pump has no measurable impact on the temperature). This means that the fluid moving away from the CPU and GPU must be warmer than when it entered in order to be carrying away heat, and it must emerge from the radiator at a lower temperature than it entered or it isn’t removing heat.

However in a practical sense the heat capacity of the fluid and the speed at which it cycles means that the difference in temperature is negligible. The amount of heat which can be deposited into a given volume of fluid as it passes isn’t enough to make it shift in temperature very much and the fluid in the loop can be considered to be homogeneous.

Your intuition is based on some solid physics. If we imagine the fluid slowly moving through the loop then in loop A the CPU raises the temperature of the fluid, then the radiator cools it, then the GPU raises it, then the second radiator cools it, while in loop B the CPU would warm it and then the GPU gets warm fluid in.

The place where that understanding breaks down is that the fluid doesn’t move through the loop slowly. It is common for flow rates to be in the 100-300 liter per hour range in full loops while the volume of fluid in a loop is often only about 1-2 liters. This means the entire volume of fluid can easily circulate every few seconds.

By contrast the fluid will tend to change temperatures over the course of a couple of minutes. Compared to the flow rate this means that we can pretend that all of the liquid is the same temperature. It isn’t *completely* true, but it’s true enough for practical purposes–other sources of noise are likely to outweigh the roundoff we’re incurring with this approximation.

Since the fluid is effectively the same temperature throughout the loop what we care about is what that temperature is and how that fluid interacts with the cold plate on the CPU and GPU blocks. On the temperature front we set up a fairly basic energy balance: the CPU and GPU put heat into the fluid while the radiator(s) take it out. If the fluid temperature isn’t changing then those must be in balance with each other. As long as the fluid is circulating much faster than it heats up the sequence doesn’t really matter.

It won’t be exactly the same, loop B will have a bigger difference between the hottest and coldest parts of the loop.

The big thing is that the amount of heat put into the loop by the CPU and GPU doesn’t really change from one configuration to the other, so if we’re averaging the temperature of the whole loop together, it will be very close to the same. Not exactly, because heat transfer isn’t quite linear with temperature, and there are other paths for heat to escape from the components.