Temperature Distribution in Heat Sink
This example shows how to create a simple 3-D heat sink geometry and analyze heat transfer on the heat sink. The process has three steps.
Create 2-D Geometry in the PDE Modeler App
Create a geometry in the PDE Modeler app. First, open the PDE Modeler app with a geometry consisting of a rectangle and 12 circles.
pderect([0 0.01 0 0.008]) for i = 0.002:0.002:0.008 for j = 0.002:0.002:0.006 pdecirc(i,j,0.0005) end end
Adjust the axes limits by selecting Options > Axes Limits. Select Auto to use automatic scaling for both axes.
Export the geometry description matrix, set formula, and name-space matrix into the MATLAB® workspace by selecting Draw > Export Geometry Description, Set Formula, Labels. This data lets you reconstruct the geometry in the workspace.
Extrude 2-D Geometry into 3-D Geometry of Heat Sink
In the MATLAB Command Window, use the decsg
function to decompose
the exported geometry into minimal regions. Plot the result.
g = decsg(gd,sf,ns); pdegplot(g,'FaceLabels','on')
Create a thermal model for transient analysis.
model = createpde('thermal','transient');
Create a 2-D geometry from decomposed geometry matrix and assign the geometry to the thermal model.
g = geometryFromEdges(model,g);
Extrude the 2-D geometry along the z-axis by 0.0005 units.
g = extrude(g,0.0005);
Plot the extruded geometry so that you can see the face labels on the top.
figure pdegplot(g,'FaceLabels','on') view([0 90])
Extrude the circular faces (faces with IDs from 15 to 26) along the z-axis by 0.005 more units. These faces form the fins of the heat sink.
g = extrude(g,[15:26],0.005);
Assign the modified geometry to the thermal model and plot the geometry.
model.Geometry = g; figure pdegplot(g)

Perform Thermal Analysis
Assuming that the heat sink is made of copper, specify the thermal conductivity, mass density, and specific heat.
thermalProperties(model,'ThermalConductivity',400, ... 'MassDensity',8960, ... 'SpecificHeat',386);
Specify the Stefan-Boltzmann constant.
model.StefanBoltzmannConstant = 5.670367e-8;
Apply temperature boundary condition on the bottom surface of the heat sink, which consists of 13 faces.
thermalBC(model,'Face',1:13,'Temperature',1000);
Specify the convection and radiation parameters on all other surfaces of the heat sink.
thermalBC(model,'Face',14:g.NumFaces, ... 'ConvectionCoefficient',5, ... 'AmbientTemperature',300, ... 'Emissivity',0.8);
Set the initial temperature of all the surfaces to the ambient temperature.
thermalIC(model,300);
Generate a mesh.
generateMesh(model);
Solve the transient thermal problem for times between 0 and 0.0075 seconds with a time step of 0.0025 seconds.
results = solve(model,0:0.0025:0.0075);
Plot the temperature distribution for each time step.
for i = 1:length(results.SolutionTimes) figure pdeplot3D(model,'ColorMapData',results.Temperature(:,i)) title({['Time = ' num2str(results.SolutionTimes(i)) 's']}) end