Skip to content

A simplified steady-state heat-sink model: a single heat pipe (treated as a high-conductivity rod) with circular fins and room-temperature air. Derived coupled PDEs with convective BCs, solved via finite differences. Programmed in MATLAB.

Notifications You must be signed in to change notification settings

hmonkey17/heatsinkmodel

Repository files navigation

A heat transfer model of a simplified CPU heat sink

This project is about a simplified, mathematically explicit model to predict the steady-state temperature distribution on a heat-pipe-based CPU heat sink. The goal is to create a simple and reproducible model that can be used to analyze the thermal performance of different heat sink designs.

A system of partial differential equations (PDEs) is developed and then solved using the finite difference method in MATLAB.

Model overview

The model simplifies a complex heat sink into a single vertical heat pipe with multiple equally-spaced, circular fins. We analyze the system at thermal equilibrium to determine the final temperature distribution when the CPU is under a constant load.

Heat sink

Key assumptions

  1. Simplified Geometry: The system consists of a single heat pipe and multiple circular fins.
  2. 1D Heat Pipe: The heat pipe is treated as a 1D rod with very high thermal conductivity. Temperature is assumed to be uniform across any cross-section.
  3. Radial Fin Temperature: Temperature on a fin is assumed to be only a function of its radius r.
  4. Forced Convection: Heat is dissipated from the pipe and fin surfaces to the surrounding air via forced convection, governed by Newton's law of cooling. The ambient air temperature $T_{\infty}$ is constant.
  5. No Radiation: Heat transfer via thermal radiation is ignored to maintain a linear model.

Mathematical Formulation

Please see the report.

Numerical Solution

To find the steady-state solution, we set the time derivatives $\frac{\partial}{\partial t}$ to zero. The system of PDEs is discretized spatially using a central finite difference scheme. This transforms the boundary value problem into a large, sparse system of linear equations of the form Ax = b, where x is a vector containing the temperatures at every grid point. The SolveHeatSink.m function builds the sparse matrix A and vector b according to the discretized equations and boundary conditions. The system is then efficiently solved in MATLAB using the backslash operator (A\b).

Code structure

The project consists of several MATLAB files:

  • main.m: The main entry point for running simulations. This script is divided into sections for different analyses: a single run, model verification, and answering design questions.
  • SolveHeatSink.m: The core solver function. It takes a dictionary of parameters, constructs the sparse linear system Ax = b, and returns the solution vector x.
  • idx_A.m: A helper function that calculates the correct column index in the sparse matrix A for any given grid point on the heat pipe or fins.
  • default_params.m / default_params_real.m: These functions create and return a containers.Map object containing the default physical and numerical parameters of the heat sink model.
  • plot_pipe.m / plot_fin.m: These functions visualize the temperature distributions from the solution vector.

About

A simplified steady-state heat-sink model: a single heat pipe (treated as a high-conductivity rod) with circular fins and room-temperature air. Derived coupled PDEs with convective BCs, solved via finite differences. Programmed in MATLAB.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages