Back to all tutorials

Heat Exchanger - CFD Simulation SimFlow Tutorial

front-image

1. Introduction

In this tutorial, we will be simulating the transfer of heat between a hot and cold region in a heat exchanger. We’ll be analyzing two separate flows through the exchanger, each with different parameters. The exchanger wall will be modeled as a single boundary, and we’ll be using thermal resistance to replicate heat conduction through the solid. Heat will be transferred from the hot region to the cold one without fluid mixing. To visualize the results, we’ll be using ParaView.

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

Postprocessing for multi-region simulations requires a newer version of the ParaView. For the purpose of this tutorial, we used ParaView 5.9.0. You can download the newest version of ParaView Download ParaView 5.9.0.
To upgrade ParaView and use it with SimFlow, follow these instructions.

Open SimFlow and create a new case named heat_exchanger

  1. Go to New panel
  2. Provide name heat_exchanger
  3. Click Create Case button
image

4. Import Geometry - Heat Exchanger

Firstly we need to Download GeometriesBafflesExchangerPipes

  1. Click Import Geometry
  2. Select geometry files: baffles.stl exchanger.stl pipes.stl
  3. Click Open
image

5. Imported Geometry Units

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

  1. To confirm default unit meter, press OK
he 02 unit

6. Geometry - Heat Exchanger

After importing geometry, it will appear in the 3D window. We will make the exchanger geometry transparent to see the interior of the heat exchanger.

  1. Click Fit View to zoom the geometry
  2. Hold the CTRL key and click exchanger wall
  3. Select Display Properties
image

7. Change Opacity - Heat Exchanger

  1. Select Opacity tab
  2. Adjust opacity to 40%
  3. Click OK to apply
image

8. Extract Geometry – Exchanger(I)

To reveal edges, we will use Extract Features operation. These edges will indicate additional mesh refinement regions.

  1. Extend Options list next to the exchanger geometry
  2. Select Extract Features
image

9. Extract Geometry – Exchanger(II)

  1. Select Extract
image

10. Extract Geometry – Pipes (I)

Repeat extract operation for the pipes

  1. Extend Options list next to the pipes geometry
  2. Select Extract Features
image

11. Extract Geometry – Pipes (II)

  1. Select Extract
image

12. Create Face Groups (I)

We need to distinguish surfaces that will be used as the mesh boundaries (both external and internal). We will do it in the 3D graphical panel.

  1. Select first inlet face
    (hold Ctrl and left-click on the geometry face)
  2. Click Geometry Faces next to exchanger
  3. Click Create New Face Group
  4. Click Create Group From 3D Selection
  5. Rename group_1 to hot_inlet
    (double click on the group to rename, press Enter to confirm)
  6. Click Clear Selection to deselect faces
    (use before creating new selection within the same geometry)
image

13. Create Face Groups (II)

We will repeat the previous operations for the remaining inlets and outlets. The final face groups list for exchanger should look like below:

  1. hot_inlet (darak red)
  2. hot_outlet (light red)
  3. cold_inlet (dark blue)
  4. cold_outlet (light blue)

    To create face groups for pipes geometry, hide the exchanger geometry first. Then create two face groups like below:
  5. inlet_baffle (yellow)
  6. outlet_baffle (green)
Tip #1 To select a single face, first exit selection by clicking Esc
Tip #2 To hide exchanger geometry, click the STL icon to the left of its name
image

14. CHT Mesh

Since we are going to perform CHT (Conjugate Heat Transfer) simulation, we need to create the mesh per each fluid and solid sub-domain.

In the typical heat exchanger, we would have three regions: hot fluid region, cold fluid region, and solid region representing pipes and baffles.

In this tutorial, we will use the alternative approach, in which we will skip the solid region and represent it by infinitely thin walls. The influence of walls on heat transfer between fluids will be modeled using Thermal Resistance . Therefore, we will need to mesh only two fluid regions: hot and cold fluid regions.

15. Hot Fluid Mesh - Meshing Parameter - Exchanger

Hot fluid region

We will start meshing from the hot fluid region.

  1. Go to Hex Meshing panel
  2. Make sure that all geometries are visible
    (you can unhide the geometry by clicking the icon next to the geometry name)
  3. Select exchanger geometry
  4. Enable Mesh Geometry
  5. Set Refinement to Min 0 Max 1
image

16. Hot Fluid Mesh - Meshing Parameter - Pipes

  1. Select pipes geometry
  2. Enable Mesh Geometry
  3. Set Refinement to Min 1 Max 1
image

17. Base Mesh

We need to define the base mesh. The box geometry determines the background mesh domain. It encloses both fluid regions – hot and cold.

  1. Go to Base tab
  2. Press Autosize button
    (make sure that all geometries are visible – autosize option adjust the base mesh only to the visible geometry)
  3. Define the number of divisions
    Division372591
image

18. Hot Fluid Mesh - Material Point

In order to create the mesh in the hot fluid region, we will place the material point inside the hot fluid sub-domain. The resulting mesh will remain only in this region.

  1. Go to Point tab
  2. Specify location inside the hot fluid region
    Material Point00-0.1

You can specify the point location from the 3D view. Hold the Ctrl key and drag the arrows to the destination.

image

19. Hot Fluid Mesh - Start Meshing

Now, it’s time to create the mesh of the hot fluid region.

  1. Go to Mesh tab
  2. Start the meshing process with Mesh button
image

20. Hot Fluid Mesh

When the meshing process is finished, the hot fluid region mesh appears on the screen.

image

21. Hot Fluid Mesh - Create Sub-region

For the CHT simulations, we need to mark each of the mesh regions as sub-domains. The sub-domains represent a partial mesh that will not be overwritten by meshing operations that use the default region as a target.

  1. Expand the Options list next to the default region
  2. Select Make sub-region
  3. Enter Region Name to hot
  4. Press OK
image

22. Cold Fluid Mesh - Meshing Parameter - Baffles

Cold fluid region

Now we can mesh the second region – the cold fluid region. We will use already defined geometry parameters for exchanger and pipes. We just need to add baffles to be included in the mesh.

  1. Go to the Hex Meshing panel
  2. Go to the Geometry tab
  3. Select baffles
  4. Enable Mesh Geometry
  5. Set Refinement to Min 0 Max 1
  6. Turn on Create Baffle
image

23. Cold Fluid Mesh - Material Point

We need to move the material point to be positioned inside the cold fluid region.

  1. Go to Point tab
  2. Specify location inside the hot fluid region
    Material Point000.1
image

24. Cold Fluid Mesh - Start Meshing

Now, it’s time to create the mesh of the cold fluid region. Please note that the resulting mesh will be automatically assigned to the default region and will exist next to the previously created hot fluid mesh.

  1. Go to Mesh tab
  2. Start the meshing process with Mesh button
image

25. Mesh

The complete mesh should look like in the picture below.

image

26. Cold Fluid Mesh - Create Sub-region

Move the default region into the cold fluid region. The CHT simulation can only use the sub-region meshes.

  1. Go to MESH panel
  2. Expand the Options list next to the default region
  3. Select Make sub-region
  4. Enter Region Name to cold
  5. Press OK
image

27. Create Mesh Interface (I)

In the previous steps we have created the mesh for hot and cold fluid regions. At the moment they are treated separately, so the information on the flow cannot be exchanged between them. It’s time to create the interface (coupling) between both fluid regions. Later, we will define boundary conditions which will describe the way we want to exchange information between hot and cold fluid region.

  1. Select the pipes in cold fluid region and the pipes in hot fluid region
    (hold CTRL key and select both boundaries)
  2. Press Create Region Interface
image

28. Create Mesh Interface (II)

  1. Repeat previous steps for pipes_inlet_baffle and pipes_outlet_baffle couple. Check the interfaces list
    pipes in cold \(\leftrightarrow\) pipes in hot
    pipes_inlet_baffle in cold \(\leftrightarrow\) pipes_inlet_baffle in hot
    pipes_outlet_baffle in cold \(\leftrightarrow\) pipes_outlet_baffle in hot
    +
  2. Adjust the remaining boundaries types
    baffles wall
    baffles_slave wall
    exchanger _in cold _wall
    exchanger_cold_inlet patch
    exchanger_cold_outlet patch
    exchanger _in hot _wall

    exchanger_hot_inlet patch
    exchanger_hot_outlet patch
image

29. Select Solver

For the calculations, we will use a steady-state conjugate heat transfer solver CHT Multi Region SIMPLE (chtMultiRegionSimpleFoam). The family of CHT solvers will activate only if sub-region meshes exist.

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

30. Radiation

We will disable radiation for our simulation.

  1. Go to Radiation panel
  2. Uncheck Enable Radiation option
image

31. Thermo - Fluid Properties - Hot Region

Now we need to define fluid properties. We will assume that working fluid for hot and cold regions is water.

  1. Go to Thermo panel
  2. Select hot region
  3. Select Constant Density for Equation of State
  4. Open Material Database
  5. Scroll down to find Water
  6. Click Apply
image

32. Thermo - Fluid Properties - Cold Region

  1. Select cold region
  2. Select Constant Density for Equation of State
  3. Open Material Database
  4. Scroll down to find Water
  5. Click Apply
image

33. Operating Conditions

We will turn off the gravity acceleration and set the reference pressure.

  1. Go to Operating Conditions panel
  2. Set non Gravity Acceleration
    g \({\sf [m/s^2]}\)000
image

34. Boundary Conditions - Exchanger Cold Inlet - Flow

We will leave the default conditions for the baffles and heat exchanger external surfaces – adiabatic (isolated) walls. Now, we will define the inlets and outlets parameters for hot and cold regions.

  1. Go to Boundary Conditions panel
  2. Select exchanger_cold_inlet boundary
  3. Set the Velocity Inlet character
  4. Set the inlet velocity
    U Reference Value \({\sf [m/s]}\)0.01
image

35. Boundary Conditions - Exchanger Cold Inlet - Thermal

  1. Go to Thermal tab
  2. Set the type and value
    T Type Fixed Value
    T \(T_0\) \({\sf [K]}\)283
image

36. Boundary Conditions - Exchanger Cold Outlet

  1. Select exchanger_cold_outlet
  2. Switch to Thermal tab
  3. Set the Type to Zero Gradient
image

37. Boundary Conditions - Exchanger Hot Inlet - Flow

  1. Select exchanger_hot_inlet boundary
  2. Set the Velocity Inlet character
  3. Switch to Flow tab
  4. Set the inlet velocity
    U Reference Value \({\sf [m/s]}\)0.02
image

38. Boundary Conditions - Exchanger Hot Inlet - Thermal

  1. Go to Thermal tab
  2. Set the type and value
    T Type Fixed Value
    T \(T_0\) \({\sf [K]}\)383
image

39. Boundary Conditions - Exchanger Hot Outlet

  1. Select exchanger_hot_outlet
  2. Switch to Thermal tab
  3. Set the Type to Zero Gradient
image

40. Boundary Conditions - Interfaces (I)

Now we need to define how hot and cold fluid exchange information between each other. At the beginning of this tutorial, we mentioned we will not model solid walls between two fluid regions. Instead, we will use thermal resistance to replicate heat conduction through the solid.

In the Boundaries list pipes, pipes_inlet_baffle, pipes_outlet_baffle occur twice, as boundaries with the same names exist in both hot and cold regions. Thermal resistance parameters will be displayed only on one from the pair.

41. Boundary Conditions - Pipes - Thermal

We will apply the same settings for other interfaces under hot region: pipe , pipes_inlet_baffle and pipes_outlet_baffle boundaries.

  1. Select pipes (hot region)
  2. Go to Thermal tab
  3. Check the Resistance
  4. Set the thickness of the wall and thermal conductivity
    T \(\sigma\) \({\sf [m]}\)5e-03
    T \(\kappa\) \({\sf [W/m \cdot K]}\)385
image

42. Boundary Conditions - Pipes Inlet Baffle - Thermal

  1. Select pipes_inlet_baffle (hot region)
  2. Go to Thermal tab
  3. Check the Resistance
  4. Set the thickness of the wall and thermal conductivity
    T \(\sigma\) \({\sf [m]}\)5e-03
    T \(\kappa\) \({\sf [W/m \cdot K]}\)385
image

43. Boundary Conditions - Pipes Outlet Baffle - Thermal

  1. Select pipes_outlet_baffle (hot region)
  2. Go to Thermal tab
  3. Check the Resistance
  4. Set the thickness of the wall and thermal conductivity
    T \(\sigma\) \({\sf [m]}\)5e-03
    T \(\kappa\) \({\sf [W/m \cdot K]}\)385
image

44. Initial Conditions - Cold Region

Before we start simulation, we need to define the initial conditions. We will adjust the initial velocity and temperature to the inlet conditions of each region.

  1. Go to Initial Conditions panel
  2. Select hot fluid region
  3. Define initial velocity and temperature
    U000.02
    T383
image

45. Initial Conditions - Hot Region

  1. Select cold fluid region
  2. Define initial velocity and temperature
    U0.0100
    T283
image

46. Run Simulation

Finally, we can start our computation.

  1. Go to Run panel
  2. Set Number of Iterations to 700
  3. Click Run Simulation
image

47. Residuals

  1. Monitor convergence process under Residuals tab
image

48. Postprocessing - ParaView

After computations are finished, we can do a complex visualization of our results with ParaView.

  1. Go to Postprocessing panel
  2. Click Run ParaView

If you do not plug in the new ParaView to SimFlow, you can just run the ParaView and open the case file:
` …​/heat_exchanger/heat_exchanger/heat_exchanger.foam `

image

49. ParaView - Load Results

Load the results of the simulation from SimFlow

  1. Select heat_exchanger.foam
  2. Click Apply button to load results into ParaView
  3. Select Temperature from the drop-down list
  4. After loading results, they will be shown in the 3D graphic window
image

50. ParaView - Clip

We will create the cross-section through the computational domain to display the temperature distribution.

  1. Select Clip button
  2. Set the plane origin and normal
    Origin000
    Normal010
  3. Untick Show Plane
  4. Untick Invert
  5. Press Apply
  6. From the drop-down menu select Temperature
image

51. ParaView - Results

  1. Orient the view parallel the XZ plane and rotate 90 degrees clockwise
image

52. 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.