# Cooling Channel - CFD Simulation

Source: https://help.sim-flow.com/tutorials/cooling-channel
Last updated: 2026-10-14

![front-image](https://help.sim-flow.com/tutorials/images/cooling-channel.png)

## 1. Introduction

In this tutorial, you’ll take on the challenge of solving a 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 multi-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](https://sim-flow.com/download/cfd-simulation-software/)

To follow this tutorial, you will need the SimFlow free version. You may download it via the following link:
[Download SimFlow](https://sim-flow.com/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

![simflow-launcher](https://help.sim-flow.com/tutorials/images/launcher-cooling_channel.png)

## 4. Import Geometry

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

Download Geometries[Plate](https://help.sim-flow.com/tutorials/downloads/cooling-channel/plate.stl)[Pipe](https://help.sim-flow.com/tutorials/downloads/cooling-channel/pipe.stl)[Heater](https://help.sim-flow.com/tutorials/downloads/cooling-channel/heater.stl)

1. Click **Import Geometry**
2. Select all files *plate.stl* *pipe.stl* *heater.stl*
3. Click **Open**

![cp 02 import geometry](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-02-import-geometry.png)

## 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 the *Geometry size* label. In our case, the default unit **meter** is correct.

1. Click **OK** button

![cp 03 unit](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-03-unit.png)

## 6. Geometry - Plate and Pipe

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

1. Click **Fit View** to fit geometry in the view

![cp 04 geometry](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-04-geometry.png)

## 7. Creating Face Group - Inlet

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*. A *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 the `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.
   A new face group will be added to the current geometry
3. Press `Esc` key to clear the selection

![cp 05 inlet](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-05-inlet.png)

## 8. Creating Face Group - Outlet

Now, rotate the view in a way that 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](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-06-outlet.png)

## 9. Rename Face Groups

In the *Geometry Panel*, we can find three *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 group names accordingly (double-click on a group name to start editing)
   *group_1* \(\rightarrow\) `inlet`
   *group_2* \(\rightarrow\) `outlet`

![cp 07 face group name](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-07-face-group-name.png)

## 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 the `Ctrl` key, click on the plate face
2. Click *Change object display properties*

![cp 08 opacity](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-08-opacity.png)

## 11. View Geometries II

1. Reduce the opacity to *60%* and confirm with **OK** button

![cp 09 opacity2](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-09-opacity2.png)

## 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 the 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](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-10-hex-meshing-heater.png)

## 13. Meshing Properties - Pipe and Plate

Near the pipe surface, we will also 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](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-11-hex-meshing-pipe-plate.png)

## 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
   *Division*`52``58``16`

![cp 12 base mesh](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-12-base-mesh.png)

## 15. Material Point

Typically, we use only the default material point to create a mesh inside a 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. The solid region will be used for the heat transfer in the 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
   `fluid`
   `plate`
5. Set the location of the material points
   *fluid*`0``0.01``0`
   *plate*`0.02``0.01``0`

![cp 13 material point](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-13-material-point.png)

## 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 SimFlow Free Plan, you are limited to one CPU (serial meshing), and meshes exceeding 200,000 nodes cannot be created.

If you would like to test the full version, [Request 30-day Trial](https://license.sim-flow.com/trial)

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

![cp 14 meshing](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-14-meshing.png)

## 17. Mesh

After the meshing process is finished, the mesh should appear on the screen. At the beginning, 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](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-15-mesh.png)

## 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 the place where two cell zones are connected.

Please note that 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](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-16-cell-zones-to-regions.png)

## 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 the 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](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-17-delete-default-region.png)

## 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 the *plate* region
2. Select *Solid*
3. Validate boundary types to match the image below

![cp 18 solid region](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-18-solid-region.png)

## 21. Simulation Type

We want to analyze the heat transfer in a cooling channel. For this purpose, we will use a steady-state conjugate heat transfer simulation.

![Simulation Panel](https://help.sim-flow.com/assets/images/go-to-simulation-panel@2x.png)

![Step 1](https://help.sim-flow.com/assets/images/solvers-selection/chtMultiRegionSimpleFoam/01_heat_transfer@2x.png)

![Step 2](https://help.sim-flow.com/assets/images/solvers-selection/chtMultiRegionSimpleFoam/02_cht@2x.png)

![Step 3](https://help.sim-flow.com/assets/images/solvers-selection/chtMultiRegionSimpleFoam/03_steady-state@2x.png)

![Step 4](https://help.sim-flow.com/assets/images/solvers-selection/chtMultiRegionSimpleFoam/04_apply@2x.png)

## 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](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-20-radiation.png)

## 23. Thermophysical Properties - Fluid

To assign specific materials for regions, we will use the built-in database of material properties. We assume that water, an 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 a 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](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-21-thermo-fluid.png)

## 24. Thermophysical Properties - Water

1. Scroll down to find *water*
2. Click **Apply**

![cp 22 thermo fluid2](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-22-thermo-fluid2.png)

## 25. Thermophysical Properties - Solid

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

1. Select *solid* region
2. Click **Material Database** button
3. Mark *aluminium*
4. Click **Apply**

![cp 23 thermo solid](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-23-thermo-solid.png)

## 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](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-24-bc-inlet-flow.png)

## 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](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-25-bc-pipe.png)

## 28. Boundary Conditions - Heater

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

1. Select *plate_heater* boundary
2. Set the following thermal parameters accordingly
   *Type*`Power`
   *Q \({\sf [W]}\)*`500`

![cp 26 bc heater](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-26-bc-heater.png)

## 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 to 5.

1. Select *plate_plate* boundary
2. 3Set the thermal parameters accordingly
   *Type*`Wall Heat Transfer`
   *h \({\sf [W/m^2 \cdot K]}\)*`5`

![cp 27 bc plate](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-27-bc-plate.png)

## 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 *Number of Iterations* to `1000`

![cp 28 run](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-28-run.png)

## 31. Run - CPU

To speed up the calculation process, take advantage of parallel computing and increase the number of CPUs based on your PC’s capability. The free version allows you to use only one processor (serial mode). To get the full version, you can use the contact form to [Request 30-day Trial](https://license.sim-flow.com/trial)

Estimated computation time for serial mode: 10 minutes

1. Switch to *CPU* tab
2. Click **Run Simulation** button

![run cpu serial](https://help.sim-flow.com/tutorials/images/run-cpu-serial.png)

## 32. Residuals

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

![cp 30 residuals](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-30-residuals.png)

## 33. Start Postprocessing with ParaView

Start ParaView software to display results.

1. Go to *Postprocessing* panel
2. Run *ParaView*

![cp 31 pv postprocessing](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-31-pv-postprocessing.png)

## 34. ParaView - Load Results

Load results into 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](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-32-paraview-load-results.png)

## 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](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-33-paraview-temperature.png)

## 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 the plane, uncheck option *Show Plane*
5. Select contour coloring variable to *T*
6. Click *Rescale to Data Range*

![cp 34 paraview temperature clip](https://help.sim-flow.com/tutorials/images/cooling-channel/cp-34-paraview-temperature-clip.png)

## 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, calculate 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 postprocessing techniques.

[Paraview CFD Tutorial - Advanced Postprocessing in ParaView](https://www.youtube.com/watch?v=5M6VgXyHB60&list=PLy7xPqn9xXckoD2gZgPpv8mrxillJ9PWU&index=21)
