How to Model a Shell and Tube Heat Exchanger

September 11, 2013

Shell and tube heat exchangers are one of the most widely used type of heat exchanger in the processing industries (65% of the market according to H. S. Lee’s book, Thermal Design) and are commonly found in oil refineries, nuclear power plants, and other large-scale chemical processes. Additionally, they can be found in many engines and are used to cool hydraulic fluid and oil. There are a variety of different configurations for these heat exchangers, but their basic concept can be designed through the modeling of several key components. These components can then be modified depending on the heat exchanger’s specific use, allowing this fundamental design to be utilized in a variety of different application areas. Here, I will show you how to model a shell and tube heat exchanger using COMSOL Multiphysics in a step-by-step video tutorial.

Video: How to Model a Shell and Tube Heat Exchanger

The video below shows the basic steps for setting up a simulation of a shell and tube heat exchanger, including the selection of a suitable turbulence flow model, assigning temperature and pressure dependent materials, setting up inlet and outlet boundary conditions, defining heat conductance using the Highly Conductive Layer feature, and other steps. Additionally, the video demonstrates how this model combines the Heat Transfer Module and CFD Module into a single integrated simulation, where the overall heat transfer coefficient and pressure drops in the tube and shell are analyzed.

Simulating a Shell and Tube Heat Exchanger Design

The concept used to design a shell and tube heat exchanger is examined by exploring the working model of a straight, cross-flow, one pass shell and tube heat exchanger. The geometry of such a model is shown below:

Geometry of a shell and tube heat exchanger
Geometry of a basic shell and tube heat exchanger.

In this example, two fluids are passed through the heat exchanger. The first fluid, in this case water, is passed through the tubes, while the second fluid, air, circulates within the shell of the heat exchanger but outside of the tubes. Both of these fluids have different starting temperatures when entering the heat exchanger, however after circulating within the shell and tubes, the fluids are brought closer to an equilibrium temperature.

Download the Model

You can download the shell and tube heat exchanger model from the model gallery, and use the preprocessed model to follow along with the steps described in the video.

Video Transcription

A Shell and Tube heat exchanger is often found in refineries as well as other large-scale plants. There are several design variations and operating conditions that impact the optimal performance of such devices. For the purpose of this example, we will be analyzing a straight, cross-flow, one pass tube heat exchanger, with water flowing through the tube side and air flowing through the shell side. We will define the heat exchanger’s material as structural steal and will assume a k-epsilon turbulence model for the flow of both the air and the water.

In this example, in order to save time, we will skip the Parameters, Geometry and explicits definition section. If you would like more information on those topics, please go to the heat exchanger tutorial found in the model gallery.

To import the pre-processed heat exchanger model, click View then open the Model Library. In the model library go to Heat Transfer Module, then Heat exchangers, and open the “shell and tube heat exchanger geometry. mph” file.Once the file is open, we are ready to begin defining the physics parameters and the analysis.

First, to define the material, right-click on Materials and open the Material browser. Under the Built In tab, choose Air and add the material to the model. Similarly, open the Material Browser and add Liquid Water to the Model. Define the water material by using the selection list and choosing Water domain. Once again, add a third material by opening the material browser and adding Structural steel. Define the walls of the heat exchanger as steel by choosing boundary from the geometric entity list, then choosing walls from the selections list.

To assign the flow boundaries of the model, we will add inlet and outlet conditions for the water and air flows. Right-click on Non-isothermal flow, then go to the turbulent flow tab and add a boundary condition Inlet. From the boundary selections list, choose Inlet water. In the velocity U0 field, enter the water velocity as u_water. Now, right-click on Inlet 1 and rename it as Inlet water. Similarly, add an outlet by right-clicking on Non-Isothermal Flow and going to k-epsilon turbulent flow and adding a boundary condition outlet. From the Boundary selection list, choose Outlet water, and from the Boundary Condition list choose normal stress. This implies that the total stress in the tangential direction to the boundary as well as the pressure reference are set to zero, allowing the fluid to flow without any impedance. Now rename Outlet 1 as Outlet water. Right-click Non-isothermal flow and add another k-epsilon turbulent inlet. From the Selections List, choose inlet air and in the Velocity section change air velocity U0 to u_air. Then rename Inlet 2 as Inlet air. Again, right-click on Non-isothermal flow and add a k-epsilon turbulent outlet. From the Selection List, choose Outlet air and Normal Stress as the Boundary Condition. Rename Outlet 2 as Outlet air.

Let’s add the symmetry conditions to the flow by right-clicking on Non-isothermal flow and going to Turbulent Flow, k-epsilon and choosing Symmetry flow. From the Boundaries Selection list, choose Symmetry. Right-click Non-isothermal flow and under Turbulent Flow, k-epsilon choose Interior wall. From the selection list, choose Walls as the interior boundaries.

To define the heat transfer conditions, we will define temperatures at the inlets, and the outflow at the outlets. Similar to the flow, we also have to define the symmetry conditions for the heat transfer. In addition, we will use the highly conductive layer feature to account for the heat conduction through the shell. Right-click on Non-isothermal flow, go to Heat transfer and add a Temperature boundary. From the Boundary Selections list, choose Inlet water. In the temperature field, type in T_water, then rename Temperature 1 as Temperature water. Right-click on Non-isothermal flow and under Heat transfer, add an Outflow. From the Boundary Selections, list choose Outlet water, then rename Outflow 1 as Outflow water.

Add another temperature boundary by right-clicking on Non-isothermal flow. From the Boundary Selection list, choose Inlet air and in the Temperature field type T_air. Rename Temperature 2 as Temperature air. Also add another Outflow boundary by right-clicking on Non-isothermal flow. Change the boundary to Outlet air, then rename Outflow 2 as Outflow air.

Now add a symmetry property to the heat transfer equations by right-clicking on Non-isothermal flow and under Heat transfer choose Symmetry, heat. From the Boundary Selection list choose Symmetry. Right-click on Non-isothermal flow and go to Heat Transfer and choose the boundary condition Highly Conductive Layer. From the Selections list choose Walls and change the layer thickness to 5 millimeters.

Now we will define modeling coupling operators in order to evaluate the equivalent heat transfer coefficient. Right click on Definitions and go to model couplings and choose average. Change the geometric entity to boundary and from the boundary list choose Inlet water. Right-click average 1 and rename it as Average 1: Inlet water. Similarly, add another average operator by right-clicking on Definitions. Choose boundary as the geometric entity and from the selections list choose Inlet air. Rename average 2 as Average 2: Inlet air. Now, right-click on definition, go to model couplings and select Integration. Choose Boundary as the geometric entity and select Water-air walls as the Boundary. Rename integration 1 as Integration 1: Water-air walls.

Given the complexity of this model, the computation time can greatly vary depending on the mesh size defined by the user. It is important to balance between accuracy and computational cost in order to ensure the most accurate solution in a timely manner. For the purpose of this example, we will define a modified physics induced extremely coarse mesh in order to obtain a relatively quickly solution while still remaining accurate.

In the mesh settings window, change the element size to extremely coarse, then right-click Mesh 1 and select edit physics induced sequence. Click on Free tetrahedral 1, then under the scale geometry section set the x-direction scale field to 0.5. Then under the Boundary layer 1 node select Boundary layer properties 1 and define the number of boundaries as 3, then click build all. Once the mesh is built, you are ready to compute Study 1.

Please note that it takes about 3 hours to compute the model with an average computer containing 12 Gigabytes of free memory. Depending on the computational power of your machine, this time may vary.

Once the results are calculated, expand the Wall resolution node and click on Surface 1. In the expression section, click replace expression then choose Non-isothermal flow, Upside, and select Wall lift off. Click plot to see the upside wall lift-off for the tubes. From this graph you can see where the most critical areas in terms of mesh resolution are located. Typically, an acceptable wall lift-off should remain under 10% of the tube radius. In this plot you can see that most of the wall lift-off remains under the 10%, which makes this mesh resolution sufficiently refined for the purpose of this example.

Now that we have validated the model, let us analyze the temperature distribution along all of the wall boundaries. Under the Data Sets node click Surface 1. From the selection list, choose Walls as the boundary. Under results expand Temperature and click on Surface 1, then change the default temperature unit to degC. Click plot to view the temperature distribution along the new surface.

In order to create a 3D streamline view illustrating the velocity and the temperature, we will mirror the solution obtained by the original half heat exchanger geometry. Right-click on data sets, go to more data sets and add a Mirror 3D. From the plane list, choose zx-planes as the plane of symmetry. Right-click on results and add a 3D Plot group. From the data set list, choose Mirror 3D1. Right-click on 3D Plot Group 4 and add a streamline. In the points edit field under the streamline positioning section, type in 100 to define the number of streamlines in the plot. Then define the line type as tube in order to make the coloring of the velocity field more visible. Right-click on Streamline 1 and choose Color Expression. From the color table list choose Thermal. Right-click on 3D Plot Group 4 and rename it as Velocity, streamline.

This figure illustrates the air flow as well as the water flow through the heat exchanger. The largely different heat capacities between the air and the water are clearly portrayed in this plot as the temperature of the air changes much more drastically than that of the water when it flows through the heat exchanger.

Now, right-click on Derived Values, and add a Global evaluation. Using the integration and average coupling operators defined earlier, type in the following expression to define the heat transfer coefficient. Here you can see the global expressions embedded in the terms for: the power, the area, the inlet hot temperature and the inlet cold temperature. Click evaluate to solve for the heat exchanger’s overall heat transfer coefficient. Right-click on Global Evaluations 1 and rename it as Heat Transfer coefficient.

Let us now analyze the average water inlet pressure as well as the average air inlet pressure. Right-click derived values and go to average then select Surface average. From the selection list choose Inlet water and in the expression field enter p then click on the evaluate button to see the average inlet water pressure. This result is equivalent to the water pressure drop across the heat exchanger, as the outlet water pressure is almost zero. Right-click on Surface Average 1 and rename it as Inlet Pressure, Water. Right-click on Derived Values and add another Surface Average. From the boundary selection list, choose Inlet air and in the expression field, type in P. Now, click the evaluate button to see the average inlet air pressure. Similarly, this value is equivalent to the air pressure drop across the heat exchanger. Right-click on Surface Average 2 and rename it as Inlet Pressure, Air.

Find this and similar models in the model gallery, at

Comments (3)

Leave a Comment
Log In | Registration
renos gard
July 27, 2019

I followed the instructions in the tutorial, but the temperature in the water domain doesnt change from the inlet to the outlet. What could be wrong?

Advanced Industrial Components
August 9, 2019

Your blog is very nice. These tools are really very helpful…:-)

Peter Shawn
Peter Shawn
September 7, 2019

Hi we are manufacturer of finned tubes, which used quite a lot in boiler and heat exchanger industrial. our website