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.
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.
Key assumptions
- Simplified Geometry: The system consists of a single heat pipe and multiple circular fins.
- 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.
- Radial Fin Temperature: Temperature on a fin is assumed to be only a function of its radius r.
- 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. - No Radiation: Heat transfer via thermal radiation is ignored to maintain a linear model.
Please see the report.
To find the steady-state solution, we set the time derivatives 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).
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 systemAx = b, and returns the solution vectorx.idx_A.m: A helper function that calculates the correct column index in the sparse matrixAfor any given grid point on the heat pipe or fins.default_params.m/default_params_real.m: These functions create and return acontainers.Mapobject 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.
