Skip to content

Shell & Tube Heat Exchanger — Benzene Cooler

Problem

Design a Shell & Tube Heat Exchanger to cool liquid benzene under the following operating conditions:

  • Hot fluid: Benzene
  • Hot fluid flow rate: 21,000 kg/h
  • Inlet temperature: 90°C
  • Outlet temperature: 30°C
  • Cold fluid: Cooling Water
  • Cooling water flow rate: 60,500 kg/h
  • Cooling water inlet temperature: 15°C
  • Overall heat-transfer coefficient (U): 575 W/m²·K
  • Maximum allowable tube-side pressure drop: 1 bar
  • Maximum allowable shell-side pressure drop: 1 bar
  • Heat exchanger mode: Design

Code

from processpi.units import *
from processpi.components import *
from processpi.streams import MaterialStream
from processpi.equipment.heatexchangers import HeatExchangerEngine


# ============================================
# DEFINE COMPONENTS
# ============================================

benzene = Benzene()
water = Water()


# ============================================
# DEFINE MATERIAL STREAMS
# ============================================

hot_in = MaterialStream(
    "hot_in",
    component=benzene,
    temperature=Temperature(90, "C"),
    mass_flow=MassFlowRate(21000, "kg/h"),
)

hot_out = MaterialStream(
    "hot_out",
    component=benzene,
    temperature=Temperature(30, "C"),
)

cold_in = MaterialStream(
    "cold_in",
    component=water,
    temperature=Temperature(15, "C"),
    mass_flow=MassFlowRate(60500, "kg/h"),
)

# Outlet temperature will be calculated
cold_out = MaterialStream(
    "cold_out",
    component=water
)


# ============================================
# CREATE HEAT EXCHANGER MODEL
# ============================================

hx = HeatExchangerEngine()

hx.fit(
    hot_in=hot_in,
    hot_out=hot_out,
    cold_in=cold_in,
    cold_out=cold_out,
    U=HeatTransferCoefficient(575, "W/m2K"),
    shell_dp=Pressure(1, "bar"),
    tube_dp=Pressure(1, "bar"),
    mode="design"
)

results = hx.run()


# ============================================
# OUTPUT
# ============================================

print(results.summary())

# Complete calculation dictionary
results.detailed_summary()

Output

Heat Exchanger Summary
------------------------------
Type                  : shell_and_tube
Method                : bell_delaware
Heat Duty             : 611.560 kW
Area                  : 24.712 m²
U Calculated          : 722.780 W/m²·K
Tube Velocity         : 1.445 m/s
Shell Velocity        : 1.321 m/s
Tube Pressure Drop    : 1.156 psi
Shell Pressure Drop   : 48.53 kPa
Tube Count            : 138
Tube Length           : 3.0 m
Status                : UNKNOWN

Engineering Insights
------------------------------
• Heat-transfer coefficient within acceptable range.
• Tube-side velocity within recommended range.
• Shell-side velocity acceptable.

Discussion

The HeatExchangerEngine automatically performs a complete thermal and hydraulic design of the exchanger.

For this case, ProcessPI selected a Shell & Tube Heat Exchanger using the Bell–Delaware design methodology.

Design Results

Parameter Value
Heat Exchanger Type Shell & Tube
Design Method Bell–Delaware
Heat Duty 611.56 kW
Required Heat Transfer Area 24.71 m²
Calculated Overall U 722.78 W/m²·K
Tube Count 138
Tube Length 3.0 m
Tube Velocity 1.445 m/s
Shell Velocity 1.321 m/s

The calculated tube and shell velocities fall within commonly recommended industrial design ranges, while the required heat-transfer area satisfies the specified duty.

The engineering assessment also indicates that the calculated overall heat-transfer coefficient is acceptable for this service.

For additional design information, use:

results.detailed_summary()

to obtain the complete calculation results, or

results.trace()

to view the engineering calculation trace generated during the design process.