## 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```    ## Support Get trial now