Back to all tutorials

Cooling Channel - CFD Simulation SimFlow Tutorial


1. Introduction

In this tutorial, you’ll take on the challenge of solving the conjugate heat transfer problem. We will explore a scenario in which a plate is exposed to heat from equipment located on the top surface. This topic has numerous applications where analyzing the circulation of fluids is essential for efficient heat dissipation.

Throughout this tutorial, you will acquire expertise in the following areas:

  • Creating a multi-zone mesh.
    Typically, a mesh region can only be created inside a single closed fluid volume. However, thanks to mutli-zone meshing, you can create a mesh inside fluid volumes separated by a wall. As a result, the final mesh will consist of a single mesh region and multiple cell zones indicating separated volumes. Finally, having multiple cell zones, you will convert cell zones into separate CHT mesh regions.
  • Modeling heat transfer between solid and fluid regions, taking into account the resistance of thin layers between them.
  • Simulating the transfer of heat from the plate walls to the surrounding environment.

2. Download SimFlow

SimFlow is a general purpose CFD Software

To follow this tutorial, you will need SimFlow free version, you may download it via the following link:
Download SimFlow

3. Create Case

Open SimFlow and create a new case named cooling channel

  1. Click New
  2. Provide name cooling channel
  3. Click Create to open a new case

4. Import Geometry

In the following tutorial, we will use the geometry that has been already created and consits of multiple parts. We will import all parts to the SimFlow.

Download GeometriesPlatePipeHeater

  1. Click Import Geometry
  2. Select all files plate.stl pipe.stl heater.stl
  3. Click Open
cp 02 import geometry

5. Imported Geometry Units

The STL format does not contain the unit information which is defined during the geometry export. If we do not know the exported unit, we can estimate it based on the total size of the model. It is displayed next to Geometry size label. In our case, the default unit meter is correct.

  1. Click OK button
cp 03 unit

6. Geometry - Plate and Pipe

After importing geometry, it will appear in the 3D window.

  1. Click Fit View to fit geometry in the view
cp 04 geometry

7. Creating Face Group - Inlet 1

In this simulation, we are dealing with an internal flow problem. The imported geometry determines the bounds of the domains. To inform the program where the boundaries of the inlet and outlet mesh should be created, we will use the Face Groups. Face Group is a set of faces that should be distinguished within a geometry. When the geometry containing the face group is used for meshing, an additional boundary is created. The boundary represents the respective face group and inherits its name.

  1. Select the inlet face by holding CTRL key and clicking on the geometry face in a 3D view. The selection should be marked in red
  2. Click on the Create face group from selection button in the graphics context toolbar.
    New face group will be added to the current geometry
  3. Press Esc key to clear the selection
cp 05 inlet

8. Creating Face Group - Outlet

Now, rotate the view in a way you will be able to see the second end of the pipe.

  1. Select the outlet face. Press CTRL key and click on the face
  2. Click on the Create face group from selection button in the context toolbar
cp 06 outlet

9. Rename Face Groups

In the Geometry Panel we can find four Face Groups under the pipe geometry. The first group, named default, contains all non-selected surfaces. These surfaces will become the walls of the pipe. The two additional groups represent the inlet and the outlet of the fluid domain. We will rename these groups to make the resulting boundary names more readable.

  1. Select pipe geometry
  2. Expand Geometry Faces
  3. Change face groups names accordingly (double-click on a group name to start editing)
    group_1 \(\rightarrow\) inlet1
    group_2 \(\rightarrow\) outlet
cp 07 face group name

10. View Geometries I

The geometry is ready to be meshed. Set the transparency of the plate geometry to see the pipe inside.

  1. Select plate geometry from the list or holding Ctrl key click on the plate face
  2. Click Change object display properties
cp 08 opacity

11. View Geometries II

  1. Reduce the opacity to 60% and confirm with OK button
cp 09 opacity2

12. Meshing Properties - Heater

Once the geometry is prepared, we can move to the geometry surface mesh properties. To better resolve the heat transfer from the heater, we will increase mesh resolution in this area.

  1. Go to Hex Meshing panel
  2. Select heater geometry
  3. Enable Meshing Geometry
  4. Set the minimum and maximum refinement level
    Refinement Min 1 Max 1
cp 10 hex meshing heater

13. Meshing Properties - Pipe and Plate

Near the pipe surface, also we will refine the mesh to better resolve the coolant flow. We will apply the same settings as before.

We will also enable meshing for the plate geometry in this step.

  1. Select pipe geometry
  2. Enable Meshing Geometry
  3. Set the minimum and maximum refinement level
    Refinement Min 1 Max 1
  4. Enable Meshing Geometry for the plate geometry
cp 11 hex meshing pipe plate

14. Base Mesh

Now, we need to define the base mesh. The box geometry determines the domain’s background mesh. The base mesh encompasses both fluid and solid regions.

  1. Go to Base tab
  2. Press Autosize button
    (make sure that all geometries are visible — the Autosize adjusts the base mesh only to the visible geometry)
  3. Define the number of divisions
cp 12 base mesh

15. Material Point

Typically, we use only the default material point to create a mesh inside defined fluid volume. In this tutorial, we will take advantage of the Multi-Zone Mesh option instead. Using two material points, we will identify two separate regions in which the mesh will be created. Solid region will be used for the heat transfer in plate geometry, while in the fluid region we will simulate the fluid flow inside the pipe.

  1. Go to Point tab
  2. Check Multi_Zone Mesh option
  3. Add new Material Point
  4. Rename the material points to
  5. Set location of the material points
cp 13 material point

16. Meshing

In this step, we will initiate the meshing process.

The meshing process can be executed in parallel, offering a substantial reduction in mesh generation time. When running in parallel, you have the flexibility to choose the number of CPUs utilized, depending on your PC’s capabilities. Please be aware that if you are using the free version of SimFlow, you are limited to employing only 2 CPUs, and meshes exceeding 200'000 nodes cannot be created.

If you would like to test full version Request 30-day Trial

  1. Switch to Mesh tab
  2. Start the meshing process with Mesh button
cp 14 meshing

17. Mesh

After the meshing process is finished, the mesh should appear on the screen. At the begging you will see the mesh in light blue color. All the cell zones overlap the mesh, and thus we only see the cell zones. To hide cell zones and display mesh boundaries, follow these steps:

  1. Expand Graphic Object List
  2. Click on the eye next to Cell zones
cp 15 mesh

18. Create Sub-Regions

The result of multi-zone meshing is a single mesh region with multiple cell zones. At this stage, the plate and fluid volumes are connected. The boundaries separating the fluid and solid volumes are no longer present in the mesh. We can recreate them by converting the cell zones into separate mesh sub-regions. After this operation, new boundaries will appear in place where two cell zones are connected.

Please, note, when we use the Cell Zones to Regions option, the new boundaries between cell zones will be automatically coupled to each other. The coupling between boundaries localized in two different regions represents the interface that allows the heat transfer between them.

To convert cell zones to regions, you need to:

  1. Expand Options for the default mesh region
  2. Select Cell Zones to Regions option
cp 16 cell zones to regions

19. Remove Default Region

New regions appeared under the default mesh region - fluid and plate. Currently, the mesh is duplicated, and we can see both original mesh and the new regions. Now, we need to remove the old mesh (default region).

  1. Expand Options for the default mesh region
  2. Select Delete
cp 17 delete default region

20. Sub-Region - Solid

Now we will assign proper region types to indicate which region denotes fluid and solid. The default type is set as fluid which is accurate for the fluid region. However, in the case of the plate region, it is necessary to set it to solid.

Also, we need to make sure that all boundaries have the proper type. The final mesh should consist of patch types for inlet/outlet, walls for outer boundaries and the inner pipe walls interface.

  1. Expand the region types next to plate region
  2. Select Solid
  3. Validate boundary types to match in the image below
cp 18 solid region

21. Select Solver

We will perform a steady state simulation of the Conjugate Heat Transfer (CHT) problem. The family of CHT solvers will activate only if sub-region meshes exist. We will use CHT Multi Region SIMPLE (chtMultiRegionSimpleFoam) solver.

  1. Go to SETUP panel
  2. Pick CHT Multi Region SIMPLE (chtMultiRegionSimpleFoam) solver
  3. Select solver
cp 19 solver

22. Radiation

For the sake of simplicity, we will not take into account the radiation heat transfer.

  1. Go to Radiation panel
  2. Uncheck Enable Radiation option
cp 20 radiation

23. Thermophysical Properties - Fluid

To assign specific materials for regions, we will use the built-in database of material properties. We assume that water, incompressible fluid is flowing in the pipe.

  1. Go to Thermo panel
  2. Select fluid region
  3. Select Constant Density for Equation of State
  4. Open Material Database

Selecting material from the Material Database will fill all the inputs in the Transport Properties panel. We are still able to overwrite these values at any time.

cp 21 thermo fluid

24. Thermophysical Properties - Water

  1. Scroll down to find water
  2. Click Apply
cp 22 thermo fluid2

25. Thermophysical Properties - Solid

Similarly, we will now define the thermodynamic properties of a solid material. We assume that the plate is made of aluminium.

  1. Select solid region
  2. Click Material Database button
  3. Mark aluminium
  4. Click Apply
cp 23 thermo solid

26. Boundary Conditions - Inlet (Flow)

We will now define the boundary conditions of our model. First, define the inlet velocity of the water in the pipe.

  1. Go to Boundary Conditions panel
  2. Select inlet
  3. Change character to velocity inlet
  4. Define inlet velocity
    Reference Value \({\sf [m/s]}\)0.2
cp 24 bc inlet flow

27. Thermal Boundary Conditions - Pipe

The interface between the pipe and the plate is coupled enabling the transfer of heat between these two regions. It is possible to take into account the thermal resistance of the pipe, even though the pipe thickness is not represented in the mesh. To accomplish this, you only need to specify a constant thickness of the pipe and provide its thermal conductivity.

  1. Select fluid_to_plate coupling interface
  2. Switch to Thermal tab
  3. Mark Resistance (if this option is not visible, select the second interface with the same name)
  4. Set the following parameters accordingly
    \(\delta\) \({\sf [m]}\)0.002
    \(\kappa\) \({\sf [W/m \cdot K]}\)400
cp 25 bc pipe

28. Boundary Conditions - Heater

To provide heat to the aluminium plate, we will use the heater boundary and assume constant heating power 'Q'.

  1. Select plate_heater boundary
  2. Set the following thermal parameters accordingly
    Q \({\sf [W]}\)500
cp 26 bc heater

29. Boundary Conditions - Plate

To simulate the heat transfer from the plate to the environment, we will use the Wall Heat Flux boundary condition, which implements convective heat transfer. We will make the assumption that the ambient temperature is 300K, and for passive cooling, we’ll specify a heat transfer coefficient equal 5.

  1. Select plate_plate boundary
  2. 3Set the thermal parameters accordingly
    TypeWall Heat Transfer
    h \({\sf [W/m^2 \cdot K]}\)5
cp 27 bc plate

30. Run - Time Control

Finally, we can start calculations. It’s important to be aware that for the CHT solver, the maximum iteration count is the sole criterion for ending the computation. Even if the residual levels reach the desired values, the solver will continue running until the maximum iteration limit is reached.

  1. Go to RUN panel
  2. Set the maximal Numbers of Iterations to 1000
cp 28 run

31. Run - CPU

To speed up the calculation process, increase the number of CPUs depending on your PC capability. The free version allows you to use only 2 processors in parallel mode. To get the full version, you can use the contact form to Request 30-day Trial

Estimated computation time for 2 processors: 6 minutes

  1. Switch to CPU tab
  2. Use parallel mode
  3. Increase the Number of processors
  4. Click Run Simulation button
cp 29 run cpu

32. Residuals

When the calculation is finished, we should see a similar residual plot.

cp 30 residuals

33. Start Postprocessing with ParaView

Start ParaView software to display results.

  1. Go to Postprocessing panel
  2. Run ParaView
cp 31 pv postprocessing

34. ParaView - Load Results

Load results into the ParaView.

  1. Select cooling_channel.foam
  2. Click Apply to load results into ParaView
  3. After loading results, they will be shown in the 3D graphic window
cp 32 paraview load results

35. ParaView - Display Temperature Contour (I)

We will display the temperature map for the model.

  1. Click Last Frame
  2. Select contour coloring variable to T
  3. Click Rescale to Data Range
cp 33 paraview temperature

36. ParaView - Display Temperature Contour (II)

To see the temperature distribution inside the model, we will use the clip filter.

  1. Select Clip
  2. Set the clip plane along Z Normal
  3. Click Apply
  4. To hide plane uncheck option Show Plane
  5. Select contour coloring variable to T
  6. Click Rescale to Data Range
cp 34 paraview temperature clip

37. Advanced Postprocessing with ParaView

This concludes the tutorial, covering all the aspects we intended to showcase. For a finely tuned presentation of the results, you may take advantage of the more advanced features.

In ParaView, you can display streamlines, contour plots, vector fields, line or time plots, calculating volume or surface integrals and create animations.

To familiarize yourself with the ParaView capabilities, it’s worth checking out our video tutorial, Paraview CFD Tutorial - Advanced Postprocessing in ParaView, in which we demonstrate some of the most commonly used post-processing techniques.