A radiator only cares about the temperature of incoming air

WhyNotHugo1 pts0 comments

A radiator only cares about the temperature of incoming air · WhyNotHugo (雨果)Back in late 2022 when I built my current desktop computer, I opted for a<br>mini-ITX case rather than the typical huge ATX case. I&rsquo;d been interested in<br>liquid cooling for a long time, and for such a small case, it seemed like the<br>best fit. Liquid cooling promises superior cooling performance, quieter<br>operation, and is better suited for compact builds which lack space for high air<br>flow rate.<br>Things didn&rsquo;t work out that well: my PC has been quite noisy, and I had<br>suspicions of thermal throttling, but never made the time to properly gather<br>data and study the situation. Until today.<br>While I built this setup, I carried over a lot of my knowledge in building<br>air-cooled systems. The water block&rsquo;s radiator sat at the front of the case, the<br>fans immediately behind it pushing air forward, with the intent of pushing out<br>hot air through the front (and pulling air in through the back) and ensuring<br>good air flow through the radiator.<br>Gathering data[permalink]

I collected data using watch sensors to follow the current CPU temperature,<br>and watch liquidctl -m NZXT status for the current coolant temperature and<br>pump duty.<br>The CPU quickly spikes to nearly 100°, and the coolant temperature also<br>increases consistently. After a couple of minutes, the coolant was at 45°, and<br>then 55°.<br>It wasn&rsquo;t obvious to me, but it turns out that this indicates two things: (1)<br>the dissipation block is well attached to the CPU and there&rsquo;s good thermal<br>conductivity, and (2) the radiator block can&rsquo;t cool coolant fast enough. I.e.:<br>don&rsquo;t even bother checking thermal paste, it&rsquo;s fine and it&rsquo;s not the issue.<br>I also discovered that, while fan speed is auto-regulated, the coolant pump<br>always runs at a fixed speed unless told otherwise. I set the pump to run at<br>100% with liquidctl -m NZXT set pump speed 100, but that yielded no change<br>whatsoever.<br>I used turbostat --show PkgWatt,PkgTmp --interval 5 to monitor power<br>consumption. Within minutes, power usage drops to under 50% as temperature goes<br>up, indicating massive thermal throttling.<br>Cooling a radiator[permalink]

Without finding any useful insight online and lacking a clear direction, I threw<br>all the data I had to an LLM and requested suggestions. The first suggestions<br>was to flip fan direction: pull fresh air from outside through the radiator and<br>into the case. This didn&rsquo;t sound right to me; the air would be warmed by the<br>radiator and then flow into the case.<br>I discussed the topic with my dad for about an hour, and I gradually became<br>convinced of the suggestion, despite him not being aligned: The CPU dissipates<br>into the coolant block, so hotter air doesn&rsquo;t affect it as much as warm coolant.<br>The priority is cooling the radiator, not the air inside . Pushing air inside<br>the case also increases pressure, forcing continuous air flow. And the air from<br>the radiator won&rsquo;t be any hotter than the coolant (e.g.: 30–40°), so still much<br>cooler than the CPU itself.<br>I dismantled the case and changed the direction of the fans.<br>The results were extremely impressive.<br>As I ran the initial tests, it was immediately obvious that the fans weren&rsquo;t as<br>loud during a stress test. This might have simply been due to airflow direction,<br>but checking the PkgWatt,PkgTmp parameters as before indicates insignificant<br>thermal throttling, although the CPU temperature was still near 100°.<br>I maxed the pump speed with liquidctl -m NZXT set pump speed 100, and this<br>time there was a very obvious effect. CPU and coolant temperature both remained<br>much lower (the CPU not even reaching 90° any more). The limiting factor was no<br>longer the radiator, and increasing pump duty now does have an effect.<br>I dislike the idea of running the pump at 100% permanently, so did some extra<br>stress tests with various values, and found a set of values that keep pump duty<br>low while avoiding ever going near 90°:<br>liquidctl -m NZXT set pump speed 20 30 28 60 33 100

These are pairs of values:<br>When the coolant is 20° run at 30%.<br>When it&rsquo;s at 28° run at 60%.<br>When it reaches 33° run at 100%.<br>These values are converted into a linear series, so 30° is some value between<br>60% and 100%.<br>liquidctl doesn&rsquo;t run in the background: it configures the pump to react to<br>these values and quits. Ideally, the pump would be adjusted based on CPU<br>temperature too, but that would require implementing some (not very complicated)<br>code. I might do this eventually. Honestly, these values might need review. A<br>hot summer day when it&rsquo;s 33° might affect force the pump to run higher than<br>necessary, but that&rsquo;s only twice or thrice a year here in the Netherlands<br>anyway.<br>The values sent to the pump by liquidctl are lost when the system is power<br>cycled, the pump returning to its default 30% afterwards. I configured a system<br>service that runs that command again at start-up.<br>Conclusion[permalink]

I&rsquo;m delighted with the...

rsquo pump radiator coolant temperature case

Related Articles