Project

Simulation of Flat Plate Heat Sink

Detailed Objectives and Motivation

Flat plate heats sinks are most common cooling solution for low to medium heat dissipating electronic equipment. Its ease in manufacturing attracts diverse range of material selection with required thermal properties. Selection of material is not the only part and parcel in manufacturing the efficient product. Like every product, its design has huge impact on its performance.

The overall efficiency of a heat sink is determined by the thermal resistance it offers. Less the thermal resistance, better the product. While conducting heat to the dissipating medium, the fins have a big role to play. It is responsible for transferring heat from the base to the sink medium, in most of the case its air.

The main objective of the project is to develop a Conjugated Heat Transfer simulation model for Flat Plate Heat Sink, and calculate thermal resistance for the same.

For achieving the goal OpenFOAM package for computation, Salome, FreeCAD, MeshLAB for geometry design has been used.



Geometry

Flat Plate Heat Sink has been modelled as 3 separate entities, Fins, Heater and Fluid. The dimensions and boundary names of which are described below.



Building the Case in OpenFOAM

The physical phenomenon in the working of heat sink is solid to solid conduction and solid to fluid conduction. The physics involved in the problem can be correlated with that of chtMultiRegionFoam solver in OpenFOAM library. The tutorial from chtMultiRegionFoam, heatedDuct has been used as a base case and the flat plate heat sink model has been build up on that.

  1. Meshing Using snappyHexMesh:

After having the CAD Files, the entire geometry was converted into Triangulated Surface File. The background mesh was developed for entire region to be fluid using blockMesh utility of openFOAM. The STL file of the computational domain was stored in the triSurface subdirectory in constant folder. The computations domain has 3 main regions, separated by interfaces of fluid – fin, and fin – heater. The STL file of interfaces were also stored in the triSurface subdirectory.

The snappyHexMeshDict file developed for the project is presented below: -

/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  7
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      snappyHexMeshDict;
}

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

#includeEtc "caseDicts/mesh/generation/snappyHexMeshDict.cfg"

castellatedMesh true;
snap            true;
addLayers       false;

geometry
{
    fluid
    {
        type triSurfaceMesh;
        file "fluidHeaterFins.stl";

        regions
        {
            inlet_fluid     { name inlet_fluid;     }
            outlet_fluid    { name outlet_fluid;    }
            walls_fluid     { name walls_fluid;     }
            base_fins       { name base_fins;     }
            walls_heater    { name walls_heater;     }
        }
    }


    interface_heaterToFins
    {
        type triSurfaceMesh;
        file "interface_heater.stl";
    }

    interface_fluidToFins
    {
        type triSurfaceMesh;
        file "interface_fluid.stl";
    }
    
    enclosure    // User defined region name 
    { 
        type    searchableBox;       // region defined by bounding box 
        min     (-60 -30 -100); 
        max     (60 50 100); 
    } 


};

castellatedMeshControls
{
    refinementSurfaces
    {
        fluid
        {
            level (0 0);
            regions
            {
                inlet_fluid     { level (0 0); patchInfo { type patch; } }
                outlet_fluid    { level (0 0); patchInfo { type patch; } }
                walls_fluid     { level (2 4); patchInfo { type wall; } }
                walls_heater    { level (2 2); patchInfo { type wall;  } }
                base_fins       { level (2 2); patchInfo { type wall;  } }
            }
        }

        interface_fluidToFins
        {
            level (3 4);
            faceZone interface_fluidToFins;
            cellZone fins;
            cellZoneInside insidePoint;
            insidePoint (0.01 0.001 0.001);
        }

        interface_heaterToFins
        {
            level (2 4);
            faceZone interface_heaterToFins;
            cellZone heater;
            cellZoneInside insidePoint;
            insidePoint (0.01 -10 0.01);
        }
        

    }

    nCellsBetweenLevels 1;

    refinementRegions
    {
        enclosure
        {
            mode inside;
            levels ((1.0 2));  // refinement level 2 (1.0 entry ignored)
        }
    }

    locationInMesh (1.0 10 1.0);
}

addLayersControls
{
    relativeSizes       true;
    minThickness        1;
    finalLayerThickness 1;
    expansionRatio      1;
    layers
    {}
}

// ************************************************************************* //

With the refined regions around the fins, the mesh is ready for being subdivided into regions, fins, fluid and heater. Then the mesh is scaled for conversion into millimeter.

In the constants directory, the subdirectories are created, fins, fluid and heater. Thermophysical properties for the 3 regions are stored as below:-

/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  7
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "constant/heater";
    object      thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

thermoType
{
    type            heSolidThermo;
    mixture         pureMixture;
    transport       constIso;
    thermo          hConst;
    equationOfState rhoConst;
    specie          specie;
    energy          sensibleEnthalpy;
}

mixture
{
    // heater

    specie
    {
        molWeight       50;
    }
    equationOfState
    {
        rho             1.28;
    }
    transport
    {
        kappa           80;
    }
    thermodynamics
    {
        Hf              0;
        Cp              1004;
    }
}

// ************************************************************************* //
/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  7
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "constant/fluid";
    object      thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

thermoType
{
    type            heRhoThermo;
    mixture         pureMixture;
    transport       const;
    thermo          hConst;
    equationOfState rhoConst;
    specie          specie;
    energy          sensibleEnthalpy;
}

mixture
{
    // Air

    specie
    {
        nMoles      1;
        molWeight   28.9;       // [g/mol]
    }
    equationOfState
    {
        rho             1.196;
    }
    thermodynamics
    {
        Cp          1005;       // [J/kg/K]
        Hf          0;
    }
    transport
    {
        mu          1.8e-05;    // [kg/m/s]
        Pr          0.7;
    }
}

// ************************************************************************* //
/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  7
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "constant/metal";
    object      thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

thermoType
{
    type            heSolidThermo;
    mixture         pureMixture;
    transport       constIso;
    thermo          hConst;
    equationOfState rhoConst;
    specie          specie;
    energy          sensibleEnthalpy;
}

mixture
{
    // Aluminium

    specie
    {
        molWeight       27;
    }
    equationOfState
    {
        rho             2700;
    }
    transport
    {
        kappa           200;
    }
    thermodynamics
    {
        Hf              0;
        Cp              900;
    }
}

// ************************************************************************* //

Heat source in the file fvOptions is created in the heater subdirectory, with the duration more that that of simulation time to simulate constant heat generation of 171.46W.

Boundary and Initial Conditions

Fins: -

The fins has been attributed 0 pressure in the entire domain. The base of the fins has been attributed no Temperature gradient. For the interface region of fluid and heater, the mixed boundary condition, for heat-transfer on both side of interface is applied.

Fluid:-

Outlet of the duct has fixed pressure value of 0 hydrostatic pressure.

The initial internal field temperature of 296.9 K is set. Walls of the fluid is subjected to zero gradient in temperature field. Outlet of the duct has been subjected to inletOutlet boundary condition to stop the influence of backward flow. The interface region with the fin is again applied the mixed boundary condition for heat transfer on both the sides.

Inlet of the fluid is subjected to fixed value of 5.6 m/s and outlet is prescribed to pressureInletOutletVelocity boundary condition, so that is the fluid flow is out of the domain. Fluid to fins region is prescribed no slip boundary condition.



Heater: -

Walls of the heater has been given zero gradient as no heat transfer is supposed to happen. The interface of heater and fins has again been given mixed boundary condition for allowed heat transfer on both sides.

The internal field of heater has been prescribed 0 as the initial calculation.



Code Structure



For Fluid region following equations are solved: -

  1. Mass Conservation

  2. Momentum Conservation

  3. Energy Conservation

  4. Pressure Equation

For Solid region energy equation has been solved.

Coupling between solid and fluid region is only based on transferring the temperature values from interface. Gravity as no role to play in the present study.



Mesh Refinement Study

Though mesh is being refined using the snappyHexMesh application but that refinement is relative to the background mesh. The background mesh has been computed using the blockMesh application in openFOAM. In the present study, mesh refinement has been approached via blockMesh application. There are 3 physical directions in which the mesh as been changed. Along the flow of fluid, across the flow of fluid and along the flow of heat. All three directions possess its importance.

Below plot presents the variation of maximum temperature on the fin as we change the no. of cells in the domain.

Based on the study above it can be seen that apart from much coarser mesh, rest all has same performance with some appreciable difference. So, the mesh with cell no. of 6129352 is chosen for further study.

Result

Computing the above model, we get thermal profile of fluid and fin regions.

Temperature profile of the fin

Thermal Resistance Calculation

Rate of difference in the temperature at the interface region of heater and sink and that of ambient air with power is used for calculating the thermal resistance.

Thermal Resistivity = (Temperature at the heater fin interface – Temperature in the ambient)/Power [K/W]




Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.